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

That's basically compilers these days. It used to be that you could try and optimize your code, inline things here and there, but these days, you're not going to beat the compiler optimization.



I guess I should mention that https://blog.regehr.org/archives/1515 doesn't dispute that people can pretty much always beat the shit out of optimizing compilers; Regehr explicitly says, "of course there’s plenty of hot code that wants to be optimized by hand." Rather, where he disagrees is whether it's worthwhile to use optimizing compilers for other code.

Daniel Berlin's https://news.ycombinator.com/item?id=9397169 does kind of disagree, saying, "If GCC didn't beat an expert at optimizing interpreter loops, it was because they didn't file a bug and give us code to optimize," but his actual example is the CPython interpreter loop, which is light-years from the kind of hand-optimized assembly interpreter Mike Pall's post is talking about, and moreover it wasn't feeding an interpreter loop to GCC but rather replacing interpretation with run-time compilation. Mostly what he disagrees about is the same thing Regehr disagrees about: whether there's enough code in the category of "not worth hand-optimizing but still runs often enough to matter", not whether you can beat a compiler by hand-optimizing your code. On the contrary, he brings up whole categories of code where compilers can't hope to compete with hand-optimization, such as numerical algorithms where optimization requires sacrificing numerical stability. mpweiher's comment in response discusses other scenarios where compilers can't hope to compete, like systems-level optimization.

It's worth reading the comments by haberman and Mike Pall in the HN thread there where they correct Berlin about LuaJIT, and kjksf also points out a number of widely-used libraries that got 2–4× speedups over optimized C by hand-optimizing the assembly: libjpeg-turbo, Skia, and ffmpeg. It'd be interesting to see if the intervening 10 years have changed the situation, because GCC and LLVM have improved in that time, but I doubt they've improved by even 50%, much less 300%.


Meanwhile, GCC will happily implement bsearch() without cmov instructions and the result will be slower than a custom implementation on which it emits cmov instructions. I do not believe anyone has filed a bug report specifically about the inefficient bsearch(), but the bug report I filed a few years ago on inefficient code generation for binary search functions is still open, so I see no point in bothering:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110001

Binary searches on OpenZFS B-Tree nodes are faster in part because we did not wait for the compiler:

https://github.com/openzfs/zfs/commit/677c6f8457943fe5b56d7a...

Eliminating comparator function overhead via inlining is also a part of the improvement, which we would not have had because the OpenZFS code is not built with LTO, so even if the compiler fixes that bug, the patch will still have been useful.


Definitely not true.

You aren't going to beat the compiler if you have to consider a wide range of inputs and outputs but that isn't a typical setting and you can actually beat them. Even in general settings this can be true because it's still a really hard problem for the compiler to infer things you might know. That's why C++ has all those compiler hints and why people optimize with gcc flags other than -O.

It's often easy to beat Blas in matrix multiplication if you know some conditions on that matrix. Because Blas will check to find the best algo first but might not know (you could call directly of course and there you likely won't win, but you're competing against a person not the compiler).

Never over estimate the compiler. The work the PL people do is unquestionably useful but they'll also be the first to say you can beat it.

You should always do what Knuth suggested (the often misunderstood "premature optimization" quote) and get the profile.


I was disappointed with how bad avr-gcc was at optimizing code. Here's one of several examples I found. https://nerdralph.blogspot.com/2015/03/fastest-avr-software-...


These days optimizing compilers are your number one enemy.

They'll "optimize" your code by deleting it. They'll "prove" your null/overflow checks are useless and just delete them. Then they'll "prove" your entire function is useless or undefined and just "optimize" it to a no-op or something. Make enough things undefined and maybe they'll turn the main function into a no-op.

In languages like C, people are well advised to disable some problematic optimizations and explicitly force the compiler to assume some implementation details to make things sane.


If they prove a NULL check is always false, it means you have dead code.

For example:

  if (p == NULL) return;

  if (p == NULL) doSomething();
It is safe to delete the second one. Even if it is not deleted, it will never be executed.

What is problematic is when they remove something like memset() right before a free operation, when the memset() is needed to sanitize sensitive data like encryption keys. There are ways of forcing compilers to retain the memset(), such as using functions designed not to be optimized out, such as explicit_bzero(). You can see how we took care of this problem in OpenZFS here:

https://github.com/openzfs/zfs/pull/14544


They just think you have lots of dead code because of silly undefined behavior nonsense.

  char *allocate_a_string_please(int n)
  {
      if (n + 1 < n)
          return 0; // overflow

      return malloc(n + 1); // space for the NUL
  }
This code seems okay at first glance, it's a simple integer overflow check that makes sense to anyone who reads it. The addition will overflow when n equals INT_MAX, it's going to wrap around and the function will return NULL. Reasonable.

Unfortunately, we cannot have nice things because of optimizing compilers and the holy C standard.

The compiler "knows" that signed integer overflow is undefined. In practice, it just assumes that integer overflow cannot ever happen and uses this "fact" to "optimize" this program. Since signed integers "cannot" overflow, it "proves" that the condition always evaluates to false. This leads it to conclude that both the condition and the consequent are dead code.

Then it just deletes the safety check and introduces potential security vulnerabilities into the software.

They had to add literal compiler builtins to let people detect overflow conditions and make the compiler actually generate the code they want it to generate.

Fighting the compiler's assumptions and axioms gets annoying at some point and people eventually discover the mercy of compiler flags such as -fwrapv and -fno-strict-aliasing. Anyone doing systems programming with strict aliasing enabled is probably doing it wrong. Can't even cast pointers without the compiler screwing things up.


I would consider the use of signed integers for sizes to be wrong, but if you insist on using them in this example, just test for (n == INT_MAX). malloc itself uses size_t, which is unsigned.

I have been known to write patches converting signed integers to unsigned integers in places where signed arithmetic makes no sense.


The real problem is the fact compilers constantly screw up perfectly good code by optimizing it based on unreasonable "letter of the law" assumptions.

The issue of signed versus unsigned is tangential at best. There are good arguments in favor of the use of signed and unsigned integers. Neither type should cause compilers to screw code up beyond recognition.

The fact is signed integer overflow makes sense to programmers and works just fine on the machines people care to write code for. Nobody really cares that the C standard says signed integer overflow is undefined. That's just an excuse. If it's undefined, then simply define it.

Of course you can test for INT_MAX. The problem is you have to somehow know that you must do it that way instead of trying to observe the actual overflow. People tend to learn that sort of knowledge by being burned by optimizing compilers. I'd very much rather not have adversarial compilers instead.


I have been known to fix bugs involving signed integer overflow in C code others wrote.

In any case, send your feedback to the C standard committee. They can change the standard. It would not be a bad change to make.


>if (n + 1 < n)

No one does this


Oh people absolutely do this.

Here's a 2018 example.

https://github.com/mruby/mruby/commit/180f39bf4c5246ff77ef71...

https://github.com/mruby/mruby/issues/4062

  while (l >= bsiz - blen) {
      bsiz *= 2;

      if (bsiz < 0)
          mrb_raise(mrb, E_ARGUMENT_ERROR, "too big specifier");
  }
> bsiz*=2 can become negative.

> However with -O2 the mrb_raise is never triggered, since bsiz is a signed integer.

> Signed integer overflows are undefined behaviour and thus gcc removes the check.

People have even categorized this as a compiler vulnerability.

https://www.kb.cert.org/vuls/id/162289

> C compilers may silently discard some wraparound checks

And they aren't wrong.

The programmer wrote reasonable code that makes sense and perfectly aligns with their mental model of the machine.

The compiler took this code and screwed it up because it violates compiler assumptions about some abstract C machine nobody really cares about.


I propose we rewrite everything in my yet-unnamed new low-level language:

    loop
        while l >= bsize - blen;
        bsiz, ovf := bsiz * 2;
        if ovf <> 0 then
            mrb_raise(mrb, E_ARGUMENT_ERROR, ("too big specifier\x00"));
        end
    end


Just stop using signed integers to hold sizes. malloc itself takes size_t, which is unsigned.


If they prove a check is always false, it means you have dead code or you made a mistake.

It is very very hard to write C without mistakes.

When not-actually-dead code gets removed, the consequences of many mistakes get orders of magnitudes worse.


At some level, someone needs to have discretion on which grants to award and not award. You can call it "dictatorial", but I don't see how it's any less dictatorial if the decision-maker is some faceless, unaccountable bureaucrat vs a President that is accountable to voters. Surely, grants were being denied before for other reasons.


>Surely, grants were being denied before for other reasons.

Were they being denied? It might well be the case that grants were never denied except when the grant spigot ran dry waiting for the next year. I don't necessarily believe that is the case, but is there some evidence that it doesn't work like that?


> At some level, someone needs to have discretion on which grants to award and not award

Then that person should not be a politician or political appointee who judges on the merits and not on the votes it will bring.


If the funds are disbursed from the public Treasury, it is very much a political decision. You can put some intermediary bureaucrats to create a face of objectivity, but it's a political decision at it's core.


Funds duly allocated by the Legislature, which means they must be spent in service of what the Legislature allocated them for. Presidents cannot impound funds since the Impoundment Control Act, so either they need to spend them or convince Congress to change that allocation.

We can argue about the basis for terminating the grants until the cows come home, but this administration through DOGE has made it clear that they're not otherwise going to be spending this money, which is something the president cannot do.

Clawing back and terminating grants without due process is what dictators do; it's the opposite of what supporting and defending the Constitution is.


Do you understand that Congress has the power of the purse and the President does not?


Snark aside, Yes I do. Congress if fully capable of being specific when it wants to and delegating to the executive when it doesn't. For example they required the A10 airplane to continue to operate. They didn't specify the caliber of bullets to use.


Ah, the so-called benevolent dictator. The magical philosopher king to deliver us all from tyranny.


Process matters, everything else is to a first approximation merely platitudes. What's the difference between faceless bureaucrats making these decisions vs the president? It's the difference between rule of law vs dictatorship. Faceless bureaucrats have to follow policy defined by Congress and the President. If the person making the policy is the same person making the decision, and especially when the "policy" is whatever their fancy is, that's not rule of law. America was founded on the principle, "a government of law, not of men".

Moreover, faceless bureaucrats risk criminal and financial punishments for things like self-dealing. The president faces no such risk. And when they're a lame duck, they (theoretically) face zero risk, period.

Bureaucracies are slow. They're costly. Like democracy generally, they're inefficient. They're worthwhile because, at least as far as government is concerned, they're a necessary element to maintain rule of law and avoiding dictatorship. The solution to government bureaucracy isn't to remove the bureaucracy, it's to remove the government involvement. Otherwise, you're just inviting dictatorship. This has happened countless times. When the people get upset about perceived government ineffectiveness and its democratic institutions are too slow to respond (e.g. gridlocked Congress), there are two routes: privatization (i.e. reducing the role of government, not merely something like syndicalism) or dictatorship.

What's the difference between Donald Trump's rise to power and approach to governance, versus Huge Chavez's? Not much. The parallels are amazing. Both came to power promising radical overhauls of perceived sclerotic institutions, including broken legislatures. Like Trump, Chavez was a media whore who spent most of his time talking on television, making impossible promises and blaming everyone and everything else for his own failures. (Castro was like this, too.) They both spout so much B.S. that most people can't even keep up; they just start taking them at their word, which is why Chavez was popular until the day he died. His successor has zero charisma; the policies haven't changed, but now people hate the exact same kind of government they had during Chavez, but have no power to change it. That's what happens when you choose government of men rather than government of law.


Do you honestly think Trump is individually reviewing grants?

Trump with help of various groups makes political appointees who either individually oversee grant reviews or administrate individuals that do. These people are just as faceless and unaccountable as with any other president ...

The difference here is that Congress who is much more accountable to voters deliberated and wrote laws authorizing various funding which is being completely overridden by the branch of government that is supposed to carry out the law.


It is dictatorial, not because one person gets to make the decision, but because the US constitution delineates the powers of the gov't, to which the President does not have this power. I really do not understand why this is such a hard concept for many people here to grasp. The separation of powers is such a fundamental aspect of our government that I am astounded to see you miss this point. When any one branch usurps the power of another branch it is the *EXACT* kind of tyranny the constitution was created to avoid.


What was happening before this year? Surely, congress was not the one approving and awarding these grants. It was a member of the executive agency. Trump didn't declare any power that wasn't already being exercised by the executive.


Variable font width, height, and kerning is more difficult and slower to read. It's fine if you're reading a short childrens book at out loud, but if you're reading an entire novel silently formatted like that, it would become exhausting quickly.


I've never thought about it this way, but it's funny to think that horses are largely self driving on roads.


Netflix's primary goal used to be to attract new subscribers. Now it's a more about maintaining subscribers and finding new ways to monetize the existing subscriber base. That's why you're seeing things like "sharing" subscriptions, and advertising, and premium plans.


It doesn't make financial sense when the tax policy of the US is to tax domestic companies that produce things but not foreign companies that produce things and benefit from selling them in the US market.

We don't need to do research to decide what makes "sense". The market will figure out what makes financial sense themselves. The only thing we need to know is what the tax rate for foreign producers should be so that domestic companies are not the only ones shouldering the federal tax burden.


I'm genuinely surprised this hasn't been done before now.


Ya, it's one of those simple design improvements that seem obvious once you see it, but clearly wasn't obvious because it took so long for someone to think of it.


The granny free throw and the belly putter are both better tools, but they are uncool. We can add the torpedo bat to that list.


Belly putting is anchoring to belly? That’s not legal.


It was legal, until bad putters became very good at putting!


TIL. The new version of this is the "armlock putter" where you anchor to your arm instead of to your belly.


The San Diego port of entry is the busiest land border crossing in the western hemisphere. The takeaway here should be that the resources to handle immigration along the southern border are insufficient.


Imprisoning someone takes far more resources than any other way of handling them, so I don't see how lack of resources can be blamed here.


If you’re deporting someone, they have to be in custody. They have to deport her to Canada, not Mexico. They likely deal with many other countries and have to arrange for transportation back to all those countries.

I don’t think anyone would have a problem if she was processed promptly and quickly deported or if the confinement accommodations were nicer. That’s purely a resources problem.


> They have to deport her to Canada, not Mexico.

In theory and past practice, perhaps.

Currently the USofA is comfortable deporting Venezuelans to El Salvador with no trial or other due process.

https://www.bbc.com/news/articles/cz032xjyyzyo


Venezuela has historically not cooperated with deportations. They also actively send their criminals to the US.


I think it's just one of the few therapeutic skills that are generally offered to men and that genuinely considers the problems that men face.

The problems and issues that men face are largely ignored or downplayed compared with women and there's little offered to men in dealing with it. The traditional outlets like men-only clubs and spaces have been torn down in the name of equality. In that environment, literally anything at all that attempts to address the problems men face will become popular among men.


I see nothing in Stoicism that has anything to do with gender (or sex) whatsoever.

The fact that a particular demographic in the 21st century has declared some affinity for it doesn't change that in any way.


You're right but the parent poster was responding to the question of why Stoicism is so popular with men in the modern era. He didn't say it was inherent to the philosophy.


Well, for that specific question, I'd skip all the bro-nonsense and just note that Stoicism is at least superficially quite like the implicit life philosophy that many men acquire from their families and the culture, but organizes that into something more coherent and with a fairly long past. It provides a positive explanation of why something vaguely close to what you already do could be a good thing. The appeal of that seems fairly obvious to me.

Note that I don't seek to demean or reduce Stoicism to "what men do anyway". It is a much more carefully thought out philosophy of life than that would imply, and contains far more insight and potential than "keep doing what you already do". But the fact that it is somewhat adjacent to the pop-stoicism associated with masculinity doesn't hurt its accessibility.


Stoicism has nothing to do with men. It's not a male-exclusive philosophy. It's just a way to cope with life and the struggles in life. Stoicism is just being weaponized, often by misinterpretation, by "male-clubs".

It kind of became like a cult. "You need to be a Stoic in order to be successful". It's the same story all over, and a similar thing happens with every -ism, like minimalism where it transformed from being a philosophy of being happy with the things you have, into a philosophy where you need to identify yourself as minimalist by buying a bunch of crap that is labeled as "minimalist [whatever]".


> one of the few therapeutic skills that are generally offered to men and that genuinely considers the problems that men face.

These things are not OFFERED to men, they are available for the taking if one is so inclined. Your options do not depend on your gender, but many will reject them as if they do. Therapy? It's not just for sissies. If men are so tough, why do they need society to OFFER solutions to their problems?


I think your last example demonstrates the value of stoicism. In many cases, our untrained emotional response to life prevents us from achieving more or enjoying life. Instead of screaming, you could spend the time enjoying your loved ones for as long as possible. You could try to find a way to stop the plane from falling or work on bracing yourself to survive the impact.

Stoicism is a realizing that many of our instinctual and emotional and responses and actions do more harm than good. It may feel good to scream at someone we believe has wronged us, but it doesn't help them or us and doesn't correct the perceived wrong.


I suspect that screaming at a person who has done you wrong, in the vast majority of cases, has both the intended effect and a desirable one.

If you are in an elite position of leadership, and otherwise have more Machiavellian options, then you can always try to calculate revenge instead -- or forgive endlessly and be exploited.

I'd say in the majority of cases, for most adult people with some life experience, shouting when you want to shout is probably a healthy thing.

Though there are always cases of those who shout at the wrong people (displaced agression), or have to little life experience or no composure at all -- I dont think these are any where near the majority of cases. It's very rare. Though a perpetually (literally,) adolescent internet might make it seem so.

Almost no one ever shouts at me, though I'm very shoutable-at.


> I'd say in the majority of cases, for most adult people with some life experience, shouting when you want to shout is probably a healthy thing.

Sure, and that is totally fine.

But Stoic philosophy disagrees with that. Just as with many other fundamental questions about how to live life, there are different answers/points of view. You don't agree with the Stoic one, and you even offer some reasons why you think it may be harmful. That's entirely fine. The only problem is in your implicit assumption that Stoicism has failed to consider the perspective you have, and if it did, Stoics would abandon their approach to life. That's not true. While there may be Stoics whose individual lives would be improved by adopting your approach, Stoicism as a philosophy is not blind to the perspective you're offering. It just rejects it.


I agree. But you'll note one of my professed virtues is conflict, so I'm "participating in the world" by expressing a social emotion (contempt) towards a value system I disagree with in order to change the social environment. This makes me a political animal.

This is why I express my view in this way. If I wanted to be a stoic, or nearly equivalently a contemporary academic, I'd present some anemic "balanced view" in which you've no idea what my attitude is.

But as I'm not a stoic, I take it to be important to communicate my attitude as an act of social participation in the creating-maintaining of social values. In other words, I think on HN my contempt towards stocism itself has value here, since it invites the person reflecting on stocism to be less automatically respectful of it.


> I think on HN my contempt towards stocism itself has value here, since it invites the person reflecting on stocism to be less automatically respectful of it.

In case it's helpful to you, I'll point out that your effect on me was entirely the opposite. I'm not too positively inclined to stoicism, and I feel the Epicurean and Nietzschean critiques of it hold a lot of water. However, the tone of your top-level post made me instinctively defensive of the qualities of stoicism! I think that's because I perceived the tone of your top-level post as demonstrating something akin to what Nietzsche called ressentiment.


That's one of the effects of being particular -- being a particular person, with particular feelings -- the effects are particular. That's part of the point, part of the aim.

The received view of the tyrannical mass murderers of rome is hagiography, if a few "on my side in the debate" (or otherwise) think I'm being too harsh and want to undermine that a little: great! I would myself do the same if I heard myself speak, if my feelings on what was being said were that it needed moderating.

This interplay I vastly prefer than trying to "be the universal" myself -- disavow all felling, and suppose i can in a disinterested way be unpartisan to a view. This asks vastly too much of any individual, and is in the larger part, extremely (self-) deceptive.


Not everybody is as emotional as you based on your description, some of us naturally have more control over our state of mind, emotions generally, and don't live so reactively.

This allows us not only avoid those typical massive mistakes in life (addictions, bad but attractive partners, cheating, being miserable parents, generally bad emotional big-consequence choices and so on) but also steer us to more successful life paths than most of our peers, whatever that may mean in each case.

Your system works for you and makes you happy and content with your life and its direction? Great for you, but that path is yours only, no need to broaden it to all humanity.


How does your opinion matter than the parent’s opinion?

Even in an ideal scenario favorable to you it seems impossible for it to lead anywhere, after mutually negating each other, other than generating more noise on the internet.


It took me a while to to figure out why I find your position so disgusting. I think a lot of people perceive this contempt as intentional distortion, dishonest, socially hostile.

I dont think we need more stoking of conflict and contempt, but need more good faith and balanced information sharing. I don't think your have correctly modeled the effects of your approach.


I think you hit on it, but the total reason why is slightly different, and the key is in its trigger of your disgust mechanism:

Conflict does not need philosophical reinforcement because it is a major biological default. Using our higher abilities to reinforce these prerequisite (but not higher/good) positions triggers disgust because it leads to traumatic outcomes. That is why disgust exists: to cause us to avoid actions that lead to traumatic outcomes. Sometimes the arm of perception of our disgust reaction reaches further than our comprehension.


I think cooperation is, by far, the most ordinary case. Oppressive, normative, cooperation. This may not seems so online, which is a very unusual environment -- but the vast majority of people are conflict-avoidant.

You might say a war is conflict, but not really: the main mechanisms of war are cooperation.

Very rarely are interpersonal situations prone to disagreement.

The disgust here isn't about trauma, it's a healthy narcissm: the guy doesn't want to be deceived and thinks i'm being deceptive.

I don't think I'm being deceptive, because my heart is on my sleeve -- if I were being deceptive, I'd present an apparently objective analysis and give away little of my apparent feelings on the matter (cf. seemingly all mainstream news today).

I have a different ethic of transparency -- I want people to be emotionally and intellectually transparent. Pretending not to feel one way about an issue represses itself in a manupulated intellectual presentation of the matter -- the reader becomes mystified by the apparent disinterest of the speaker.

If there's one thing I hate with a great passion its false dispassion and intellectual manipulation. So I opt for emotional honesty as part of the package.


I think your statement was compatible-with/implicit-in mine: that conflict, being fundamental in some regimes (as is cooperation) but also high-friction, does not need philosophical reinforcement. If it is philosophical then it is reasoned, and reasoned, whether deceptively so or not, is higher function submitting to reinforcing older, lower.

I don’t disagree it is better to be emotionally transparent in many cases, but there are many cases where it isn’t, and where personal emotional responses can be counterproductive and/or misleading, producing their own sets of suboptimal outcomes.


The contents of people's replies (, votes) is a measure of my effect, so post-facto, no modelling is required.

I'm clearly aware of the existence of people who want an "objective (unemotive) presentation", and clearly aware of what effect emoting has on those people. I haven't failed to model it. On many issues I'm quick to suspend this expression, and engage in a more dispassionate way with a person who wants me to, if I see some value in it. But I'm loathe to give up expressing my feelings, because that is part of the purpose of expression.

I am only doing what you are here in this comment -- you express your contempt in much more extreme terms ("disgust") than I, in order that I may take your feelings into account.

Likewise, when appraising stoicism, I think there's value in others taking my feelings on the matter into account. If only as a means of a kind of reflexive emotional equilibrium modulated by surprise: there's too little contempt towards stocisim in my view, and in its absense, has grown a cult around figures like aurelius.

I've been to the cult meetings in which he is read in a religious manner, cherrypicked and deliberately misunderstood. I'm here out in the world you see, participating -- and I wish to reflect that in my thinking and feelings on the world.


Im not opposed to expressing ones feelings, or advocating for unemotive speech.

Im opposed intentionally seeking heightened conflict via deceit and misrepresentation. It is the political metagaming for effect and attention, an intentional manipulation of the emotional equilibrium.

If you are a true believer in what you say, that is one thing. If you are intentionally being hyperbolic, overexpressing emotion, or omitting facts you know to be true, then you are engaging in political rhetoric. This is adversarial, not collaborative.

When the well is sufficiently poisoned, there is no point in outside discourse, or even truth-seeking.

Rhetoric is a good way to make short term gains on a topic, if you have an edge. Long term it is negative sum, as your community falls apart.

I see that your sibling comment explains your position, and was insightful. I have no problem with radical self expression, or radical transparency. What I have a problem with is placing conflict and effect above truth and transparency. This is how I interpreted your comments above.


If I can speculate: your perspective seems to be at least a second, maybe third-order perspective, of someone in an atypical environment surrounded by would-be stoics, who are all participating in order to succeed in e.g. middle management. This corporate stoicism produces suboptimal product results because while stoicism is perhaps necessary and valuable to hold a position, as you noted it is fundamentally detached and dishonest.

But until someone lives in your version of the social environment, they cannot see the relative value of a return to “radical candor” and so you get rejections, both from people behind you in their profession into stoic corporatism and from those who make their living from behaving in accord with it and believe they are superior for it.


> I suspect that screaming at a person who has done you wrong, in the vast majority of cases, has both the intended effect and a desirable one.

Not usually. Just some examples:

Customer service people tend to be trained to de-escalate and send things up a level. Sometimes they call it "killing with kindness"; basically you repeat your stance with a smile on your face until the person going wild either calms down on their own or leaves. Either way, the person yelling does not get what they want. On the other hand, if you're charming to customer service people, a lot of times they'll bend the rules for you if they can, and if they can't -- well, you don't have to have on your conscience: "ruined the day of someone making minimum wage"

In long term relationships (say, work relationships or family relationships) this sort of excessive emotionality doesn't work either. In a job, you'll probably just get fired, or if you're the boss, people will avoid telling you things. Your family can't fire you, but they can set a boundary and stop dealing with you.

Basically, what I'm trying to get across is that uncorked rage is very rarely effective. It may work once or twice but it's a bad overall strategy.

If you don't want to be exploited, a controlled show of mild anger is a lot more effective. People who are not in control of their emotions can be easily exploited, but those who are in control of their emotions are not. I think you think there's this axis of Rage-a-holic <--------> Door-Mat, but the problem is both ends of those axes have people that aren't in control of their feelings. The door mat lacks control also, but in their case it presents as withdrawing from the world.

> If you are in an elite position of leadership, and otherwise have more Machiavellian options, then you can always try to calculate revenge instead -- or forgive endlessly and be exploited.

Yikes dude.


You're assuming that in most cases when people shout, they're being excessive.

I don't think that's true, at least "per capita". Maybe most shouting is done by the emotionally unstable, but most people arent emotionally unstable (as adults).

If an adult were shouting at me, I'd be greatful of it. I was slapped once, and I said thank you to the person who slapped me -- it told me I was being careless.

For people who arent evilly trying to manipulate you, like customer service -- expressing how you feel helps others know how you feel. I am, in many cases, grateful to know.

If I saw someone getting angry at a person in the customer-service-way, my instinct as an adult with life experience, is to treat that anger as symptomatic -- not evil. This is the danger in saying you shouldnt get angy: blaming the victim.

> Yikes dude

I wasnt endorsing that, I was saying, that's less healthy than just being angry.


There's definitely a cultural aspect, but at least among the people I tend to interact with, shouting is very much a last resort.

If you're at the point where the only way to make your point is by being louder than the other guy, then you're really just winning on intimidation rather than persuasiveness. If both people, or multiple people, are shouting, is anyone actually listening? And if not, what's the point of being so loud?

I see your example of being slapped and I mean, I guess it's good that you took that act in a positive way, but, to me if I'm being so closed off that I need to be slapped, I really need to evaluate how I'm acting.

> I wasnt endorsing that, I was saying, that's less healthy than just being angry.

Fair enough, I'm mostly saying yikes to the implied spectrum of [ scary powerful sociopath bent on revenge <------> complete doormat ]. I don't think anyone needs to concoct weird revenge fantasies to be taken seriously unless you work for the cartel or something, and in that case I'd recommend a career change.


Well now it sounds like you are disagreeing for it's own sake. There may be a name for what you describe, but it's not what is commonly understood as Stoicism.

And in my many years, I have never found shouting at another person to be a healthy thing.


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

Search: