Hacker Newsnew | past | comments | ask | show | jobs | submit | Mikhail_Edoshin's commentslogin

To celebrate deaths this way is satanic.

There was a study which menus work better, on a screen edge or context menus that appear right under a mouse pointer. One might think that the second kind would win, because they are so close. No, the first kind was faster. Apparently the stability and the fixed location also play a role. People basically just use them almost without looking, while context menus always require a conscious choice.

And if the state is slow to overreact the puppeteers that stage the thing will make sure the overreaction happens on time: they will try to provoke backfire or they just plain kill some protesters themselves and make it look as if the state was involved.

And lies.

And truth.

> > And lies.

> And truth.

In short, propaganda.

Propaganda (noun): Propaganda is communication that is primarily used to influence or persuade an audience to further an agenda, which may not be objective and may be selectively presenting facts to encourage a particular synthesis or perception, or using loaded language to produce an emotional rather than a rational response to the information that is being presented. Propaganda can be found in a wide variety of different contexts.[0]

[0]: https://en.wikipedia.org/wiki/Propaganda


I tried accessing betfair site. It's not your ISP or govt blocks it but betfair themselves blocks traffic from countries they are not legally have business.

This definition is so broad it basically encompasses all communication.

I've got an Orwell book on my shelf whose title, at least, has the same thesis!

https://archive.org/details/AllArtIsPropagandaCriticalEssays...


All communication that is primarily used to influence or persuade an audience to further an agenda, yes.

There's also debate and ego-less teaching for the sake of truth-seeking.


Well, since nobody is ego-less, no truth is universally accepted, and debate is a means to pursue an agenda, what are we left with?

> and debate is a means to pursue an agenda

Scount mindset: the discovery of the truth to the best of our ability without fear or favour.

The metaphor is: A scout who tells the general his troops are strong when they are weak, that the enemy is weak when it is strong, is a bad scout.

The opposite is a soldier mindset: a soldier who fears to fight when ordered, no matter the strength of the enemy, isn't a good soldier.

You can call the search for truth an agenda in its own right if you wish, but it lacks the "primarily used to influence or persuade" aspect of propaganda.


>Scount mindset: the discovery of the truth to the best of our ability without fear or favour.

That's a mind-slave mindset. Why is the scout working for the general and not for himself?


Why do you see the negative in everything, even metaphors? There's no slavery here. There's not even "slavery" even in actual scouts working for actual generals.

And a general needs the same *mindset*, even if they must also engage in performative ho-rah-ing to the troops.

A general may need to order their troops to die for the greater good, they may need to lie to the troops to up morale, but if a general lets themselves believe they're strong when they're weak, they're bad at being generals. If they don't listen to their scouts, if they shoot the messenger, they're bad at being generals.


For the sake of truth seeking you will selectively teach information that your ego deems true.

Some are as you say.

My ego prefers to be the kind of person who ends up at truth over being one who has fooled themselves into thinking they have already found it, which makes changing my mind easier than others find it.

I am pleased to say, others have also remarked that I am closer to this ideal than others they know.


>My ego prefers to be the kind of person who ends up at truth over being one who has fooled themselves into thinking they have already found it, which makes changing my mind easier than others find it.

Yeah, that's what everyone says.


They really don't.

One of my childhood life-lessons, which took far too many examples to internalise, was all the people who are very happy to follow the crowd because it is the crowd.

In fact, what you're doing now suggests my approach is so alien to you that you yourself are right now not only not even telling yourself this but also labelling yourself as someone who does not say this.


How would you define it?

I mean, in a way, all communication is propaganda. Its one person or group trying to influence you with their information.

I don't think so. I strive to lay the facts out neutrally so people can decide what to do with that information, even if the outcome is not ideal for me.

Preventing non-ideal outcomes is not about lying, but not doing things you might regret in the future.

This is why I'm no politician, though.


And regular people talking their mind

You don't have to worry about projecting truth. The truth gets through. This is about projecting lies.

> The truth gets through.

It often doesn't at all, drowned amongst lies.

And sometimes it takes a lifetime or two.

It took Boris Yeltsin, who had just become the Supreme Soviet of the Soviet Union, actually visiting a random grocery store in Houston before he realised what the truth was:

https://en.wikipedia.org/wiki/1989_visit_by_Boris_Yeltsin_to...


most common people were aware of the cliff in economy between capitalist and communist states. Hence we had so many revolution and communism lost.

This was a communist apparatchik. Its like showing truth to MAGA people. Most wont accept it.


> Its like showing truth to MAGA people. Most wont accept it.

Could be. That was the other example I was considering using besides Yeltsin, but I figured it would immediately get met with "no u" responses from those who, as you say, won't accept it. That makes for boring conversations where I learn nothing.


see it this way. Yelzin's reaction was very surprising. You can see how other communist burocrats reacted to facts.

Even in democratic societies politicians don't change their beliefs so fast (maybe most human?). But luckily we can vote them out so this is not a big problem.


Somehow I feel "we can vote them out" is going to be thoroughly tested in the next US elections.

Good luck, Earthlings ...


I dont live in the US, next election I can vote them out

> You don't have to worry about projecting truth. The truth gets through. This is about projecting lies.

I wouldn't be so sure. Significant part of Russian population believes that they are purging Ukraine of evil nazis, for example. Or that WW2 started on 22 June 1941.


"The truth gets through."

Yeah I agree, we shouldn't be too concerned about Iran, Russia, or China, censoring the internet, the truth gets through.


No need to go so far.

"Global tariffs all over the spectrum help the US economy! Look at my Beautiful Big Chart !" ... yeah, right.


In other words, a free system is inevitably ruled by hypocrites, while in dictatorships they are rejected that opportunity. This is another variant of “in democracy, people cannot rule because they’re stupid.”

Statists, failing to admit their guilt, blame everyone but themselves.

And no, the truth does not get through, even after centuries.


What if the truth is that something is a lie?

Promoting truth and opposing lies are the same thing.


Truth does not get through.

Worse, half-truths and half-lies.

That's why diversity of sources is the only way to escape censorship: you get one half truth from one source, another half truth from another source, then two halves make whole truth.

That's also trivial to manipulate; control the narrative, and you control the Overton window. People picking the middle of two fake options are still under the influence of whoever chose those options — just ask any stage magician.

Narrative is controlled by censorship.

This was the old world. In our world narrative control is not by restrictions, but by abundance. Flood the zone writ large.

If you don't know other sources, they are of no help for you indeed, but censorship does worsen the situation.

And/or propaganda.

Everyone can feel censorship, everyone can learn what they're punished for saying.

Propaganda, though, that can feel like learning, like personal growth and development.

If censorship comes with a stick, propaganda is a carrot.

And today, we have as much of a problem with metaphorical obesity as with literal obesity.


Propaganda works when it's the only source of information. This situation is created by censorship, especially in internets, where you don't need to walk to open a distant site.

Propaganda *also* works when it's the main source of information. This can be done in many ways.

One way is simple repetition of the exact same thing: https://en.wikipedia.org/wiki/Illusory_truth_effect

Another is to have many different lies: https://en.wikipedia.org/wiki/Flood_the_zone and https://en.wikipedia.org/wiki/Firehose_of_falsehood

Taking a step back, there is another way for propaganda to function that doesn't even require being the main source, but simply to make the lie so huge that people can't process the idea someone would be *that* level of dishonest: https://en.wikipedia.org/wiki/Big_lie

Consider your own previous comment:

> you get one half truth from one source, another half truth from another source, then two halves make whole truth.

What happens when one source says that the Alpha Party* consists of child-eating devil-worshiping lizards from Alpha Ceti 5 who caused the 9/11 attacks to cover up how the mind-control chemtrail fluid they were making in the WTC burned hot enough to melt steel beams, and the other source says the Alpha Party is standing on a platform of reducing the tax burden on hard-working families?

The latter can be a half-truth, but you don't get even a little closer to a full truth by adding any part of the "other side".

* A made-up party, any similarities to actual persons is coincidence and all the usual disclaimer.


Your links give examples of campaigns that happened, but didn't quite work. You think the problem is their very happening? And the very fact that you know about child-eating devil-worshiping lizards from Alpha Ceti 5 shows that an opinion is available no matter what propaganda you use against it as long as it's not censored. You can suppress it only by censorship, not by propaganda. In any case using shitposting sites as a source of information is tricky, journalism isn't that bad yet.

> Your links give examples of campaigns that happened, but didn't quite work. You think the problem is their very happening?

They clearly did work, though.

Problem? No, the problem isn't their very happening, it's more that they are effective strategies. Some also used by advertising agencies.

> And the very fact that you know about child-eating devil-worshiping lizards from Alpha Ceti 5 shows that an opinion is available no matter what propaganda you use against it as long as it's not censored.

I don't know anything about child-eating devil-worshiping lizards from Alpha Ceti 5, that doesn't mean I can't talk about them. It's called "making stuff up".

Not sure where you're going with that sentence though. You do realise, I hope, that this was supposed to be a string of nonsense? That the point was that no matter which half you take from a string of nonsense, you can't combine it with a half-truth to get a full truth, you just get a half truth with a different false part.

Which in this example might be something like "the Alpha Party* caused the 9/11 attacks to cover up how the mind-control chemtrail fluid they were making in the WTC burned hot enough to melt steel beams, and wants to reduce the tax burden on families where the parents earn more than double the national average income between them".

The half-truth remains, at best, a half-truth. But that's the best case, and you only get that if you already knew what part was less than honest before you considered what to dismiss, at which point you didn't need anything from other statements in the first place.

> You can suppress it only by censorship, not by propaganda.

That's the point of disagreement: you, as a human, can only pay attention to so much. For example, if I buy all the ad space around you and fill it with only my own message, that is propaganda that denies the same space to anyone who wants to tell the truth.

> In any case using shitposting sites as a source of information is tricky, journalism isn't that bad yet.

https://www.pewresearch.org/short-reads/2025/09/25/1-in-5-am...

* A made-up party, any similarities to actual persons is coincidence and all the usual disclaimer etc etc.


This assumes you have the cognitive resources to do that. Most people just switch to someone they trust to avoid exactly this. Matter of fact, that was the major advantage of the net back in the day.

I think people have to deal with pluralism of opinions in everyday life too, since different people have different opinions. Aren't they socially maladapted if they can't do that?

But RT is banned in most of europe

> That's why diversity of sources is the only way to escape censorship:

No, it's a page out of the old fascist playbook where flooding the stage with propaganda generates enough confusion to help fascists further their hateful agenda.

https://en.wikipedia.org/wiki/Paradox_of_tolerance


I find it hilarious when people who are pro censorship bring up Karl Popper and the Paradox of Tolerance.

You can tell they've never read his work because his conclusion in the end is that you should tolerate intolerance up and until it promotes specific violence.

So total freedom of speech up and until it starts inciting violence. It's basically the same stance the US Constitution has.


Fascism means diversity of opinions, democracy means everyone is only allowed to have the opinions you want them to have?

Democracy is having the laws Americans approve of, because God wrote their Constitution.

Fascists in the original sense, Mussolini, didn't tolerate opposition.

I'm not sure about modern fascists, but US politics does look rather Kayfabe-y to me. Fake opposition, there for the purpose of being an opponent.

Of course then you get all the discourse about what even counts as fascism, and someone brings up that the origin of the word is the Roman "fasces" (bundle of sticks) and how that etymological root points to the concept of "strength through unity" which is also why the Lincoln memorial has Lincoln resting his hands on them[0] and why trade unions often use the "strength through unity" phrasing (and get annoyed/upset by the connection).

[0] https://en.wikipedia.org/wiki/File:Lincoln_Memorial_statue_a...


Ah, a new "WTF": Worse Than False!

> And truth.

The world is yet to find a single piece of truth coming out of the Trump administration. I mean, shall we discuss how Trump claims the Epstein files exonerate him when he is reported as directly, deeply, and personally involved in every single gruesome aspect of the criminal organization?


Russian are soldiers and the West are investors. (War investors in this case). From an investor standpoint a soldier is insane.

Why to call it a header? Could be just a source file. Including sources is uncommon, but why not? Solid "amalgamation" builds are a thing too.


In the early days of CUDA it was pretty common to just #include all your sources, since linking was such a nightmare.


Thanks, I've bookmarked an article recently that I thought was about that, but haven't read it yet. Your explanation lays a very good foundation to understand that technique.


Browsing is not search though. But I must say that modern browsing is not browsing either, it's search-centered. It would be great to be able to actually browse things like in a store or a library.


Here is a use case. I have a function that takes variable parameters, so there is no formal type control:

    int Foo(int a, ...);
But in fact the types are restricted depending on a call type, set by 'a'. So I could add a wrapper for a specific variant:

    static inline FooVar1(char b, long c)
    {
        return Foo(FOO_VAR_1, b, c);
    }
All the wrapper does is adds a bit of type control during compilation, otherwise it must be just a function call to 'Foo'. It is like a supermacro. It does make sense to put that into 'static inline' in a header.


Then what the FFI needs to target is `int Foo(int a, ...);`. FooVar1 is just a convenience method for the C language binding.


That is not an option - it may be layers on layers of them and force you to recreate half the library and force you to have to redo subsequent version updates in your code. Then a shim is the preferred solution. But anything that requires a C compiler for FFI is something that won't make anyone happy. Hence my claim that it really is something that needs fixing on the language or linker level.


But FooVar1 isn't part of the library, that's the point. Sure, the library developer could choose to make it a part, but he explicitly choose to not make it a part of the library. Hence, it is also nothing that needs fixing, because it is already possible to make the interface boundary somewhere else, people just choose to do it this way. As far as the language and the linker is concerned FooVar1 is part of your code, not part of the library.


If the language provides nice features to libraries for C language users by sabotaging the library for use outside the language, then this is absolutely a problem on the language side.


The library interface says to do X call `Foo(FOO_VAR_1, b, c)`. That is what you need to somehow call from another language using FFI. In addition it also has an example wrapper for convenience. You can choose to also include that example as part of your implementation in another language, but you don't need to. I fail to see how that is sabotaging.

It also does not have to do anything with the language, because it IS possible to have FooVar1 as part of the interface. The library developer just didn't want that, likely because they do not want tons of slightly different functions in the interface that they would need to maintain, when they already exposed that functionality.

EDIT:

Concerning your earlier complaint, that you would need to

> have to redo subsequent version updates in your code.

, such a change would be ABI-incompatible anyway and demand a change in the major version number of the library. Neither your FFI, nor any program even when written in C, is going to work anymore. The latter, would just randomly crash, not sure about the former.

Note, that you also see here, where the real interface is. A change to Foo itself, would break programs written in C as well as your FFI, while a change to FooVar1 wouldn't matter at all. Both C programs and your FFI will continue to run just fine without any changes.


> likely because they do not want tons of slightly different functions

No. They do it because it avoids the overhead of dynamic dispatch. Nothing else.

So when I've seen these in reality in real library interfaces they have not been 'example wrappers'. They are real intended usage of the API, and in some cases the lib authors recognize that it is a problem and even provide ways to build it without the issues - either by compile time flag or always outputting two variants of the .so. The former moves the question to the distro - should they provide the version optimized for C or the one optimized for other languages? In the case of the latter it obviously creates a situation where the vast majority of both .so-s are duplicated.

As an example of the compile flag, there is libpipewire. As an example of providing two versions of the .so, there is liburing.

So no, this is clearly something the language ecosystem lacks a good answer to. There is currently no way to make everyone happy.

> such a change would be ABI-incompatible anyway

True, but the C based ones can at least simply rebuild and the problem would go away.


Yes, you're right.


I dabbled into literate programming and wrote C basically in reStructuredText. Used '#line' to specify the correct file name and line number in my reStructuredText sources. Worked as advertised, no complaints.

In my case I had long-ish fragments, so I only put '#line' at the start of a fragment. The compiler counted subsequent lines itself.

It was a cross-platform project and worked equally well with GCC, Clang and MS Visual C++.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: