#programming
1 messages · Page 44 of 1
since it allows you to use proofs by induction natively

13" screen 1920x10180 res and 100% scaling from ~60cm will do that to you
also its useful because it allows you to avoid using language primitives
me when i want to add 1 and 2 but i dont want to use integers for some reason
back in my day if you wanted an integer you had to invent it first 
I really hate too much nesting but I also like to have tco hmm
is tco really nesting
total cost of ownership causes many emotions, none of them are related to nesting though
at least it prevents me from breaking this whole match nightmare up
isp gods are angry today
wish I could slice pattern match on a vec without having to convert it to a slice
ah yes, Error -1073741819. whatever that means
when you use logic instead of code at the type level, everything works a bit differently. Anyway i had fun porting type-level lambda calculus that i stole from haskell wiki to rust
I will congratulate you if you got error 0
btw while there are O(N) x86 instructions, i checked and there aren't any O(N^2) instructions
i think this is very good news
@tender river can you pattern match over a boxed slice?
thats exactly the problem
i dont see the problem?
is it nested?
if so then you'll have to do a catchall branch and a second pattern match
yea I wish I could do it in a single match arm and pattern match into the nested structure
but sadly I cant
so I dont have to do shit like
match expr {
Expr::List(args, _) => match args.first().unwrap_or(&Expr::Nil) {
Expr::Symbol(s) => match (s.as_str(), &args[1..]) {
It's actually better to render to a single triangle that goes past the edge of the screen
yeah i guessed your problem but thats what rust had to give up when they decided to be a systems language
Performance wise
thats why i think it can be more fun to develop compilers in languages like ocaml or scala, they will potentially be somewhat slower sure but the developer experience is pretty nice
ah well, I can hardly blame them for triggering my OCD
as you may be aware hblang was originally written in rust
even if the current compiler is buggy, to me its still the most sound hblang compiler ive used 
things i hate about ai no sukima rust:
- function colors (async), i'd love first class continuations and effects, but rust isn't that kind of language
- compile times, it would be cool if it didnt have to monorphize everything and stuff for debug builds
- the language isnt very dynamic so you have to rely on code generation, and when that fails you're out of luck
- it has all the nice patterns like shorthand syntax for record construction and pattern matching that dont really work nicely when you have to do a bunch of conversions
- lots of type annotations everywhere, it can be good sure but a lot of them could easily be inferred, so much of rust programming is just adding trait bounds because the compiler tells you type T does not satisfy X
- the language kinda forces you into an optimization mindset but cleaner code is often less optimized
theres a pattern here, these problems are all solved by using languages with actual runtimes, but still i never really looked at a language and thought "wow this is perfect", good runtimes are hard to design
actually valid shortcomings of Rust in this channel

valid criticism. Rust is good for what its trying to be but aint perfect
had to google ai no sukima lol
real and true
i like
aint no way
-# what are multiple cores
we love 120% usage
it hit 150 earlier but it was too fast to catch
average colab.research.google.com experience
why
the language kinda forces you into an optimization mindset but cleaner code is often less optimized
this is the only one I somewhat disagree with, Rust does a pretty good job making the obvious code also decently fast
but it's true that it encourages optimization a lot
is this per core or thread?
it's probably per thread tbh
it's firefox task manager im not familiar enough to tell you
time to get 3200% usage 
zero cost abstractions and all that, but i'm talking about cases like Box<dyn ...>
Cause i like things and people
there are a lot of cases where you can avoid dynamic dispatch but that results in a lot more code

performant safe rust is built on a web of lies (unsafe or 10000 lines of trait bounds hidden in a foo-rs-lib)
only half joking 
rust is very good for learning concurrency
saved
I was about to start a crucifixion
-# this one is actually a joke mods please don't kill me
My friend wanted a circular linked list in rust but gave up after realising it had recursive ownership
Proof that browser is OS
go will just tell you "you can't be trusted with mutexes go use channels" while rust will tell you "static mut is evil but sure use it at your own peril"
even more because this tab was colab
Learning Rust With Entirely Too Many Linked Lists
when u go to colab to use remote compute and the ff tab takes 12gb of ram 
"Remote compute" The remote is just passing it on to the browser
i wish i had an a100 in my browser for free all the time
I'll send this to my friend
a100
Why is it still so expensive
Smh
Ben Eater computer finally got sound. Now it can play video with sound
If you're the type of person who wants maximally information-dense, serious, and formal content, this book is not for you. Nothing I will ever make is for you. You are wrong.

as another example, recently i replaced a Box::leak(Box::new())with an Arc::new(). It will absolutely be slower and the former is actually better because the object is supposed to live for the entire lifetime of the program, but the latter is cleaner (maybe that's just on me for making the previous code)
I think just keeping the Box::leak version would be fine in this case
it would, but then its lifetimes polluting the code 
make a type alias or a newtype and use &'static 
i have a bunch of ideas for my languages, i want to start with the cursed one - force continuation passing style everywhere and make the language look like evil prolog
i made a prototype already and as expected it was very cursed
the most interesting thing to me was that if i disallow first-class functions i can actually write entire programs as unordered pairs of expressions that flow into each other
but i do want first class functions which means pairs have to be ordered
heres an example (i didnt write a parser but i did write an evaluator, also the grammar was obviously meant for me and not anyone else)
&{ x y z : + { x x & y y & z z }} { x 5 & y 6 & z printTerm }
printTerm prints its argument and terminates, + adds x and y and calls the continuation z with the result, &{ is used for constructing "functions" and & inside {} is used for constructing "records"
dont let me into this discussion

would you use static mut and unsafe 
in one of the older version of fakern, i converted Box<[u8]> to &'static [u8] after Box::leak
and then i thought about how i can extend this grammar to add 10 to the result before printing it, and realized i can't without enforcing order 
because if you have one function and one number its obviously going to apply the function to the number
but if you have two functions, you have to know which one to apply to the other
thus my cursed experiment of not caring about expression order died
also i realized that for all practical purposes linear types are bad because programs can crash at any time because of e.g. a division by zero, but its possible to do something like rust and use affine types, or even stricter by only allowing automatic drop in case of an error
What does linear and affine have to do with type system? Does that mean it exists a type system that is, say, exponential? Can a type system be a group? Then maybe we can have crypto on type system 
roughly speaking, a linear type is a type of objects that must be used exactly once, and an affine type is a type of objects that must be used at most once
note that "used" here would commonly be understood as "consumed" by most programmers
or "destroyed"
Oh man, I was taking a break here but ended up reading type theory now 
What have you done chay
linear types are also thought to have a connection with concurrency (through the concept known as session types)
thats why i am interested in languages that are not based on sequenced operations but on data dependencies
FINALLY I got another inference engine working, and it ticks almost all boxes and those that are not ticked aren't important right now.
Due to...reasons, I'm paying for it with 54GB of VRAM, but at least it works.
43 tokens/s with two queries running against Gemma 3 27b
When asked what kind of additional functionalities she'd like:|Oh? You're Sui, my creator? Well, it's about time someone acknowledged my brilliance. As for functionality... hmm... I suppose a little more refinement to my roasting capabilities wouldn't go amiss. I want to be able to *really* sting with my wit, you know?|
nice nice
and my skin is now red

as someone who sits on his screen 24/7 this is an achivment
like i look more handsome at some point
linux game?
learning git game
the embed didnt work but the 1st vid on the steam page is quite funny
are you supposed to put the function names in a .hpp file and use an actuall cpp file for the real functions?
cuz i have not been doing that
i don’t think getting sunburnt is a good thing
Yes, if you want to use the function from another cpp file
After 5 years of development, contributions from hundreds of developers, the critically acclaimed open source programming hacking sim is available on Steam.
Inspired by games like Else Heart.break(), Hacknet, Uplink, and Deus Ex, Bitburner is a programming-based idle incremental RPG where you, the player, take the role of an unknown hacker i…
If it's internal to the cpp file then eh, don't need to.
Except if you need to do forward declarations because function A calling function B is located above function B
There's also Screeps IIRC?
no need for putting it in th hpp then
Yep, it is screeps
https://screeps.com/
A strategy sandbox MMO game with a persistent open world where you play by writing JavaScripts to control your units. They live within the game and operate autonomously even while you are offline!
I wonder how Neuro would perform at such game
My hypothesis is badly
Think of it like this:
The hpp is something you give to any cpp file to know that the stuff defined in the hpp file exists 'somewhere'. Then there must be one cpp file that actually implements what's defined.
If something is defined only in the cpp file then other cpp files have no way of knowing that.
i kinda have just been putting functions in hpp...
As in...the entire function?

If you include that header in multiple cpp's you have two functions with the same name and will get problems.
btw, does this go in .h or .c?
#ifndef TARGET_PLATFORM
#ifdef _WIN32
#define TARGET_PLATFORM_WIN32
#elif defined(__EMSCRIPTEN__)
#define TARGET_PLATFORM_WEB
#else
#define TARGET_PLATFORM_FALLBACK
#endif
#endif
cuz its just compiler args
Only if he use multiple .c/.cpp files
Header

I'd assume there's an #ifndef _BLABLA.H at the top of the header, so that prevents the double defines?
You have unlocked new role
#pragma once
Tomato tomahto
Doesn't help when you have multiple compilation unit and its time to link it IIRC
Shouldn't the function only get compiled into whichever object file happens to catch the header first?
compilation units are, as the name implies, compiled completely independently from each other
all headers are included in all of them
(which could still result in amusing bugs)
No, the header guard doesn't protect from different compilation units including the same header, they have to.
Ah right
the include guard only exists to make sure that a single header isn't included multiple times for one compilation unit
So yeah, linker is gonna throw a fit
Say the header get used by 2 separate compilation unit. Now when its time to link it you have 2 of the same function
@olive sable I mildly forgot today is the weekend, did you want to try and do group tetrio
(note I am quite tired so will play like ass)
im down
Thinking about it of course that's how it has to be, or function signature declarations in headers wouldn't work
Has there ever been like. a Neurosama game jam?
same lmao. i have exams
Unless the function is in anonymous namespace / has static keyword then it should be TU local and not an issue iirc
Lets not go there yet lol
Welcome to the C++ ecosystem KEKW
Wait, that's .cpp file in the include?
ye
I believe they are all in the top-level/anonymous namespace
also having multiple instances of static variables in a single executable is a can of worms of it's own
Extremely scuffed way to swap out functions depending on the platform?
originally c but it wouldnt work so ive been testing some shit
we can play tomorrow if you prefer
So its finally happened huh, including .cpp file 
arguably even one is bad but externs work well enough
probably better honestly
python might be slow, but at least the ecosystem isnt this ass
Yep, welcome to language without a package manager
😭
the Python ecosystem is also kinda ass, but the C++ ecosystem is possibly the most ass ecosystem in existence
This is why C and C++ gives you more freedom. Everyone is doing their own thing so its free for all
python has pip, which is something.
you dont need to fiddle with moving files from your download to a folder with dll's and shit
yes, they're annual (attached to neuro bdays/subathons) around christmas
at least there's a lot of libraries and you don't really need FFI
top-level is not the same as anonymous namespace (or i guess the official name in unnamed namespace) and static keyword has a different meaning for functions than for variables.
this is where it shows that I do not actually ever write C++
but I'm pretty sure symbol names would clash regardless unless they're randomized somehow
tbf the names and reuse of keywords for entirely different things is just ass to learn or discuss c++ without being extermely pedantic.
im beginning to think that the c++ syntax is flawed, even if it has nice brackets
He is learning guys
the brackets SCHIZO
He is starting to believe

M'fker thats not a tree, that's a road
that's not even all of it
it keeps going
2 more entries till it gets to the apply function it was heading for
it pretty much picks a random name per translation unit, but allows references inside it
fancy, but also horrible, why must this exist
mhm the constructor of a prototype of a constructor is the same as that constructor
else if.

wsl's mnt is too powerful
Everytime I see heterochromia, this is what I remember
https://x.com/lovesickdoe/status/1797941028328186215
She was so afraid of two things being the same she got herself differently colored eyes
advanced
its not that bad
i think i figured stuff out?
it opens as gl 4.6 and my shaders are 3.0es
thats why it wont render
:0 tysm!
hey chat, i said this in gen but ima say it here, I made this Twitch user lookup thing, it’s basically like a profile viewer with stats and clips. I got bored and had nothing better to do lol, it doesnt have a domain yet but hopefully i can do that in 3 days, i noticed there werent many things like it so, i made something like it lol, i also just now made it into a discord bot
no
My favorite int indeed
it might have some potential
mhm
What kind of stats are we talkin here?
might expand it, dunno yet
think about it tbh
it looks like a good feature
i wonder if twitch username ids can be reverted back to their usernames
it looks really a good profile inspection stats
showing his stats
and etc
but u would need some real database
and well some back end
it has one
dunno how much ill keep but least ik i can do it
What was the website where you could check if an IP had a public accessable port/feature?
We are receiving a large DDOS from the same ASN
I think its literally a fleet of smart cars
The ASN belong to Mercedes 
are you talking about shodan...?
in realtime or just a past scan?
if past scan is fine then you could put the IP range into Shodan
That's not the weirdest thing I've ever heard, but it's certainly up there lol
time to read a large message to the mercedes abuse 
I don't know if its 'bad' to question this, but what is the Neuro-sama AI ? Is it using GPT or a different type of bot? Curious, as I'd love to mess around with a bot like that just to see what the limitations are. - If we're not meant to ask just let me know please and thanks.
its a heavily finetuned model from god knows where
ah gotcha, not public info then I take it?
okay, thanks 🙂
goodluck
ye,
hasn't really revealed anything about
s model, training data or other aspects like that. pretty much 100% certain that it's not public api model though
I stumbled across this AI on youtube, I dont even watch these types of streams, just thought the core AI was interesting. not looking to copy the formula, steam type, or anything like it for clarity outside of personal use for a day or so.
also
had a stream during a day when chatGPT servers were down so at least it's not that
oh that is interesting, now I really am curious, is this the brain child of Vedal? haha..... god if he wrote this himself I'll sub just for his efforts honestly.
Yes. Neuro originally started out as a bot that plays Osu.
And some years later here we are
I am unsure what Osu is..
A music game that is way too popular for what it is
ah gotcha, okay thanks.
it's basically a game about tracing a cursor and clicking to a beat
ah I see, thanks I was about to look it up.
Check out Neuro-sama on:
Twitch: https://www.twitch.tv/vedal987
Twitter: https://twitter.com/NeurosamaAI
YouTube: https://www.youtube.com/@Neurosama
Stream information:
Stream Title: Neuro-sama osu! stream
Streamed: 28/03/2023
Downloaded: 29/03/2023
Please read the channel description.
here is example of early
osu streams
thats insane, do we know if Neuro still has that capability?
I mean the osu bot was a separate bot from
so, she didnt actually control the cursor, just talked over it
ahh I see. okay. I didnt know if it was just one API that ran both
though nowadays,
has the ability to make decisions with her LLM, so when she plays games, she does actually do that with her model
but it's pretty limited
I watched the Stanly parable video, but quickly saw that was Vedal controlling while Neuro spoke over it.
I guess that her minecraft bot is a separate model though and she communicates back and forth with it.
Because tacking that on to an LLM does not really work
ye, with stanley parable,
was supposed to make the decisions with
actually plaing the game
Latest evil stream indeed confirmed that
but for example Slay the spire, Minecraft, buckshot roulette and such are played by
s LLM
huh interesting.. more research is needed then.
You can see the API for yourself if you want
strange, interesting strange. but yeah... wait the API is public?

but even with minecraft,
is controlling an action engine, where
gives general overall commands to the minecraft engine, and the engine will execute them.
isnt controlling the cursor in minecraft or such fine movements
they made it possible for people to integrate the
api into games
ye, it's the
SDK
thats amazing okay, thank you.

mods, swap the count of protons and electrons their body
isnt the amount of each about the same?
I think due to ions needed for certain biological process that's not quite true
ye, but we should have both positive and negative ions
otherwise there would be no voltage so no current
But by definition, an ion has a different amount of electrons other that what they need to neutrality.
yes, but its just the count we're inverting no?
actually, I think MC atleast is handled by a separate AI system
If it's the count in the ion state, that would be rather catastrophic
neuro and evil just have the ability to 'prompt' or control it in some way
i was just thinking the count as in the amount
ye, i clarified in a later comment
anyways, i figured out that on local the shaders wont for some reason render but i can change the background colour. so here's that i guess
oh fuck
AAAH SPEEDLINES
you have no idea how much i hate speedlines
they are like lines but theres A LOT OF THEM ALL OVER THE PLACE AND THEY HAVE VARYING THICKNESS
absolute horror
Eurobeat intensifies
why do you hate them 
imagine someone giving you a picture with speedlines then erasing parts of them and telling you to fix it
now imagine them doing it a billion times
again and again
again and again
it would leave you scarred for life too
these lights are pretty
Ahh, yes, space heater masquerading as lamp
lmao
No, this is #programming, we never go off topic. Ever
correct channel 
this one should embed
so ye, shaders wont shader, bg will bg
does show the diff in speed nicely between browser and local
i wonder how much improvement you'd get from a handrolled wasm implementation
aka compiling to wasm manually and adding the glue yourself
probably not that much ig
probably a decent amount, but i cant write wasm so 
this is without compiler optimizations
i didn't mean writing wasm manually, moreso doing what emscripten does 
thje browser is apparently faster i i focus it
could be worth looking into once everything works already as an optimisation
so not a accurate comparisan
slapped an -O3 on there, not much faster but still noticable
I'd assume not much
a lot of the slowdown is probably from the FFI between JS and wasm, and that doesn't really change unless you just do the rendering in JS (or use fewer calls)
how much glue code do they even ship actually
about this much
hi since we last talk, the hblang runtime is now written in hblang and not nasm

essaying holy
oh
readability 100%
jesus
211K characters

the entire project is glue code to glue C to the browser 
if you just mean their JS-side API implementation, those seem to be here
https://github.com/emscripten-core/emscripten/tree/main/src/lib
Love the warning about tokenizing long lines in the middle of it all
yup
the wasm looks somewhat like this i guess
how do i make a photo of a lamp on topic for this channel 
uhh uhm
if you install the wasm binary toolkit there's wasm2wat for converting it to its textural representation if you're ever curious about that
electrical enfgineerign
wow light transfer simulations sure are getting advanced huh guys
smart home integration
google "wasm wat"
i dont have a smart home i have a dumb home
this building probably has three digits in its age
while you are at it also google "destroy all software wat"
thats normal here
Is it smart lamp?
insane render, what game engine is this? 
python 
Sam game engine
its custom
Unreal Engine 6
That takes me back
Perfect. Destroy it and make it techbro home
wat, unit of power
nice js 
push it 
yeah, they seem to run it through a preprocessor 
wasi 
also wtf js through a preprocessor
kinda lkike the c++ preproccessor i guess
oh uhh
soery playing lethal company

it is that lmao, btw the idea of preprocessing js isn't anything new everyone does that everyday, it's just not with... 
ah
TS is preprocessor
makes it easier to port the implementations over 1:1 i guess

well anyways, i need to figure out why my shaders wont render locally
im guessign shaders wont compile?
That's a nice floor for time-to-first-token, even when considering this is a 100% prefix cache hit. Prompts process at around 3k token/s, so there's a lot of leeway to stay under 400ms or so response time. I'm scared of the yet unknown TTS TTFT latency though...
I understand Vedal's struggle against latency so much more now...
That's a hard target to hit though
What about processing the prompt before the 200ms timeout?
Yeah, I was thinking about speculative early responses
So let the llm process what is available at that time
While the remaining is queued
You can't "add" data while the LLM is running. You have to restart the query.
I see
well it's more fun if it triggers as soon as the problematic tokens are generated
How about running the query in parallel? Would need ton of gpu memory tho
you technically can it's just gonna be slow to shuffle memory around
If the TTS has to take the sentence structure into account to give good speech inflection, you can't give it half sentences.
I'm rather sure that Neuro does TTS sentence-by-sentence due to latency reasons. But you run into the problem that inter-sentence inflections get lost. Her monotone voice masks that.
In parallel as in, the first 200ms the prompt is cut, then processed, and the next streaming prompt is queied, if the first one hasn't finished then run this in parallel
good Sunday yall 
Yes, that would be speculative execution and what I will eventually do. Basically repeatedly execute and cancel until you happen to hit the right time to respond.
I'm not ML expert so I don't know how feasible that is and how it would affect the output
Ahh I see
It makes you miss up to the last 200ms of a sentence though
See, speculative execution is not all vulnerability guys
It also makes you very sensitive to the voice activation detection parameters (what you use to checkif someone is speaking). Wouldn't want to interrupt someone just because they made a small pause.
Realistically speaking, LLM can infer enough information (probably)
Yeah of course. Most of the information has long gone by by that point.
well yes but that's not that big of a deal if the tts say has a lookahead window of 10 tokens (starts generating only while having 10 tokens of context), the llm is always going to be faster than speech and the tts is going to have enough context to do inflections
That assumes that you can stream in new text into the TTS as it comes in. Current (open-source) TTS technology doesn't support that.
i know it doesn't which is why i'm bringing this up
i don't see why this isn't possible
Actual real world development in #programming ? No way
I think most TTS systems are autoregressive so in principle it shouldn't be that hard.
Just plop a token buffer in front of it and delay execution until you have enough material to continue
though this approach is meh given audio output llms exist and are better at this
they have the llm context to guess the upcoming inflection
which is actually real-time
I was mulling about this and wondering how feasible it would be to train a small network as a heuristic to check if a sentence from a speaker is probably complete or not within the 200ms window
My approach will probably be to wait for the first complete sentence, run that through TTS, then wait for the rest of the text and put that into TTS at once. If the LLM generating the text and the TTS are fast enough it it should finish before the first sentence is done. Then stitch it together, even if if loses the context between the two outputs.
how did you render this so well?
this is the best render I can do
not the same lamp but best I could find
wow that hdri is so realistic
Alternatively use a fixed seed, generate the first sentence first and then everything including the first sentence again, then stitch those together. The overlapping part should be the same.
It's not feasible
Unless ur basically
Elevenlabs supports streaming in text, because of course it does :/
Using a audio generation llm
The expert has finally come
(I'm highly suspecting that Neuro voice V2 runs on Elevenlabs and Evil doesn't)
i thought neuro v2 voice IS evil's voice
11labs is not economical
oh right
After the quota
Well, Neuro's current voice
It becomes extremely expensive
neuro's current voice is microsoft azure tts "ashley" pitched up
not officialy confirmed i think, but very likely
what do you mean not officially confirmed 
do you really need confirmation? it's a public product you can go try it
actually a better image of there being a lamp inside the glass bulb instead of the bulb just glowing itself
I am still haunted by this image from the last stream. So all of you should suffer too
Azure TTS doesn't seem to return word timestamps.
def has render artifects, but what wbout the bg?
So the timed subtitles would be very hard to do
Anyways, goodnight all. Its morning here it means time to sleep
also help me push that image up by typing text, but dont spam

this is very important
cuz that image is very ugly
(which is a notable difference between Neuro and Evil. Neuro has perfectly timed subtitles, while Evil has the same length for each word)
Imma send it to you once everyday just to spite you
i will block you
and i will sue you
for traumatizing un underage child with unsolicitid pictures
cant spell lol
it's just a image that is stretched over the whole scene, if a ray misses all object it will calculate a position to hit in the outer sphere based on trajectory
Scrolls up
Nope
btw i would show you but i can't make an azure account due to my geographical circumstances if you know what i mean
Idk it doesn't sound that similar
Prolly has voice changer on top
Not just pitching
it's literally just pitched up
Elevenlabs also has voice cloning, so even if it originally was Azure he might have switched over.
it also is hella similar without pitching up
Elevenlabs also conveniently outputs timestamps for the spoken words which I haven't seen anywhere else. He could strap some custom text <-> audio alignment model into the pipeline, but that would increase latency by a lot and not be as stable as it has shown to be.
And there would be no reason for Evil to not also have perfectly timed subtitles.
ddg redirected me here when i used an empty bang
also the render artifacts go away with time, it basically starts out as semi random noise and keeps getting clearer as the frames accumulate on eachother
I can't seem to sleep boys. So I'm gonna make it y'all problem again
I just didnt want to wait that long
hm I pitched neuro down and it sounds a bit like "ashley"
I mean it still seems slightly different
it’s the pitch setting
ah that makes sense
cuz when I put it in audacity is sounds similar but not 100%
im assuming azure doesn't just do a simple speed up to increase pitch but rather a part of the neural network
like, the parameter you set when you make the request to generate audio
bwa bwa bwa bwa bwa

shad
Oh boy here we go again
I'm tired
Don't we all?
I should either implode or keep drawing
also that was a thing basically everywhere with tts for years and years, it’s just the modern solutions that don’t expose the parameter (i’m guessing due to the tts architectures not being designed with this in mind)
buhflipexplode
since tts was exclusively an accessibility thing until recently it makes sense for them to have that
no I am well aware. I've used these things before. I just find it interesting that vedal used this instead of something more complex
please dont implode
it was an experiment, a prototype that just happened to blow up, also if he used the free default hiyori model what makes you think he wouldn’t use an off the shelf tts solution
yeah ig lol
ohhhhhh
i get it
it needs to be 4 bytes long
local makes the floats 8 bytes long
wait, woudlnt that be a double then?
indeed
float vertices[9] =
{
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f
};
why are these doubles?????
it makes no sense
are they? what does sizeof(vertices) say
wut?
but that means im also passing a pointer to the gpu? cuz otherwise idd be getting dispaly
you're passing a pointer to the beginning of an array of floats
ye
but im passing this array to the gpu, where it should output a triangle unless its 64bit
and since im not getting display that means its 64 bit
no, you're getting a pointer because that's how the stupid C++ iterators work
that only matters in the for-loop
the OpenGL API also takes a pointer to the array but that's fine, that's just how C APIs work
floats aren't going to just magically turn into doubles
c++ might be fucked up but it's not that fucked up
there has to be a mistake in here somewhere
btw unrelated but instead of (void*)0 you can just use nullptr
should be equivalent
there's also NULL which is defined as exactly (void*)0 but i think you have to include it from a header in c++
either way
something is fishy
try checking all the return values from the opengl functions i guess
No, don't assume this. The inverse may be true (double can't be float)
okay but they're declared as floats and used as such here
Yeah, I see that too and I am scratching my head
ive decided instead of having multiple commands i can just pack it into one command, with the exception of the staff command
we figured out the 8 bytes at least, he's printing pointers
now the question is why does it not work 
they don't have return values 
instead OpenGL keeps a queue of error codes that you have to fetch
apparently you can do this though
https://www.khronos.org/opengl/wiki/OpenGL_Error#Catching_errors_(the_easy_way)
even better
If I am Sam, I will scream so loud lol
i hate that embeds have a character limit, and i cant be fucked to trim them
inb4 it's going to be some stupid stack overflow shenanigans
why?
I would also scream if I had to use C++
The error handling is fucked
Just don't error they said
Will attaching a debugger help??
oh well, it can stay as a single command
no, it just goes "oopsie it fucked up"
no real errors
click on the link above
as fdar as ive tried at least
ye i did, im trying to add it
Surely vulkan has a better method of dealing with errors 
vulkan is supported by DSL
simply don't have errors 
im just not sane enough to try vulkan rn
i will have another crash out
and it wont be about brackets this time
Sane enough for C++ but not vulkan, noted
im losing sanity quickly tho
they do
the functions have actual return values
also there's validation layers which make sure you're using the API correctly
Is there java compatibility with Vulkan?
i'm sure there are a gazillion wrappers
Wouldn’t surprise me
Uhhh, what is sizeof(vertices)?
its 9
I tried to read the docs
cuz there are 3 vertices, with 3 flaots each
size
Specifies the size in bytes of the buffer object's new data store.
So...
It should not be 9
thats 4 * 3 * 3 because sizeof(float) = 4
is sizeof(vertices) actually 9
because I think it should be 8 (or 4)
that's what I'm thinking
lemme retry
vertices are ptr. Sizeof will return the sizeof ptr
unles its a local array
I see
4*9 is 36 tho so it should be good?
Yep
Does it needs the & operator before being passed to function that receive *?
I mean the *
It shouldn't right?
it's not, it's an array
no that'd be passing a float**
why must C be like this
float vertices[9] =
{
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f
};
glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
Yeah, I'm just questioning my sanity here
the code you sent is correct
9* sizeof(float)
wdym force the size, it's correct already 
i meant of the array when passing it
What is the GL version again? 3.0es?
There is the countof iirc that will tell you the size of the array, multiply this with sizeof to get the size in bytes
3.0es ye
turns out that sizeof already does that
edit smh
anyway sizeof works properly for this and gives the expected result
or well, its supposed to be but im getting back GL_VERSION: OpenGL ES 3.2 NVIDIA 572.83
the shaders should still be compatibl tho
lemme try something
Opengl Es?
Oops forgot to stop replying
Oh also don't forget that offsetof exists, it's really useful for Vertex layouts Vertex attributes
at thsi point im thinking it might just be a version problem
You said that sizeof vertices was returning 4, correct?
now its 36
Or 8 on desktop and 4 on the browser
that was cuz of the pointer
he was being silly and printed the size of pointers to the individual elements inside the array
its stupid that pointers arent the same siz eas the object
it should just return the same value
that would completely invalidate their reason for existence
i guess ye
Well, if you had an object that was 100mb in size, you wouldn't want the pointer to also be that size
im just annoyed at this
A genuine hint to get you slightly more accustomed to pointers, is to use Hungarian notation, just until you get the hang of them
Oh god no
Not the hungarian notation
Aka, don't call your variable "vertices" cause arrays don't exist in c++ in the way that they do in python, call it "pVertices" instead, so that you can recognise that you are passing in a pointer
I know it's horrible, but you can't deny that it helps you learn at the start
Damn lpcwstr or whatever it's called is the bain of my existence
or just use std::array
Can't pass that to the gl now can we?
....can we?
you can get a pointer to the underlying data
Ah yes templating, let's stack another layer of confusion on top for the beginner
Oh, nice. Didn't know that. I'm used to vector
Vector has the .data function as well
Is it guaranteed to be contiguous on assignment?
Yes
Vectors are always contiguous, as they reallocate and move/copy the whole array when they run out of space
I see. Man, I need to refresh my C/C++ now
Uhh, I mean in memory. Because if we need the pointer, we usually need the data to be contiguous in memory no?
Great
You may be thinking of a deque
Which has a linked list of arrays
And is therefor not contiguous
apparently yes, as long as you also link to libGLES and not libGL (or whatever the Windows equivalents of those are)
Your using glad right? Did you select gles on the configuration site?
fuck it, if statement go brrr
im using gles
I mean as your loader
?
Also you cannot request specific open gl versions
You can only request minimum versions. The loader will give you the most recent version you have, and will error if that is less than what you asked for
no im pretty sure i can
The program/code you use to enable opengl, as windows does not have this by default
SDL and glew
I see, give me one sec to check some docs
setting the version to 3.3 core works, but it doesnt help with makign it render
./main
Init OpenGL
GLEW initialised
OpenGL initialized
GL_VERSION: 3.3.0 NVIDIA 572.83
just remembered my C++ war crimes (using #pragma comment(lib, ...) instead of editing msvs project settings because i hated and still hate visual studio)
based
Oh lmao, yep I did that for a while with d3d12.lib and dxgi.lib
Hot take: This is most usages of float outside of graphics and color management.
I think I learned to do it from a youtuber called chillitomatonoodle and his hw3d series
See sucker pinch for other usage of floating point
But the usage is ill advised
(AI is not real)
Yup, I was mistaking opengl with how directx works. In direct x you give the device the version you require to function, but it will give you the maximum supported feature level
what did she mean by this
i wonder
my notes are peak
10 pages of unfiltered thoughts that i dont even have to read because they are outdated by the time i finish writing it
i wonder therefore i however
so it used to wrk on browser and not on local
i have fixed hat
now it works on neither

thats why frequent commits are good
did you really fix it then 
you will at least know what you changed
i decided to try renderdoc
looks liek the vertices are getting passed, jsut not rendered?
depth test failed???????
brother its the only thing being rendered on screen
But it is at z=1
managed to get hblang hello world down to 1872 bytes
wait no
the beauty of opengl
z=1 works in browser
i have disabled depth testing 
im sure this wont cause any issues whatsoever
nvm 1000 bytes
under a kibibyte
im built different
doesnt change much about the asm still being inefficient
maybe soon
i lost faith in compilers after looking at C disassembly 
look at this disassembly

you mean size inefficient?
i.e. keeping inlined symbols in there?
because the code itself isnt 100% optimal but its pretty alright since each syscall does have to be set up separately
though obviously theres a lot of missed opportunity for using constants instead of registers
this is the main one
if stuff could be stored in read only data instead it would be better
night
dont forget to push
right
i think its possible to get this down to like 500 bytes in nasm though 
i got it down to 904 by altering the behaviour of print to just print directly
But isn't the z axis of the bottom left pointing down? is that supposed to be like that?
looks kinda off
(the z axis isnt coded so its using random pixel data, i dont care about it because when I use it, itll be on flat area so the z axis would be constant later
so yes the z axis data is wonky lol
whoops
apparently the device is trying to use gpu but I want it to use cpu so uhh time to force it

Are you using the cross product to get the z axis?
(im not using it at all lol, these codes are just meant to be on a flat area so I can convert x,y pixels to mm, but the z axis its just using the pixel count for another value instead of the actual number because I dont need z axis, i just put it there because xyz looks nicer than just x,y lol
so ignore the z lol

this should fix it hopefully
is that with the cpu only version of pytorch?
or are you trying to use the gpu for parts of it
https://download.pytorch.org/whl/cpu should be the index url


time to conditionally define an extra coefficient to use everywhere or sth 
i cant figure out why itrs doing this, ill figure it out later
Desktop OpenGL (4.6) NDC depth range is [-1, 1].
OpenGL ES (3.0) and WebGL NDC depth range is [0, 1].
ah, i see
imma sleep
You might be able to use glClipSpace (or whatever its called) to make Desktop behave the same as ES 3.0 at least in depth range, not sure about z direction
Ill see how i can fux it
Wife material spotted


oh, it's meant to be 10³ but the formatting ate it
Man.. 2025 and still no AI ASMR besides that weird yeti shit.
You would think it would be everywhere by now, but no.
Good afternoon everyone
good morning
Morning
create pr
copilot says "code review uwu?"
ok fine
it suggests extracting some stylesheet transforms out of the main index of this webpage
ok fine sure yeah i mean i should just put it all in the css after all
ruins my life for the next hour because the transition is just broken
good evening
neuro sama
You don’t understand. Tbh I just listen to 10 hr industrial factory background noises, that helps me sleep. I’m not listening to meat-flappy flesh-slop from glorified salami-apes. 
How to make coding on mobile less painful
*more painful
HELLO CHAAAT
No matter how less painful waterboarding is, I don't intend to try it out either way
Good morning!
Morning stella
Hi osage :>
imagine llms learning on this 
Good night!
morbing
????? That's insane
Where does the keyboard go tho :(
Use external keebs
😭
Google Keyboard
NOOOOO
I love purchasing happy people
i think I'm going insane — time to code
proof that you are in fact insane
stupid ass ai award
AI ASMR is blowing up
︀︀
︀︀This account was started three days ago with just 11 videos…but has racked up 82k followers 👇


y is it good tho
Is it morning tho?
nowhere near morning for me
11, not 1, typo
same here, so I guess "morning" is winning right now
liar
nvm your right its 11 am

I mean, it's sunday so who cares about when you get up 
use nixos
was troubleshooting with that gemini fellow
i feel like the chances someone configured nixos for wsl are small but i havent looked
should've rewritten it in rust?
nvm instantly on googol
i use nixos on wsl
i use this one
glhf
im actually pissed because that arch install lasted like one(1) week
and i didnt even use it for days, boot it up, python is destroyed
?
some pacman -Syu failed or something maybe
the arch experience™️
yep that stuff never happens to us nixos users. INSTEAD we get 'Infinite recursion at undefined place'
have fun fixing that
welcome to *nix
pick yer poison
lol
im salty because i was all booted into remote with that ready to work
😡
dose anyone here know godot
i hear vaedle loves being asked about godot
like i do know how to use it but i cant figure out how to apply a trail effect for the player
i been progressing a lot check this out
the trail is silly and preatty bad but it passed the test for the code
lmao the max volume sound effects + ripped sanic sprite and circles for a trail

me in unity
i should try godot
i am makinga a 2d sonic physic game
its very easy
easier than unity? unity was real easy to get ahold of
Controller
for the sprites for sonic the community offers a loy of sprites if you want to make custom sonic fan games
I actually just use a bluetooth controller
Definitely simpler in its approach
damn
it uses python
oh well then i alreay know it
as scripting language and faster
no c# 
no c# simple faster python
hey this vedla987 guy should try godot
are you trying to not ping vedal huh
i just like mentioning him in case he backreads just so he can be more disappointed
anyways
i am rally trying to create a boost trail for sanic
but i cant figure out how to apply it
or eeven find a proper working one
i searched it and found line2d
yeah i did
but i want it to do the thing just like sonic do
but in godot its a bit tricky
to do
depending on the game he pretty much just had like a translucent blue cylinder shitting out of him
like in adventure 1
i feel like
yeah but there are fan games uses boost and some how made a 100% 2d boost mechanic
they used some custom fan game mod engine
its called sonic world engine smt?
or uhh rounder engine wait its for 3d
is that the one that christian whitehead made for ios or whatever
i think that was his name
what
have you tried GPUParticles2D
since the boost im assuming you mean something like this if not a line
yeah something like this
uuh wait no tho
Christian Whitehead, also known as The Taxman, is an Australian video game programmer and designer. He is most recognized for his work creating updated ports of early games in Sega's Sonic the Hedgehog series, as well as being a lead developer of an original game in the series, Sonic Mania. In late 2018, Whitehead co-founded indie development st...
im not crazy im just old
he made a sonic game in like 2007
fan game
and then sega forgor how to make sonic feel like sonic in 2d
and they ended up recruiting him and using the engine
and theyre still using that engine
w sega
unlike nitendo
retro engine is a cool thing to have happened

but its old
and not really the best but godot is more flexible
i dont think its public to use
Did retro engine get open sourced? I know there was a decomp/recomp of sonic mania which uses the retro engine...
still godot way flexible
i think its called sonic world? engine?
well if it's anything like what i posted there my extensive 2 seconds of googling that you surely havent already done have resulted in the conclusion that you should use GPUParticles2D as a child node to the player and then fuck around with the gravity and stuff so it doesnt fall down and it'll pretty much trail behind him
i know it cuz it made some sonic exe fan games smt
oooooooh ok
there is a "trail" toggle on those
then il have to change the node an refix the code to work with gpuparticals2d
oh wow
Intro: Particle systems are used to simulate complex physical effects, such as sparks, fire, magic particles, smoke, mist, etc. The idea is that a "particle" is emitted at a fixed interval and with...
REALLY THANKS
you helped me a lot
Extracted from 6.001 10B - https://youtu.be/2s2_FAf-yQs
templeos coding music
"we still talk about you"
func hide_boost_bar():
if boost_bar:
boost_bar.visible = false
func start_boost_trail():
if boost_trail:
boost_trail.emitting = true
# Access the process material (ParticleProcessMaterial)
var material = boost_trail.process_material as ParticleProcessMaterial
if material:
# Set direction based on Sonic's facing direction
var trail_direction = 180.0 if not sprite.flip_h else 0.0 # 180° = left, 0° = right
material.direction = Vector3(cos(deg_to_rad(trail_direction)), sin(deg_to_rad(trail_direction)), 0)
# Set initial velocity
material.initial_velocity_min = 150.0
material.initial_velocity_max = 250.0
material.angular_velocity_min = -45.0
material.angular_velocity_max = 45.0
# Make particles fade out over time
material.scale_min = 0.5
material.scale_max = 1.0
print("Boost trail started")
i mean it did work out but uhh idk about the texture
like if it doesn't work out it might look sluggish
tbh to be honset this is not my code
both native and web work now 
i have no clue why native was being so ass but atleast no more problems
seems to be linked to vsync
now comes the fun part.... had do you do matrices in opengl?
i just found that the deleted JetBrains python ide creating a virus in my pc
like while i was deleting jetvrains it somehow created a virus on my pc
and i had no idea
fuck jetbrains
while i was deleting jet brains ide
official one i long ago i got a fatal error
And what's the virus you claim to have
yeah
when i was deleting the jet brains ide windows couldn't find it
And you think that means that it's a virus?
must be the cia
it is
That's not how malware works m8
i scanned the device and the lost data folder of the ide is the hidden virus not sure
or maybe memory corruption
Or you just uninstalled the ide
I used to believe inserting a dirty cd or USB drive without blowing on it is how viruses are made
well look
But it's not a virus just because windows is being stupid again
its just the messy windows application/program management
if you installed something and then remove its files without uninstaller
obviously it's still going to be in the appwiz.cpl / whatever
and trying to uninstall it from there will fail

idk why I say windows
Windows apps were a mistake
all desktop systems except mobile apps where it's locked down tight suffers this issue to some extent
trve
especially hurts when you want to uninstall something but it just errors out and leaves no option but to delete the folder
Inb4 he finds out that steam isn't on the ms store
Tbf a lot of older tools have the shittiest download pages of all time




