some people seem to think that "make your code as short as possible" means literally removing every single space possible and using single-letter variable names. noobish behavior. sad!
take the whitney pill

Love Begins
Not today Justin

titsay

⁂

Kaledo Art
KIROKAZE
Game of Thrones Daily
d e v o n
RMH
No title available
Sweet Seals For You, Always
Misplaced Lens Cap

if i look back, i am lost

izzy's playlists!

ellievsbear
Mike Driver
wallacepolsom
No title available
DEAR READER
taylor price
seen from Germany
seen from Germany
seen from United States

seen from United States
seen from Malaysia
seen from United States
seen from United States

seen from Brazil
seen from United States
seen from North Macedonia
seen from T1

seen from United States

seen from Malaysia

seen from United States
seen from United States
seen from Netherlands
seen from Morocco

seen from United States

seen from Malaysia

seen from Germany
@piratesexmachine420
some people seem to think that "make your code as short as possible" means literally removing every single space possible and using single-letter variable names. noobish behavior. sad!
take the whitney pill
Parading his big stupid unmoving chrome body around like a sainted reliquary
Dont be very woried about me since i deserve all of this
I won't say there's nothing funny about these kinds of memes, but I dislike how they implicitly present a scenario where one and only one of our primary cast members was allowed to have real character development. You're telling me that Shinj went through an entire private arc all by himself to come out as bisexual, and Misato and Asuka just sat on their asses the entire goddamn time? They haven't had any thoughts to share until just now? I don't buy it.
C programming pop quiz
Given the following declaration and initialization:
auto x = 'a';
what is the type of x?
x is a char
x is a short
x is an int
x is a long
x is something else
this won't compile because auto isn't a C keyword
this won't compile for some other reason
(see results)
#'wtf?' is also a valid int literal
True! In the narrow sense that it has an implementation-defined (and thus unspecified) value, and isn't UB or a trap representation or whatever.
The actual meaning of such a constant is completely up to your compiler, of course, and IMO there isn't really an intuitive answer for what that value should even be. SDCC, for example, interprets this as equivalent to 'w'; and all the x64 compilers I tested (GCC, Clang, icx, tinycc, DMD, kefir, and slimcc) treat this as equivalent to ('w' << 24) + ('t' << 16) + ('f' << 8) + '?'. The latter behavior is probably "better", but it's also the opposite endianness as "wtf?" on LE systems, which is confusing.
Best not to rely on it. :P
C programming pop quiz
Given the following declaration and initialization:
auto x = 'a';
what is the type of x?
x is a char
x is a short
x is an int
x is a long
x is something else
this won't compile because auto isn't a C keyword
this won't compile for some other reason
(see results)
Here's another fun fact about static array parameters in C:
Given the definition of the parameters of main in (N3220) §5.1.2.3.2, namely that:
[main] shall be defined with a return type of int and with no parameters, or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared) or equivalent⁶⁾; or in some other implementation-defined manner. ⁶⁾ Thus, int can be replaced by a typedef name defined as int, or the type of argv can be written as char ** argv, or the return type may be specified by typeof(1), and so on. --- N3220 §5.1.2.3.2 ¶1
and
- The value of argc shall be nonnegative. - argv[argc] shall be a null pointer. - If the value of argc is greater than zero, the array members argv[0] through argv[argc-1] inclusive shall contain pointers to strings, which are given implementation-defined values by the host environment prior to program startup. [...] - If the value of argc is greater than zero, the string pointed to by argv[0] represents the program name; argv[0][0] shall be the null character if the program name is not available from the host environment. If the value of argc is greater than one, the strings pointed to by argv[1] through argv[argc-1] represent the program parameters. - The parameters argc and argv and the strings pointed to by the argv array shall be modifiable by the program, and retain their last-stored values between program startup and program termination. --- N3220 §5.1.2.3.2 ¶2
then assuming I've got the right interpretation of the phrase "equivalent type" (which C2y replaces with the better-defined "compatible type"), it follows that the following is (arguably, barring quibbles about formatting, and so long as one has VLA support) the most correct way to define main:
int main(int argc, char* argv[static argc + 1]) { /* ... */ }
This makes the two biggest contracts on the values of argc and argv obvious: argv is declared as an array of pointers with at least argc+1 elements, since argv[argc] must be valid and NULL; and the size expression argc + 1 must evaluate to a positive integer, since argc must be nonnegative.
This example of the unreachable() macro from the C23 standard (N3220 §7.21.1 ¶4) agrees:
#include <stddef.h> #include <stdio.h> int main (int argc, char* argv[static argc + 1]) { if (argc <= 2) unreachable(); else return printf("%s։ we see %s", argv[0], argv[1]); return puts("this should never be reached"); }
As does the document N3623 "Earthly Demon XV: Definition of Main", by Martin Uecker:
5.2.2.3.2 Program startup The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined is defined with a return type of int and with no parameters: int main(void) { /* … */ } or with two parameters (referred to here as argc and argv, though any names can be used, as they are local to the function in which they are declared): int main(int argc, char *argv[static argc + 1]) { /* … */ } or equivalent;6) or in some other implementation-defined manner. using another type that is compatible with one of these two function types, or using some other implementation-defined type.
(This wording change was accepted into C2y, starting from draft N3685, but with [static argc + 1] replaced with [], as it was before. The accompanying editor's report doesn't say why. I assume it was to avoid quibbles about VLAs.)
Entschuldige bitte, darf ich fragen, was du mit „berlog“ meinst? Ich genieße deine Beiträge sehr!
Apologies, I don't speak Deutsch, so I'm relying on Firefox's translation and my rough knowledge of West Germanic cognates to answer your ask.
"berolg" is just a meaningless anagram of "reblog". I tag all my reblogs of other people's posts "berolg", to distinguish them from when I reblog someone else's reblog of one of my posts (those are usually tagged "your thoughts"). I could have just used "reblog" as my reblog tag, but I wanted to be a little silly.
It's not a real word, so sometimes I typo "berolg" as "berlog" (or something like that) without noticing. Usually I try to edit those reblogs to fix them, but I miss some of them.
I'm glad you enjoy my posts. :)
I like to divide products into first generation products which are sold under the theory of getting your money by providing value, and newer second generation produces which are sold under the theory of getting your money by trapping you into some necessity or addiction cycle. I will say, I am always happy to replace a second generation product with a first generation product. Most recently, for me this means switching away from energy drinks to coffee.
OOF - Edward Ruscha, 1962 (reworked 1963)
Both Magic and the C standard have given me quite the antagonistic relationship with the letters "UB".
"We don't need any of this new technology, the best way for my kids to learn things in school is the exact same way I learned things in school when I was a kid" is a common belief held by parents who didn't learn anything in school
your pfp is really cool and awesome. that is all
Thank you! :)
06/01/2025
HOLY SHIT
IT'S REAL???
06/01/2026