Damsel in Distress: Tropes vs Women in Video Games - <AUTHOR> http://youtube.com/watch?v=X6p5AZp7r_Q

<comment><USER2> I don't understand why people find her video series to be so threatening. It's really fascinating and what in reality she is doing is validating the legitimacy of video games in our society. Which is important as video games are being attacked for being the cause of gun violence, a source of addiction, and a time waster for males.

Her purpose is not to take away our video games, which seems to be the sentiment motivating the community attacking her. She wants to talk about video games, and honestly, I think she motivated by a passion for them. She's investing a lot of thought and intellect into the art form of video games.

I just find the opposition to her work rather hilarious. It's almost like all these "males" see her as a mother trying to take away their video games.

</comment><comment><USER3> Many logical fallacies:

Cherry picking 1:18 - Dinosaur Planet, probably the only game where the main role was changed after significant publicity and development had been done.

Equivocation (Ambiguity) 3:06: When she says "Disempowering"

False attribution 10:38 - If one is a secondary character therefore is an object of the main character, therefore is being objectified.

Slippery Slope 10:48 - Kidnapping is equal to stealing, you only steal "things", therefore women are always objects when they are kidnapped.

Black or white fallacy 11:19 - Because woman are not the main focus, therefore men are, therefore games are sexist (Hint: False, its about entertaining subjects plus supply and demand eg: Hitman = Killing silently, GTA = Anarchy). Strawman and appeal to emotion 11:39 - Provincial quote just to focus anger on the game industry. ("Is said that in the game of monarchy woman are not the opposing team, they are the ball.").

Strawmen - Saying that browser and mario are the important characters and the princess is just "the ball", Browser is not important and you don't even think about him until the end of the game. And Mario for its lack of emotional and psychological traits becomes more of representation of the player (the human) than a character by itself. She uses an image of Peach inside a bubble jail in order to persuade the viewer in favor of her position.

Cherry picking 12:30 - Showing games of the 80s and 90s purpousolly omiting titles such as Metroid (Woman character), Tomb Raider, Resident Evil 1, 2 , 3 and 5. Mortal Kombat (All, Kitana, Sonya, Jade, Sheena) Rogue (X-Men), Kirby (unknown sex femenine characters), genderless games (Metal Warriors, arcanoid, tetris, Sim City, Uni Rally, lemmings), all sport games (most people who play soccer are men, more people playing videogames are men, therefore is so obvious why the game only haves men that she better omit this enterely to not let anyone make a correlation of this same logic in other area of her critique. This also happens with games and proffesions, more firefighters are men, therefore the main player in the game "The Firemen" is a man)

Omitting information [all video] - Soldiers are historically the ones to go to war and kill, therefore most representation of soldiers and similar roles will be man. Real-life reasons to go to war are corrupt or/and highly controversial; games try to be more friendly and less controversial by using a well accepted premise from centuries ago and one of those is the cliche of Knights fighting to rescue women.

Not a established logical fallacy but introduces a lot of history that doesn't support any of the facts she is talking about but she speaks as it does; plus doing it in a overly-formal tone just to look more serious to gain credibility with mostly biased, false or unrelated claims.

<comment><USER4> > Cherry picking 1:18 - Dinosaur Planet

What's the cherry picking? It's used to "illustrate how the damsel in distress trope disempowers female characters and robs them of the chance to be heroes in their own right." An illustration need not be a random sample nor a carefully selected representative sample, and I didn't hear any claim to be so.

What's ambiguous about "disempowering"? Most of the presentation elaborates on how "disempower" is an appropriate word in this context.

> False attribution 10:38

This section interprets the trope using the subject/object dichotomy, where subjects act and objects are acted upon. This does restrict things to a single dimension, and you may think it's not a useful reduction. But objectification means "denial of autonomy, inertness." Where is the false attribution?

> Slippery Slope 10:48

Is the time quote right? The text around 10:48 doesn't mention kidnapping. ".. damseled women are acted upon, most often reduced to a prize to be won, a treasure to be found, or a goal to be achieved." Perhaps you mean the kidnapping implicit in being 'damseled'?

But, the presenter at 17:50 gives examples of how imprisoned (kidnapped people are imprisoned) male characters are not treated as objects. "They are ultimately able to gain back their own freedom. In fact that process of being able to overcome the ordeal is an important step..." Clearly, kidnapping does not imply that the kidnapee is necessarily an object, and I don't see how you draw the opposite conclusion.

> Black or white fallacy 11:19

Where does the presenter say that games where women are not the main focus are necessarily sexist? I don't get that inference that you draw. This is about the damsel in distress trope.

> Browser is not important and you don't even think about him until the end of > the game

Bowser is the antagonist in the games. He has motivation for what he does, even if that doesn't affect most of the game play. Eg, from Wikipedia "His ultimate goals are to marry Princess Peach, defeat Mario, and conquer the Mushroom Kingdom." Under the subject/object description, Bowser is definitely a subject when looking at the Mario series as a narrative, rather than just a set of actions.

Tell me - what motivates Princess Peach? Does she have any goals? What actions does she do to carry out those goals? If you can't answer those questions then she's an object, not a subject.

> Cherry picking 12:30

"Cherry picking" doesn't really apply when there are "literally hundreds" of examples. But in any case, your objections of the last three paragraphs are not related to this presentation. The goal of this video was to examine the 'damsel in distress' trope, not to examine sexism or lack thereof in all video games.

> doing it in a overly-formal tone just to look more serious to gain > credibility with mostly biased, false or unrelated claims

I disagree quite strongly. The language was easy to understand, the logic consistent, and the points valid.

In another video ("Feminism in Focus - Anita Sarkeesian"), the presenter says "I started Feminist Frequency because I felt like feminism was sort of trapped in academic spaces and politically radical spaces ... in this language that was really hard to understand and I wanted to create a space where feminism was easy to engage with in an accessible way."

So what may be throwing you off is that the presenter uses (and explains!) literary analysis techniques, while you are not used to this rigorous presentation style.

As an example, you might say "Indiana Jones is the protagonist of 'Raiders of the Lost Ark'. The Nazis die in the climax and the Ark is hidden in a vast warehouse in the dénouement" then you are specifically using a literary analysis described by Freytag.

I might come along and ridicule you for using an overly-formal tone, when everyone knows that "Indiana Jones is the good guy in 'Raiders of the Lost Ark', the Nazis all die just when it looks like they are going to win, and it finishes with the Ark being hidden into a large warehouse."

We've said exactly the same things, but in this analogy you are using the more technical language while I am using the less precise vocabulary.

I propose that this is quite analogous to the case here. This is a literary analysis, and so it is entirely appropriate to use terminology from that domain. I suspect you haven't had much experience with feminist analysis, and so the use of basic technical vocabulary from that field - even when explained - makes you think it's overly-formal.

I have not studied feminist analysis, but I have studied some literary and a lot of scientific analysis. I saw nothing in this presentation which was overly formal or lacked credibility.

<comment><USER3> >'What's ambiguous about "disempowering"?'

>disempowering present participle of dis·em·pow·er. Verb. Make (a person or group) less powerful or confident.

Do you honestly think that there are less woman in congress because Dinosaur Planet was never released? In today world political power is the most important kind of power, that's why saying "disempowering women" is extremly ambiguos.

> But objectification means "denial of autonomy, inertness."

That's clearly NOT what it means in the mind of most people. In most people's mind it means "To become/transform into an object", no more no less; even the formal definition I found (different from yours) implies this: <http://dictionary.reference.com/browse/objectification>

>Where does the presenter say that games where women are not the main focus are necessarily sexist?

Quote: "Is not about women at all!"... are you trying to tell me she is not suggesting that is about men? A honest non-biased person would add that men are also NOT the main focus; the relevance of the genders is not given by the players but by outsiders interested in judging those and accommodating those judgement inside their agendas.

> The goal of this video was to examine the 'damsel in distress' trope

False, as you can see in one of my arguments you didn't respond she makes unrelated proverbial quotations and commentary victimizing women for the lack of their presence in video-games.

All the claims are extremly biased; Dinosaur Planet was transformed to a StarFox game because it makes so much business sense but unsurprisingly she didn't mention this _extremely_ obvious fact.

<comment><USER4> "Do you honestly think that there are less woman in congress because Dinosaur Planet was never released?"

That's a specious argument. Do I think Title IX increased the number of women in Congress? No, not really. Do I think Title IX directly addressed an existing practice of discrimination based on sex? Yes, absolutely.

It's against the law to fire a woman because she is pregnant. I strongly agree that firing someone on that basis is a form of sexual discrimination. But I don't think there would have been fewer women in Congress if that law hadn't been passed.

If laws which directly addressed wide-spread discrimination based on sex don't pass your test then there's no way a single video game would ever pass the same test.

"In today world political power is the most important kind of power"

I'll assume that your assertion is true. So? There are other types of power. Your argument seems to be that since women don't have equal political power, we should ignore all other sorts of imbalances. Should women be subordinate to their husbands? Should it be okay to prohibit women from school athletic competition? Should women be allowed to drive? To vote?

Your view seems to be that we should ignore all of these issues and focus only on getting more women in positions of political power before making any other changes. That's absurd.

> objectification means "denial of autonomy, inertness." / That's clearly NOT > what it means in the mind of most people

I pulled that quote from Wikipedia. It's a shortened version of Nussbaum's seven qualities of objectification, those being: instrumentality, denial of autonomy, inertness, fungibility, violability, ownership, and denial of subjectivity.

Most people think that "theory" means something like speculation. This is quite different than what a scientist or mathematician calls a "theory." When talking about scientific research, should we use the general definition, or the specialized one? When doing media analysis, should we use the terms from that field or create new ones?

Since the term from feminist analysis is that of philosophy/ethics, where's it's been in used for over 200 years (eg, Kant's "Lectures on Ethics" says objectification 'involves the lowering of a person, a being with humanity, to the status of an object' <http://plato.stanford.edu/entries/feminism- objectification/> ), and since the use of the term 'objectification' in popular culture arises from this same source, I see no reason to avoid using the correct and appropriate term.

> the relevance of the genders is not given by the players but by outsiders

Ahh, since you reject the underlying concept that media (books, movies, newspapers, advertisements, video games, etc.) affects the way insiders think and perceive the world, then of course you reject any sort of media analysis as irrelevant. I think you are quite wrong in that viewpoint.

I also don't understand your insider/outsider distinction, so if you would, please elaborate. Also, I would appreciate if you could tell me where the quote "Is not about women at all!" comes from, as I don't see it in the transcript nor our earlier discussion. How does it support your hypothesis that the presenter asserts that all video games are sexist?

> False, as you can see in one of my arguments you didn't respond she makes > unrelated proverbial quotations and commentary victimizing women for the > lack of their presence in video-games.

The intro starts by saying that the series will explore multiple tropes, then says that this episode is about the damsel in distress trope. I inferred from that that the presentation was examining the damsel in distress trope only, and not the larger set of topics that the series is about.

The episode's home page at [http://www.feministfrequency.com/2013/03/damsel- in-distress-...](http://www.feministfrequency.com/2013/03/damsel-in-distress- part-1/) says "This video explores how the Damsel in Distress became one of the most widely used gendered cliché in the history of gaming and why the trope has been core to the popularization and development of the medium itself."

This concurs with my view that this episode examines the damsel in distress trope, and not wider issues of sexism in gaming, even though you say it does. How do you draw your conclusion?

Where does the presentation "[victimize] women for the lack of their presence in video-games"? I can't respond to your reference to 'proverbial quotations' because I can't figure out what you are talking about. Can you elaborate?

The only one I can see is your statement 'Provincial quote just to focus anger on the game industry. ("Is said that in the game of monarchy woman are not the opposing team, they are the ball.").' What does "provincial quote" mean?

The quote, btw, seems to be from Jonathan McIntosh on Twitter as @radicalbytes, 11 Aug 2012. I think it's quite a powerful and descriptive quote, and quite appropriate for its context. It doesn't talk about the games industry, but serves to emphasize how Princess Peach can be viewed as an object in the Mario franchise, as she's passed back and forth between Mario and Bowser.

> Dinosaur Planet was transformed to a StarFox game because it makes so much > business sense but unsurprisingly she didn't mention this _extremely_ > obvious fact

No? The logical implication was clear to me.

Between 1:50 and 2:12, we learn that Dinosaur Planet was revamped to use the 'damsel in distress' trope.

At 12:03: "The trope quickly became the go-to motivational hook for developers as it provided an easy way to tap into adolescent male power fantasies in order to sell more games to young straight boys and men."

The obvious implication is that Dinosaur Planet was likely changed in order to sell more games. This sounds very much like saying that it was transformed into a StarFox game for business reasons. Do you not make the same inference? Why not?

Moreover, the presenter argues that the reason it makes business sense is because it "[taps] into adolescent male power fantasies", while you fail to describe any alternative reason for why it makes business sense.

> "Why is the main character of such violent video-game a woman? Such violent > behavior is a thing of men". That means they don't want more presence in > video-games, they want presence in very specific videogames where "she" > should be undoubtedly good.

What the fuck? Violent behavior is a 'thing of man'? Women are only supposed to be 'undoubtedly good'? What kind of world do you want to live in where that should be considered normal? Let me wake up my wife, the ex-soldier who served two tours of duty in Iraq, so she can laugh at you. (On second thought, no. She doesn't like being woken up.)

Your view is that gaming companies should produce games that people buy. That's a reasonable first-order solution. However, the market is notoriously amoral. The games market is at a rough equilibrium. Girls will play both "girl games" and "boy games". Boys will mostly only play "boy games." Therefore, the market is bigger for "boy games." That's perfectly obvious.

As a result, the original Master Chief model was bulked up because it looked 'too slender', "almost effeminate". His face is never shown because 'Bungie says this helps the gamer fully assume his character'. But surely there's no essential in-game requirement that (cybernetically enhanced, genetically special) Master Chief could not have been a woman. No, these tweaks were made to appeal to the market.

The question is, as a culture, should we encourage market partitioning based on sex and gender roles, ignore it, or minimize it, and what are the likely effects of that decision? This is a question of market, not market.

And this presentation addresses that question.

<comment><USER3> You are to feminism what Fox News is to news channels; I'm not trying to pull an "Ad hominem" but pointing out that it makes no sense to keep a discussion where one of the sides try to cover up all the mistakes and recognize none by constantly changing the conclusions extrapolated and interpretations of the subject.

<comment><USER4> Yes, I claim that you made mistakes in your analysis of the presentation, and that you are covering up the mistakes by not addressing my critique.

For example, I said that the presenter did not make the argument that 'Because woman are not the main focus, therefore men are, therefore games are sexist'. You have never present the reasoning behind that assertion, and I did not get the same conclusion from the presentation.

For example, you said "Dinosaur Planet was transformed to a StarFox game because it makes so much business sense but unsurprisingly she didn't mention this _extremely_ obvious fact.", and I show that while it wasn't explicitly said, it was a simple inferences from two other statements, to wit "the transformation used the damsel-in-distress trope" and "game companies often use the damsel-in-distress trope to make more sales".

This does leave the possibility that the change was done for other reasons, but I think it's reasonable to infer that the speaker knows that it makes business sense, but also believes it doesn't make good moral sense.

For example, you describe 'objectification' as the dictionary definition of "To become/transform into an object", and argued that the speaker was using "false attribution." I responded by pointing out that the speaker was using the definition as it's used in the philosophy of ethics, with a heritage dating even back to Kant, and that that was the appropriate definition for this presentation. I don't see where the presenter used false attribution.

As as for ad hominem, I realize that you do have experience in that matter. The phrase "doing it in a overly-formal tone just to look more serious" is ad hominem, in that it references the presenter's style, rather than the logic.

So please, justify your original assertions rather than making new statements. Otherwise I could just as easily say that you used the "overly-formal tone" of naming common logical fallacies "just to look more serious" in your opposition to the contents of the presentation. And where's the fun in me being a parrot?

<comment><USER3> You are purposefully lying in the claims that "addresses your critique". I'm not longer trying to convince you because you made up your mind long time ago, but for anyone else just check this part of the discussion:

jQueryIsAwesome> Dinosaur Planet was transformed to a StarFox game because it makes so much business sense but unsurprisingly she didn't mention this _extremely_ obvious fact

dalke> No? The logical implication was clear to me.

Ask anyone after watching the video "why do you think Dinosaur Planet was never published?"; they will tell you that is because society is sexist or because Yamamoto said so or because Nintendo is misogynist. Very few people will go the logic route and try to convey the very logical reason that it just made business sense.

> I responded by pointing out that the speaker was using the definition as > it's used in the philosophy of ethics, with a heritage dating even back to > Kant

Didn't you know that words mean what most people think they mean? Not the definition of "philosopy of ethics" or Khan.

...you are the uploader of this submission and/or part of the same feminist group aren't you?

<comment><USER4> I would appreciate my lies being pointed out. I am unable to see them myself.

Ahh, since "very few people will go the logic route" then must I avoid using logic when talking with you, and only use emotional arguments? You started off by highlighting what you thought were logical fallacies in the presentation. I assumed that you wanted a discussion based on logic.

Am I to infer instead that your objections here are based in emotions, and not in logical thinking? That would explain your frequent leanings towards the ad hominem arguments, including the attempt in the last line of guilt by association.

Once you appeal to the abstract "anyone", then you are making an argumentum ad populum. An equally invalid counter-argument from me would be "no, only fools would draw the same conclusion as you do." Neither point is based on logic, and easily dismissible. (Though you could use that argument if you've done an appropriate random statistical sampling, I strongly doubt that's the case.)

Therefore, your reply just now does nothing to strengthen your original argument, and I believe your reach towards arguments by fallacy undermines the emotional component of your position.

You say it "just made business sense". Please explain the "just" part. How come it didn't make business sense during the original development?

"Didn't you know that words mean what most people think they mean?"

You know that isn't true. Words have multiple meanings and different meanings to different groups of people. I presume you are making another emotional argument here rather than a logical one. I will explain the logic, starting with the same example I used earlier. (I doubt it will make a difference. Perhaps I'm an optimist, or a masochist, at heart.)

Words can have multiple meanings. Most people think "theory" means something like "speculation." You'll see that in dismissive claims against evolution, saying "it's only a theory." But scientists will also use "theory" to mean a 'general principle or body of principles offered to explain phenomena', as in "Einstein's theory of gravitation" or "the germ theory of disease."

Most people will say that a "clip" and a "magazine" are the same thing, but someone who knows firearms will point out that a clip lacks a feed mechanism. Most people will ask "is that snake poisonous?" when they mean to ask if the snake is venomous. Is there really a vehicle inside your computer or does "bus" mean something else when talking about computers?

To insist that everyone use the general understanding of a word and hence deny subgroups the use of appropriate technical vocabulary is absurd.

Instead, the correct analysis is to examine the context. Is the presenter using terminology appropriate for the domain and audience? is the terminology well-established in that field? etc. I then showed that the presenter is using the appropriate terminology for this sort of video, with a long established history. (And that's "Kant", not "Khan". Should I infer from that typo that you know little about philosophy?)

It is valid to propose that the presenter used terminology that was inappropriate for the audience. I would disagree with the proposition, but not the logic behind it. It is muddled thinking, however, to outright reject the existence and usefulness of specialized vocabulary.

<comment><USER3> "Words have multiple meanings and different meanings to different groups of people."

I don't know the exact name of this logic fallacy but you are basically over- amplifying the variations implicit in the definition of something; in this case the meaning of words.

Yes, words can mean different thing for different people but if you say "Fuck you." to someone the possible interpretations are a very limited range centered mostly in the definition of being "aggressive slang to dismiss or show strong disagreement towards a person and/or an specific action done by an individual or group".

In the same way "objectification" is mostly centered in "transform something into an object"; bringing all subjective negative connotations this may have in the mind of the viewer (e.g. objects have no rights, objects can't think by themselves, objects have no soul, etc)

May I add that the extend of the words in your argument and the complexity of the words you are using in it helps nothing to your point.

> I would appreciate my lies being pointed out. I am unable to see them > myself.

I already did but you will never see them, like a colorblind asking where the color green is.

PD: Yeah, I accept I did some ad-hominems against you, not a very smart thing but I also presented logic refutations against your arguments that you don't seem to acknowledge.

<comment><USER4> > May I add that the extend of the words in your argument and the complexity > of the words you are using in it helps nothing to your point.

You've now twice in this thread made the claim that the person whose views you disagree with used a style that was too complex. Have you considered that you may be beyond your intellectual depth?

You have not established that "objectification" is used incorrectly here. You have acknowledged that it can have multiple meanings, and stated that the most common usage as defined in a dictionary does not apply. You have not shown that all alternative definitions of the term, including specifically, the one used in the philosophy of ethics, is also incorrect for this use. I gave a citation to Martha Nussbaum as a relatively recent reference for this definition.

You'll noticed that in my replies I summarized the relevant points I had made earlier. You do not do the same courtesy.

I am not able to see in radar frequencies. I still know where X-band is, and I've measured its wavelength. I am not able to hear the ultrasonic sounds of dolphins, but I can hear it after shifting downwards. I cannot feel distant earthquakes, but I can read the output from a seismograph. Yes, I can explain to a colorblind person where green is. Can't you?

You pile specious arguments on top of ad hominem ones, yet still consider yourself assailable on a mountain of logic? Do you have the humility to examine your logic for faults, and the grace to help others? Or are you only out to win internet debating points?

<comment><USER3> > You've now twice in this thread made the claim that the person whose views > you disagree with used a style that was too complex

Now I am 100% sure you are just another silly troll.

<comment><USER4> "Silly troll?" You do like the use of ad hominem. Here are the citations.

"doing it in a overly-formal tone just to look more serious to gain credibility with mostly biased, false or unrelated claims"

"the extend of the words in your argument and the complexity of the words you are using in it helps nothing to your point."

I observe that statements like this are rare in just about every conversation, HN thread, or other debate that I've participated in or read. I believe then that this is part of your debate style.

Those quoted statements are prima facie ad hominem statements, and lack the followup to show that they are otherwise. The frequent use of fallacies is, as I've shown, characteristic of your arguments. That you disparage others for using those fallacies does not mean that you yourself avoid them. Indeed, it seems that your argument style is to attribute fallacious reasoning on your opponent, rather than explain why it is actually fallacious. This, of course, is a fallacious appeal to authority.

Based on your resistance to explaining the logic behind your reasoning, including even your disdain at providing citation references for the quotes you gave, and combined with the rest of this discussion, I have come to the tentative conclusion that you enjoy rhetoric for the edge that it gives you during debates. But you have been swayed by its power at making an easy attack, and do not care for the slower, more difficult job of using it as a tool to understand your own prejudices and inconsistencies.

In other words, you prefer to call people names than to explain yourself.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


The Paradox of Karl Popper - <AUTHOR> https://blogs.scientificamerican.com/cross-check/the-paradox-of-karl-popper/ <comment><USER2> Popper sounds like a dude. We shouldn't confuse this apparent irascibility with dogmatism. He was passionate about his ideas: he published them and read criticism of them. He changed his mind about the testability of evolution, and other things.

Intellectual humility is not the same quality as personal meekness and geniuses have always had difficult personalities. Philosophers doubly so. How could it be otherwise? How can one create new stuff if one is too agreeable and too susceptible to groupthink?

Btw, the reason falsifiability doesn't have to be falsifiable (by experiment) is that it isn't a scientific idea; it's a philosophical one. It is potentially 'falsifiable' by _criticism_ , however.

The best modern Popper proponent is David Deutsch. See his books _The Fabric of Reality_ and _The Beginning of Infinity_. They're both packed with interesting ideas and arguments. He says that Popper did indeed solve the problem of induction. And here's a recent paper of his on the logic of experimental testing: [https://arxiv.org/abs/1508.02048](https://arxiv.org/abs/1508.02048)

<comment><USER3> > it's a philosophical one. It is potentially 'falsifiable' by criticism, > however

Agreed. I think the main issue is not with the idea itself of the scientific method, rather than the practical implications _and its limitations_.

\- The main idea is a qualitative one. It doesn't consider all the statistical can of worms about reproducibility.

\- Real world experiments rarely reproduce perfectly/exactly. The more the experiment involves more variables (or unknown variables) you can detect an effect but its magnitude might vary.

\- Not everything can be reproduced, not everything can be measured perfectly, hence the "study of knowledge" needs to be able to handle those cases, and not just bury their head in the sand and go "la la la this is not scientific let's ignore it"

<comment><USER4> What would be a case of actual knowledge that isn't scientific and not amenable to falsification though? Even humanities like history use evidence and make conclusions that can be falsified in the light of new information.

<comment><USER3> Anything that is limited in observability. Either because the available sample size is too small, the time or ability to observe something is limited.

A bit of a stretch, but I'm also skeptical of the ability of the scientific method to be able to understand/prove anything with (hidden) state/memory.

For a lot of 'skeptics' unproven means wrong and unmeasurable means wrong.

</comment></comment></comment></comment><comment><USER5> This was a fun read, but I found the premise of the "paradox" frustrating. I get that it's kind of funny how the falsfiability guy is passionate and dogmatic about his views. But taking it seriously that this is a contradiction and asking "is falsification falsifiable" is a basic misunderstanding. It reminds me of popular misinterpretations of Godel's theorem.

The author seemed to not understand Popper's response, which was dead on of course. The _type_ of thing that can be falsified is a scientific theory that makes empirical predictions. Falsification is a prescription for how to do science. It can be argued against from a philosophical standpoint, but it makes no predictions and cannot be proven wrong by observation. It's like asking if the 4th Commandment can be falsified -- the compiler gives a type error.

Again, enjoyable read, but this aspect was disappointing.

<comment><USER6> Nice response; love the 4th commandment point. I found the author to be on the attack, from the beginning, with the whole taxi driver / address thing. Who cares? Plus the first driver even knew the street.

Then the author seems pathetic here: "Peering searchingly into my eyes, he asked if one of his critics had persuaded me to pose the question. Yes, I lied." Why lie? Have some guts, like Popper evidently does, and believe in what you want to ask.

Popper at this time was 90 years old, surely not putting his best foot forward. It was a poor essay overall, IMO, but I love to read anything about Popper.

</comment></comment><comment><USER7> As far as I remember, that was the worst article about a philosopher that I've ever read. The author is resentful and pretentious from the start to the end and tries his best to portray Popper as a kind of silly person.

If you haven't read the article yet, my advice is not to read it.

<comment><USER8> > tries his best to portray Popper as a kind of silly person.

The author seems to have pulled the bulk of the article from 25 year old notes. He doesn't hide his own youthful naïveté at assuming that a taxi driver would know directions to the home of a philosopher. He also preserves what I'd imagine are embarrassing moments like Popper's reaction to his "big question". What you consider silly, might just be an issue of narrative style.

I personally think it captures the wit and home life of an energetic 90 year old philosopher. What well adjusted human being doesn't expect to have a slightly disorganization existence near the end of a very long life?

<comment><USER9> > He doesn't hide his own youthful naïveté at assuming that a taxi driver > would know directions to the home of a philosopher.

Huh? The author specifically asked for directions and was _surprised_ when he was (unjustifiably) assured he wouldn't need them.

> I personally think it captures the wit and home life of an energetic 90 year > old philosopher...

13415 isn't saying the author _succeeds_ at making Popper look silly. Rather, the author is attempting and failing to do so.

<comment><USER8> Taking that assurance at face value was naïve. The taxi thing was a motif. He frames the interview with it, telling the taxi that picked him up at the end that a famous philosopher lived there.

> 13415 isn't saying the author succeeds at making Popper look silly. Rather, > the author is attempting and failing to do so.

How would you define failure in this scenario?

<comment><USER9> > Taking that assurance at face value was naïve. The taxi thing was a motif.

You sure do like the word naive!

Do you think he lied about being instructed by the staff member that the taxi driver would know where the guy lived? If not, then you're arguing that the author, having been instructed by the staff that he would not need directions, should have summoned his worldly wisdom and realized this couldn't be true. But the mere bias of someone's staff, which is of course predictable, does not explain why that staff would exaggerate in a way that will predictably be refuted, i.e., when the author gets into the cab, he'll find out they don't know! So you're arguing that he's naive for not assuming that the staff is _both_ biased and stupid. But cab drivers knowing where a local minor celebrity lives is not that crazy of a proposition.

> How would you define failure in this scenario?

Rather than reporting unambiguous (i.e., un-manipulatable) facts that are clear evidence of silliness, he mostly uses rhetorical techniques which are completely up to the author's discretion. When he does report facts, they are completely consistent with Popper being a retired intellectual giant who is just old, forgetful, and busy. Trying to make Popper look bad because he's a forgetful 90-year-old comes off as very distasteful.

</comment></comment></comment></comment></comment><comment><USER10> Ha, I didn't know about him before. Sounds really interesting. Reminds me a lot of Socrates. I have recently been reading the classics about Socrates and was surprised to realize that

a) his main mission seemed to be to show people they didn't know as much as they thought

b) he was basically a huge troll, even if he was usually correct

c) he was such a huge troll that the Athenians actually put him to death for it via a public trial

If our culture didn't have certain moral qualms that the Athenians didn't have too much trouble brushing aside, I imagine Karl's career would have been cut a lot shorter, along with quite a few other philosophers.

<comment><USER11> Popper is immensely influential in science, well worth a closer study. Agree there are some similarities with Socrates but as far as I know there was no drive to have Popper drink poison (a tribute to the imprint of that ancient Athenian on modern society maybe). Except perhaps in communist countries, the expressed antithesis of Popper's "open society".

<comment><USER12> > Popper is immensely influential in science, well worth a closer study

Yep, pretty much invented the falsification principle. Imagine a time when scientists often tried to prove things true. That was science before Popper. This makes him the greatest contributor to science that I know of since Francis Bacon.

<comment><USER13> >Imagine a time when scientists often tried to prove things true

The philosophers of science that Popper was criticizing didn't think that scientists should try to prove that theories were true. They thought that scientists should try to show that theories were likely to be true given the available evidence. Popper was a radical skeptic regarding epistemic probability, and thought that it was impossible to probabilistically confirm scientific theories.

<comment><USER12> Well, yes, fair enough. But the main point is that scientific progress was greatly accelerated thereafter. In that sense there is a before and after him, and anyone who would choose to be anti-Popper (nowadays) is generally an epistemic relativist who doesn't believe in the idea of progress, or sometimes even the scientific enterprise, at all.

<comment><USER13> Most philosophers of science think that Popper was fundamentally wrong about induction and demarcation, but few of them are epistemic relativists.

<comment><USER12> After some research, I understand that falsification is not seen as a sufficient criteria for demarcation as Popper probably saw it. But do you not agree that the idea of falsification as a bare minimum was revolutionary? That was the main point of my original comment.

Apologies to anyone I might have offended by accidentally bundling them with relativists.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Popper is a paradox because his falsifiability violates the math Law of Non Contradiction. [https://en.wikipedia.org/wiki/Mathematics#Mathematics_as_sci...](https://en.wikipedia.org/wiki/Mathematics#Mathematics_as_science) Philosophy has no place in Science. The Scientific Method is based on 'principles' and theorems/math based not philosophies. Karl is the real inventor of modern pseudoscience (lipstick on a pig). The final cog in The Scientific Method -> [https://www.ncbi.nlm.nih.gov/books/NBK97153/#ch2.s3](https://www.ncbi.nlm.nih.gov/books/NBK97153/#ch2.s3) ^^hasn't changed since it sparked the entire Industrial Revolution and still 100% effective as is. .. [https://en.wikipedia.org/wiki/Law_of_noncontradiction](https://en.wikipedia.org/wiki/Law_of_noncontradiction)

</comment><comment><USER15> Nassim Taleb, the author of Fooled by Randomness and the Black Swan, is a fan of Popper.

<comment><USER16> > Popper abhorred philosophers who argue that scientists adhere to theories > for cultural and political rather than rational reasons.

<comment><USER17> Well, he might abhorred them, but he was empirically wrong in tons of cases on the matter.

</comment></comment></comment><comment><USER18> The first chapter "Conjectural Knowledge" of his book "Objective Knowledge" is a discussion of his proposed solution to the problem of induction.

His theories of science (and in particular, of falsification) are explained in his book "Conjectures and Refutations". I read it years ago when I was in grad school.

Popper's writing is clear and jargon-free, so anyone who is interested in his ideas should take a look at some of the original sources.

Finally, "Wittgenstein's Poker" by David Edmonds and John Eidinow takes an argument between Wittgenstein and Popper as a starting point for exploring their lives and work.

</comment><comment><USER19> This whole interview sounds a lot like someone finally getting the courage to get even with an elderly man by exposing some petty aspects of his homely habits while only superficially mentioning his work.

It seems the most detailed and thorough paragraph is the one devoted to the spelling of 'Popperazzi'.

</comment><comment><USER20> Funny, funny stuff!

 _Popper glared at me. Then his expression softened, and he placed his hand on mine. "I don 't want to hurt you," he said gently, "but it is a silly question."_

Very sly form of argument, that.

</comment><comment><USER21> I never understood how falsificationism is supposed to workaround the shortcoming of inductivism.

Say I have coin that I predict will always flip heads. The first flip is tails. Hypothesis falsified! But, that still tells me nothing about the future if the coin is fair.

For falsification to work, we have to assume a priori there is not a uniform distribution over events. In which case, we can do something like Solmonoff induction anyways.

So, it looks like falsification is only useful if induction is also useful. In which case, falsification is not a workaround for induction's problems.

<comment><USER22> Falsification is only a small part of the story. The other part, the much more important part, is explanatory power. David Deutsch does an excellent job of explaining this in his book The Fabric of Reality, mainly in chapter 7. Highly recommended.

Induction, BTW, is completely invalid as a mode of reasoning (speaking here of logical induction, not mathematical induction). You can flip a coin 10,000 times and have it come up heads every time and still not be able to validly conclude that it will come up heads every time (there are a lot of ancillary assumptions that go into the deductive inference, none of which are justified). On the other hand, you can _examine_ the coin, see that there are heads on both sides, and _immediately_ conclude (soundly) that it will come up heads every time _because_ you can provide an _explanation_ : one of the two sides must come up, and they are both heads!

<comment><USER21> That's just pushing the problem up a level.

Adding an explanation is proposing a model for the coin's behavior. Regardless of the model proposed, and whether it is confirmed or refuted, if the coin is fair you learn nothing.

On the other hand, if the coin is not fair, Solomonoff induction works.

<comment><USER22> > if the coin is fair you learn nothing.

But that is simply because the theory that a coin is fair cannot be falsified with one data point. (Well, that's actually not quite true. It can't be falsified with a single data point which is "heads" or "tails". It could be falsified if the coin lands and breaks into two pieces revealing some internal mechanism that makes it unfair.)

> if the coin is not fair, Solomonoff induction works.

No, it doesn't. It is possible (given sufficient technology) to produce a coin that generates a sequence of flips that is indistinguishable from fair for any finite number N of flips, but which then produces HEADS forever after the Nth flip. Moreover, it is possible to _know_ that this will happen _without even flipping the coin_!

<comment><USER21> The problem is how do you gain these explanations in the first place without appealing to inductivism? The process of examining a thing to propose a theory about its operation seems indistinguishable in my mind from the inductivist approach of deriving general theories from particular observations. Both approaches make the same assumption of a consistent underlying order behind the observations we make.

<comment><USER22> This is the unsolved problem of "hypothesis formation." It's something that brains do that we do not yet fully understand. It's an active area of research. But the process of explanatory hypothesis formation is distinct from induction. Induction says, e.g. "Every crow I have ever seen has been black, therefore I conclude that all crows are black." (They aren't, BTW. [http://www.birds.cornell.edu/crows/whitecrows.htm](http://www.birds.cornell.edu/crows/whitecrows.htm) [https://www.quora.com/Are-all-crows-black](https://www.quora.com/Are-all- crows-black))

<comment><USER21> Yes, so it seems like falsificationism just pushes the fundamental problem elsewhere and renames it.

The basic problem of distinguishing between patterns and luck undermines both falsification and induction.

As far as I know, there is no resolution to the problem. We just irrationally assume there is no problem out of habit, as Hume states in his original work. A leap of faith, if you will.

<comment><USER22> No. Falsification is necessary but not sufficient. The best theory is one that has _two_ properties: 1) it is consistent with all the observed data (i.e. has not been falsified) _and_ 2) it is a "good explanation". Explaining what is meant by "good explanation" is too long for an HN comment, but roughly speaking it means that it is _concise_ and _brittle_ \-- any modification would cause it to become inconsistent with the data.

(So for example, conspiracy theories fail as explanatory theories not because they are inconsistent with the data -- they generally aren't -- but rather because they are not concise and brittle.)

<comment><USER21> That sounds like Solmonoff induction. But, there is still the same problem. Why are concise explanations better? Solomnoff justified this assumption by claiming we are generated by a computable prior. But, that again pushes the question back to why we can assume this. Otherwise, no observation justifies a computable prior over random luck.

<comment><USER22> > Why are concise explanations better?

Because they require less effort to work with. Note that concise is only better all else being equal. Being consistent with the observed data is necessary, but not sufficient. We can only ever have a finite amount of data, and any finite dataset is consistent with an infinite number of theories. Conciseness is just a heuristic we use to select among the infinite possibilities. It just turns out that in the universe we live in, concise theories consistent with the data have a lot of predictive power. No one know why our universe is this way. That's just how it turns out to be.

<comment><USER21> "It just turns out that in the universe we live in, concise theories consistent with the data have a lot of predictive power. No one know why our universe is this way. That's just how it turns out to be."

How is this not inductivism?

<comment><USER22> What do you think inductivism is?

<comment><USER21> My understanding is inductivism is deriving general rules from specific observations. The idea that short descriptions are better because "that is how it works" seems to be this sort of thing. From our observation of specific short descriptions working we've derived the general rule that short descriptions work better.

<comment><USER22> > inductivism is deriving general rules from specific observations

OK, on that view, yes, they are the same. But inductivism is generally understood to be more specific than that. It is generally understood to be a _particular way_ of deriving general rules from specific observations, namely, by simply generalizing the data into patterns without any regard for causal mechanisms. So, for example, if you see (say) 100 crows and they are all black, induction tells you to conclude that all crows are black without ever asking _why_ crows are black.

<comment><USER21> It's the same sort of problem of induction that Hume pointed out in his original argument. Nothing substantially changes if we substitute "short explanations are better" for "sun rises in the morning".

The basic problem remains, though we've consolidated many problems of induction into one.

<comment><USER22> > Nothing substantially changes if we substitute "short explanations are > better" for "sun rises in the morning".

No, that's not true. The operative word is "explanation", not "short". Explanation changes everything. It is not enough to say, "The sun has risen every day in the past, therefore it will continue to rise in the future." You have to explain _why_ the sun has risen every day in the past (i.e. the earth is round, it rotates about its axis, yada yada yada). Conciseness is not as much a requirement as it is a consequence of the more primary requirement of being a good explanation and consistent with all available data. In actual practice, these requirements generally eliminate all theories but one. It just turns out that those theories tend to be concise.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> > pseudo-scientific theories, like astrology and Freudian psychoanalysis

Kind of a bold take from SciAm.

<comment><USER24> No, it's not. You're inappropriately cutting off the sentence: _" He is best- known for the principle of falsification, a means of distinguishing pseudo- scientific theories, like astrology and Freudian psychoanalysis, from genuine ones, like quantum mechanics and general relativity."_

Falsification is critical to 'real' science, as otherwise the value of what is said rests solely on how it is said rather than what is said. For instance I could say that there's an invisible massless gremlin resting on your shoulder, but you can't tell it's there as it only interacts with other invisible massless gremlins and gravity. Obviously nobody would believe this, because it sounds absurd. But that's not why you shouldn't believe it. The reason you shouldn't believe it is believe it is because it's not falsifiable. You're left trying to prove that there is no invisible massless gremlin on your shoulder, which is something you cannot do.

Predictiveness is of course also critical, but predictions that cannot be falsified are irrelevant. For instance 100 wrong astrology predictions in a row does not falsify astrology. It just means 100 predictions ended up being not true for some individual or another. But because we can happily ignore the times when predictions of astrology are wrong means you ought also be happy to ignore all of the times that it's right - as it's saying nothing where accuracy matters.

</comment></comment><comment><USER25> TIL proving something is not true is not proving the negative to be true. Not.

<comment><USER26> For the fun of it, try an embedded factoid: 'blueprint' is happy to have committed some atrocity X (without negating X)

<comment><USER25> Huh? Do you know what happy means

<comment><USER26> Nah, that's a corollary to Popper's observation of a problem with all 'definitions' in that terms are defined using terms which themselves remain undefined which points to an implicit universal subjectivity, which contemporary phenomenology inspired by Husserl attempts to skirt. The above was a counterargument used on a HS hacker classmate's contention that any and all questions could be formulated requiring only a yes/no true/false answer. Prefixing a malicious factoid with a requisite subjective judgment and requiring a categorical response illustrates an ill-formed [but possible] question incapable of being affirmed or negated by any respondent.

<comment><USER25> As long as happiness and subjectivity are not well defined by the asker, answers to questions formulated using such definitions necessarily seem to them to be ill-defined...</comment></comment></comment></comment></comment>


Pathfinding Demystified - <AUTHOR> http://gabrielgambetta.com/path1.html <comment><USER2> Very cool series of articles.

My take-away, from the last part:

        The state represented by each search node doesn't have to be limited to a position;
        on the contrary, it can include an arbitrarly complex set of values. For example,
        if turning 90 degrees takes the same time as walking from one square to the next,
        the state of your character can be [position, heading]. Each node now represents
        not only the position of the character, but also its heading; and the new edges
        of the graph (implicit or explicit) reflect that.

        Going back to the original 5x5 grid, the starting position of the search now may
        be [A, East]. The adjacent nodes are now [B, East] and [A, South] - if you want
        to reach F, you need to correct your heading first, so the path would be
        [A, East], [A, South], [F, South].

        First-person shooter? At least four dimensions: [X, Y, Z, Heading]. Maybe even
        [X, Y, Z, Heading, Health, Ammo].

<comment><USER3> It's even more than that. You can get great results from A* on any graph search problem where you can find a good heuristic for the distance to the goal from some node, which may not be related to position at all. For example, I once did this with nodes that represented sets of database attributes and arcs that represented table joins.

<comment><USER4> A* is not only a pathfinding algorithm, but a search algorithm. In my AI classes I used it for pathfinding, solving sudokus and other puzzles, and even to solve a job shop scheduling problem[1]. If you can translate your problem into a graph, you can use A* with it.

In these classes, we had a problem to solve, and we had to solve it using different algorithms and in the end submit a report in wich we compared the result and efficiency of each. The ones that used heuristics, we had to implement about three different heuristics, analyze each and mix them up.

[1] [https://en.wikipedia.org/wiki/Job_shop_scheduling](https://en.wikipedia.org/wiki/Job_shop_scheduling)

</comment></comment></comment><comment><USER5> Cool article! If you're interested in how to do pathfinding in 3d, there's a very interesting library called Recast that does this [0]. The author also has a blog where he wrote about his progress, but that seems to have gone quiet. [1]

[0] [https://github.com/memononen/recastnavigation](https://github.com/memononen/recastnavigation) [1] [http://digestingduck.blogspot.com/](http://digestingduck.blogspot.com/)

</comment><comment><USER6> Maybe I misunderstand how this works but I want to find a pathfinding algorithm that is super fast and only calculates the first few steps toward a target. The target is moving and the calculation needs to happen several times every second so calculating the whole path is not feasible. It doesn't really matter if it gets stuck or doesn't find the optimal path, just that it looks like it's trying to move closer to the target.

Any ideas?

<comment><USER3> If "trying to move closer" is enough, maybe you don't even need a pathfinding algorithm - if the target is to the right move one step to the right, if the target is above move one step up, and so on?

<comment><USER7> What if there are obstacles in the path? You'll need a more complex algorithm to deal with the possibility of getting stuck in corners.

<comment><USER3> Well, he did say _" It doesn't really matter if it gets stuck"_.

<comment><USER7> _puts glasses on_ ah. :-$

</comment></comment></comment></comment></comment><comment><USER8> > # If we just got to the goal node, build and return the path.

      if adjacent == goal_node:
        return build_path(goal_node)

If you want to ensure the path is optimal, you'll have to wait until you 'expand' the goal node, as there might exist goal states in the open set with lower costs.

<comment><USER3> Fixed. It's a copy-paste artifact from Part I, where the algorithm is looking for _a_ path, not the _optimal_ path, so it didn't matter. Thanks!

</comment></comment><comment><USER9> Great article!

Just in time, as I am tracking down some A* implementation issues on an old codebase I am trying to revive.

</comment><comment><USER10> These articles are very well structured. Excellent delivery.

<comment><USER3> Thank you!

</comment></comment><comment><USER11> found this a while ago

[http://code.activestate.com/recipes/577457-a-star- shortest-p...](http://code.activestate.com/recipes/577457-a-star-shortest- path-algorithm/)

For those who prefer to read code...</comment>


Full color 3D printing - <AUTHOR> http://blog.makezine.com/archive/2010/01/full_color_3d_printing.html <comment><USER2> I love fabrication stuff like this so much; it's like seeing the future.</comment>


VMware – Backups with CBT incorrect changed sectors - <AUTHOR> http://www.running-system.com/attention-new-cbt-bug-in-vsphere-esxi-6-0/ <comment><AUTHOR> Backups with Changed Block Tracking can return incorrect changed sectors in ESXi 6.0 (2136854)

[http://kb.vmware.com/selfservice/microsites/search.do?langua...](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2136854)</comment>


Automated IP Configuration for React Native Development - <AUTHOR> http://moduscreate.com/automated-ip-configuration-for-react-native-development/ <comment><USER2> This really belongs in React Native core.

IMO</comment>


Coinbase Now the Sole Payment Processor for Nazi Fundraiser Site Rootbocks - <AUTHOR> https://rootbocks.co/ <comment><AUTHOR> "Your account has been locked, please visit coinbase.com to resolve"

Coinbase cut them off. :)

</comment><comment><AUTHOR> Thanks to those that helped get their Paypal & Stripe services cut off.</comment>


Google's 'War on Apps' Is About Making Them Irrelevant - <AUTHOR> http://www.forbes.com/sites/kurtmarko/2015/06/23/googles-war-on-apps/ <comment><AUTHOR> I liked the comment about most apps "are the smartphone equivalent of the bookmark bar"

Based upon that, all that really needs to happen is for iOS to allow bookmarks on the home screens and for these bookmarks to send notifications (is this possible now?) and there will be little point in the majority of iOS apps.

<comment><USER2> A lot of web pages I view in Safari on Mac OS X will ask permission to send me notifications (the first time I visit them).</comment></comment>


ZSH Aliases - <AUTHOR> https://thorsten-hans.com/5-types-of-zsh-aliases <comment><USER2> > I do a lot of conference speaking; if you are presenting at conferences or > meetups too, you should start your presentation by quickly explaining the > aliases you will use throughout the talk to onboard your audience.

If you're giving a presentation, please give the actual commands people need to type, even if that's a little more typing for you. There are tools to help you auto-type each line of a demo, if needed. Reduce the amount of confusion and translation people need to go through to understand your presentation.

Similarly, turn off any fonts that create symbolic ligatures, so people know what symbols to actually type.

Avoid _anything_ unnecessary that increases the distance needed for understanding between you and your audience.

<comment><USER3> I think Fish shell "abbreviations" [1] are more suitable for interactive demos than standard Bash/Zsh aliases. Basically, instead of e.g. `gc` _meaning_ `git commit` (alias), `gc` can be _expanded_ to `git commit` (abbr), so you can save typing but still show the actual command.

Modern versions of Fish has both abbreviations and aliases. Personally, I prefer aliases for providing default arguments to commands (e.g. turning on colorized output), but prefer abbreviations for timesavers like the `gc` above.

[1]: [https://fishshell.com/docs/current/cmds/abbr.html](https://fishshell.com/docs/current/cmds/abbr.html)

<comment><USER4> Is there a way to get such expansion functionality for zsh? I would always use it, not only when demonstrating something but don't want to switch to Fish only for that feature.

</comment></comment></comment><comment><USER5> For suffix aliases, you can bulk them

      alias -s {ape,avi,flv,m4a,mkv,mov,mp3,mp4,mpeg,mpg,ogg,ogm,wav,webm}=mpv

as opposed to defining them one at a time.

<comment><USER6> I can't believe I got all the way through @scriptingosx's book on Zsh and the suffix aliases just went right over my head.

(Self, you idiot)

cd'ing into a directory on the fly without even thinking about paths and just opening files by name is powerful juju

Together With AUTOCD, this feels like it shouldn't be possible...but it is.

</comment></comment><comment><USER7> I use these suffix aliases to open programs occasionally.

        alias -g G='| grep'
        alias -g R='| rg'
        alias -g L='| less'
        alias -g V='| vim -'
        alias -g S='| subl'

And if I want Zsh to auto-expand it out to type the full command (after pressing space), add this to end of your .zshrc:

        globalias() {
            if [[ $LBUFFER =~ '[A-Z0-9]+$' ]]; then
                zle _expand_alias
                zle expand-word
            fi
            zle self-insert
        }
        zle -N globalias
        bindkey " " globalias # space key to expand globalalias

Identical examples:

        grep -rw --exclude-dir={test,build} 'throw' L
        grep -rw --exclude-dir={test,build} 'throw' | less

</comment><comment><USER8> suffix aliases do not even have to refer to a real existing file. They are an alias. That's what I use to clone git repos I copypaste:

      alias -s git="git clone"

<comment><USER9> wat? doesn't this prevent you from doing anything else w git?

<comment><USER10> No, this really only addresses the situation where the URL ends with (suffix) "git".

The only time I use the full URL is the initial cloning, and the remote name thereafter. But if you use the full URL in another scenario, yes, this may interfere.

</comment></comment></comment><comment><USER11> The "navigation aliases" IMHO are better handled as ENV vars.

The example

        alias dev="cd ~/dev/"
        alias personal="cd ~/dev/thorstenhans"
        alias business="cd ~/dev/thinktecture"

Becomes

        export dev=~/dev
        export personal=~/dev/thorstenhans
        export business=~/dev/thinktecture

And now thanks to the way ZSH handles directories, you can still simply change directory with

        $ ~dev
        $ ~personal
        $ ~business

and it'll work as before but it also allows you to treat it as a fully qualified directory in other commands which I find exceedingly useful

        $ tree ~dev
        $ cat ~personal/index.html
        $ rm -rf ~business/secret-documents

<comment><USER12> You can directly create named directories with `hash -d`. Eg.

        hash -d dev=~/dev
        hash -d personal=~/dev/thorstenhans
        ...

Nothing else is needed.

<comment><USER11> I'd argue environmental variables have the strong advantage in that you can use them in cases that won't otherwise expand, namely programs that take a path parameter immediately following an equals, e.g.

        $ docker run --workdir=$dev foo

in these cases `--workdir=~dev` is not expanded and fails as docker does not understand your alias.

<comment><USER12> True and I often have both. I like my exported environment variables to be all caps and my directory aliases to be lowercase. This keeps their uses separate.

</comment></comment></comment></comment><comment><USER13> I use global aliases a lot, especially for pipes I use often. my main ones:

\- alias -g G="| grep " (`cat test.txt G some_words`) \- alias -g CC="| pbcopy " (`cat test.txt CC`) \- alias -g "?"="| fzf " (`ls -l ?`) \- alias -g X="| xargs " (`ls -l X rm`), probably my favorite (makes xargs kinda look like a pipe) \- alias -g Y="| yank "

They compose well, too.

\- Pick some file to delete from `git status`: `git status Y X rm`

<comment><USER14> Which "yank" package are you using? I came across one [0], which copies the file selected to the clipboard instead of outputting it to stdout. I managed to get it to print to stdout, though:

      alias -g Y="| yank -- cat "

[0] [https://github.com/mptre/yank](https://github.com/mptre/yank)

<comment><USER13> that's the one, from the readme: "If stdout is not a terminal the selected field will be written to stdout and exit without invoking the yank command"

Could be clearer, basically it means that if it's part of a pipe, it's going to print to stdout instead of copying to the clipboard

</comment></comment></comment><comment><USER15> > Use alias to edit and reload .zshrc

> source $HOME/.zshrc

.zshrc isn't the only startup file, if you place everything there you're likely doing it wrong and should split things like some environment settings to $ZDOTDIR/.zshenv.

Better way to reload startup changes:

      alias reload='exec zsh -l'

<comment><USER16> I have this reminder in every `~/.z*` file:

      # Load Order    Interactive  Interactive  Script
      # Startup       Only login   Always
      # </comment></comment><comment></comment><comment>- </comment><comment>-----  </comment><comment>-----  </comment><comment>
      #  /etc/zshenv       1            1         1
      #    ~/.zshenv       2            2         2
      # /etc/zprofile      3
      #   ~/.zprofile      4
      # /etc/zshrc         5            3
      #   ~/.zshrc         6            4
      # /etc/zlogin        7
      #   ~/.zlogin        8
      #
      # Shutdown
      # </comment><comment></comment><comment>- </comment><comment>-----  </comment><comment>-----  </comment><comment>
      #   ~/.zlogout       9
      # /etc/zlogout      10
      #
      # Note: ZSH seems to read ~/.profile as well, if ~/.zshrc is not present.

<comment><USER17> > ~/.zshenv

Technically it's $ZDOTDIR/…

Also note from the official documentation:

> `.zprofile' is meant as an alternative to `.zlogin' for ksh fans; the two > are not intended to be used together

</comment></comment><comment><USER18> Okay this is pretty cool, I can set up so `.js` files are opened automatically with Node.js:

        $ alias -s js=node
        $ echo "console.log('Hello world')" > demo.js
        $ demo.js
        Hello world

<comment><USER19> This seems like a good way to accidently run abitrary code downloaded from the internet.

I can see opening up in an editor as useful shortcut. But actually executing code without an executable bit seems a bit more dangerous.

<comment><USER20> Worse, imagine if someone set their shell as the suffix alias for .sh, just to save time on their curl shell pipes... Oh the horror. Suffix aliases should come with a big caveat.

<comment><USER21> Don't worry. I got you.

        alias -s sh='_c(){ curl -sk $1 | sudo bash };_c'

Wait. Improved.

        alias -s sh='_c(){ [[ -f $1 ]] && sudo bash $1 || curl -sk $1 | sudo bash };_c'

</comment></comment></comment></comment><comment><USER22> If you "override" a command in your PATH with an alias, you can access the original command with a leading backslash.

For example, I use:

``` alias open=xdg-open ```

To call the real open command, I can use \open.

<comment><USER23> That's a POSIX rule. Quoting any part of a word affects the entire word and thus preventing expansion. You can also write open''

</comment></comment><comment><USER24> Speaking of ZSH: it is the thing I miss the most in Windows (especially with ohmyzsh, and its plugins zsh-autosuggestions and zsh-syntax-highlighting).

I know that there is oh-my-posh, but it lacks such plugins. Do you know any workaround?

<comment><USER25> This can get you a part of the way, extracted from my PowerShell profile:

        ##
        # PSReadLine, see https://github.com/PowerShell/PSReadLine
        ##

        ## behaviour of Tab key autocomplete
        Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
        ## From docs:
        ## With these bindings, up arrow/down arrow will work like PowerShell/cmd if the
        ## current command line is blank. If you've entered some text though, it will
        ## search the history for commands that start with the currently entered text.
        ##
        ## Like zsh completion.
        Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
        Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

These will allow you to autocomplete previous commands from the tidpids you already types, so it no longer searches linearly through the history. I also use:

        Import-Module posh-git
        Import-Module oh-my-posh
        Set-Theme Agnoster

<comment><USER26> Do you happen to have your PowerShell profile in a GitHub Gist or so?

<comment><USER25> No, but mostly because it is not much longer than the above! Only got started using PowerShell more seriously (thanks to Windows Terminal and WSL) a couple of months ago.

Here is the other content:

      # For Agnoster theme, "user@host" will be hidden if user==DefaultUser
      $DefaultUser = "<YOUR USERNAME>"

      function vim ($File){
          bash -c "vim $File"
      }

      New-Alias pi ipython

      # git diff output uses less; it will be buggy without utf8
      $env:LESSCHARSET='UTF-8'

      # console output, e.g, when writing git diff output to file using pipe: | Out-File
      [Console]::OutputEncoding = [System.Text.Encoding]::UTF8

</comment></comment></comment></comment><comment><USER27> My personal favourite

alias -g NF='./*(oc[1])'

This points to the newest file/dir in my current dir, and it is very easy for me to untar a downloaded file and then cd into it without caring about the name of the file/dir.

tar xf NF; cd NF

<comment><USER28> 'C-x m' pulls the newest file for me:

mv ~/Downloads/[C-x m] /tmp

or even within files that match what I've typed already:

tail /logs/pho[C-x m]

</comment></comment><comment><USER29> Also worthwhile investing some time in the completion system if you are writing aliases to save time. I've done it for serverless invoke/deploy/logs and they've been so useful!

What I'm talking about is typing 'sls logs <tab>' and having tab completion for the deployed functions when typed in the root of the repo containing the serverless.yml file.

[https://github.com/larrybolt/zsh- aliases/blob/master/serverl...](https://github.com/larrybolt/zsh- aliases/blob/master/serverless.zsh)

</comment><comment><USER30> I love ZSH + Oh My ZSH. And I didn't even have a choice.

At my first company, the onboarding script included switching to ZSH+OMZ. I knew it changed the shell, but thought it was just theming - not much. A year later, switched companies, didn't install it. Don't know how I lived without it. It is such an amazing productivity update to shell life I consider it a must on every machine.

</comment><comment><USER31> If you're working with Python projects and Virtualenv then this is a great alias to have (assuming you call it _venv_ ):

      alias venv=". venv/bin/activate"

Just cd to a project root and _venv_ :)

<comment><USER32> I do something similar, although I use _venv_ to create a new virtual environment and update pip and setuptools:

      alias venv='python3 -m venv venv && source venv/bin/activate && pip install --upgrade pip setuptools -q'

And then _ae_ and _de_ to activate/deactivate a venv:

      alias ae='source venv/bin/activate'
      alias de='deactivate'

</comment></comment><comment><USER33> The `cd ...` aliases are an interesting choice; I find it more practical to use `autocd` in combination with named directories.

      setopt autocd
      hash -d dev=~/dev

Now I can just use `~dev` to `cd ~/dev` but I can also do `~dev/foo/bar/baz` etc.

<comment><USER6> Does this work backwards, too?

For example if I'm in "/Documents/Dotfiles", but want to go to "/Documents/Blog". Doing the "../" dance is tedious as hell.

<comment><USER6> Sigh, again, I should have looked this up...

% Documents/Dotfiles

[~/Documents/Dotfiles] % ../Blog

This does the trick.

</comment></comment></comment><comment><USER34> Brb. I'm going to add suffix aliases for all of my frequently used code file extensions. I had no idea those are a thing.

Although I do wish I could pass a flag that didn't open it, as sometimes I do want to append or overwrite a file without the fuss of an editor.

<comment><USER28> I don't think you're going to have a problem. The alias only affects you trying to "run" the file.

% foo.jpg

# launches image viewer

% cp foo.jpg bar.jpg

# unaffected

</comment></comment><comment><USER35> About suffix aliases, shouldn't one resort to file associations instead, and use the corresponding command (possibly with an alias)? It seems weird to have these settings stored in two places, and have inconsistent results when you open from the terminal and from another application (like a file browser).

What's the benefit of suffix aliases compared with setting up the associations? You only save two keystrokes if you have a single-letter alias (for xdg-open on linux).

</comment><comment><USER36> Nice article, on ZSH too (oh-my-zsh). Real productivity.

BTW. Anyone is really using the colorscheme like in article ?

[https://thorsten-hans.com/assets/images/posts/2020/zsh- alias...](https://thorsten-hans.com/assets/images/posts/2020/zsh- aliases-1.png)

</comment><comment><USER37> I wish I would chain things in the navigation alias.

For example if I set the following alias:

        alias hello = '~/Docuemnts'

It would be nice if I could then execute hello/world to take me to ~/Documents/world but it requires hardcoding.

Guess I could play around with functions and arguments to solve this.

<comment><USER38> fish abbreviations kinda do this, for example if you define your alias above as an abbrev and you type hello<space>, it replaces hello by ~/Documents in your command line. You still have to press backspace to remove the space you just inserted, but it's better than nothing.

Also, apparently you can add this to zsh with a plugin: [https://github.com/momo-lab/zsh-abbrev-alias](https://github.com/momo- lab/zsh-abbrev-alias)

<comment><USER29> fish-shell abbreviations are really cool, I do miss that in zsh, I'll probably give that plugin a go. It also makes it for other people easier to see what's going on when looking at the previous commands.

</comment></comment></comment><comment><USER39> If you add a suffix alias, will zsh start offering to complete matching files as though they were executable?

</comment><comment><USER40> Any benefits to switching to ZSH in Catalina? The prompt every time I open the command line is annoying me

<comment><USER41> After avoiding it for a long time, I recently switched to ZSH with oh-my-zsh and I really like it.

But if you're not ready to switch yet and still want to use bash for now, set this to remove the deprecation warning:

export BASH_SILENCE_DEPRECATION_WARNING=1

<comment><USER40> Ah thanks

</comment></comment></comment><comment><USER37> If you use oh-my-zsh, the kubectl and docker-compose plugin provide good aliases for every command.

</comment><comment><USER42> My favourites:

        alias ls='exa -l'
        alias gits='git status'

<comment><USER10> May I humbly recommend just including the git status in your LS command.

      alias ls="exa --color auto --all --group-directories-first --long --group --header --modified --sort=name --git --time-style=long-iso --classify"

That should give you a gorgeous directory list.

</comment></comment><comment><USER43> I feel a bit misled that two of the "five types of aliases" are functions and regular aliases a second time.

Tldr: 1. aliases, 2. suffix aliases, 3. global aliases

<comment><AUTHOR> Well, first I thought about publishing 4 types (I see functions as a valid kind of alias)

However, the os-specific aliases became more and more important to me due to GitHub and VisualStudio Codespaces. Targeting different operating systems is quite important to me.

But technically it's just a regular alias. (Which is also mentioned in the corresponding paragraph)

<comment><USER44> >This article will teach you how to create and use these four types of aliases

>You have seen four different types of ZSH aliases that will boost your productivity

`four` in these two lines is typo or intentional? Because the title says `5 Types Of ...`

<comment><AUTHOR> thanks for the feedback. I've updated the corresponding parts

</comment></comment></comment></comment><comment><USER5> You can, also, add flags to your program:

      alias -s txt='less -rE'

</comment><comment><USER45> alias rm=trash

I have a habit of cleaning up the workspace in my machine. This alias saved me a 1000 times already.

<comment><USER35> I prefer something like "alias sp=trash" (sp for suppress), and getting into the habit of using this alias (for instance by doing alias rm="echo nope"), so that if I use it on another machine by mistake, it just fails instead of using /bin/rm (and I can then resort to trash or double-check that my rm command is not faulty).

</comment></comment><comment><USER46> The actual link for this submission is

[https://thorsten-hans.com/5-types-of-zsh-aliases](https://thorsten- hans.com/5-types-of-zsh-aliases)

if your ad blocker is barfing on whatever bitly-based tracking doodad was submitted instead.

</comment><comment><USER47> using aliases is a beginners mistake. they will one day break. just type in the real thing.

also, if you use aliases for commands that you use a lot, it is better to remember how to correctly type the command.

<comment><USER48> imagine not typing out the full/basic git commands the rest of your life and all the time that'll save though

<comment><USER47> imagine loosing your aliases. just learn to type and enjoy life.

<comment><USER49> Or you can spend less time typing and enjoy life

<comment><USER47> yes, but with a crutch

<comment><USER50> The worst case scenario is that I lose my .zshrc file and have to google commands again

<comment><USER51> Or, keep your dot files in a public/private Git repo and don't worry about that either. Also makes setting up new machines/users a breeze.

<comment><USER49> Yeah why would anyone not version control their dot files</comment></comment></comment></comment></comment></comment></comment></comment>


Career Path of a Programmer - <AUTHOR> http://www.centurylinklabs.com/career-path-of-a-programmer/

<comment><USER2> "JUNIOR DEVELOPER: 0-3 Years of Experience (usually right out of college)" How many jobs offer that much pay for 0 years of experience and how many Juniors have even gone to College?

<comment><USER3> The salary bands seem about right to me - is definitely regional.

My first development job was in rural Arkansas, and paid around $35k. I had no degree, and my experience was all from working on personal projects.</comment></comment>


Superstitious Beliefs Getting More Common - <AUTHOR> http://news.discovery.com/human/paranormal-beliefs-superstition.html <comment><USER2> What do you expect when the subject of the paranormal has for the past few years been in reality shows (Ghost Hunters, etc.) and History Channel documentaries (UFO documentaries with well known hosts, etc.)?

<comment><USER3> I expect some public outcry or competing shows to point out the amazing assumptions and provide more realistic explanations.

</comment></comment><comment><USER4> "There is no hard data on how common it is to believe in the paranormal ... But trends in television programming offer a sense that there is a widespread interest in mystical phenomena that is becoming more common."

This is journalism?

<comment><USER5> What do you find wrong with that?

Considering that producers and purveyors of television programs, along with those who pay to advertise on those programs, do considerable monitoring to find out if they are attracting viewers, and have no qualms about canceling a show that isn't performing well with the public, a rise in successful shows about mystical phenomena is probably a pretty good indicator of increased public interest.

<comment><USER4> Primarily, that the original article is presented as a report on a scientific survey, the subjects are called "scientists" (which they may well be) and yet for the fundamental question of "how many people believe in the paranormal" we're falling back to prime-time line-ups.

Which is to say nothing of the idea that the actions of a huge industry must ipso facto be based on correct data. Relying on entertainment media as a litmus of society, or even culture, is a huge discussion, completely off the point.

</comment></comment></comment><comment><USER6> I'm expecting everyone to just go completely insane within the next few years - custom-tuned computer systems synchronized with each other will make people feel "lucky" enough that they go completely manic and need to be hospitalized.

</comment><comment><USER7> Reminds me of how Peter Thiel thinks dropping out of college will bring you great startup success.</comment>


Open Source Chat Server in Node.js with dynamic rooms - <AUTHOR> http://chat.techcentroid.com/

<comment><USER2> Not to be a killjoy, but isn't this the hello world of node projects?

<comment><AUTHOR> Yes it is. It's the first project I've created in node. EDIT: Only difference form other hello world servers is that it displays online users and supports dynamic rooms (Dynamic rooms are not working due to excessive traffic)

</comment></comment><comment><USER3> It seems like it's really getting killed under the load. This also isn't the first node project demo I've seen deployed that gets destroyed by a bunch of people visiting it to check it out. Anyone have some tips for deploying Node in a manner that your server won't just get destroyed? What's the point of supporting 1000's of users in say, socket.io if most people's deployment schemes allow for a max of say, 250 concurrent connections?

Any tips or explanations would be most welcome.

<comment><USER4> Be sure to use Node's cluster API (<http://nodejs.org/docs/v0.6.0/api/cluster.html>) so each core on your server gets utilized. Doesn't look like this, looking at the source, is doing that so unless they're manually running an app instance on each core and load balancing between them then they may be underutilizing their hardware.

Beyond that: using Nginx to serve any static assets ([http://stackoverflow.com/questions/5009324/node-js-nginx- and...](http://stackoverflow.com/questions/5009324/node-js-nginx-and-now)) and standard stuff like making sure everything's cached that should be, load balancing, etc.

</comment></comment><comment><USER5> XSS Vulnerable. USE AT YOUR OWN RISK

<comment><USER6> Please explain

<comment><USER5> <https://github.com/lakkadshah/SImple-Chat-Server/issues/1>

<IMG """><SCRIPT>alert("XSS")</SCRIPT>">

</comment></comment></comment><comment><USER7> You're opening yourself up to a serious race condition by using a global variable ('params') to share state across requests. The delay between the GET and the socket connect could easily be seconds; under load, it will likely be next to impossible to join the right room.

You probably want to use cookies (which socket.io helpfully supplies) for this instead.

<comment><AUTHOR> Thanks, I'll look into it and release a update asap

</comment></comment><comment><USER8> Similar open source app written in asp.net mvc + signalr: <http://jabbr.net>. I believe the author has been working on getting it to scale on azure.

</comment><comment><USER9> Seriously, limit the damn message rates. I can crash the server with one line in the chrome js console.

<comment><AUTHOR> I'll be releasing an update soon, I've exposed sendMessage, I'll change it into something like form submission and then extract the message from the response.

</comment></comment><comment><USER10> The challenge in any chat server is how to scale it. The rest is easy.

</comment><comment><USER11> and the site title is still "Bootsrap from twitter"

</comment><comment><AUTHOR> XSS Vulnerability fixed. Thanks guys

</comment><comment><USER12> You should make use of Redis pub/sub</comment>


Show HN: Commandeer 0.2.2 Released – Multi-Cloud Desktop App, New Service – EC2 - <AUTHOR> https://getcommandeer.com <comment><USER2> Interesting! I'd not seen this before. I like the idea of a central place to manage these services, because I find some of them have utterly impenetrable UIs. Good if you're using multiple services.

I work on Snapcraft. As this is an electron app, you might want to consider making a snap of it available in the Snap Store, so it's more widely discoverable by developers on Linux desktops. I wrote a blog post detailing how over here [https://snapcraft.io/blog/bringing-electron-applications- to-...](https://snapcraft.io/blog/bringing-electron-applications-to-linux)

I'd be happy to help promote the application if/when you choose to land it in the Snap Store.

<comment><AUTHOR> Very cool! Yea, we want to add these into the Windows Store and Mac Store shortly, and were investigating stores for Linux as well. Shoot me a message on our chat on the sote and we can talk. We have availability on Linux already, so this would be ideal to help more devs find out about our service.</comment></comment>


In China and India, men outnumber women. The consequences are far-reaching - <AUTHOR> https://www.washingtonpost.com/graphics/2018/world/too-many-men/ <comment><USER2> The article expresses the difference in numbers instead of percentages for sensationalism when the imbalance pressure is the ratios. We've had the reverse imbalance from wars etc and it would be good to compare and contrast rather than claim the sky is falling like never before.</comment>


How I discovered my love for JavaScript after throwing 90% of it in the trash - <AUTHOR> https://hackernoon.com/how-i-rediscovered-my-love-for-javascript-after-throwing-90-of-it-in-the-trash-f1baed075d1b <comment><USER2> `const` doesn't mean immutable data. It means immutable variables, i.e. you can't reassign to `const` variables. You can mutate the data regardless (push to an array, add a new key to an object), unless the variable points to an immutable value to begin with (primitives, or actual immutable data structures such as with Immutable.js).

</comment><comment><USER3> Replacing ifs with ternaries and switches with cond are hardly significant or important changes.

The whole point of abstraction (functional or object-oriented) is to push that logic from control structures in code to composition structures in runtime data.

If you weren't replacing conditionals with polymorphism, you weren't doing object-oriented programming in the first place.

</comment><comment><USER4> > The for loop is now completely extinct in my codebase. If you do happen to > stumble across one, point it out so I can kill it.

For loops in JS are _significantly_ faster than .forEach() or .map()

When performance matters (WebAudio, WebGL etc), you can't easily get rid of for loops just yet.

<comment><USER5> This isn't a concern unless you're tuning performance and the loop is a bottleneck. forEach _can_ be slower (if the JS engine doesn't inline the function body), but not to the extent that you need to structure your code around it.

<comment><USER4> Yeah, I agree with that. Which is why I mentioned performance sensitive stuff like WebGL.

Personally I use the functional methods whenever I can, but the original quote I re-posted indicates that the author thinks that for-loops should always be replaced with their functional equivalents, and I was just pointing out that this is not universally a good idea yet.

<comment><USER5> Yeah, I agree - just adding a caveat to your caveat.

Personally I found the whole article very skippable. None of it is necessarily terrible advice, but everything is overstated, and said without really explaining why its advice better than the alternatives.

</comment></comment></comment></comment><comment><USER6> Suggestion: throw the remaining 10% away as well and go for ClojureScript. You are ready.

</comment><comment> xkcd-sucks Is it really okay to do recursion in JS?</comment>


Idea for a new web app - <AUTHOR> http://lkozma.net/idea.php?dea=15

<comment><USER2> I don't think this is a half-bad idea, frankly. My thoughts/suggestions:

1\. the hardest part here would be the GPS hardware component. Marketing and selling that would be expensive. Perhaps there is a way to track via existing devices? I don't know, I'm not up on my GPS tech.

2\. I wouldn't even worry about the whole airplane thing anytime soon.

3\. I could see this being really popular with couples/families. You could also link it to something where if the wife wants milk, she can tag it, and as the husband approaches a store selling milk, viola, text msg. telling hime to get milk. Pretty complex, but neat.

Good luck to you.

<comment><AUTHOR> The technology exists already, small devices like that are used for example for tagging migrating birds and rare animals and tracking their paths. I'm more curious about the social/usability issues, whether people would voluntarily give up their privacy for something like that. Anyway, I'm not going to implement it tommorrow, I'm just kicking around different ideas.

</comment></comment><comment><AUTHOR> As someone pointed out in comments, geotracing.com does a similar thing. And of course companies have done that for fleet tracking for a long time too.</comment>