Are you serious.
There's also a BOOLEANS I saw getting #ifdef'd earlier, and an initBool() guarded behind an #ifdef BOOL that isn't defined anywhere in the project. And a nobool_question parameter in qcommands.c.
hello vonnie
ojovivo
noise dept.

Product Placement
RMH
cherry valley forever

if i look back, i am lost
Not today Justin
πͺΌ

titsay
wallacepolsom

he wasn't even looking at me and he found me

izzy's playlists!
$LAYYYTER
occasionally subtle

Origami Around

Kaledo Art
will byers stan first human second
Keni

seen from United States

seen from Argentina
seen from United States
seen from United States
seen from India
seen from Malaysia

seen from Malaysia

seen from United States

seen from TΓΌrkiye

seen from Malaysia
seen from Netherlands
seen from United States

seen from United States

seen from United States
seen from Philippines

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

seen from Australia
seen from United States
@piratesexmachine420
Are you serious.
There's also a BOOLEANS I saw getting #ifdef'd earlier, and an initBool() guarded behind an #ifdef BOOL that isn't defined anywhere in the project. And a nobool_question parameter in qcommands.c.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Are you serious.
Parmitano makes a lot of sense for Atermis III. I confess I'm not familiar with the rest of the crew, though.
We used to say things like "pwned" and "trolled" instead of "mogged" or "cortisol spiked".
T H U R S D A Y

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Another C fun fact: you can declare multiple typedef aliases for a given type by separating them with commas, e.g. typedef int my_int1, my_int2;
This behavior is a little odd, but it's a natural consequence of the fact that typedef is a storage class specifier. (That storage being "the symbol table", rather than "an allocated variable".) This is a regular declaration that follows regular declaration rules.
This is why you can also do things like typedef int my_int, *my_int_ptr; which I hate.
I'll go for chiitoi with four pairs in my hand. What are you gonna do about it. I'll fucking go for chiitoi with three pairs in my hand. Two pairs. No pairs. This shit is nothing to me man. I go for chiitoi in fourth place down 17000 points 5-shanten with four tiles left in the fucking wall. I'm crazy. You'll never stop me.
*downranks* how could this happen
I'll go for chiitoi with four pairs in my hand. What are you gonna do about it. I'll fucking go for chiitoi with three pairs in my hand. Two pairs. No pairs. This shit is nothing to me man. I go for chiitoi in fourth place down 17000 points 5-shanten with four tiles left in the fucking wall. I'm crazy. You'll never stop me.
Hi, my name is James Webbony Dark'ness Dementia Raven Space Telescope and I am a telescope in space (that's how I got my name) and I have a five-layer aluminum-coated Kapton sunshield protecting my instruments and gold-coated hexagonal primary mirror segments like limpid tears and a lot of people tell me I look like Lady Gaga (AN: if you don't know who she is, get the hell out of here!). I'm not related to the Hubble Space Telescope, but I wish I was because he's a major fucking hottie. I'm an infrared telescope but I am much larger than Spitzer. I have 18 primary mirror segments. I also study exoplanets, and I go to a telescope school in L2 where I'm in orbit (I was launched in 2021). I can see distant galaxies (in case you couldn't tell) and I wear mostly gold. I love space, and I take all my photos there. For example, today I was taking a photo of the Cartwheel Galaxy, which is about 500 million light years away. I was using my NIRcam, NIRspec, MIRI, and FGS-NIRISS. I was walking outside L2. It was around 1 million miles away from Earth and there was no sun, which I was very happy about. A lot of preps stared at me. I unfolded my primary mirrors at them.
This is a simplified view, but the truth is more nuanced.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
L + ratio + riichi + red 5 + pinfu
Already we've got a good representative example of why C is so frustrating. The first step in the freeWAIS build process is to compile the file "config.c", run "./config", and write the output to "config.h" -- analogous to Autoconf. In only 117 lines, it manages to run into the following UB/unportability/misc problems:
Fails to include stdlib despite referencing exit(), which creates an implicit definition of exit as "extern int exit()" that contradicts the actual prototype "extern void exit(int)".
Defines main with the signature "int main()". This is not one of the two allowed ways to define main, as it is not equivalent to int main(void), and empty-paren declarators are an obsolescent feature anyways. (This is correct in C23, however.)
Declares a bunch of unused variables. C89's "declarations up front" rule makes it difficult to tell which variables are actually used at a glance without asking the compiler. In this case, 7/14 are unused. (One of which is written to but never read from -- the others are completely unused).
Tests that sizeof(char) is equal to 1. It is guaranteed to be 1 by the standard. (Obviously at the time it mattered that you tried to cater to noncompliant compilers too, but this configure program isn't sophisticated enough to actually handle such a compiler.)
Calls printf() with a potentially-too-small %d conversion specifier for a size_t argument.
Calls exit(1) to mean a failure. C89 makes exit's behavior with any argument other than EXIT_SUCCESS, 0, or EXIT_FAILURE implementation-defined.
Forgets to call exit() in the case where they couldn't define four_byte, which will result in accessing an uninitialized variable on line 92.
Tests alignment for a few types by casting pointers to int and subtracting them. This is maybe defined, if your pointers can fit in an int. If they can't that's UB. If they can, the result is still entirely implementation-defined. Implementations are allowed to "stuff" extra information in the bottom of pointers with > 1 stride, for example. Raw pointer subtraction is also implementation-defined, and in this case subtracting two pointers that don't point to the same array object is undefined.
Tests endianness by casting a unsigned long to (essentially) a char array. char is not guaranteed to be 8-bit -- this endianness check fails to take advantage of our earlier work to get absolutely-sized types -- the values of these de-references are unspecified (or possibly UB? The C89 standard is fuzzy and doesn't make the explicit aliasing carve-out for char* that C99 does), and by failing to check the ordering of the middle bytes we potentially misunderstand the reality of our operating environment.
And that's not even mentioning the style issues!
What do we even do with this? Rewrite it? How? This program can't even be written in C89. There is no combination of operations with the necessary semantics. It's like trying to build a real perpetual motion machine by just obeying the laws of thermodynamics harder. How the fuck am I supposed to get struct member alignment without alignof or well-defined pointer comparison? You want me to use offsetof? Are you kidding me?
Is this really a "high-level assembler" if I cant do basic address calculations like alignof? I don't care if that makes my program unportable to some other systems which can't do address calculations, the point of my program is to do address calculations! I want that to be a compilation error!
But oh nooooooooooo, we can't fracture the ecosystem by adding standardized optional features. Don't you remember C99? Poor MSVC will feel so left out! The solution is to make everything useful a nonstandard optional feature. "You want to write software that isn't portable to the three worst Harvard architectures of 1954, but will run on everything else? Oh so you want to do something we didn't define? Oh so you HATE portability actually? Oh so you want to write low-level code? Oh so you're evil? Oh so you're actually a terrible person? Well then start passing everything behind tagged void pointers and get to memorizing the builtins of the top twenty most popular compilers, stupid!"
As of C23, we can write an equivalent program in about 37 lines; and it's entirely redundant because we're just defining macros that wrap new standard macros (or operators).
Which begs a lot of questions. Why were we writing C again? Oh right, to fix up a decaying C89 codebase. Is it really a good idea to do that by maintaining two different standards versions in the same source tree at the same time? They aren't compatible forwards or backwards, and we can't declare the language version within a file, either. And what happens when we need to write a program that C23 can't express? Use only compilers with up-to-date experimental C2y support? Weren't we trying to be more portable? What even is "portable"? Or an assembler? Or a Dennis Ritchie? Is this actually more of a "real programmer" language than just string templating yaml helm charts all day, if we have to inject all the real meaning into our program at configure-time? Does God really love us?
Prolly not.
As a counterpoint to my appreciation for libjpeg's use of Autotools, let me say that I'm very glad freeWAIS didn't use Autotools. freeWAIS-sf did, and poorly, and I could not get that shit to build for the life of me.
Not that this is building either. But at least I can debug it!
As a counterpoint to my appreciation for libjpeg's use of Autotools, let me say that I'm very glad freeWAIS didn't use Autotools. freeWAIS-sf did, and poorly, and I could not get that shit to build for the life of me.
AT LAST I HAVE CNIDR FREEWAIS-0.3 IN MY POSSESSION! It took so much goddamned fumbling around, but I eventually found this slightly-dodgy-looking Russian website:
And what do you fucking know, their indexes are incredible. Literally two seconds of searching and I've found that Debian's Finnish FTP mirror has an archive of ftp.sunet.se, which used to mirror CNIDR's old FTP prior to 2016, which included freeWAIS-0.3.tar.gz. (SCO has a copy too, but just 0.3. Comes with crusty binaries at least.)
Another two seconds in FileZilla and now I've got the source tarballs I've been wasting months looking for. Why is none of this indexed by any web search engines?????
If you're also interested, for whatever reason, the tarballs are here: https://ftp.fi.debian.org/mirror/archive/ftp.sunet.se/pub/doc/nir/z39.50/NIDR/software/freewais/

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch β’ No registration required β’ HD streaming
Back to working on Arena 0.96s. I fucking hate hand-written Makefiles from the 90s. Say what you want about Autotools, but of two dependencies included in the 0.96s source distribution, libjpeg still builds beautifully from source with a simple ./configure && make && make install.
Meanwhile, Arena wants me to just go "figure out" what all the preprocessor flags I need to set are, then write a Makefile.include all by my goddamned self; and libwww has the most deranged BUILD script I've ever seen (not even included in the source distribution, of course, so I have to go hunt that down from 3.0pre3). What is even the point of build-time configuration if you're just gonna hardcode 90% of your assumptions?! AAAAAAAAAAAAAAAAAAAA!
"fairly lean/clean C/xlib".
"-fwritable-strings recommended".
Come on.
No, wait, there's a typo I didn't notice. It's actually written "faily lean/clean C/xlib". Unintentionally apt.
Back to working on Arena 0.96s. I fucking hate hand-written Makefiles from the 90s. Say what you want about Autotools, but of two dependencies included in the 0.96s source distribution, libjpeg still builds beautifully from source with a simple ./configure && make && make install.
Meanwhile, Arena wants me to just go "figure out" what all the preprocessor flags I need to set are, then write a Makefile.include all by my goddamned self; and libwww has the most deranged BUILD script I've ever seen (not even included in the source distribution, of course, so I have to go hunt that down from 3.0pre3). What is even the point of build-time configuration if you're just gonna hardcode 90% of your assumptions?! AAAAAAAAAAAAAAAAAAAA!
"fairly lean/clean C/xlib".
"-fwritable-strings recommended".
Come on.