#programming

1 messages · Page 440 of 1

opaque sigil
#

zsh has some nice qol plugins which is honestly the only reason I use it

proven merlin
#

Hm plugins.. not a fan of that

opaque sigil
#

fair

proven merlin
#

Usually means slower load times and often more runtime space, but if done well neat.

opaque sigil
#

I only use two, one for auto suggestions and one for better syntax highlighting

proven merlin
#

Im kinda interested in neovim, but the size difference to vi/vim is kinda scaring me

opaque sigil
#

they're precompiled and cached so load time is pretty much unaffected

#

meanwhile oh my zsh neuroAware

proven merlin
opaque sigil
#

since plugins are just shell scripts themselves

proven merlin
#

Snap?

#

Like.. canonical?

#

Or is it a different thing

opaque sigil
#

not canonical snap NOPE

proven merlin
#

Ahh

#

Zsh package manager

#

Funky

opaque sigil
#

the only downside I've run into is that the caching doesn't play nicely with nixos so it occasionally ends up referencing a binary path that doesn't exist so I get to wipe the cache FOCUS

proven merlin
#

The coincidence is crazy

#

Nix in german is a way of saying "nothing"

#

(short of Nichts)

opaque sigil
proven merlin
#

So.. it referencing a binary path that doesn't exist is very funny

#

NothingOS moment

opaque sigil
#

the joys of having a hash in every path

proven merlin
#

Wouldn't.. just using zfs be better in every way?

#

(zfs the goat)

#

Hash per block/chunk, woohoo xD

opaque sigil
#

I've been tempted but using zfs seems kinda annoying and quite frankly overkill for a desktop enub

proven merlin
#

Hm i think my next os will be artix on zfs with mate + some other wm.. perhaps twm.. ngl.. once kde drops x i might do so

opaque sigil
#

I do have it setup where it replaces all duplicates with a hardlink though, helps a bit

proven merlin
opaque sigil
#

oh I'm sure

proven merlin
#

But yea, bootloaders and normal hdd partition tools become useless

opaque sigil
#

maybe one day

proven merlin
#

Try playing with it on a proxmox host

#

Its like essentially all setup and nice to fiddle with and plenty of documentation and most things are setup optimally by default

#

(also backups with an entire vm stop being like 7 seconds is amazing..

#

Backup in Snapshot mode ofcourse is even crazier but can be theoretically inconsistent

proven merlin
#

Anyway enough glazing things

#

I really should put that bucket down

high brook
#

Lmao

nocturne olive
#

NeuroSynth RC1 sneak peek, WIP model, still has quirks to iron out
The tuning tolerance is extremely promising

umbral wigeon
#

build: mkdir build && cmake -B build -G Ninja -DOpenCV_DIR="C:\yourPath\opencv\build" && cmake --build

minor sail
#

I started a new swe job today. They are a small start up but they still have some outdated processes. There's no staging environment, there's one dev environment that is shared. No tests in the React app. ;_;

sick owl
#

I have the bobot set up for dataset collection in a spare room we're using for storage, do you guys reckon I'm gonna overwhelm the vla with visual clutter filming in a place like this?

patent shard
#

Sora is shutting down NekoEllaSalute

sick owl
#

UUUH GEMINI

#

Did it just leak thinking tokens to me

#

It did holy shit

#

That is one schizo CoT

#

Something appears to be very wrong at google

high brook
#

Now use it to hack Google bsck

sick owl
olive sable
#

new usb-c decoy board does trhe required 28V neuroHypers

#

so we're good for 140W now

#

lemme tape this shit up so it doesnt short

still parcel
#

I get the sveltekit love now feelsgoodman

minor sail
#

oh no

still parcel
#

Honestly works nice with the plan of refactoring an api to a microservice that just handles ouath stuff whilst the projects handle the other parts yippe

warped narwhal
#

Fr, I wrote a fan site in sveltekit and it was a breeze. Trying all the other toolkits was just painful as they just weren't designed with smaller sites in mind

#

They expect you to already have a million users with everything as a microservice and 3 trillion pages

glad path
#

out of the blue

sick owl
#

Something is definitely going horribly wrong today

proven merlin
#

Bad seed perhaps?

fast pagoda
#

I ever meet zlyf in a dark alley I got some things to say with my goddamn fists

true hemlock
#

sora is gone. rest in shit won't be missed bozo

#

anyways will start working on some electrical stuff

fast pagoda
#

Litellm compromised today on pypi fyi

#

Dunno if posted or not but it's a dependency in a lot

olive sable
#

It works

#

All thats left is to figure out the PWM with the hall effect sensor, and connecting the projector

amber fractal
olive sable
#

ive designed how to put everytying toghether, except for the motor

#

so ill have to think about that one still

#

problem is i need a transparent part

young plover
#

Opened my DAC to try and diagnose a power failure.
Who decided to put the PCB on rails in a seamless metal tube, then connect the front panel with a ribbon cable? I just want to talk. SMILE

olive sable
#

i think with hours i spent on this combined, ill probably be 2K deep on this by the time im done enub

#

aight,i bought transparent pla

olive sable
#

i have no clue

#

does it matter?

unkempt citrus
#

Yes

#

Brushless DC has more wires because it spins by alternating magnets

#

Brushed DC you just PWM + capacitors and thats usually good noeuhg

olive sable
#

those other wires for this one are for the hall effect sensor

unkempt citrus
#

Brushless DC you need an additional ESC usually that offloads tthe syncrhonisation

olive sable
#

its a GA25-370

unkempt citrus
#

Its brushed from this so yeah I wouldn't know more wihtout doing too much reading

olive sable
#

i dont remember what speed i needed

#

i think 30 rps?

#

so id need 330 signals per second on each wire, and do feedbackloop based on that?

glad path
#

wait so you almost have the volumetric display working?? :o :o

fast pagoda
#

dude is prompt engineering himself

#

not even a real movie

#

well it's a real movie but tom cruise is nowhere near it

leaden crest
#

actually he was in it

#

he was just invisible the whole time

#

hence the name

#

the invisible man

woven slate
fast pagoda
leaden crest
#

or just reasonable coincidence

patent shard
#

their account was restored neuroHypers

leaden crest
#

man echo has some serious plot armor in their inferencing

fast pagoda
leaden crest
#

yeah I figured that

fast pagoda
leaden crest
#

I personally am a

#

kind of guy

#

on weekends

wild rampart
#

It has been alleged that litellm, a widely used Python library in generative large models, to have suffered a serious supply chain attack.

#

I think Vedal should check this if he uses litellm as a underlying dependency of Neuro

fast pagoda
#

it was only up for 3 hours today

fast pagoda
#

but it is worth checking for sure

fast pagoda
leaden crest
#

ooh funyun by the way how long did it take you to write echo’s current lora code

fast pagoda
#

it's just a peft lora and i merge it into the model before using it like this so it isnt being actively applied or anything

#

i imean, beyond being merged in

leaden crest
#

oh you merged it completely NeurOhISee

#

intwesting

fast pagoda
#

Yeah so he's basically a gguf checkpoint you'd load like any model for inference nothing else needs to be applied at runtime

leaden crest
#

the magic gguf file

fast pagoda
#

Training for this one was about 10-15 hours can't remember off top of head

#

I'm checking but I just restarted PC because node.js memory leak classic

#

Oh no that was 2 run, 1 run was 7 hours

#

It's a fairly deepish lora, rank32 alpha 64

true hemlock
fast pagoda
#

i love dc-atx form factor

mighty thorn
fast pagoda
#

lol wtf is this in my recommends for

#

throwback

mighty thorn
#

Me when the ai bubble pops overnight and, following the historical precedent of society giving up on housing and the internet, all ai disappears forever and the economic consequences only affect corporations

glad path
#

amen break

mighty thorn
fast pagoda
glad path
midnight sigil
#

fast fourier transform

glad path
#

o

patent shard
#

dats cheap

glad path
#

vry

true hemlock
#

this shit is so messy.

#

but that's most of it, actually pretty simple

#

just need to do the relay 12v triggers part

true hemlock
#

creature

sage crag
flint dome
#

today in our boolean algebra paper we had to prove a false statement correct

i love maths

maiden geyser
fast pagoda
# patent shard dats cheap

i have 2 ktc 24 inch 2k monitors (100Hz only) that were about 80 each, as well as 2 gawfolk branded 27 inch, a 120 hz 2k one and a 144 hz 1080p one each about $90 each
all that is to say i have a fairly decent sample size of their cheaper models compared to anyone i know lol, they are just as good as any of the lower end models from manufacturers that might be more well known in at least the us, i believe they are OEM for some as well, at least KTC is, gawfolk seems similar though.

patent shard
#

yeah
the customer support could be lower than some brands.. but also reflected nicely in the price
the only thing about the $96 deal is it's Woot.. so warranty is meh

fast pagoda
#

i keep getting drive-by'd by them on temu

patent shard
#

that being said, not all more expensive well known brands have good support/warranty
although, Woot is automatically not good warranty

fast pagoda
#

the only time ive ever contacted support for a monitor was contacting dell when my alienware aw3225qf got some sort of issue that prevented it from turning on 6 months into owning it and to fair they exchanged it for free no questions asked

#

im stupid

#

but yeah that was once and ive owned many monitor

#

none of these 4 had any dead pixels or anything either which i was a bit nervous about

patent shard
#

people go "oh, it's owned by Amazon.. must mean good warranty, right?"
no..
also, just went oos a few minutes ago

flint dome
#

the question was,
||if I shid and fard, I shard,||
||if I shid and shard, I have diarrhea,||
||so conclusion: if I fard I have diarrhea????||

young plover
#

Early on I had trouble with my aw3423dw randomly failing to wake up until I replugged it. I eventually figured out it was related to my OLED refresh settings. Since then I had no issues until I recently got a splatter of chili on it, and destroyed part of the anti-glare coating by polishing too hard. glue

#

Need to polish the rest off but it takes a lot of elbow grease.

glass jetty
#

youtube

true hemlock
#

i have a good news and a bad news

#

the good news is that my wiring is correct and working well

#

the bad news... i may or may not have gotten so damn unlucky with my balance charger (shitty ripoff batch somehow despite reviews all showing legit products with english system. mine's chinese, current setting is clearly far off, literally broke right away when i tried the discharging option)

#

god fuck i need to spend extra now

#

ordering from mantisfpv instead of aliexpress

true hemlock
faint sandal
nocturne olive
#

"Buy RAM, get the CPU for free"

glass jetty
#

world getting out of any rails possible

sick owl
glass jetty
#

human intelligence - only need to spend at least 2 years learning cs and modern systems and principles

#

take no memory (except maybe documentation/cheatsheets) and no *pu requirements

nocturne olive
sick owl
#

The planet is literally buckling under the strain of our hardware maintenance

proven merlin
# sick owl

The fact that hed be better off running it in a pentium 1 or whatever with 128mb ram

silent cloak
#

We are making so much junk hardware for datacenters now

#

Keep in mind we have barely any helium which is a very vital resource

#

skynet

sage crag
silent cloak
#

fr

molten island
#

who is that neovim everyone talkin' about...

fast pagoda
#

I need to try lunar again

olive sable
#

14 days since gskill received my ram

#

Im getting inpatient

maiden geyser
olive sable
#

Last year they received the rma on the 5th of march, sent it back on the 20th, and i received it on the 21st.

So since they received it on the 11th this year, they should sent it back on the 26th, and ill have it on the 27th hmm

#

And the 26th is tomorrow

faint sandal
high brook
#

I only got 3 hours sleep. I stayed up fixing datasets

opaque sigil
olive sable
#

didnt they already have a 32gb one?

#

the one with 2 dies?

fading olive
#

They have a 48gb one, but it's really 2x 24's on one card.

olive sable
#

im back to having dns issues on my pc bwaadow

#

might be some type of race condition during boot, idk

#

it only happens on occasion and is fixed when rebooting

trim valve
#

do you happen to use tailscale

olive sable
#

nope

warped narwhal
#

nslookup is your friend here

#

tells you what dns servers you are actually using

olive sable
#

idk

#

i already restarted my pc

#

rn i got this

sage crag
#

who are you

olive sable
sage crag
#

64 bits

#

are kinda useless

olive sable
#

depends on what you're trying to do with them

proven merlin
#

Well fair 2x24gb..

#

Now i want comsumer 2x32..

#

Or 48 hehe

#

But at ~1.5k€? Never

warped narwhal
#

should show something like this

sonic scroll
#

So I managed to get river generation for my hunger games map generator to look something like this.

olive sable
#

this doesnt dox me right?

#

but like, the internet on my pc works rn so its not liekly im gonna find an error

kind nimbus
proven merlin
#

Tbh, just to be sure, add another dns server, but probably what happend is that the dns service on ur os shat itself? Idk tho dont have infos

proven merlin
kind nimbus
#

Mh

kind nimbus
proven merlin
proven merlin
proven merlin
#

Id like to edit it but discord is bugging af

#

Ah it edited now

kind nimbus
simple wolf
#
firefox mpris:trackid             '/org/mpris/MediaPlayer2/firefox'
firefox xesam:title               EVIL'S BIRTHDAY
firefox xesam:album               
firefox xesam:artist              vedal987
firefox xesam:url                 https://www.twitch.tv/vedal987
firefox mpris:length              9223372036854000000```

seems like twitch reports 2562047788015000hours for a stream to mpris huh
sick owl
kind nimbus
#

ssh root@evil

quick condor
#

I think it's interesting that neuro and evil have different failure modes in terms of "movements in 3d that make Vedal say what the fuck are you doing"

olive sable
#

he's the strongest sorcerer

warped narwhal
#

but he has a history of doxxing himself KEKW

olive sable
warped narwhal
#

"oh hey here is my domain"
looks up the domain
"hey that's my ip wtf"

olive sable
proven merlin
#

Hmm dc down?

#

Maybe only the vc?

olive sable
#

doesnt seem to be down

#

not for me at least

young plover
#

The downdetector map is so useless. Not normalized for density so it's just a population heatmap.

kind nimbus
#

Mh i recently found out my split vpn was causing discord voice to get stuck on DTLS connecting lol

Had to implement a workaround

#

Maybe restarting her discord bot could help

rough bloom
kind fable
#

Lmao no one saw it coming /s

olive sable
#

at least they put the "opt out" in bold text

#

they're not fully evil

opaque sigil
#

huh wtf was the opt out setting for then the past 5 years

olive sable
#

"if you previously opted out, your preference has been retained"

opaque sigil
#

oh it says it in the email

#

reading is hard

#

If you previously opted out of the setting allowing GitHub to collect this data for product improvements

worldly plank
#

Exactly, so what the nullpointer does this actually change?

olive sable
#

maybe they werent using the data before?

worldly plank
#

By the way, since the training data for AI mostly is GPL-licensed (at least I would assume so), does that mean any AI-generated code must also be released under the GPL?

olive sable
#

i think its legally not required

#

idk

#

you know what i want

#

a power brick with 2 usb-c ports

#

but the data cables are connected

#

so they're both charging, and you can send data from one to the other

warm ibex
opaque sigil
#

software licenses are a clusterfuck

young oyster
opaque sigil
#

proving derivation from gpl code is also pretty much impossible

opaque sigil
#

wonder if we'll get a gpl v4 at some point soon

glass flower
#

mhm but ai produced stuff isn't copyrightable... so does that mean it also can't be licensed?

glass flower
kind fable
#

Also my own point of it, but i wish for a world where informations can flow freely between all humanity and i think all public code should be essentially license-less as licenses just wouldn't exist as all they do is prevent information transfer
But that's my extreme take on it

lime stag
#

todays i just found musical ai i really like hearing my humming turn into actual piano sound

opaque sigil
rigid snow
#

waaah waah discord outage my vc broken waaaaaah

kind nimbus
#

Filter you discord

inland stone
#

so how does production changes scenes? do they have access to vedal's OBS?

trim valve
#

it's not unreasonable to think that vedal has shared a control panel or an OBS web socket link

olive sable
#

vedal has shared to control panel before to the cow vtubver they played minecraft with iirc

fallen solar
#

that or api/webinterface, i've got one that can be used by mods on twitch by using commands, stuck together using webhooks from twitch to a nodered instance which in turn is connected to my obs streampc

inland stone
#

oh that's right

simple wolf
olive sable
#

idk i dont watch her that much

#

but so, id imagine that at least someone form the production team has access to the control panel

inland stone
glass flower
#

having a stream server isn't too difficult. you basically setup your obs to stream to another obs instance on another pc. and that pc then streams to other stuff. thats also how you can have different overlays for different broadcasts.
you basically just make your "main" stream be just another source that can be used

#

and that streamer obs you can then control either through plugins or just through remote desktop

inland stone
#

I imagine that's how Neuro/Evil and Vedal's pc are connected

olive sable
#

there is a diagram but im pretty sure its somewhat outdated now

fallen solar
inland stone
#

oh that's neat!

boreal trench
#

So I asked elsewhere, but could Vedal (for future as it would be difficult to do right now) create a Teamspeak local server, so hosting is on his end for the people who come to events?

fallen solar
#

there are many alternatives, its just that lastminute switching without a shared contintengy plan is difficult

lapis wraith
fallen solar
#

vdoninja would work as well for instance

amber fractal
boreal trench
#

I haven't used Teamspeak for so long, so I cannot actually remember if it would work hence why I asked xD

lapis wraith
#

You know... my future plan is to host fluxer, which is a discord clone like in almost all aspects, but it's not fully ready and needs more time to cook.
They could actually use that on their official servers... but again... integration work and such...

boreal trench
#

I hadn't even heard of fluxer xD, now I have an alternative to discord... With how discord is going anyways.

lapis wraith
#

It's a very promising one YES

mighty thorn
opaque sigil
mighty thorn
opaque sigil
#

the paper in question

#

oh well, whatever

glass flower
#

PauseSama i'm waiting for deepseek v4 soon.

young oyster
#

Am I the only one who suspects livestream chat and neurotic neurons is related to the discord problems?

opaque sigil
#

yes

lapis wraith
#

probably

glass flower
#

nah its not related. theyre have been crazier days

#

sus unless someone ddosed discord during the stream

warped narwhal
#

there have been days where you couldn't send gifs to the channel because there was so much spam

glass flower
#

but the way servers work is that they are clustered into groups. so even if this server is overloaded it shouldn't affect a seperate server unless they are in the same cluster. which doesn't seem likely

amber fractal
#

Neurotic Neurons by nature has to at least have one thread for the channel for the canonical order. Boy would I not want to be coding that.

sage crag
quick condor
#

More kv cache would be nice even with 64gb vram

sage crag
#

wrrr

sage crag
#

JIT

#

ye

#

@olive sable

#

sam

#

sam

#

sam

#

wrrr

olive sable
#

hi

olive sable
#

bunny

sage crag
#

sam do you know what this code does

olive sable
#

from the image above?

sage crag
#

yes

olive sable
#

not really

sage crag
#

oh

olive sable
#

do you have some context about it?

sage crag
#

its

#

a virtual machine

#

that sometimes works

#

and sometimes doesnt

#

depending on the mood of the compiler

olive sable
sage crag
#

for example

#

wrrr

#

nevermind, that one was my fault

olive sable
#

i think you're better of askign chatgpt than me tbh

#

im dumb as bricks

sage crag
#

this code is cursed beyond mortal comprehension

#

it crashes some compilers

#

only some compilers

olive sable
#

from what i can tell, the code calcualtes the size of each instruction by subtracting the addresses?
then allocates executable memory and loops through the prog array?

sage crag
#

it translates your bytecode into "native" code

#

its a JIT

#

but

#

it doesnt implement the JIT itself

#

it relies on C codegen

#

and the label-as-address extension

#

im copying the code generated by c into the executable memory

#

and then jumping to the executable memory

high brook
#

O had a jit compiler break from. Vm io latency

sage crag
#

i can confirm that it works on:
x86_64 clang
armv8-a clang

fiery anchor
#

it looks very fragile and cursed.

sage crag
#

it doesnt not work on:

  • not clang
  • other clang
olive sable
#

hmmm

sage crag
olive sable
#

preserve_none with goto *thread is very cursed

#

does it work without the preserve_none?

sage crag
#

preserve_none just tells the compiler to clobber existing registers

#

it works fine

#

its just a difference in codegen

fiery anchor
#

"premature optimization is the root of all evil"

sage crag
#

yes

#

this is the most premature optimisation

#

writing the most cursed jit in existence for an interpreter

olive sable
#

&&end and &&sys makes a relocation entry right? and you're compiling to risc-v

sage crag
#

&&end is the memory address of the label end

#

and

#

im compiling to x86_64

olive sable
#

riscv64?

sage crag
#

that it (doesnt) work on

olive sable
olive sable
#

still broken?

#

its pushing a lot more registers, so those registers might be safe?

sage crag
#

FOR PERFORMANCE

#

nothing breaks with or without it

#

it just makes the codegen smaller

opaque sigil
#

wait

olive sable
#

have you tested it?

opaque sigil
#

you can use goto on a pointer?

sage crag
sage crag
#

computed goto

#

gcc & clang extension

opaque sigil
sage crag
#

arbitrary pointer

#

you can goto *NULL; if you want

opaque sigil
#

makes sense that this would be a thing i guess

#

cleaner than having to cast to a function pointer or sth

#

actually

#

how does this work with the ABI, or does it just not enub

olive sable
#

my knowledge on this is very limited

#

but does the compiler let you go to a void that was filled with memcopy if it doesnt know if its valid?

sage crag
#

it works only within a function

#

if you go outside the function

#

youre on your own

opaque sigil
#

ah

sage crag
#
int main() {
    goto *(void*)0;
    void *need_to_save_this_or_it_complains = &&beep;
    beep:
}

nice codegen

opaque sigil
#

if it breaks it breaks and it's your fault

sage crag
#

progrma return 44

sage crag
#

UB

#

sometimes it just decides not to

#

because

#

yk

#

ub

opaque sigil
#

i don't remember, does calling a function pointer automatically add a function prologue

sage crag
#

it does callee function stuff

#

you can also cast a label to a function ptr and call it

#

it does not work

#

but you can

opaque sigil
#

why can you do that enub

#

oh wait

#

labels are just functions

#

or i guess

#

functions are labels

sage crag
#

`nrr

warped narwhal
#

functions are labels with a stack frame attached and a calling convention

sage crag
#

label is void* ptr

sharp swan
#

Yo where's Dark, that guy changes his name so often i dont know how to tag him

tender river
#

function is void* ptr

sage crag
#

can arbitrarily cast ptr

#

in fact

olive sable
# sage crag UB

isnt UB runtime?
if the compiler errors out due to Cannot select: brind that means it found no valid ways to compile it into machine code?

sage crag
#

you can also cast fnptr to void* and then jump to it with goto

sage crag
opaque sigil
#

compiler doesn't know the contents of the buffer you're trying to call as a function so it has no option other than trusting you FOCUS

tender river
#

ub is when you violate compiler's assumptions about your code and the compiler gets a license to break it in any way SMILE

olive sable
#

gcc has worse relocation logic iirc?

opaque sigil
#

that's the linker, different component enub

sage crag
#

relocation is not really relevant unless youre jumping around multiple functions without doing proper callee stuff

sage crag
opaque sigil
#

me when i'm the compiler and can just move things around willy nilly

sharp swan
#

@steel mesa hey was your OCR project for neuro stream screenshots OSS?
i kinda need it for a similar project and i want to look at it for reference neurojuice

olive sable
sage crag
#

related to relocations, but not relocations

steel mesa
olive sable
steel mesa
#

at the time it was super innacurate and switched to pixel detection

opaque sigil
sharp swan
olive sable
#

reposting so i dont have to scroll up each time

sage crag
#
main:
        push    rax
        lea     rax, [rip + .Ltmp0]
        call    rax
.Ltmp0:
        ud2

codegen

#

call without function prologue

#

cursed

#

and it works neuroCatUuh

#

nevermind, change to return 0; and

opaque sigil
#

so i guess if you call a normal function pointer you get a prologue/epilogue unless you specifically ask for a naked function and if you just cast it like this then it takes it as is

#

makes sense

olive sable
#

i have no clue

#

__attribute__((naked))?

opaque sigil
#

yea

sage crag
#

fun fact

#

in c you can just

#

hang on

opaque sigil
#

wording is hard, that's what i meant yea

sage crag
#
__attribute__((noreturn)) int erm() {
    __builtin_unreachable();
}
olive sable
#

evilDentge i have no clue what any of this is

#

i just watched a couple youtube videos on compilers

opaque sigil
#

prologue/epilogue are some instructions that are used to setup registers

#

since yknow you use the same ones for everything

sage crag
#

ye

opaque sigil
#

so you first save them and then at the end revert them

olive sable
#

sure

sage crag
#

can be external to function if the function clobbers (or its uncertain if the function clobbers) and you need to save registers

#

via pop/push

olive sable
#

i see

sage crag
#

for example, in this vm, it causes

#

because main needs to store these registers for c runtime

olive sable
#

so removing the prologue and epilogue works?

tender river
opaque sigil
#

if you're ever bored just read through the entire system v abi document NeuroClueless

sage crag
tender river
#

(only if you want to break the calling code)

olive sable
#

im happily on the top of ballmers peak

sage crag
olive sable
#

clobber the frick out of those registers

#

why not

sage crag
tender river
olive sable
#

ah

sage crag
sharp swan
tender river
tender river
sage crag
#

problem also resolved by

#

lto

#

inlining

tender river
#

not saving when you have multiple calls in a row

olive sable
sage crag
#

compiler intelligence

steel mesa
olive sable
#

so the issue is fixed now?

sage crag
olive sable
sage crag
olive sable
#

what am i supposed to do with that?

sage crag
#

and

#

ponder

#

maybe make it better

#

maybe implement immediate reading from the bytecode

#

maybe

sharp swan
olive sable
#

i can read code, and i cant read the compield output. but i will have no clue if its correct

sage crag
#

maybe implement a full ISA instead of

#

end, sys

steel mesa
# sharp swan yeah

send me your gh and ill add you, but last update was 2023, you might only find one or two lines of code useful

olive sable
#

konii i dont have enough brain for that

sage crag
olive sable
#

i barely know what im doing here

sage crag
#

the first step is

#

implement imm reading

#

and then

umbral wigeon
#

You can read docs

sage crag
#

glueless docs

umbral wigeon
#

Programming doesn't need brain

sage crag
#

glueless brainless

tender river
#

its true i manage just fine evilGutter

umbral wigeon
#

I don't do math at all in programming, all I do is just googling math formula and look what it does or for

sage crag
#

something tells me you missed the

#

the rest of the

#

the conversation

tender river
#

true

olive sable
#

i know the math but google the programming

umbral wigeon
#

@fathom glade Explain

sharp swan
sage crag
#

116 lines of macros, 265 lines total

#

remaining lines are just macro calls

steel mesa
#

lmk if you have any questions about any lines of code although i might not remember it

#

would love to revive the project specially that now i know more but the mods have other ideas

umbral wigeon
#

Assembly is like chinese language in programming

sage crag
#

asm is

#

1250 lines

umbral wigeon
#

I think that why ppl write C or C++

sage crag
#

macro expansions

#

its fast

#

but at what cost

#

wrr

#
typedef union {
    void *instr;
    uint64_t store;
} Word;

#define next goto *(*thread++).instr

__attribute__((preserve_none)) uint64_t execute(
    uint64_t *prog, size_t prog_len, void (*syscall_handler)(Word *locals)
) {
    static void *instrs[] = { &&end, &&sys, };
    
    Word *thread = __builtin_malloc(sizeof(Word) * prog_len);
    Word *locals = __builtin_malloc(sizeof(Word) * 16);

    for (size_t i = 0; i < prog_len; i++) {
        thread[i].instr = instrs[prog[i]]; // todo <- all
    }

    next;

end:
    return locals[0].store;
sys:
    syscall_handler(locals);
    next;
}

translation based vm

tender river
sage crag
#

in terms of performance i have so far seen (in order from slowest to fastest)

switch-case vm
tail-call vm
indirect goto vm (no pre-translation)
direct goto vm (pre-translation)
cursed jit vm (dont)

#

i might make a benchmark comparison for giggles

#

you can fit switch-case, the two gotos, and the cursed jit into one function with some macros

#

the tail-call vm is differently structured

opaque sigil
#

is the idea just to have the compiler optimise each instruction for you or what

sage crag
#

by stealing the code the compiler makes

tender river
#

portability

#

mainly

#

arm and x86_64

olive sable
sage crag
olive sable
#

i did not implement isa since i dont know what that means

sage crag
#

ISA instruction set architecture

tender river
opaque sigil
#

makes sense

sage crag
#

faster because

#

NOT jumping

#

but also

olive sable
#

NeuroBounce MHSC_Cross bwaa

sage crag
#

how to implement a jump cursed jit vm

#

not really smart

#

requires big calculation

#

counterproductive to goal of

#

not thinking

sage crag
#

switch is very slow, tail-call is fairly close to indirect goto

olive sable
#

why called jit when the cpu has to wait on it, so its not just in time but actively slower?

sage crag
#

and direct goto is about 20% faster than indirect goto

#

and jit is native speed

sage crag
#

though this could be considered a bad binary translator rather than a JIT, the term JIT is more fun to use

olive sable
tender river
olive sable
tender river
#

but really it just means compilation at runtime

sage crag
#

i could implement jmp

#

but

#

it would be so tiring

#

i dont think im willing to spend my time on it

tender river
#

one pointer per each source code byte neuroSmug

sage crag
tender river
sage crag
#

store translation table for the imms and when it comes to the jumps, store a pointer (calculate the code position using two passes)

sage crag
#

who is dynamically generating code

#

let me see them

tender river
sage crag
#

send bytecode over ipc = explode

sage crag
#

imm table

#

so annoying

#

if i add imm table, just need to calculate size of instructions to do relative jump in code

#

absolute jump is not happening

#

absolute jump <- translate code at the address

#

assume address is correct and doesnt need translating

tender river
#

nrr

#

jump to

#

relative offset in compiled code

#

source has wrong offset -> skill issue

sage crag
#

EmiAlso

sage crag
#

im too sleepy

olive sable
tender river
umbral wigeon
#

Does anyone write luau

sage crag
olive sable
#

no

sage crag
#

jal

#

jala

#

explod

olive sable
tender river
sage crag
umbral wigeon
#

Is used by me and other roblox dev

sage crag
#

translate?

tender river
sage crag
#

absolute jmp is mem address to bytecode

#

not relative so not within the original code probably

#

good assumption

#

so

olive sable
sage crag
#

but

#

where code end

#

code analysis

sage crag
#

MyHonestReaction

opaque sigil
#

add a new instruction for the end

sage crag
umbral wigeon
#

I have no ideas, what I'm reading

tender river
sage crag
#

i ran out of bananas

opaque sigil
#

don't you know the size of everything

tender river
#

also that jump might be

#

absolute

opaque sigil
#

or is the issue that you're trying to jump based on bytecode in native code

olive sable
tender river
sage crag
tender river
#

you

#

write bytes and jump

sage crag
#

wrrr

#

curse

#

have to run program until termination

#

in order to

#

jit program

tender river
#

halting problem

sage crag
#

ye

#

turing

#

explod

tender river
#

t uring

#

explod

sage crag
#

t io_uring

opaque sigil
#

hmmm

olive sable
#

t neuroPoint

umbral wigeon
stray dragon
tender river
#

hi t

olive sable
#

hi t

stray dragon
sage crag
#

hi t

stray dragon
olive sable
#

i manifested that

#

t has risen

opaque sigil
#

types are a lie FOCUS

tender river
opaque sigil
#

made up by big type

tender river
#

like notlua neuroSmug

olive sable
#

"big type" kekw

#

as opposed to small type

#

are there types of type?

tender river
#

ye

umbral wigeon
olive sable
#

blasphemy

sage crag
#

what type is type if not type

#

dent

#

and types have types

#

otherwise, how would there be different types

tender river
sage crag
tender river
sage crag
#

hblang

#

type is type type

tender river
#

true!

olive sable
#

but types is 1D, types of types is 2D array

umbral wigeon
sage crag
#

everything

olive sable
#

i seen't

sage crag
#

im ear

olive sable
#

im sam

sage crag
#

no

#

youre suppoised to say

olive sable
sage crag
#

im ear

olive sable
#

but you are ear

sage crag
#

ye

#

im all ear

sage crag
#

millions of families

#

all traced back to one person

tender river
#

NOT me

sage crag
#

NOT me either

#

must be sam

tender river
#

ye

olive sable
#

first-name all, last-name ear, my nemesis

sage crag
olive sable
#

i only did identity theft once

#

its no big deal

#

not my fault

sage crag
#

you only did identity theft once

#

but what about your new identity

olive sable
#

what is my new identity?

#

the triangle man?

umbral wigeon
#

vedal writing C#

sage crag
umbral wigeon
olive sable
#

the fire is from his pc burnign down with 64GB of ram used

olive sable
sage crag
#

i dont know

#

you tell me

olive sable
#

we will keep it that way

sage crag
#

not likely

olive sable
tender river
sage crag
#

osu brainrot

#

vzeroupper

#

excellent instruction

#

it says

#

zero upper

#

but i read it like

#

ze roupper

tender river
sage crag
tender river
#

neu roupper

sage crag
#

vneuroupper

olive sable
#

ze roupper neurOMEGALUL

#

german accent included

sage crag
#

ye

#

vzeroupper

kind nimbus
sage crag
kind nimbus
#

I never got that ze meme

Germans don't even talk like that

olive sable
#

i mean

#

its not as pronounced as the fake impressions would lead you to believe

sage crag
#

very important

#

pleas dont mistake

proven merlin
kind nimbus
proven merlin
#

Many Germans have issues with the th sound

kind nimbus
#

Oh yeah true that's what that meme is about

sage crag
#

this is about vzeroupper

#

pleas

#

on topic

kind nimbus
#

My English pronunciation is quite good i sometimes forget how bad some German english Sounds lmao

olive sable
proven merlin
proven merlin
sage crag
sage crag
sage crag
#

translate in real time, and if it goes back over the code path you have

#

JIT

#

smog

kind nimbus
proven merlin
sage crag
#

in principle have to do the same thing for translation based vm too

#

so if i implement it there, it should fall out naturally in the jit impl maybe

#

once i have imm storage

#

or something

tender river
# sage crag fallback to standard vm execution on absolute jump

another problem is
to compute relative offsets in code you're translating you have to know them at translation time
solution
each translated opcode is fixed length, so you can do the following passes

  1. translate code, using dummy offsets, storing the current position every 1024 instructions (arbitrary number, memory vs performance tradeoff, maybe use 512 or even 256)
  2. go back and translate the offsets, use the "every 1024" for anchoring and then walk through opcodes to find the exact location
sage crag
#

ye two pass

#

standard for assembler

tender river
#

awa

sage crag
#

still annoying problem

#

complexity compared to standard vm is high

tender river
#

address translation is

#

platform dependent

sage crag
#

ye but

#

c codegen

#

calculate size same way as when copying

tender river
#

i'd personally just
write two versions of every instruction
maybe write a script to mostly autogenerate it from c code FOCUS

sage crag
#

need two versions, one for standard execution one for translation

#

annoying

tender river
#

no i meant

#

x86 vs arm

sage crag
#

no

#

bad

#

manual

#

bad

tender river
#

ye but

#

no other way to

#

translate relative offsets

sage crag
#

yes way

#

way called

#

hope and dreams

tender river
#

dente

kind nimbus
sage crag
#

maybe cursed jit can be retired

#

translation vm cursed enough

#

20% performance boost for what

tender river
sage crag
#

not much faster for lots of headaches

#

native is about 3-5x faster than that from my hazy memories

#

which is good for a vm but not for

#

cpu

minor sail
#

Hello #programming I am working on my first PR for a startup I just got hired at. The react app I am working on only has e2e tests, no unit testing. It's a good idea to include running new unit tests in ci in the PR that adds them or is that too much for a single PR since I'm doin a bunch of stuff to get the unit tests setup?

sage crag
#

m

#

word for when the neck turns too quickly

#

uh

#

whiplash

tender river
minor sail
#

I guess so :V

sage crag
#

i think i will make a life mission to write a working version of hbvm for each of case-switch, tailcall, indirect goto, direct goto, and cursed jit

#

i want the instruction implementations to be written once, and the harness to be in different files

#

im sure c macros can accomodate this

tender river
sage crag
#

its ok

#

i will forget about it tomorrow

#
hbvm-c/
  lib/
    switch.h
    tail-call.h
    computed-goto.h
    threaded.h
    jit.h
    hbbytecode.def
  lib.h
  main.c

yeah i can see it now

#

probably trivial

tender river
#

gift of foresight

sage crag
tender river
#

synonyms vedalWhatever

sage crag
#

context dependent

#

for example

#

foresight: walking in the motorway is bad for my health

#

prophecy: on the 14th of april 2045 you will meet your demise by walking on the motorway

tender river
#

good to know

sage crag
#

absolute jump to

#

afterlife

#

not linking

olive sable
#

bwaa

leaden crest
sullen marsh
#

im cooked ☠️

minor sail
#

Help! There's chinese in that python!

olive sable
#

i cant read the chinese, but this seems to be just code for highsschool-level matrix math

silent cloak
rose pond
#

Why would you put Chinese into a programming Language? Even as a German I would demand that English is put into it...

olive sable
#

i guess chinese is a big enough language

#

but still, not using english when using english code is crazy

minor sail
olive sable
#

ye we know

sullen marsh
#

At least you didnt mistake it for Japanese.

#

☠️

tender river
rose pond
olive sable
#

wasnbt that a while ago

tender river
#

it was

olive sable
#

1989

#

37 years

#

i guess it makes sense

#

but u old

minor sail
#

At last, someone made me feel young in here

olive sable
rose pond
#

I was born in 1982... so yeah, I am old, but I am not sad about that... I had lots of good times and I am willing to share my wisdom with others 😉

umbral wigeon
#

let build this chat

#

mkdir build

#

cmake -B build -G Ninja

#

cmake --build build

olive sable
#

build error, enub failed to compile

umbral wigeon
#

try again