#programming
1 messages ยท Page 97 of 1
making new ones
i just got confused because of arena instead of Arena

er
i cant type
that's ok
it is
Ahhh, Vedal in 'nam
Since init is abbreviated, crea is valid design choice too
n
That looks like rice field 
Saving 1 byte for reduced readability 
Chay be out there trying to make every language using glyph a la APL

i thought they already did this
oh they do
right 
awa
awa
i caused a compiler crash
awa awa awawa awawa awa awawawawawawawa awa awawa awawa awa awa awa awawa awawawa awa awawa awawa awa awa awa awawawa awawa awa awawa awawa awa awa awa awawawa awa awa awa awawa awawa awa awa awa awawa awawawa awa awawa awawa awa awa awa awawa awa awa awa awa awawa awawa awa awa awa awawa awawa awa awa awawa awawa awa awa awa awawa awa awawa awa awawa awawa awa awa awa awawa awa awa awa awa awawa awawa awa awawawa awawa awa awa awa awawa awawa awa awa awa awa awawawawa awa awawa awawa awa awa awa awa awawawa awa awa awawa awawa awa awa awa awa awawawa awa awa awawa awawa awa awa awa awa awawa awawa awa awawa awawa awa awa awa awa awawa awa awa awawa awa awawa awawawawawa awa awawa awawa awa awa awa awa awa awa awa awa awa awawa awawa awa awa awa awawa awawa awa ~wa awa awa awa awa awawawawawa awa awawawa awa awa awa awawa awa awa awawawa awa awa awa awawa awa awawa awa awa awa awa awawawa awa awa awa awa awa awa awa awa awa awawa awa awawa awawa awa awa awa awa awa awa awawa awa awawawa awa awa awa awa awawa awawawa awa awa ~wa awa awawa awa ~wawawawawa ~wa awa awa awawa awawawawawa
You can check that it runs
https://temptempai.github.io/AWA5.0/
Reminds me of brainf**k
you did
im a thief 
intellectual property infringement
works
not sure i like using a Layout struct
its useful for checking valid layouts but also validation is for nerds
thats what high level wrappers are for
you can rename it to raw_alloc or whatever
what i mean is, i could just be passing length and alignment as args
rather than in a struct
meaningfully there is no difference
sure, this can be used for stuff like multiplying layouts by a size though
What is that, Ruby? Rust?
hblang

true
didnt think about it
its so unfaaaair
when you want to make functions more flexible, you have to use function pointers rather than know them at compile time
when you want to make struct layouts more flexible, you have to use structs with changing sizes and cant allocate a fixed amount of memory for them
why is language design so hard even when you have ways to make the type system support any feature you throw at it 
actually going to crash out
gwa
this is why most languages just use gcs 
most languages should go and take a walk 
Gwa is a slang language for referring to yourself in ID
depends
Yes
when you observe a type its a particle
but when you arent observing a type it becomes dubious
the cost for this dynamic dispatch is apparently 35 bytes
but if you used multiple allocators in one function then the cost would be negative
> new Date("2025")
// 2025-01-01T00:00:00.000Z
> new Date("2025-")
// 2024-12-31T21:00:00.000Z
๐ฅ ๐ฌ random JavaScript BS that no sane person could ever have come up with
parseInt(0.00005)
Such an awful language, just to make a web browser scriptable
js converts 0.00005 to a string, which is represented as 5e-5, then converts the first string of digits to an integer
the output is 5 
it shouldn't be though no
it is monday
they say that you should be lenient with what you accept to comply with noncomformant implementations but that just allows them to get away with more noncompliance 
because of the dot
> parseInt("0.00005")
0
> parseInt(0.00005)
0
add more zeroes
yeah 
that doesnt look like an int
i probably underestimated the number needed
you underestimated by two zeroes exactly
i see
it makes sense but its so cursed
but if you just used typescript you would know that parseInt only takes a string 
hence the coercion
converting floating point to string is not coercion of types, its coercion of the truth
converting fp to high quality strings is such a complicated process 
5e-7 is a very high quality string
yeh
made by the bestest of the best spec developers
old erf had coercions
new one will not
its not easy to convert to a string in this form
it only had something like i8 to i16 because i didn't realize that just because the type inference algo i used supports subtyping it doesnt mean it supports that kind of subtyping
now it wont
ah, just upcasting?
upcasting is fine
its still coercion
function glueless(n) {
const e = Math.floor(Math.log10(n));
return `${n / (10 ** e)}e${e}`;
}

most js engines will use this or grisu3 most likely
rust uses ryu as well
but i looked into js runtimes the other day
as such i was going to implement ryu myself for hblang but 
functions dont use fixed stack frames with preallocated slots for every variable they add and remove data at will
so needy
i cant just use plain old structs for stack frames 
โ
theres also registers which make everything even funnier
purple
purple
Registers aren't purple, no
what color are they then huh
Whatever colour sand they had on that day
big sand is just pebbles
the smart watch company??/
Wow I actually forgot about that since everyone I know has either an iWatch or a Fitbit
it all checks out. they never had a purple variant of any watch
i have a mechanical watch like a normal person
smart watches are bloat
quartz oscillators are bloat too
you will wind your watch up yourself and you will like it
I just love my mechanical watch.
Kenneth Cole I bought many years ago.
I don't have image posting perms yet otherwise I'd show it
i was wondering if there were nuclear powered watches
apparently some prototypes do exist
ever since 1970s
but no commercial products
i wonder why 
I dunno, maybe cancer?
i dont think a nuclear battery is gonna be worse than something like your smartphone
i mean this is not medical advice or anything
big news
1956, so just yesterday
in my search for grass ive created wifi

Hey bro why does this spot have so much wifi?
The signal strength the spot has:
5G? thats baby shit im in triple digits
the signal strenght is so strong you can microwave a burito with it
Wrong way, higher bands are closer to gamma rays
So, cancer causing
Atomize the individual on the spot mhm
Or "Chernobyl 2.0"

i think im boutta yolo and replace my windows install with a linux distro on desktop as well
it's been great on my laptop
im thinking cachyOS
or maybe nobara
arch based vs fedora based

My desktop and laptop both run Debian
i have kubuntu 25 on my laptop rn
i'm a fan
it's been pretty nice
also been kinda eying anduinOS since i keep seeing that pop up
no it has to be ionizing radiation to destroy our cells, which is "high speed", and "high energy", clearly not the case of even 10G wifi
tbh with higher frequencies we might have to just put a router at every room 
It's obscene what all the providers in my area charge just for 100mbit.
Bell Canada hasn't run fibre near my street yet
same here

float y = floor(sqrt(id)) this feels like such a waste 
sqrt is such an expensive function and im just flooring it
make sqrt on your own then
how?
cpu's 
it's not that expensive
this is shadercode
this litle sqrt will be ran 250000 times for every single frame
tbh from the replies im seeing there i doubt any manual method would be fastewr with simd and stuff existing
meh you gotta trust the power of John Carmack
do you need it as a float
fast inverse square root is an algorithm for a different age
is id and int?
it was
it can easily become an int through casting if it isnt
float id = float(gl_InstanceID); 
bruh
that could technically change the result though so fair question i guess
anyway on a gpu i dont think any other solution is going to be faster
i wish i had fiber at my apt
cable not too bad all things considered
just dont look at my upload 
brother you're complaining about 2800mbps
i just want symmetrical
you can trade me for my symetrical 100 then
they have for me
rip dude
someone posted their connection presumably from a box they were ssh'd into and it was blasting 10+ Gbps
this is funny but makes sense if someone were to like, go to the page, disconnect their internet and try to run the test lol
i've had this when simply trying to use their page
sounds like my employees having "connectivity problems" when they're supposed to be working
not that i care if they get their stuff done but it's crazy how it's always the same people with wild & wacky issues
its probably my dns filter
but its funny so im not going to fix it 
I guess google colab runtimes aren't that powerful 
@tender river
WhatTheDynObj := struct {
.func: ?^fn(^void): uint;
.obj: ^void;
...
}
Obj := struct {
...
}
main := fn(): uint {
obj := Obj.(...)
dyn_obj := WhatTheDynObj.new(&obj)
if func := dyn_obj.func {
return func(dyn_obj.obj)
}
return 1
}
cursed nullable function

cursed? looks perfectly fine 
evil function that doesnt exist if you look at it wrong

i'm continuing work on the lsp, currently sorting out the TODOs in rpc.hb
and then i'll move on towards serialization
fnc_raw := u8.['e', 'r', 'm']
fnc: ^fn(): void = @bit_cast(&fnc_raw)
$cursed := fn(): void fnc()


inline assembly is finally possible
actually you could write a DSL that generates assembly at compile time
you could, using enums
Operand := union { .reg: Register; ... }
OpCode := enum(uint) {
.mov := whatever_mov_is;
}
Instr := struct {
.opcode: OpCode;
.operands: []Operand;
}
asm := Instr.[.(.mov, .[.rax, .rbp])]
:mhm: this would totally not work 
probably better to do it in the type system
variable length instructions
not more comptime linked lists
taking pointers at compile time and serializing them to a byte array will not relocate properly
so no absolute jump
relative might work
at some point you realize, everything that is strictly ordered is a linked list 
update on my training script:
man I hate torch
it is going to take few buisness days to get the data loaded

at least i escaped from complete halt tho
Hi
Hello. Just a quick question. Do any of you use macs or stuff like that and know of a good programming software on the operating system
probably just use vscode
you might also want to install brew idk
goodmorning shadow 
rate this shader out of 10
i give it a 4 personally
this one is going slower than i would've expected
im running out of ideas
Hold up lemme give you sm
you could lower the quality or sm idk
or like the interstellar sound track lol
I was expecting the meme version dang it
oh lol
tf 
Sorting the todo in alphabetical order that is
Evil never got a chance to colab with vedal 
asm.{x86_64: .{assemble_fn, mov, syscall, eax, ebx, const}} := lily.asm
exit := assemble_fn(^fn(): never, type.[
mov(eax, const(os.lib.arch.Syscall, .exit)),
mov(ebx, const(u32, 1)),
syscall,
][..])
main := fn(): i32 {
exit()
}
working on cursed asm dsl for hblang
dont open several 7zips on several gigabytes of directories at once
Sometimes I wonder what goes through everyone minds here at any point in time
the main thing going throguh my mind is 7zip
one 7zip has been defeated
the ventoy is 105gb or something because the drive is a 128gb drive
ventoy is just a thing that lets you put bootable .isos on it and you can boot from whatever one
every time i get a usb drive i get like 128 or 256 gb since theyre basically free
Ventoy is an open source tool to create bootable USB drive for ISO files. With ventoy, you don't need to format the disk again and again, you just need to copy the iso file to the USB drive and boot it.
ventoy
I know what ventoy is. I just wished you didn't actually reserve THAT much space for the ISO 
oh lol
yeah i mean im gonna use it like a couple times and then wipe it again to use for something else
so i just formatted the whole size of the drive
oh hard drives
disk 0 and 1 are hdds and are absolutely pegged out reading
sending stuff to disk 3
which is not even at 5% from it
would be fairly trivial if i was targeting a risc architecture
or even x86
but nooo, x86_64 has to be special
we need vplzcntd ok we just do
i will not be implementing this

but in theory instructions are generic so
muh avx512
mov := fn($dst: type, $src: type): type $if @has_decl(src, "imm") {
return struct {
$code: u8 = 0xB8 + dst.reg
$ops := type.[src]
}
} else {
@error("todo: non-immediate ", mov)
}
syscall := struct {
$code: u16 = 0x0F05
$ops := type.[]
}
well, depending on the instruction
What theory said: infinity
What really happened: quantum mechanics
You will need to make a conjecture like shiro
discuss the 2d nature of shadows
mhm
Shadows can be 3d if the object is higher than 3d
I only know about modm.io
The ModR/M byte is an important part of instruction encoding for the x86 instruction set.
don't insult me
even making an assembler for x86 is a headache
true, you are like a professor or something
i dont remember
I'm not a professor, but I have written a disassembler
So what about that one guy that make movfuscator
im doing great btw
i'll have you know i have actually recently been watching multiple videos on the topic of instruction sets recently and
i dont recall the term even so
i dont think about witches
Yeah, this is where theory meet practical application will slap you
all i know is every time i get to branch prediction i return to monkey
the modrm encodes the operands in x86
its encoding is like rm src dest or something
rm is for the type of operands you have, so 11 is direct register
i dont remember the other ones
and then, for direct register, the src and dest are both three bits which encode a register
Well, branch prediction is just one part of a whole set of optimization. You will meet out of order execution, pipelining (I think it was called?), caching, and many more
reading on it now and it seems like a good way to ruin someone's branch predicting since the addressing mode OR NOT it could be a register for fun
i.e. rax is 000, rdi is 111
i understand what it does and what its role is in general i just still cannot put the algorithm to the rock
but you may notice we only have rax to rdi here, so we are missing all of r8 to r15
r8 to r15 come from the REX prefix for the instruction
right then we need the mod
this is not considering r8b-r15b, r8w-r15w, r8d-r15d, which are the extended registers for 8, 16, and 32 bit respectively
but i dont know how often they are used
probably also set with REX prefix
typically i think its REX OPCODE MODR/M
i have not considered what happens if you have an extended size opcode
i do not want to think about it
is chat talking about asm now
mostly machine code
ahh ok
arm vs risc 
wh
same
typically is based because each instruction is 1 byte, and then the operands sizes are defined in the instruction spec for each instruction
and things like mov wont have a million overloads
it would be mov and movi and movm etc
it does seem like it allows for very complex addressing to be done in like 4 bytes
i do not want to think about all the things it can do 
i really should have written an hbvm assembler first
yeah that's a
And she fainted
not evne considering things like mov rax, QWORD PTR [whatever the frick address]
which are memops
update: hard drives are very upset
i dont remember if that is RIP-relative addressing or absolute addressing or what
feck x86
who designed this garbage
intel forum
now do itanium
i will destroy you intel
no
when will there be an hbvm cpu
bwa
i wrote a vm impl for hbvm in desmos
What will the ISA look like?
this made me curious about itanium
Interesting
and i have found that despite having 300~ish opcodes instead of the like 1500+ of x86-64, they are 128 bit bundled encodes so they come as 3 41 bit slots and then there's 32 5 bit templates to combine with
the instruction encoding is just one 2 line header

peace to risc ISAs
hbvm has 119 opcodes, each one is a u8 with variable length operands
every instruction (almost) has a 1bit predicate + 5 different nop types so every one can end up a no-op'
variable operand count is a bit slow compared to storing the operand count with the opcode
but who cares its a cpu
i for one hate when my cpu is fast
super instructions for you
nop efficiency is dependent on your implementation
i have put core::hint::spin_loop into the ableos one

hbvm does actually have two forms of simd
i will tell you these were not fun to write in desmos
so just either doing registers or bytes
oops
wron message to reply to but yeah
hi
what
im too bleary to understand
oh i was just saying the 2 types of simd
having enough registers to warrant block register copy is pretty cursed honestly
256 registers is enough registers for register purposes
also enough registers to do recursion without a stack
not for long though
call me crazy but the x64 instruction set reference was a nice read
Does iOS support creating local http server that is callable from the phone browser?
This is cursed I know
Oh, it seems like they could
Welp, some shenanigans it is
help
how do i get useless groupmates to finish a simple python system within 12 hours
You really need to sleep lmao
they AI'ed their entire code and its fucked up
no
Can i make a .bat file download something off the internet?
Waste of energy groupmates, just code the entire thing and show it working. Then say "This is your goal, I'll just not submit this if you can't cooperate."
Yes
how
i cant do it myself
i mean i did it myself already but there's the group marks
everyone hasto do something
But then he doesn't get the score either
It WILL depend on the teacher how this case is handled
One can handle it by just accepting that one person is uncooperative
Another can say it is the group failure to cooperate
i jokingly said id do it myself and she just glared at me
I mean the goal was to gaslight them with this method.
yeah i did that
i think they copied my code too
without understanding it
(part of it)
Ditto on it depends on the teacher on how it is handled.
like atp im just asking them to list out the function details USING COMMENTS (you can see where the AI'ed parts are in the comments, too ๐ญ)
You could abuse any missing assignment policy to submit working code after the fact, let them fail. If your in the worst universe then I don't think you have a choice but to let them leech.
we need to present this
live
Man I hate group projects
Have that person do the opening, transition, and closing
i already did that
also, 3 people
At that point I'd honestly ask the teacher and accept my fate however the teacher handles it\
I don't think GPA matters that much tbh
i wanted at least one module with a perfectr grade
๐ญ
I'd say do your best and whatever happens happens, but do argue your case.
Ye, this. Life happens
pain
It is what it is
I'll say do not give them ammo to dig themselves out, fuels this better.

If they have a brain they'll realize only one person did anything and the others are bsing.
Your goal is to make that part real, misinformation and all
boys we have an out
i definitely can't use Class though even though its useful
but
most likely ill give something that's covered in the lesson notes (although i really want to use Python pass and return...)
bleh formatting error
We just need oofio to get a perfect score on the individual QnA while their mates are all in the 0-4 range, ideally 0 for the lols.
Playing the long game now
im slowly(lazily) learning 
i just finished trying out how to change scenes, now im lazy again no energy
Good luck with godot
I think I know what's going on with gary... I have more than enough clues to think he's incapable of placing anything on the negative positions.
The schema is fully correct and allows them. The game understand the negative numbers but gary just... doesn't know how to input a negative number to the schema? 
Who's gary
A program that allows to run a local AI to test neuro SDK integrations.
Is also the name given to that AI.
is this: https://github.com/Govorunb/gary
Ooo a small ai tester
my only guess is something is casting the integer to an unsigned integer somewhere in the pipeline
so monads in haskell basically and really oversimpliedly are containers
that makes a hell lot of sence
monads are monoids in the category of endofunctors
i've used cool spell - "oversimplification"
This might be "Guidance". Gary uses it so the AI doesn't write the whole JSON. But It might be confused somewhere.
I'm seeing it's code and says it supports negative numbers but... who knows. Time to dig deeper.
they're more like things you can infinitely chain operations on
calling them containers doesnt do it justice, even the list monad is more like rust iterators than rust vectors
Hi humans
hello whoever you are 
how big is your model
The file name says it's 8B (Whatever that means)

I uh
am pretty sure that's a bit too small
it also depends on your hardware specs as well
8 bytes is indeed prettty small 
I'm pretty sure it doesn't refer to 8 bytes, right? 
Anyway, I only have a 3060 with 12GB of VRAM.
Maybe i'll have to try to find a bigger LLM somewhere 
Uhhh I don't know exact specs but I think that should be, like, sorta decent?
Yeah... and I don't need a Neuro for a play tester. In fact, the dummer the better. It only means higher chance of neuro actually getting a chance to understand the prompts
Neuro: "Because it's funny"
Then that's not my problem. She can act funny as long as she understands 
Reading the docs about neuro SDK where it is said that neuro may give command that doesn't exists, makes me believe that neuro indeed could make a problem with her AI
Oh yeah. She can. Right now I have no checkers on my schema and moving to the position 10.000.000 in one go is a valid move.
yep i saw and read how they works and practised a lil' bit
it's fucking awesome 
YES. I found the problem. Gary has a bug in the "Follow schema" option.
That dummy option simply eats negative numbers for breakfast and converts them to "0"
PR time!!!
literally how bro
is there like
no basic checks at all with her server
Nah, that's just how old school LLM is like
I don't know the exact date of neuro and LLM advancement, but I do know that Neuro is quite old (in relation to LLM research progress)
wrote a json serializer for hblang
as expected, its very trivial compared to deserialization
only 135 lines of code
32 of those are just strings
i'm sure lsp won't require any more plumbing and i will soon actually be able to work on the lsp itself right
Did you not sleep since yesterday?

Man, ablecorp needs to review its internal policy
its fine i only woke up like 23 hours ago
no but like basic checks before sending a packet
Mhm, you and konii are the same person alright
Well, it is also why we got neuro trying to cause problem with her AI lol
And I think the SDK is developed later after the fact. So neuro must've been at it's very early stage and the system got too complex to plug the check without adding latency
And we know how autistic vedal is towards her latency 
not the same 

"Morning" as I check the Belgium time is ~15.00

Hi

Lol, lmao even
who has AI executing random commands on a database without any supervision?
try:
category_code = [category['category_code'] for category in self.menu.values()]
choice = input("\nEnter category number (0 to exit): ").upper()
if choice == '0':
break
if choice not in category_code:
print("Invalid category code.")
continue
except TypeError:
print("Please enter a valid code.")
continue
category = list(self.menu.keys())[category_code.index(choice)]
category_data = self.menu[category]
i feel like im being a idiot somewhere
scary
I think it may be missing a thing called a "transformer" or "power supply"
hey Guys
any tips and tricks to fix the disconnect between action state models and their training data mouse behavior
a lot of Gaming is very dependent on Camera movement.. AI can replicate Discrete keypresses Easy but there is a huge disconnect between player control of camera and ai control
Try adjusting indentation levels?
no it works
it just
it just feels stupid
like it could be optimized better
i don't think there's anything that could throw a TypeError unless i'm missing something?
programming is just bruising your ego over and over 
What are you optimizing for
trying to be smart will only hurt you half the time
This
If it works then why not. Unless there is a need to do so
if category is not a dict it might
>>> 1['a']
<stdin>:1: SyntaxWarning: 'int' object is not subscriptable; perhaps you missed a comma?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
oh true
Unless you mean an extensible code with good performance for some specified amount of workload

lmao, this reminds me about how you can do this in c and c++:
int main(void) {
unsigned int my_arr[512];
unsigned int i;
for (i = 0; i < 512; ++i) my_arr[i] = i;
unsigned int value = 312[my_arr];
printf("%x", value);
return 0;
}
gotta love pointer arithmetic
https://godbolt.org/z/b4a78s91x here it is in action
Is there a good reason for doing it this way?
no
it only works due to how x86 handles array indexing with it's addressing mode
Uhh no
It is due to how the language spec work
Is there a bad reason, a something-between-good-and-bad reason, a something-not-between-good-and-bad reason, or any form of "benefit"/cool-stuff-you-normally-couldn't-do to doing it this way?
There isn't really any difference between my_arr[150] and 150[my_arr] they compile to my_arr + 150 and 150 + my_arr respectively, which does the same thing.

the movfuscator is the best way to obfuscate your binary 
I assume it implodes if you have a array of something bigger / smaller than an int
it shouldn't matter
Mine imploded, I think.
I'm not sure actually hm
It should not. Because the effect is just a logical conclusion of the [] operator on a pointer
And pointer arithmetic
it works fine, just checked
If it does not, I would be worried for the compiler ngl
Whuh

How do you do the code thing?
In C you can index a number at an array pointer??
Not index a number at array pointer technically
I did not know of that backwards case
it's because A[B] = *((A)+(B)) you can do it both ways
@olive sable u need help with game engine thing at all? bc I got free time and stuff
That is actually crazy
Call it syntactic sugar if you want
I think I just got confused because surely if sizeof A != sizeof B something feels like it shouldn't work
but I guess it makes sense?
iunno
it works out cause there's only one actual pointer involved so it can just use the size of that pointer's type for the addition
Pointer size is always the same for any type no?
not really, its mostly just doing stuff in blender rn
Yes
the size of whatever type it's pointing to
Making juice?
But they still need a type to know how much they should increment (I think?)
but yeah the pointer itself is usually 8 bytes
not always:
https://wiki.osdev.org/X86-64#Data_Types
i said usually for a reason
Ohh yeah right
what
I guess it really depends on the hardware?
Or something address space or something
why not use alignas instead of packed with padding?
you know about packed but not aligned
What does the __attribute__((packed)) part do?
removes padding
stops gcc from adding padding for optimisation (e.g. placing values on 16 byte boundaries)
its the way I've seen padding done before in C 
So the thing is, accessing memory are not done 1 byte at a time
And it can be any n bytes. And if your struct is saved in memory happens to be larger than those n, it may need multiple fetch from memory
Why does computer have to be so complex 
What "what"?
how on earth did I get 64
oh I'm stupid
its formatting it as hex
bruhge
that would explain why it seemingly worked on small numbers but not big ones ๐ญ
i love reading memory in 64 byte chunks 
Because fast
alright linux masters
installed cachyOS last night and it's been working fine except that i had 2 hdds that used to be mounted in a software raid on windows
they were empty so i figured i'd just reformat them in the install process and that'd be that
well they have been preventing the system from booting because it kept failing to mount
got past that and now i have 2 hdds with one(1) UUID between them, because i thought i could do that with btrfs to kinda jam them together into a single "volume" but that was not accurate (or i misunderstood how to do it)
anyways i plan on basically just rebooting and unmounting the messed up drives, yeeting the ~/etc/fstab i currently have and generating them 2 brand new UUIDs then cleaning the boot files with dracut and/or update-grub
does this seem unhinged
seems fine other than the part where you made them share a UUID
literally has the word unique in the name 
well see i was thinking that
but then i was like well maybe it's just unique per logical volume or somethin
i got it in my head that it was a
btrfs feature that you could just give them the same UUID in fstab thus jamming them together into a big blob
if you just specified the same UUID in fstab then the partitions never actually shared a UUID, fstab doesn't modify the partitions on the drive 
it would just mount the same filesystem twice
well i definitely also forcefully yoinked the entire configuration off of one of them
so when it goes to load the UUID it's getting one (1) normal-ish (but empty) volume
and then also pulling the same UUID
for some sort of mutilated eldritch being
of a drive
at first it wasn't ever moving past that it would just sit till i rebooted the system but now at least it just goes into emergency
mode and i can force past it into the OS
didn't know getting a message like this on boot could ever be a relief but it was
$li64 := fn(r0: u8, imm: u64): struct align(1){.op: u8 = 0x4B; .r0: u8; .imm: u64} return .{r0, imm}
$tx := struct align(1){.op: u8 = 0x01}.{}
bin := .(
// return 255
li64(1, 255),
tx,
)
main := fn(): i32 {
// actually, return 55
bin[0].imm = 55
return @as(^fn(): i32, @bit_cast(&bin))()
}
look how much easier it is to assemble hbvm than x86 
it works
Stoopid linoox beginner thinking installing an arch based distro to non standard storage configurations was gonna be easy
Should've gone for nobara fr fr
i feel like i would've also had this particular failing with nobara too that's the sad part
unless nobara handles NTFS properly ootb but it appears that's mainly an ubuntu and derivatives thing
Tbf... nobara is based on fedora which as i have told you before, is the consumer version of RHEL... which you would think they would have proper documentation about how to do the thing you tried to do
But then I read it and think "i think this means i should take these 2 volumes and smash them together by robbing one of all of its attributes"
If the docs say that exact thing then yes, you are supposed to do that.. and if it doesn't work then... then it's your drive's fault... but i am certain the docs will tell you otherwise
Also.. the rhel and fedora docs on those things usually also apply to the rest of linux
I lied i ended up at a bar 
frick redhat
The company yes very much.. but their projects are actually kinda fire most of the time
File system is mostly the same everywhere
unless you are doing very custom
or your system is configured in a different way (NixOS)
Yeha but my point was more... that branch of distros is more often used for servers and enterprise and stuff... if anyone has good documentation on it it's Redhat
Which is behind a login screen most of the time
And possibly Arch wiki has a more common explanation
Ah I mixed up the customer ticket thingie then
Arch wiki is also a great resource yes, but i personally find redhat and fedora docs easier to consume
Also, RedHat made and/or contributed to most of the technologies on linux for server environments
Including systemd and pulseaudio unfortunately

I don't get the hate towards systemd tbh
It doesn't follow Unix design principles
And that immediately means it's bad?
I'm not saying SystemV init or Ubuntu upstart were any better
There is a reason most distros use it, is there not?

I mean, i get that other options are better for certain usecases
But to me.. it's just the thing that starts the things that need to be started and the thing that makes the funny bluescreen
And it could be the boot manager
But all those things still are seperate projects...
You have unlocked new role
Amazing that we're still using GRUB2 in 2025
Yay embed perms
Now i can post systemd propoganda 
I'd rather post this cursed european wall socket

This badboy can do 480Volts
But they usually don't exceed 400
Cuz nothing that gets placed inside a home really needs the extra 80
What the-
Holy fuck, I've debugged why my animation of running ain't animating
my free membership of childhood has ended 
i now have uhhh.. taxes and mandatory voting

imagine
thanks for your input, he who goes by "sexy"....
dw i got u sam fam
a plane might actually be safer..
not for yourself, but for other people
my friend got a piloting license and we in hs bruh ๐ญ
can but rarely do if its not intentional
on the road though, one stupid accident can mow down a whole street worth of cars, especially on a hway
ig a plane has more room for mistakes?
more room for mistakes, less dangerous for everybody around, stricter teaching
and far not everybody who can afford a car, can afford a plane
even if we are talking propeller ones
they are iirc
more trained people, better communication, and higher regulations makes them much safer
Maybe "legal" but I seriously doubt someone at that age gets their pilot license
like if things go wrong your probably screwed, but getting to that point is much more unlikely
frankly, a good training course for a pilot could take a few years, so by the time you are 18 you might already be legible to fly a jet ๐
be happy, the next dlcs are even worse 
the 21 dlc has gambling 
The only part of the 21 dlc I want
imagine not having that as part of the 18 dlc
My fuuuucccck,finally got it working
Took me 2 months just to get this bloody model injected as a chrome extension
fuck me
I need ot lie down
its bug time

At least alcohol is in the 16 dlc
actually i think i could also do this on x86, but the internals would look very different
That's all the way in the 21 dlc here, not that I'm interested in it anyways
the problem with this method is that instructions are functions so you have to import them
i will probably have to do some funny comptime stuff to make it work without importing
possibly putting those structs with default values inside a wrapper type
and then the functions become methods
chatgpt, just because you put that comment there doesnt mean that's whats gonna happen
AI hallucinating
What "Instance", mister AI? That's a main function, not a class function 
thats the vertex shader so every single thing you put there will be calculated for every vertex in every instance
imo it looks harder than it actually is
its like writing simplified c, but you control positions and colours
for example, a simple 2D vertex shader looks like this
#version 300 es
precision highp float;
layout (location = 0) in vec2 aPos;
void main()
{
gl_Position = vec4(aPos, -1.0, 1.0);
}
generally the program is run once for every pixel of the buffer its applied to
more broadly, shaders are programs that run once for every piece of input data
things like compute shaders for example fall under this category
you can write a shader for probably almost every single thing where you use the same program on thousands of seperate data points
I can get that... but my brain fails to get what even is "aPos". Like, yes, I get is a vector 2 position, but based on what?
thats just what the cpu puts in
the in in glsl behind the hood does some funky buffer stuff, but basicly you just put in an array, and that array gets indexed for every single use.
Suuure... so... you have "input data", you modify it however you please and pray the GPU understands the new data?
usually you dont really modify input data
Chat, should I try working on NN later or taking a stab at the sam's grass shader?
im pretty happy rn with the grass so you can do the NN if you want
Granted I've not used opengl before so the grass will be interesting to figure out
NN it is, I hope I can figure out where my logic issue is
i just need to blend inbetween the diffrent layers better, altho the only reason you can see the line is cuz of the spacing making the bottom of the gras smore visible
i am using the same 5 vert / instance model each time now tho
i will probably move towards one with 3 verts for further, and have it be multiple grass / instance
think of it this way, sending data inbetween gpu and cpu is expensive so you want to do that as litle as possible.
so instead of constantly sending data you store the data in gpu and just say which data to use.
in return you get hyperparallellation
hyper.. WHOOT?
idk the word
my autocorrect aint helping
basicly thousands of the same program running in parallel
Looking very grass

aja... I'll probably never get it till I, by pure miracle, try to do shaders myself.... but thanks for trying.
Come do general purpose gpu computing, it's way more fun than writing shaders 
totally not biased
Or just throw GPUs around and accidentally create the greatest unofficial Neuro voice of all time
if you want to, you can think of a simple shader like
for x in 0..width:
for y in 0..height:
pos = (x, y)
# code of shader here
-# NeuroSynth BETA was not meant to be this good, it just is
Alright, off the bike, What I was trying to express here is that if you just ditto the transformation across all of these connected meshes then not only is it less unique compute but also less verts overall. @olive sable
you can try wgsl here https://neuro-arg.github.io/graphics-toolbox/
sample code
@vertex
fn vs_main(@builtin(vertex_index) in_vertex_index: u32) -> @builtin(position) vec4<f32> {
let x = f32(i32(in_vertex_index) - 1);
let y = f32(i32(in_vertex_index & 1u) * 2 - 1);
return vec4<f32>(x, y, 0.0, 1.0);
}
@fragment
fn fs_main() -> @location(0) vec4<f32> {
return vec4<f32>(1.0, 0.0, 0.0, 1.0);
}
this is what i was originally making erf for btw
im sorry but i cant really tell what the drawing is supposed to show
All good, I can redraw. It was bad
did you see i got the assembler working
(for hbvm)
what is even th epoint if your gpu doesnt show pretty colours on the screen?
youre the reason we have a shortage 
computational physics
wahoo simulations
im sold
i did 
we love physics
My dumb self about to use red and green for the drawing
Yeah, better off not doing it regardless
what about brown and green though

depends on how bright the green is
you can even show the image it has loaded but the code is a bit big
for hbvm it was thankfully as simple as packing the opcodes and operands as structs, and then putting that into a tuple
issues exist tho, since you have to import instructions becore you can use them 
hmm would returning @Any() work since you only need the data you dont necessarily need to do anything with it
you can at least import asm as x or whatever, x.ld64 is not much longer than .ld64
return Any 
if only hblang had type backflow
then perhaps

its uglier and thats all that matters 
if we had a way of importing all members of a scope at once then i wouldnt mind
would be helpful with re-exporting target stuff too
when konii says it its a brave statement, when i say it im "the bad bracket man"
double standarts smh

the difference is im correct 
konii im legaly allowed to drive a car now 
im willing to bet even a crt tv wont win to a 2001 opel zafira
Hopefully this more coherent
i can drive a tractor 

this is getting creepy
we could be the same person, you will never know
i'm legally allwoed to drive anything and i still drive illegally (i don't have a license)
i fucking hope not
wait no i actually have an atv license 
its ok, im to your best knowledge over 600 miles away
why is that a thing even genuinely
if you really are a diffrent person tho
what do you expect me to say?
this discord girl is suspiciously similair to you, prove you arent stalking me
"awa"
yeah 
that sounds like something an insane person would say
so not too out of place
a bit out of place i'd say
but konii now knows you sent her that
the test is to see if i get response back as "awa"
she now knows to act inconspicuously and not respond "awa" back
cover is blown i'm afraid
experiment invalid
but my irl friend doesnt know

awa
wait i have her phone nummber, if she doesnt see it for a week i should send her someplace she does check
cuz her messenger account is long forgotten
stalking ... 
the
im just sending "Awa" how is that stalking?
please no wildcard imports 
let's go gambling

lootcrates and all
use a custom dns
i use a systemwide proxy but cargo ignores it
im going to watch horse racing irl in august cuz we like betting on them
how about module exports instead

unrelated but i can make wildcard imports using comptime by bruteforcing all possible strings in @has_decl 
dns usually doesnt matter because russian censors are actually competent, but crates.io not working sounds more like a local thing so it might be dns related
you're doing 3D grass.
rn im doing 2D and rotate them towards the camera
can you really

it's probably a routing issue tbh but it's been a thing for like a month atp
why tf would they block crates ..
i was thinking of something like
@exports(a, b, c)
@useExports("lib.hb")
yeah but you would have to append them to an array 
i'm fine with wildcard imports as long as they are scoped very narrowly and dont overlap each other
when theres more than one it quickly turns into a mess
i hate C# for that
the problem with hblang imports is importing re-exports
since there is no notion of public/private
im doing smthn like this rn
pythonlang
it sounds like just adding public/private to the language would be a better solution but maybe there are better alternatives
I wonder if I can cull a vert off of this depending on facing direction. Maybe billboard directly face on or cull the unseen bottom vert. That'd only work for single tho.
So either 3 or 4 verts and still considered 3d. That's all I got at the moment.
I guess in the end it is about the same as 2d anyways.
Maybe with the small benefit of lighting being being possible and physics only on one node. But that's the same as 2d.
the way im doing things now physics is on 3 vertices
imo thats fine for closeby but after a distance we'd reduce it to 1
3 allows some curvature
this is only visible closeby tho
Yeah, only question becomes is there any benefit for 3d besides batching?
i still dont get what you mean by batching? cuz we could also batch 2D
Because any culling one would do only affects faces and edges instead of verts when combined
ye true
Yeah
afaik all vertices get calculated even if they arent visible
I guess I'm using batching as combining meshes and calling only once instance of physics
My head is just stuck in trying to do it in 3d for some reason.
i can try a 3D version if you'd like
Nah, let me apply the same train of thought onto 2d first
then I'll see what I like better
awa
awa
2D vs 3D
granted i wasn't using an index buffer eventho this would have benefited fromt hat
I know 3d is on the left
im doing triangler fan for 3d so i dont have to calculate 3 vertices per triangle, but the first and last one was still calcualted twice
this is 2D with only 3 vertices, the humble triangle
i think it's time to support \uXXXX in the json parser 
I don't like either of my described methods. They both feel incomplete and non optimal.
no hypers
i have no idea what \uXXXX is so i hyped
everyone who put hypers has not experienced what this woman does to the poor compiler every time she extends the json parser
this will not be a big change
what do you do to yuor compiler? 
most of these are bwaaleaf



ye i have no clue if im doing this correctly




makes sense

