Show more

ok in your closet maybe, but not in generic code cmon, not in a libraryyyyy ToT

Show thread

like you think you are making a backup or something? who would do that? cmon...

in general would you make a copy and hold on to it unless you want to modify it? why?

Show thread

would you write this
auto x = *it;
// modify it
if(error)
*it = x;

instead of this?
auto x = *it;
// modify x
if(ok)
*it = x;

me: noooo you can't just ignore deleted copy constructooor
: copy elision go brrrrrrrr

one does not simply 

disqualify a library for misuse of mathematical terminology

Show thread

"Arbitrary in this case means that the ratio of input and output sample rates can be an irrational number."
- libsndfile.github.io/libsample

oh sweet summer child, I'm sure that's exactly what you cute little bunny of a library actually does

now javascript is a lot like c in many ways, but this kind of thing in particular is why you can find illegible low level hand optimized javascript that is almost identical to c. People would bit twiddle in javascript because browser API is utter trash.

Show thread

me: *jumps to all sorts of hoops to use browser built-in audio resampling to show respect*

browser built-in resampling: *cracks and pops*

me: *suspects everything else in the world out of continued respect for browser built-ins*

everything else in the world: *doesn't crack or pop*

me: *finally buckles under stress and hand rolls no effort linear resampling in freakin javascript*

hand rolled no effort linear resampling in freakin javascript: *sounds pristine*

I think I'm starting to slowly digest c++20 modules... it's basically pre-compiled headers done right + some language support for interface and implementation distinction.

pre c++20: logical component is a *header file* and bunch of *source files*.
post c++20: logical component is a *module interface file* and bunch of *module implementation files*.

pre: have to use an include guard to identify the *header files*, and name collisions cannot be diagnosed.
post: got a language level module name that compiler can diagnose, as there should be only one *module interface file*, identified by an export statement - two of those with the same name in a single translation unit is a conflict.

pre: no way to tell if a *header file* modification actually made a difference, changing a comment or white space can cause a massive recompilation chain reaction, as *header files* are just copied into the *source files*.
post: extra compilation step of *module interface file* allows the compiler to make a judgement about the nature of the modification, emitting a compiled interface file that other dependent modules use for compilation, instead of copying the text. This compiled interface does not change if you haven't actually meaningfully changed anything that is marked to be exported in the *module interface file*.

now what I don't get is what's going on with gcc's module mapper... why do you need an external server/file/program to map module names to files? Why don't just import the compiled interface file by name, and build up the dependency graph that way. My module files imports and depend on the compiled interface file of your module which depends on module interface file of your module... the module name to file name mapper seems like a whole lot of trouble for a minor convenience of having import and export declaration match exactly...

so what do you call a multidimensional iterator (multiple choice cause I got 2 slightly different implementations of the same thing)

the horror of software complexity 

Thousands of people come together to build a skyscraper. It turns out to be this preposterous abomination, that is not my castle, and I can not change it or reshape it in any way to become my castle. Daaamn, fuck civilization, let us all crawl back into caves, so that I can be a king and a god of my cave, since, if I'm not a king and a god for another second, I'm going to cry.

people expect a professional to build their homes, everything from plumbing, electrical wiring, air conditioning to home appliances and furniture are all installed and/or maintained by professionals, on a case by case basis. But when it comes to software you just gotta poke around in it like an ape and turn in on and off until it somehow works.

normal peaople at exams: oh i can't wait til I'm done with school, so i can never do this ever again

job interviewers at exams: oh i can't wait til i'm done with school, so i can do this to others

all them peddlers either disappear or block me... I'll never get at this rate...

error correcting coding style - naming and syntax rules to ensure that N typos can be detected and corrected mechanically

mysterious 40K bytecode blob >.>
github.com/OpenBW/openbw/blob/

some sort of a mix of animation data and unit behavior that depends on it, don't think the game would be playable without it... very binary, such disappoint -_-

so that I find it when I word search visible? hmmm...

Show thread
Show more
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.