HN user

CerryuDu

76 karma
Posts0
Comments34
View on HN
No posts found.

The objections to non-profits, OSFs, education, healthcare, and small companies all boil down to: they don't pay enough or they're inconvenient. Those are valid personal reasons, but not moral justifications. You decided you wanted the money big tech delivers and are willing to exchange ethics for that. That's fine, but own it.

I don't perceive it that way. In other words, I don't think I've had a choice there. Once you consider other folks that you are responsible for, and once you consider your own mental health / will to live, because those very much play into your availability to others (and because those other possible workplaces do impact mental health! I've tried some of them!), then "free choice of employer" inevitably emerges as illusory. It's way beyond mere "inconvenience". It absolutely ties into morals, and meaning of one's life.

The universe is not responsible for providing me with employment that ensures all of: (a) financial safety/stability, (b) self-realization, (c) ethics. I'm responsible for searching the market for acceptable options, and shockingly, none seem to satisfy all three anymore. It might surprise you, but the trend for me has been easing up on both (a) and (c) (no mistake there), in order to gain territory on (b). It turns out that my mental health, my motivation to live and work are the most important resources for myself and for those around me. The fact has been a hard lesson that I've needed to trade not only money, but also a pinch of ethics, in order to find my place again. This is what I mean by "inevitable prostitution to an extent". It means you give up something unquestionably important for something even more important. And you're never unaware of it, you can't really find peace with it, but you've tried the opposite tradeoffs, and they are much worse.

For example, if I tried to do something about healthcare or education in my country, that might easily max out the (b) and (c) dimensions simultaneously, but it would destroy my ability to sustain my family. (It's not about "big tech money" vs. "honest pay", but "middle-class income" vs. poverty.) And that question entirely falls into "morality": it's responsibility for others.

Anthropic and OpenAI also created products with clear utility.

Extremely constrained utility. (I realize many people find their stuff useful. To me, they "improve" upon the wrong things, and worsen the actual bottlenecks.)

You're claiming Google's useful products excuse their harms,

(mitigate, not excuse)

but AI companies' useful products don't. That's not a principled line, it's just where you've personally decided to draw it.

First, it's obviously a value judgment! We're not talking theoretical principles here. It's the direct, rubber-meets-the-road impact I'm interested in.

Second, Google is multi-dimensional. Some of their activity is inexcusably bad. Some of it is excusable, even "neat". I hate most of their stuff, but I can't deny that people I care about have benefited from some of their products. So, all Google does cannot be distilled into a single scalar.

At the same time, pure AI companies are one-dimensional, and I assign them a pretty large magnitude negative value.

you need some insane mental gymnastics

Perhaps. I dislike google (have disliked it for many years with varying intensity), but they have done stuff where I've been compelled to say "neat". Hence "mixed bag".

This "new breed of purely AI companies" -- if this term is acceptable -- has only ever elicited burning hatred from me. They easily surpass the "usual evils" of surveillance capitalism etc. They deceive humanity at a much deeper level.

I don't necessarily blame LLMs as a technology. But how they are trained and made available is not only irresponsible -- it's the pinnacle of calculated evil. I do think their evil exceeds the traditional evils of Google, Facebook, etc.

didn't spare a thought for Google's other (in their opinion, bigger) misgivings, for well over a decade

That's the main disagreement, I believe. I'm definitely not an indiscriminate fan of Google. I think Google has done some good, too, and the net output is "mostly bad, but with mitigating factors". I can't say the same about purely AI companies.

non-profits

I think those are pretty problematic. They can't pay well (no profits...), and/or they may be politically motivated such that working for them would mean a worse compromise.

open source foundations

Those dreams end. (Speaking from experience.)

education, healthcare tech

Not self-sustaining. These sectors are not self-sustaining anywhere, and therefore are highly tied to politics.

small companies solving real problems

I've tried small companies. Not for me. In my experience, they lack internal cohesion and resources for one associate to effectively support another.

The "we all have to" framing is a convenient way to avoid examining your own choices.

This is a great point to make in general (I take it very seriously), but it does not apply to me specifically. I've examined all the way to Mars and back.

And it's telling that this framing always seems to appear when someone is defending their own employer.

(I may be misunderstanding you, but in any case: I've never worked for Google, and I don't have great feelings for them.)

You've drawn a clear moral line between Google ("mixed bag") and AI companies ("unquestionably cancer")

I did!

so you clearly believe these distinctions matter even though Google itself is an AI company

Yes, I do believe that.

Google has created Docs, Drive, Mail, Search, Maps, Project Zero. It's not all terribly bad from them, there is some "only moderately bad", and even morsels of "borderline good".

We all are slaves to capitalism

Yes, but informedly choosing your slavedriver still has merit.

Extrem fast and massive automatisation around the globe might be the only think pushing us close enough to the edge that we all accept capitalisms end.

This is an interesting thought!

For those of us who consider programming a way to self-realize, the potential vanishing of programming as a lucrative job definitely seems threatening. However, I don't think it could disappear entirely. Professions replaced by machinery, at a global scale, continue to thrive locally, at small scales; they can be profitable and fulfilling for the providers, and they are sought after by a small (niche?) target group.

In other words, I don't need programming to remain mainstream, for it to continue fulfilling me and sustaining me.

You either surf this wave or get drowned by it

I don't think so. Handcrafted everything and organic everything continue to exist; there is demand for them.

"Being relegated to a niche" is entirely possible, and that's fine with me.

I still glue everything else together myself.

This is the core difference. Just "gluing things together" satisfies you.

It's unacceptable to me.

You don't want to own your code at the level that I want to own mine at.

Criticizing anthropomorphic language is lazy, unconsidered, and juvenile.

To the contrary, it's one of the most important criticisms against AI (and its masters). The same criticism applies to a broader set of topics, too, of course; for example, evolution.

What you are missing is that the human experience is determined by meaning. Anthropomorphic language about, and by, AI, attacks the core belief that human language use is attached to meaning, one way or another.

Everybody knows LLMs are not alive and don't think, feel, want.

What you are missing is that this stuff works way more deeply than "knowing". Have you heard of body language, meta-language? When you open ChatGPT, the fine print at the bottom says, "AI chatbot", but the large print at the top says, "How can I help?", "Where should we begin?", "What’s on your mind today?"

Can't you see what a fucking LIE this is?

We use this kind of language as a shorthand because talking about inherent motivations and activation parameters is incredibly clunky

Not at all. What you call "clunky" in fact exposes crucially important details; details that make the whole difference between a human, and a machine that talks like a human.

People who use that kind of language are either sloppy, or genuinely dishonest, or underestimate the intellect of their audience.

The question isn't why people think software has agency (they don't) but why you think everyone else is so much dumber than you that they believe software is actually alive.

Because people have committed suicide due to being enabled and encouraged by software talking like a sympathetic human?

Because people in our direct circles show unmistakeable signs that they believe -- don't "think", but believe -- that AI is alive? "I've asked ChatGPT recently what the meaning of marriage is." Actual sentence I've heard.

Because the motherfuckers behind public AI interfaces fine-tune them to be as human-like, as rewarding, as dopamine-inducing, as addictive, as possible?

AI makes people feel icky

Yes!

it’s important for us to understand why we actually like or dislike something

Yes!

The primary reason we hate AI with a passion is that the companies behind it intentionally keep blurring the (now) super-sharp boundary between language use and thinking (and feeling). They actively exploit the -- natural, evolved -- inability of most people on Earth to distinguish language use from thinking and feeling. For the first time in the history of the human race, "talks entirely like a human" does not mean at all that it's a human. And instead of disabusing users from this -- natural, evolved, understandable -- mistake, these fucking companies double down on the delusion -- because it's addictive for users, and profitable for the companies.

The reason people feel icky about AI is that it talks like a human, but it's not human. No more explanation or rationalization is needed.

so we can focus on any solutions

Sure; let's force all these companies by law to tune their models to sound distinctly non-human. Also enact strict laws that all AI-assisted output be conspicuously labeled as such. Do you think that will happen?

... not to mention that most of the time, what AI produces is unmitigated slop and factual mistakes, deliberately coated in dopamine-infusing brown-nosing. I refuse for my position, even profession, to be debased to AI slop reviewer.

I use AI sparingly, extremely distrustfully, and only as a (sometimes) more effective web search engine (it turns out that associating human-written documents with human-asked questions is an area where modeling human language well can make a difference).

(In no small part, Google has brought this tendency on themselves, by eviscerating Google Search.)

Don't be ridiculous. Google has been doing many things, some of those even nearly good. The super talented/prolific/capable have always gravitated to powerful maecenases. (This applies to Haydn and Händel, too.) If you uncompromisingly filter potential employers by "purely a blessing for society", you'll never find an employment that is both gainful and a match for your exceptional talents. Pike didn't make a deal with the devil any more than Leslie Lamport or Simon Peyton Jones did (each of whom had worked for 20+ years at Microsoft, and has advanced the field immensely).

As IT workers, we all have to prostitute ourselves to some extent. But there is a difference between Google, which is arguably a mixed bag, and the AI companies, which are unquestionably cancer.

I find the repeated "yolo" qualifications very tiresome, yawn-inducing.

At least in this article:

https://fil-c.org/runtime

the term "classic C" is still used.

I don't expect for a moment that Fil-C might supplant normal C under normal circumstances. Calling normal C "yolo-C" is dishearteningly pompous. Just because you've invented a C environment with a different tradeoff, people not interested in it are not automatically irresponsible (which is what you are suggesting with "yolo", of course).

Thanks for the answer.

I disagree because I've seen closures shine (in OCaml) and suck terribly (in C++). Same concept, extremely different programming experience and debuggability. Syntax matters, language psychology matters. Closures naturally and obviously suit programming languages that are genuinely functional, or at least manage memory transparently for you. C is neither, and so "alloca", "defer", the cleanup attribute, closures -- all stick out sorely. The whole selling point of C is explicitness. The tedium of C is the price we pay for the great control that C offers us with a relatively simple vocabulary. I couldn't be more content with that deal.

C++ is impossible for any single person to learn, there is so much insanely complicated implicit behavior in it. C can mostly be learned by a single (persistent) person, but it's been getting harder.

I don't want C to be fashionable, or attractive. I want it to remain minimal. If someone feels hamstrung by it, there are so many other languages to choose from. I simply want the particular tradeoff that C offers (or used to offer) to remain in existence. And that is what's been going away, with each issue of ISO C being the only official standard (obsoleting/superseding all earlier issues of the standard).

Why give people closures or "defer" or ... whatever ... when they can't even remember the concept of the usual arithmetic conversions? Which has been standard since C89? Have you met a "practitioner" (= any C programmer with no particular interest in the standard proper) that could explain the effective type rules? Why make it more complicated?

I apologize -- I guess this is just my semi-diplomatic way to say, "please, get off my lawn". (Not to you personally, of course!) I'm very sorry.

EDIT: for more of the same sentiment, see the reddit thread: https://old.reddit.com/r/programming/comments/1pk3whx/the_co...

    return in_reverse?
        (right > left) - (right < left)
      : (left > right) - (left < right);
I prefer (with "greater" being ±1, defaulting to +1):
    return left < right ? -greater :
           left > right ? greater :
           0;

From the introduction, your paper seems like a counterproposal: support closures, just not the way others propose. But the paper seems to accept that closures / nested functions, supported at the language level directly, are a "good thing" for C specifically. I disagree with that. When and how has it become the consensus?

I am salty, but not because I'm impacted by this. :)

The reason I'm salty is that most linux desktop envs are unusable in their own right. I very much feel the pain of being forced to use some centrally-dictated craptastic linux GUI. I've been on Linux for 2+ decades and I hate nearly all the desktop envs. I totally feel for those blokes whose Windows UI is now being ripped from their hands. Where they'll land doesn't only suck for them (having a Windows background), it might very well suck for anyone, even those with a long Linux background.

That's all there is to it. I don't understand the whole obsession with closures.

I've used lambdas extensively in modern C++. I hate them with a passion.

I've also used OCaml. An awesome language where this stuff is super natural and beautiful.

I don't understand why people want to shoehorn functional programming into C. C++ was terrible already, and is now worse for it.

we’re going to be focusing on and looking specifically at Closures in C and C++, since this is going to be about trying to work with and – eventually – standardize something for ISO C that works for everyone.

Sigh. My heart sinks.

I'm finding myself in a weird position now, because I disagree with a whole lot of things in the blog post (well, the parts I was willing to read anyways), but calling that variable static for the sake of persistence was correct.

The fact that you are questioning the use of the term shows that you are not familiar with the ISO C standard. What the author alludes to is static storage duration. And whether or not you use the "static" keyword in that declaration (also definition), the storage duration of the object remains "static". People mostly call those things "global variables", but the proper standardese is "static storage duration". In that sense, the author was right to use "static" for the lifetime of the object.

EDIT: if you drop "static" from that declaration, what changes is the linkage of the identifier (from internal to external).

Not to mention the potential signed integer overflow in (*right - *left) and (*left - *right), which is undefined behavior. And even if you rely on common two's complement wraparound, the result may be wrong; for example, (INT_MAX-(-1)) should mathematically yield a positive value, but the function will produce INT_MIN, which is negative.

And then we have this "modern" way of spelling pointers, "const int* right" (note the space). In C, declaration syntax mirrors use, so it should be "const int *right", because "*right" is a "const int".

I feel too old for this shit. :(