Why Fiction Beats Truth - <AUTHOR> https://www.nytimes.com/2019/05/24/opinion/why-fiction-trumps-truth.html <comment><USER3> Fourth: for almost anything in life, knowing the truth doesn't matter in practice - instead, people believe things that make for good social objects, i.e. catalysts of discussions with other people. In cases were being wrong leads to direct and near-immediate consequences, people tend to learn the truth quickly.

The problem with that is that today, a lot more things have delayed effects, or effects that only materialize at scale. For instance, taking whatever bullshit news sources publish at face value works as long as it only matters in bar conversations; unfortunately, these things also shape public pressure on governance - in particular in democracies, where people end up voting on it.

WRT. article's point 2, politics example: I really wish people would learn better. Believing a leader - any leader - uncritically is generally unsafe for your own survival.

<comment><USER4> Well said.

So, someone spouts a well researched conspiracy and others engage in a conversation and the person gets to recite their well prepared talking points. That feels good to the person, that's positive reinforcement. That's a story they can take to their online echo chamber for even more positive feedback.

They hold on to the conspiracy as something to talk about, and as something they can feel superior about.

So should we just avoid debate? That doesn't seem right.

<comment><USER3> The scenario I had in mind was not debate, just information exchange. Imagine a person meeting friends in a bar, or at a dinner party. They're likely to exchange stories they read about in the news. "So this politician said $outrageous-thing!" (taken outside of context, but who cares), says the person. "Oh yeah, all X are bad, have you heard of $event-that-never-actually- happened?", replies the person B. The conversation goes on. Ultimately, little to no truth was exchanged, but people bonded together. Fiction served its social function.

IME, this is how most not-directly-impactful knowledge is used by people. I've been in countless such situations, and it's painful for people with stronger affinity to truth. Unfortunately, under the guise of "good manners", society teaches you to shut up.

We shouldn't avoid debate. We just need to ensure that people debating are there to discover the truth, and not just pick up morsels to share at dinner parties.

<comment><USER5> >Imagine a person meeting friends in a bar, or at a dinner party. They're likely to exchange stories they read about in the news. "So this politician said $outrageous-thing!" (taken outside of context, but who cares), says the person. "Oh yeah, all X are bad, have you heard of $event-that-never-actually- happened?", replies the person B. The conversation goes on. Ultimately, little to no truth was exchanged, but people bonded together. Fiction served its social function.

If I hear something that seems right and I start repeating it, I generally try to go check if I am talking rubbish or not. If I find out that I am, I stop repeating the thing, or I include the truth next to the story, if the story is entertaining enough in and of itself. I tried to explain why I do this, while having a recent discussion with a visitor about the Navy vs Lighthouse story - [https://en.wikipedia.org/wiki/Lighthouse_and_naval_vessel_ur...](https://en.wikipedia.org/wiki/Lighthouse_and_naval_vessel_urban_legend) and was told that what I was doing was anti-social and that I wasn't helping anyone by being interested in the truth of things that people have said. I tried to explain that I was doing it to satisfy my own curiosity for the main part, and this completely floored them. They could not understand the motivation of being personally interested in the reality of a story, for them the only value was if they liked the story.

<comment><USER6> Interesting - I've heard this, but always as a joke. It never occurred to me that anyone could actually believe it. I am not saying that you did that but I can imagine how someone explaining to the laughing audience that this event did not really happen would be kind of anti-social.

<comment><USER3> There is no good way to explain it to them. You do it at the moment the story is told, you're seen as a killjoy and a smartass. You wait until after the meeting to correct the person who told it, and (unless you're really good friends with them) you'll likely offend them ("why would you correct me on something so trivial?!"). You could try and wait a couple of days, and then stage a sudden discovery ("oh, I'll be damned, I just read that $story is not actually true!"), but the objection of would-be offended person is still technically valid - why are you expending so much effort on something so trivial?

So in the end, this stuff gets largely uncorrected.

<comment><USER5> >You do it at the moment the story is told, you're seen as a killjoy and a smartass.

I have long found the fact that 'trying to be smart' is an insult in our society, to be a source of both bewilderment and depression. I remember being utterly confused when even the teachers would use it at school. I'd ask them why we were at school, if we were not trying to be smart? Which would then get me into trouble, presumably for trying to be smart.

After a while I got bitter about this and my response turned into; 'Yes I am. Tell me, how is trying to be thick working out for you?', which still got me into trouble, but with more entertaining results.

<comment><USER3> Yeah, it is. Which circles back to my original comment - regular people don't care about being right except in things directly and immediately impacting their lives.

Note however that in both cases they (and generally all humans, to some extent) care about their relative status; in most circumstances (especially when in a group), correcting someone will be seen as an attempt to diminish their social status.

It's unfortunate that this is the case, and a lot of people who honestly value being correct have to struggle with getting the handle on this whole status mechanism. I'm not even blaming most people that much here; I do my best to always accept corrections well, and I still at times feel bad or get angry when someone points out that I'm talking nonsense.

<comment><USER5> Some things are both harsh and good, and disillusionment is one of them.

In the moment, I can be very combatative and do not tend to fold easy, but if someone demonstrates to me conclusively that I am talking utter bollocks, I appreciate that I have learned something and I try to remember to thank them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> This truth v. fiction binary is common thinking but far too simplistic.

The idea that there is just a set of facts on one side of the fence and on the other is all the lies -- and the dumb hoi polloi just tends to always go for the "bad side"... This is just simplistic, unimaginative, unrealistic thinking.

Even a cluster of the most brutally "true" of facts can be so readily misconstrued and misapplied and result and motivate terrible consequences. Anyone who claims to have the truth _might_ be holding on to a few axioms resembling facts -- but they will always be applying their own visceral interpretation of what should be done with those facts.

So when the hoi polloi favors fiction over facts, it's less for any of the reasons mentioned here which incidentally are all rooted in the (frankly, dumb) idea that the hoi polloi is dumb. They're not. They look past the trivial truth of small, static 'facts' and are looking at the bigger picture which requires metaphor and right-hemispheric perception, etc.

<comment><USER8> It is also simplistic to think that since people can't handle the truth, lies are better.

narrative per se is not bad, but lies are.

Of course we can resort to Gödel and his incompleteness theorem to reject axioms validity, but try that argument at the bar, with the first stranger you meet.

The bigger picture requires profound knowledge of the current laws to imagine how they could break under a new, different paradigm.

Think about Asimov's work, he was writing fiction, but was writing something that could happen, not something just because it could bond people together.

TL;DR: saying "we need to switch to renewable sources of energy or we'll all die" is fiction, we don't know for sure if we'll all die, but it's good to switch to renewables.

"If you do this or that God will punish you" is a lie that nobody should tell and nobody should believe in, even when it sounds good (thou shalt not kill), you shouldn't do it because it's bad, not because God told you.

</comment></comment><comment><USER9> So what should one do when one finds themselves being turned into roadkill under the wheels of someone else's socially useful fiction?

I feel like the author of the piece might even advocate going along with-- or at least not wasting your energies fighting-- many cases of socially useful fiction. But that hardly works when you happen to be the person or of the creed one targets.

<comment><AUTHOR> First, realize that simply pointing out to people how they are mistaken won't change much.

Myths, for some reason, often have loopholes. Achilles is invincible, except for his heel. Samaritans are bad, except for some good ones. So sometimes you can position yourself as matching the loophole and get a pass. Sometimes this is humiliating, though, or funnels groups of people into acting out narrow stereotypes.

<comment><USER10> > First, realize that simply pointing out to people how they are mistaken > won't change much.

That lesson took me embarrassingly long to learn, but it's a good one.

I haven't given much thought to pattern-matching a loophole as a strategy, but your observation is key: people are willing to make exceptions, you just have to figure out how to get them to make an exception for _you_.

How to do that? Virtue signal. Watch other people for ideas. You won't have to watch long, people _love_ to virtue signal and do it all the time. Validate their VS to score some quick points, swallow the small amount of bile that it brings to the back of your throat, and then pick something politically adjacent but not so directly similar as to compete/threaten. Those constraints are pretty loose, they should leave you with a wide field of possibilities to choose from. Pick the least unpalatable and you're set.

<comment><USER11> Your approach increases the problem's scale. I've found the exact opposite, that by carefully confiding in friends about my non-conformity often brings out their relieved agreement and binds us together much strongly. In these times it is important to start making a mental list of who behaves like a human and who behaves like cattle.

</comment></comment></comment></comment><comment><USER12> I'm a big fan of Harari's Sapiens, like a lot of people.

But... I think the.. narrative gets into inevitably sticky territory. It is, after all, a narrative explaining the role of narratives...

Pure truths and falsehoods are generally small. e=mc^2 or F=ma. Cesar crossed the Rubicon in 49 BC. Facts, baiscally.

Einstein heralded the atomic age, when man began to master matter & energy. Newton's mechanics became both a model for scientific exploration and a symbol for the coming rational age. The Roman Republic ended that day, and the Empire began.

These no neither truths or falsehoods. They're narratives, or fictions as YNH sometimes calls them.

The truth of a narrative is much squishier than the truth of a fact. A case in point is right here: he gives 3 reasons for why fictions succeed politically. These reasons are narratives themselves. For example: _" How many Israelis Italians or Indians can stomach the unblemished truth about their nations"_ I don't think there _is_ an "unblemished truth" about a nation. History is ultimately the biggest harriest example of narrative making. Without narratives, there is no meaningful "Italian people," just people and places and stuff. To make it meaningful, you need a narrative. A story that tels you what "The Italian People" are.

I think a better understanding of how political narratives work is important (and interesting). I'm just skeptical that a true-v-not_true classification is meaningful or useful.

Political pychology should be a field in itsewlf.

It's very hard to project much meaning from facts. Facts don't tell you what Cesar means for our Republic.

<comment><USER8> > I don't think there is an "unblemished truth" about a nation

As an Italian, born in Italy and still living in Italy in 2019, I think there is and it is true that if you talk about our recent past very few (20-25% maybe) can stomach it.

Italian people IS "just people and places and stuff", but you forgot food.

> Facts don't tell you what Cesar means for our Republic.

It means he ended it.

He was a military leader who seized control of and put an end to the Roman Republic.

This is not narrative, this is a fact.

Narrative is letting Brutus become a traitor, while he conspired to kill a tyrant, narrative is Shakespeare that named him "the noblest Roman of them all".

<comment><USER12> I'm not disagreeing with the main points. There are things about our countries that we can't stomach.

My point is that to be meaningful politically, that stuff is likely to be narrative.. which is not the same as fact. "Cesar ended the republic" is a narrative sort of a statement not a factual one. Cesar crossed the Rubicon, named himself distator for life, marched on Rome... those are facts.

By narrative, I don't mean that it's false.

The Republic itself is/was a story, and the story changed and evolved constantly. Just like democracy, capitalism or whanot it's not a legible concept. It's more like "X is the better man for the job" than "X weighs more than Y." Whether the Republic ended or not only has meaning within the context of the story. There's no external test that declares a republic dead, outside of the narrative.

I recently read a Chinese history timeline. The jist was "China was an empire for thousands of years, until mao." Whether or not something is or isn't "The Chinese empire" is a narrative claim, not a factual one.

The first step towards a truthier world is recognizing the difference between facts and stories. Truth means something totally different depending on what you're dealing with. Apart from climate change, I can't think of major political questions where factual truths and falsehoods play a roles anything like role naratives play.

</comment></comment></comment><comment><USER13> Another: two polar opposite political stances can be true at the same time. Immigraton can be and is both good and bad. So are social help programs. Guns. Government intervention. Surveilance. Etc.

Your truth is not the only truth. There are an infinite true perspectives on a issue. Another perspective is not false just because it opposes yours and yours is true.

<comment><USER3> I agree, but it's important to understand this strictly, and not come to the conclusion that all views are equal and equally true.

To more mathematically minded people I'd explain it like this: two political stances can be correct at the same time, because political stances are projections of high-dimensional conceptual structures to lower-dimensional space. Both a circle and a rectangle are correct 2D projections of a 3D cylinder. But if your 2D projection of a cylinder looks like a hexagon, you're wrong.

<comment><USER5> >To more mathematically minded people I'd explain it like this: two political stances can be correct at the same time, because political stances are projections of high-dimensional conceptual structures to lower-dimensional space. Both a circle and a rectangle are correct 2D projections of a 3D cylinder. But if your 2D projection of a cylinder looks like a hexagon, you're wrong.

This is brilliant. I tend to fall back on category theory and multivalent logic for the same job.

<comment><USER14> Not to pick on you; I like this comment.

But it's about the most HN comment I've ever read!

Beautiful.

<comment><USER5> Thanks and don't worry, it usually takes me a while to even notice when people are picking on me, am notoriously bad at detecting that kind of thing. Obliviousness to social cues does come with some perks.

Out of interest, I'd like it if you could explain why you think it is the most HN comment you've ever read. I have some idea, but am not entirely sure.

</comment></comment></comment></comment></comment><comment><USER15> I'm not sure I agree with the last line that these groups prize unity at the _expense_ of truth. My takeaway from the rest of the article is that trust (performed as social cohesion) is the underlying social value that we are actually talking about in many of these conversations. Both verifiable truth (e.g. scientific predictions that we can trust) and fictions (e.g. elaborate stories that give us a shortcut to trust, as mentioned in the article) play a part in building trust. Successful organizations understand the right mix of truth and fiction to inspire trust—the morals of bible stories are powerful because they are "true" for many people to the extent that seem to reflect many people's day to day experience. So, rather than unity vs truth, maybe we should think of unity as a function of a variety of strategies, one of which is truth? And successful organizations as ones that find the right balance?

</comment><comment><USER16> 2 must have Churchill quotes:

 _Men occasionally stumble over the truth, but most of them pick themselves up and hurry off as if nothing ever happened_

 _A lie gets halfway around the world before the truth has a chance to get its pants on_ (unsourced, but why not attribute it to Churchill anyhow? he deserves it)

<comment><USER17> > why not attribute it to Churchill anyhow?

Because it isn't true. Was the irony intentional?

Apparently [0] it's from Roosevelt's secretary of state, Cordell Hull.

[0] [https://richardlangworth.com/galloping- lie](https://richardlangworth.com/galloping-lie) , also [https://www.politifact.com/punditfact/statements/2017/oct/09...](https://www.politifact.com/punditfact/statements/2017/oct/09/colin- kaepernick/nfls-colin-kaepernick-incorrectly-credits-winston-/)

<comment><USER18> The original original is from Jonathan Swift: "Falsehood flies, and truth comes limping after it, so that when men come to be undeceived, it is too late; the jest is over, and the tale hath had its effect: like a man, who hath thought of a good repartee when the discourse is changed, or the company parted; or like a physician, who hath found out an infallible medicine, after the patient is dead."

<comment><USER19> Indeed, that's why, as Swift insists, we have to "Speak Now" !

</comment></comment></comment></comment><comment><USER20> It is possible to engineer communication to alter the power levels between fiction and truth. Just look at Twitter, which did this in the wrong direction - there is reduced accountability and greater power in quipping something misleading or false, compared to doing so offline.

But if instead there was an engineered solution to speed up the feedback loop between theory and reality, or fiction and truth, then there would be more of a cost towards saying outlandish things.

"Truth wins in the long run" and "in the long run, we're all dead"... so you have to figure out how to make it more of a medium- or short-run. There's also that other quote, I forget, about "my irrationality exceeds your bankroll", where people can lose their shirt betting on truth if the market stays irrational long enough. That's when you need clearer truth singles sooner, so truth can win more reliably.

</comment><comment><USER21> It seems to me profession/ occupation might play a role here too.

Doctors & software developers I know favour truth based discussions.

Friends/ associates in sales are far more likely to enthusiastically regurgitate something emotive (untrue/ misrepresented) from a tabloid paper (as prime conversation).

So, shower thought: is the value we place on truth in social situations affected by the frequency truth's value is demonstrated to us in our daily professional lives?

</comment><comment><USER22> There is one context when truth beats fiction - cold hard reality which cannot be fooled. Unfortunately often takes the form of ruin from war, fammine, pestilence, or economics. Imperial Japan is a good example of a "delusional empire" \- they insisted upon Banzai Charges and Kamakazi squandering their experience. Or Lysenkoism and the Great Leap Forward.

</comment><comment><USER23> Our mind likes plausible stories. It helps to make sense of the past and to have the -incorrect- perception that one can predict the future.

That's why fictions are so powerful. We easily get caught by them.

If people beliefs were purely rational, they would be able to weight the facts against the fictions. However, our subjective confidence in a story (fact or fiction) depends on many factors: \- We tend to believe stories that appear to be based on cause-effect and that express continuity. \- We tend to believe in things that people that we trust and love believe in.

</comment><comment><USER24> I hadn't thought of it this way; but it does seem like a pragmatic framework for understanding truth at societal scale. Ultimately, the truth is messy and fiction is often easier to understand.

</comment><comment><USER25> Someone described[1] preferring the 'capitalist enemy' FT, to the NYT, because "the Financial Times is just a better paper. It covers the world as it is - <USER2> global battle not of ideas or values, but of economic and political interests." (And "the Times [is] bloated with opinion pieces and op-eds".)

So here we have a op ed, exploring why people believe fictions, which somehow fails to emphasize that it's economically profitable to lie to people. Even with its focus on leadership, that's odd.

As for cost, the NYT rarely manages to mention "regulatory capture"[2], consistently described TPP as a free trade treaty, but not Canadian resentment of being arm-twisted by Hollywood via USMCA to extend copyright term, nor China's of US pharma currently attempting similar.

The NYT had an ad slogan, "The Truth you deserve". Which seemed to me perhaps poor advertising, as I frequently thought "No, we deserve better." Or... perhaps they were right.

[1] [https://www.cjr.org/special_report/why-the-left-cant- stand-t...](https://www.cjr.org/special_report/why-the-left-cant-stand-the- new-york-times.php) [2] [https://www.nytimes.com/search?query=%22regulatory%20capture...](https://www.nytimes.com/search?query=%22regulatory%20capture%22&sort=newest)

<comment><USER26> > fails to emphasize it's economically profitable

I don't know how you could read it and walk away with that impression. It's very clear that they are saying social cohesion allows the organization of millions of people into productive societies as we know them. There are things to disagree with, but that sticking point doesn't make sense.

<comment><USER25> Sorry I was unclear: "it's economically profitable to lie to people" ... for the agent promulgating the lie. Which incentivizes the creation of widely- believed fictions, despite societal cost. Climate change is dishonest scientists; sugar is healthy wonder-food; opioids are low-risk; vaccination causes autism.

</comment></comment></comment><comment><USER27> Isn't this article a fiction itself? in a sense that it is not proven to be true or impossible to prove?

It's interesting because it looks like people are buying this story thus proving his point, fiction (this article) beats truth.

</comment><comment><USER28> What if a fiction is someone try to tell the truth that will happen in the future, but in a acceptable and literature way?

</comment><comment><USER29> What do you mean by truth? We act on heuristics that are sufficiently good approximations to be useful.

For example, we act as if the world is flat when we run or drive. We act as if the world is spherical when we fly across continents.

However, both are only approximations to the reality (Earth is an ellipsoid). We use them because they are useful. It is reasonable to have multiple views of the world that changes with scale.

</comment><comment><USER30> Tldr:

1) you know where lies come from: people you know. Therefore you can trust people who tell the same lies.

2) you can trust people who believe your lies because believing lies is more expensive than going with the truth, because expensive signals are harder to fake.

3) the truth hurts. No one wants to follow someone who hurts them. We prefer to follow people who lie to us so we will feel better.

<comment><USER31> I'd say there's also an element of enjoying a narrative, whether we call them memes or myths, that is satisfying and fits a story we know.

Some time around 2000 I started seeing most news (especially long form) through this lens and I discount/research it a bit more the more it follows a standard narrative. Usually, it's a sign that facts have been cherry picked or out of context to fit, thought that's not always the case. It's rare that there's a story (or scientific research) that doesn't have some warts and things that don't fit, and to me those aspects are part of what give it a ring of authenticity... although they are also falsifiable.

Many current memes (and science press releases) are terribly simplistic and made for those who truly don't care about truth, but are looking for that hit of satisfaction of discovering they were always right.

<comment><USER32> I find memes to be often low effort half/quarter-truths or no truth at all and their humor lies within the irony that they _aren 't_ true at all. What is the impact on society when people in masses are consuming and entertaining themselves with this "content"?

<comment><USER33> Depends on which definition of meme you're using:

\- a humorous image, video, piece of text, etc., that is copied (often with slight variations) and spread rapidly by Internet users.

\- an element of a culture or system of behavior that may be considered to be passed from one individual to another by nongenetic means, especially imitation.

The former refers to things like the sometimes clever pictures you see on social media, the latter refers to things like what you read in the newspaper (often referred to as facts), but both kinds have widely varying levels of truth.

</comment></comment></comment></comment><comment><USER34> "Real life is like bad television" (paraphrased woody Allen)

</comment><comment><USER35> Bypass? Ahh is by Yuval that guy who wrote homo deus so he probably repeats his ideas and this is promo for his book

<comment><USER36> I can't say I like everything he says, but he's got a lot of good stuff to say.

<comment><USER35> For a while I used to bypass NYtimes by having them redirect from Facebook (they fixed it):[https://lm.facebook.com/l.php?u=https://www.nytimes.com/2019...](https://lm.facebook.com/l.php?u=https://www.nytimes.com/2019/05/24/opinion/why- fiction-trumps-truth.html)

</comment></comment></comment><comment><USER37> Can the NYT apply their insights to how they deal with the "fine people hoax"?

</comment><comment><USER38> Would this explain President Trump's tactics too?</comment>


Karl Marx has the last laugh - <AUTHOR> https://www.philosophyofmoney.net/marx-has-the-last-laugh/ <comment><USER2> > Why has China progressed more rapidly and pervasively than any other major > economy in AI, machine learning, fintech and social media. Because the > contents of our minds is now available to the social planner.

Wait until the author hears about the economic policies of Deng Xiaoping, bringing capitalist policies into China in the 1980s which opened it up to the free market. This goes somewhat against the ideas of capitalism and communism co-existing which Marx wanted the former to be replaced with the latter.

> Is Marx about to have the last laugh?

If North Korea is his best example of his ideas truly 'working' or 'existing' then I should expect his true supporters to try out this 'real communism' in action by paying a visit there.</comment>


Letting go - <AUTHOR> http://mattgemmell.com/letting-go/ <comment><USER2> This is one of the most self centered things I've ever read. Modern day scrouge, "I'm also letting go of second chances. One strike and you're out." Everyone makes mistakes, Honestly with that attitude your going to end up friendless and alone when you need people most. There are better ways than shutting everyone out. I find this persons attitude incredibly frustrating. You need people that challenge you in ways you don't like or you really won't grow or experience life. Shutting out everyone who says things you don't like doesn't help you, it hurts you. You are injuring yourself by not hearing other opinions. Believe it or not but you are not always right.

<comment><USER3> "I'm also letting go of second chances. One strike and you're out."

This is the part that I came to criticize as well. To me, it doesn't sound like letting go at all; it sounds like _holding on_ to a grudge.

I excommunicated a family member from my life a while ago. I thought I was protecting myself and my family, but I was really just prolonging my own pain. I have since forgiven him and cautiously started letting him back into my life in limited ways. To me, that's an example of really letting go.

<comment><USER4> > I excommunicated a family member from my life a while ago. I thought I was > protecting myself and my family, but I was really just prolonging my own > pain. I have since forgiven him and cautiously started letting him back into > my life in limited ways. To me, that's an example of really letting go.

Congratulations on making progress on a relationship that works for you. I'd like to point out, though, that for many with abusive or dysfunctional relationships with a family member, stopping contact is the letting go.

</comment></comment></comment><comment><USER5> I find the attitude of "letting go" to be specifically helpful for news. Unless you're directly affected _at the time of occurrence_ by something like the Malaysian airliner disappearing, or by a mass shooting...you gain _virtually nothing_ from being atop the news. You skip all the knee-jerk reactions and theories, the hours of meaningless jabber used to fill the 24-7 newscycle, the errors in judgment made by first impressions.

I would say you gain less than nothing by following breaking news...you lose time and attention obviously...but for the most part, you also fill your mind with what is the very definition of information junk...stuff that, at best, is "the first draft of history", and at worst, is just the kind of nervous blather people make when they're anxious and waiting for resolution.

If there was a way to put a "Show me nothing newer than a week ago" filter on the Internet, I'd probably turn it on by default.

<comment><USER6> I've been giving up news slowly over the years. When I was young, news gave me information about the world. I learned about countries and cultures I would have had little knowledge of otherwise. I used to listen to the BBC World Service all day every day.

I moved on to other sources, looking for the least bias, the most facts, the picking of stories that actually mattered (to me); eventually I realised that I'd never find what I was looking for: Every source became painful to read, watch or listen to.

So I've given up, for now. If there happens to be news in front of me, I won't avoid it; It's just that I don't actively seek it or subscribe to it.

Maybe I'll become a news consumer again in the future.

<comment><USER7> Yeah I'm a sucker for the news. I'm not wedded to cutting edge news though. I'd be happy picking up last month's paper. Occasionally I just drop following it, and don't really miss it. It's easy to cut yourself off or become very myopic. That's what worries me. Small things can end up having the same gravity as a hard hitting news story. I can become rather petty.

Wading through comments is hard work. But a little feedback and opinion from others is good. I only wish it was a genuine sample. My local newspaper's online edition is full of the same commentators who can't help but comment on everything posted, with their same negative replies and opinions/agendas. It can make you feel a little ill; you can start to believe that many people do hold those views. But, for all I know it's the same girl with ten sock puppet accounts.

A little real life interaction with others can be quite reassuring and calming, even if you may end up discussing trivialities.

I do find the radio offers a nice condensed more easily consumable news bulletin.

</comment></comment></comment><comment><USER8> I'm honestly surprised at the amount of reactionary responses on this thread. Everyone is so quick to take up arms against this man because he's systematically eliminating distractions from his day to day. Some people are making wild jumps from point A to point X -- postulating that he'll be friendless and alone, telling him that he's selfish, theorizing that it's not going to work, calling him a robot.

None of us are in Matt's situation. Stop projecting your moral compass, fears, and/or insecurities on him.

If it works, I envy his ability to cut out noise from the signal.

<comment><USER9> The vile lie of social: that we're all 'connected' to one another, when we're really mostly just typing text back and forth. And most of that communication is noise, status-signaling, or self-promotional.

It's exhausting.

There's nothing normal about ingesting loads of human opinions on the most trivial facts several times a day.

<comment><USER10> Thank you for the impressive quote.

I realized this recently while pondering "The Wisdom of the Crowd/Cloud":

Using a (inter)net to fish out all the wisdom of the crowd mainly brings all the most common opinions up to the level of common sense. It's only additive to that niveau; it doesn't extend to brilliance. The wonderful human collaborations, like GNU/Linux? Those are created by a concentrated coterie, just as most other impressive creations. Surely, the web has catalyzed them, but they were strong anyway, not the result of amplified ignorance. Expecting a shotgun approach to advance beyond common sense means using a additional filter to except those ideas which do not rise to the level of common sense, and therefore, is more work.

I'm sure humans, pre-media, exchanged numerous opinions about things for much of their days and evenings, but they weren't work. Work was toil, solitary endeavors, and collaboration with mostly familiar people and a few strangers (imagine a marketplace with travelers). Now, with "social media," opinions have become work, and as you say, exhausting.

<comment><USER9> Hope you see this!

There is no "wisdom" of the crowd/cloud. There's only the collective consensus which is, by definition, mediocre. True progress requires unconventional thinking and slightly obsessive qualities which are often rejected. Additionally, the burden of the work itself is extremely unevenly distributed. (A lot of my OSS work seems more like people requesting features rather than actually, you know, implementing them for themselves and submitting a pull.)

Another way to phrase this is: show me one great thing the collective crowd has created. Just one! We have thousands of examples of brilliant individuals, who, working alone for long (and often seemingly fruitless) hours produce incredible works of engineering, art, mathematics, etc.

These opinions are slightly taboo; as they cast doubt on the value of our 'connections.'

</comment></comment></comment></comment><comment><USER11> Procrastination will always find an outlet.

You've turned all that off then focused on writing a piece about turning things off - so another outlet appeared almost instantly.

Embrace it - there is probably a reason you are not ready to do the thing you are running away from - you've probably not finished figuring it all out.

The time spent writing that would have likely been better deployed meditating or walking.

<comment><USER12> But the writing IS the meditation.. And you can write while you meditate.

<comment><USER13> There's definitely a possibility for overlap between writing and mindfulness meditation, but not all writing is meditation. If you're seeing this as a way to multi-task, that's definitely not mindful, and it doesn't fit into any of the other forms of meditation I know of.

</comment></comment></comment><comment><USER14> Seems like he's given up on listening. No wonder it seems so hard to do. He's got his way and he's sticking with it. Oddly, even whilst plugging his ears and ignoring others, he says he thinks we too should be like him. So we should not follow his example and ignore him; we should pay attention to his message.

Shedding the unimportant is actually a really good idea, but I think OP has taken it too far here by a mile.

</comment><comment><USER15> Congratulations, you are now a robot. You are optimized, streamlined, hustling, motivated and focused.

<comment><USER16> This is all too true. I come at this problem from the opposite end of the spectrum. I am no misanthrope by any stretch, but I have to actively engage in things that many others (especially the people who feel the need to blog about 'letting go') find they need to actively disengage from.

I realize the benefit of my position, I can go heads down and be productive for sustained periods of time at the drop of a hat. But there is a downside as well. People who are not up on things or who don't interject themselves into the Conversation may find themselves on the outside looking in and are terribly _inefficient_ at getting involved when they want or need to.

<comment><USER17> I am the same, and while it's not bad per se, it has its own dangers. If not for my friends, I'd easily slide into a comfortable hermit existence. And every time I do, it harms me in the long term and I usually only realize this when I look back.

Like most other things, I suppose, it's about finding a balance. My 'balance' probably lies on the 'hermit' end of the spectrum, but I still find that social engagements are essential in the long run.

While it's possible that some are 'true' hermits or 'true' socialites, I doubt it.

</comment></comment></comment><comment><USER18> I'm a fan of John Cleese's theory of "open" and "closed" modes of thought:

[https://www.youtube.com/watch?v=ijtQP9nwrQA](https://www.youtube.com/watch?v=ijtQP9nwrQA)

While his idea of being "creative" (as a writer & performer) is perhaps different than mine (as a programmer), I still find his advice helpful in giving myself space for creativity. Sure, some days it's best for me to just buckle down on serious work and crank things out (the "closed" mode, as it were). But my best work comes from the days when I don't feel the need to punish myself for making mistakes or for letting my mind wander.

Being in the "open" mode does require freedom from distraction, but it also requires breaks and must be very clearly time-boxed in order to succeed. I'd be afraid that, in attempting to "let go" of distraction and procrastination permanently, I'd be fating myself to a life in the "closed" mode, where nothing is more important than my productivity and everything (even boredom) has the potential to get in its way.

</comment><comment><USER19> Perhaps such a ruthless track is beneficial to Matt, and if so I bid him good fortune. It would be of terrible hindrance to my own productivity, though. I am at heart a social person. I require a balance of social interaction and thoughtful solitude to be at my best.

Too much social interaction can overload me with many extra thoughts and ideas that tend to mish-mash together in my brain and become nothing but flights of fancy.

On the other hand, too much solitude has a detrimental effect on my focus. Not only do I start to feel a bit down, but I find that without that social outlet I will concentrate too much on details that may not even be relevant to my current task (or even to the project as a whole).

Given a good (reasonable) dose of social interaction, I find my focus gets into a groove and tasks are just easier to complete, regardless of possible interruption by colleagues.

Everyone must find their own balance. I suspect that Matt and I sit on opposite sides of this particular range, or are at least a fair distance apart.

</comment><comment><USER20> A few pages that I've found to have helpful themes for this basic problem:

[http://www.fastcompany.com/3022958/the-art-of-letting-go- how...](http://www.fastcompany.com/3022958/the-art-of-letting-go-how-i- learned-to-stop-procrastinating)

[http://online.wsj.com/news/articles/SB1000142405270230393310...](http://online.wsj.com/news/articles/SB10001424052702303933104579306664120892036)

[http://en.wikibooks.org/wiki/Seven_Habits_Study_Guide/Quick_...](http://en.wikibooks.org/wiki/Seven_Habits_Study_Guide/Quick_overview_of_the_seven_habits)

<comment><USER21> I love reading articles about procrastination techniques to procrastinate from work I need to do!

</comment></comment><comment><USER22> I did the total opposite of what this article discussed; I spent a few minutes reading this blog post instead of being productive and paying attention to my work. While there is true value to concentrating/focusing, so we can be creative and get important stuff done, the author's lack of tolerance for distractions (good or bad) may be going below a healthy level. Seriously, the "I'm also letting go of second chances. One strike and you're out" would make us a terrible persons.

</comment><comment><USER23> The assertion that this whole argument is built on (and is not explicitly mentioned) is that creation, or work, is the ultimate goal in life. I believe the author to be mistaken here and would urge the author to re-evaluate the truth of this statement before taking some of the more extreme measures the article mentions.

</comment><comment><USER24> Coming here... Reading this... Writing this comment... I should let go.

</comment><comment><USER25> Dammit - now I have that Frozen song stuck in my head...

<comment><USER26> Thanks, now I have that song in my head! :-) very funny!

</comment></comment><comment><USER27> >I'm also letting go of second chances. One strike and you're out.

This just sounds so ridiculously absurd it is hard to take seriously.

</comment><comment><USER28> tl;dr

</comment><comment><USER29> Let go of the idea that work is so important that you should exclude everyone that is disagreeable.

</comment><comment><USER30> Most of the paragraphs of this article begin with the letter "I"

<comment><USER31> Well, isn't honesty preferable? If he had switched them all to 'we' he'd be falsely claiming to speak for others.

<comment><USER32> I think he means the letter I, not the word I.

Funny observation, but it's true...plus...if it's not an I it's a T, except for the last one.

<comment><USER31> I'm is just a contraction of 'I am'.

</comment></comment></comment></comment><comment><USER33> [https://www.youtube.com/watch?v=kHue- HaXXzg](https://www.youtube.com/watch?v=kHue-HaXXzg)</comment>


The story of the Gömböc  - <AUTHOR> http://plus.maths.org/content/story-goumlmboumlc <comment><USER3> If a Gömböc is built to 10 micron tolerances, does that mean I need a cleanroom and the world's flattest table to be assured it will work?

<comment><USER4> According to Wikipedia, yes:

 _The balancing properties of a gömböc are affected by mechanical defects and dust both on its body and on the surface on which it rests. If damaged, the process of restoring the original shape is more complex than producing a new one._

<comment><USER5> So do the self-righting properties simply degrade or fail completely, if say an eyelash drops on it?

<comment><USER6> The self-righting properties degrade in imprecise environments -- from the level of "100% mathematical certainty it can right itself" -- to something sort of absolute mathematical certainty. Not from self-righting to complete failure.

Dropping an eyelash on it, and using a standard kitchen table probably won't make it fail, and it will probably still work -- but it does impact it at the theoretical absolute level.

</comment></comment></comment></comment><comment><USER7> Hmm... you can buy a variety of these starting at €119 here:

[http://www.gomboc- shop.com/app/urwfilter/catalog/do/action/S...](http://www.gomboc- shop.com/app/urwfilter/catalog/do/action/SubmitCatalogSearch/mainCategoryId/1/subCategoryId/2/makeId/-1/sortingList/5/sortingList/11/minPrice/0/maxPrice/0/index.html)

</comment><comment><USER8> I've played with one. Domokos gave a lecture at Trinity College, Cambridge. Most ways that you place it, it behaves unremarkably, but there's one way of placing it such that it rocks back and forth and has almost settled down to the almost-stable point when it falls over perpendicular and ends up at the single stable point. This is the way to demonstrate it.

</comment><comment><USER9> I'm interested in the tolerances on that 10 micron distance...if you could build an approximation that works most of the time with much less precision, then you might be able to make sale-able objects that do such...

<comment><USER10> > if you could build an approximation that works most of the time with much > less precision, then you might be able to make sale-able objects that do > such...

They're called turtles.

[http://www.naturalhistorymag.com/biomechanics/10309/the- livi...](http://www.naturalhistorymag.com/biomechanics/10309/the-living-g- mb-c)

<comment><USER11> I am surprised we dont make ships with this general shape.

<comment><USER12> Why? So they'll right themselves if they're capsized? If a ship (not a boat) capsizes you've got pretty serious problems already.

Besides, self-righting is a very different sort of problem when you're floating.

<comment><USER13> It is fairly standard for lifeboats to be self-righting. Google "self-righting boat" for examples. The typical shape is not a gömböc, though. A gömböc would self-right, even when completely under water.

<comment><USER12> I'm sure a gomboc would self-right when completely underwater, but what about a floating gomboc half-submerged? Different problem.

<comment><USER14> Also, ships are not solid (as in 'filled'), let alone uniform in density. On top of that, hydrodynamics imposes more important constraints on shape. You can make a ship pretty stable by loading its keel heavily.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> There is an episode of QI : <http://www.youtube.com/watch?v=XCAg5_vHFmI> where in they discuss about this , and also a brief interview with the mathematician involved.

</comment><comment><USER16> If anyone can find a cad model, I'll machine one out of aluminum or print an SLA.

<comment><USER7> Would be OK for personal use, but for commercial production it looks like they've put a variety of legal protections on the shape/design of it:

[http://www.gomboc- shop.com/app/urwfilter/license/do/action/S...](http://www.gomboc- shop.com/app/urwfilter/license/do/action/ShowForm/index.html)

So much for not being able to patent math.

<comment><USER10> How fault tolerant are they? What if I made one to within 100 microns - <USER2> imagine it would still self-balance itself pretty well, and that specific shape would probably not be covered.

</comment></comment></comment><comment><USER17> I can see possibilities of simulating a Gomboc surface on the back of a four- legged robot. However, the robot will either need small "legs" or some servo's to bring the "legs" inside the body (like a turtle) to correct its position

<comment><USER18> You'd have to recalculate the shape after that, as the interior density is no longer uniform.

<comment><USER17> Yes, you are right. Given this consideration, I think maybe the surface needs to be configurable? Not sure but it will be pretty complicated to dynamically adjust to changing density.

</comment></comment></comment><comment><USER19> Am I the only one who thought about food?

<comment><USER19> If you don't speak Hungarian you could just reply "yes".

<http://www.google.com/search?q=gomboc+food>

<comment><USER20> Nice :) But still, there is a bit difference with or without the umlauts on the o's:

there's gombóc (=dumpling), probably from gomb (=button, knot) plus diminutive,

and

gömböc, from gömb (=sphere) with diminutive. "Kis gömböc" is the "meatball" that eats up everyone, until he bursts, in an old folk tale, probably the source of the name here. Ultimately I guess both words are from the same root.

<http://www.google.com/search?q=A+kis+g%C3%B6mb%C3%B6c>

<http://en.wiktionary.org/wiki/gomb%C3%B3c>

</comment></comment></comment><comment><USER21> interesing variation in reactions to previous postings: [http://www.hnsearch.com/search#request/all&q=gömböc&...](http://www.hnsearch.com/search#request/all&q=gömböc&start=0) and [http://www.hnsearch.com/search#request/all&q=gomboc](http://www.hnsearch.com/search#request/all&q=gomboc)

</comment><comment><USER22> There's a scifi story begging to be written about building a perpetual motion machine or trying to generate energy from an unbalanced Gömböc.

</comment><comment><USER23> Isn't a sphere with it's centre of gravity shifted from it's geometrical center a gömlöck ?

</comment><comment><USER11> > _Gömböcs are not much to look at, and seem like they could be children's > toys. Don't try to buy one, though. They're actually upwards of a thousand > dollars each. They may look like they were knocked together in a toy shop, > but the different angles and proportions have to be measured to within ten > microns – one tenth of the thickness of a human hair - to make the shape > work. So it's unlikely anyone will get to use one as a paperweight._

Sounds like the best reason to makerbot these things.

<comment><USER24> Sounds like the best reason one can't makerbot these things. Makerbots have a nozzle size of 0,5mm according to the makerbot wiki.

</comment></comment><comment><USER25> Oh, that. I know it by its more common name/appearance; a lump of bocconcini cheese. :) At least that's what immediately came to mind.</comment>


Google plus addressing format and the unanswerable question - <AUTHOR>

Google supports something called plus addressing, which is just firstname.lastname@example.com or firstname.lastname@example.com if you are signed up for their domains product.
The alias/plus addressing is not exclusive to google.  I have searched, posted on forums, asked around, and no one can seem to find a way to search gmail, or to create a filter that can locate all plus addressed emails.
As an example address: email@example.com
If I forget to add a filter for user+amazon.com, and really who has time to set that up right on the spot.  Further, gmail doesn't exactly show you must of the recipient address other than "me" unless you dig deeper into each email.
I want to be able create a filter that says if any To: address has a plus in it, mark it with a label.
I have tried regex, which I don't, believe is supported.  I have tried what I thought should work, as just to: user+ for which it finds all my email.  And finally I have tried to just search To:+ and To:"+" as well as other variations.
Any suggestions, a plug in, anything?
Thank you. <comment><USER2> Well, here is the quick answer

Use the link next to the search icon (it opens a drop down that shows Advanced Search field)

To make sure all relevant emails are caught, we can take advantage of the fact that the Has the words: field accepts search operators.

Leaving the other fields blank, put the following text in the `Has the words:` box:

{(to:firstname.lastname@example.com) (deliveredto:email@example.com)}

The inner parenthesis mean that the field is optional (e.g., the mail can be to: this address OR it can be deliveredto: this address).

This did the trick for me... A longer blog post will follow.

Cheers,

Tarun

</comment><comment><USER2> Hello there, I blogged about this quite some time back

[http://tarunanand.com/2012/04/26/plus- addressing.aspx](http://tarunanand.com/2012/04/26/plus-addressing.aspx)

Though it doesnt answer your question specifically. Please email me and I will provide you some tips and also blog about an answer.

Thanks,

Tarun

</comment><comment><USER2> Also, creating the filter is easy - just setup the filter the same way I explained the search process below. It has to use the "Has the words" option.

Regards,

Tarun</comment>


Dealing with IPv6 fragmentation in the DNS - <AUTHOR> https://blog.apnic.net/2017/08/22/dealing-ipv6-fragmentation-dns/ <comment><USER2> > IPv6 Extension Headers require any transport protocol-sensitive functions in > network switches to unravel the packet header's extension header chain. This > takes a variable number of cycles for the device and furthermore requires > that the switch should recognise all the extension headers encountered on > the header chain. This is anathema to a switch, in so far as it entails a > variable amount of time to process.

If it is so much anathema to their nature then maybe they shouldn't insist on violating network layers?

<comment><USER3> I agree that switches shouldn't care about TCP or UDP ports. That is a job for a firewall. However, that does not mean it is a good idea to have variable length headers in IPv6. In fact it seems like a singularly bad idea to me.

Regarding firewalls, I imagine it still sucks a firewall cannot judge each IP- packet separately but needs to deal with possible fragmented packets. Then again, that is the cost of being a firewall. You need to function at the application level and yet decide on the IP-packet level.

<comment><USER4> Switches use L4 ports to implement flow-switching. When multiple paths for a packet are available, it is convenient (it leads to less re-ordering) if the related packets from the same flow all choose the same path.

<comment><USER5> It's not just convenience for anycast addresses, with multiple pathes and anycast if your round robin packets across different routes, you may end up receiving them in two different locations (ok for UDP, but TCP broken completely). Anycast is widely deployed now and imho ECMP support is now considered "standard". I'm not sure what are other alternative solution to ECMP that don't require looking into TCP headers.

</comment></comment></comment></comment><comment><USER6> > another painful issue in today's IPv6 Internet, namely that of network > filters discarding ICMPv6 Packet Too Big messages.

How about we just let the people who configure these filters solve their own problems?

<comment><USER7> I've actually had this conversation before, and it get's a bit tricky.

I'd say it has a few main facets: \- ICMP is dangerous, and needs to be blocked. This is partly true, as there is historically information leakage with ICMP under certain codes. So blocking all of it is easier than trying to figure out what should be allowed and what should not.

\- It's not perceived to be a problem. Most services just work, so TCP/IP with mss clamping will avoid the fragmentation issue for many services. So the services that have an issue, might be something like 2%, and the question that always lingers is if everything else works, and this one thing doesn't, it's not the filters problem.

\- ICMP doesn't necessarily work with multiple layers of encapsulation anyways I encountered this on mobile wireless networks, where doing multiple rounds of encapsulation caused multiple packet size reductions. Basically, if we encapsulate in tunnels used by the mobile network, then encapsulate again in say IPSec, the IPSec node will send it's icmp packet too big to the tunnel endpoint, not the originator of the traffic.

While I suppose it could be argued that the tunnel endpoint should maintain it's own PMTU, and pro-actively send it's own icmp packet too big based on this, it can be difficult to guarantee these components work.

I've seen lots of telco equipment struggle with handling this properly, and it's not just filtering, it's bugs.

So unfortunately, we're in a situation where many networks are likely miss- configured, but lots of other services for various reasons just work. So unless you can drive the networks with problems to actually change, realistically you just lose a portion of your own customer base if you don't handle the situation while your competitors just work.

<comment><USER8> > I'd say it has a few main facets: - ICMP is dangerous, and needs to be > blocked. This is partly true, as there is historically information leakage > with ICMP under certain codes. So blocking all of it is easier than trying > to figure out what should be allowed and what should not.

It's actually quite easy to identify which should be allowed and which should not.

ICMP: 0,3,8,11 (echo reply, destination unreachable, echo, time exceeded)

ICMP6: 1,2,3,4,128,129,135,136 (unreachable, packet too big, time exceeded, parameter problem, echo request, echo reply, neighbor solicitation, neighbor advertisement)

See, that wasn't hard. These are the base requirements for you to have a reasonably functional IPv4 network, and the absolute minimum requirements for IPv6 to work properly.

<comment><USER9> But why filter ICMP at all? I can understand that ICMP allows for covert tunnelling, but by that logic any IP protocol number should be blocked.

<comment><USER10> I think it's more the incoming ICMP that is troublesome, particularly redirect, and to a lesser extent destination unreachable (DOS).

</comment></comment></comment></comment></comment><comment><USER11> Having a variable header complicates Cut-Through switching[0], which forwards the entire frame just after the switch gets the destination field of the header.

This sounds like it would force a return to Store-And-Forward[1], where the switch waits for the entire frame to load into memory, before forwarding to its next hop. Waiting these few milliseconds doesn't sound bad, until you consider that's added to _each_ packet, reducing (e.g.) application performance.

[0] [https://en.wikipedia.org/wiki/Cut- through_switching](https://en.wikipedia.org/wiki/Cut-through_switching)

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

<comment><USER12> The real problem is that you can no longer look at a fixed offset for your parameters, which complicates filtering silicon.

In other words, if you want to have a firewall rule of "drop tcp 135", in ipv4 you can just look at bytes 0x24-25 (for Ethernet). IPv6's extension-header mechanism means that the header has a non-fixed length, so you need to do work for the same effect. Given that firewalls are critical in a world without NAT, this can be a scary prospect.

Part of the blame falls on vendors who go "well, IPv6 is fringe so we'll just do all firewalling in software." The protocol is 20 years old, it's time to design the silicon.

<comment><USER9> But IPv4 headers could have a variable length too, it's just that we don't encounter that much in the wild. And what about the AH header, GRE and IPIP tunnel headers, 6rd/6in4 tunnel headers, etc. Filtering at fixed offsets sounds very brittle to me. Isn't the real problem here that network providers and administrators appropriate the right to filter on OSI layers they shouldn't be touching? This problem sounds like the exact reason why Google insisted on having its QUIC headers ciphered: so network equipment can't pull of this kind of misbehaviour.

<comment><USER13> At least with IPv4 you can easily compute the start of layer 4, it's just ipv4[0]&0xf * 4 - trivially implemented with little real-estate in hardware.

IPv6 requires you to loop through all extension headers to reach layer 4, and you need to know about a handful of those extension headers as not all follow the same format.

</comment></comment></comment></comment><comment><USER14> It sounds like IPv6 acknowledges that most protocols try hard to avoid fragmentation anyway, so fragmented packets are the exception.

And it's not like fragmentation hasn't caused problems with firewalls in IPv4 either.

E.g. [http://all.net/Analyst/netsec/1995-09.html](http://all.net/Analyst/netsec/1995-09.html)

The fix is for equipment to handle the fragmented packets properly, just like for IPv4. How is forward fragmentation, which involves creating multiple new packets + headers with recomputed checksums, easier than simply parsing a header, which is apparently "anathema to a switch"?

<comment><USER15> The problem is that the fragmentation header in IPv6 is not deterministic, so it can't be parsed in constant time, which is what makes it "anathema to a switch" which needs to be able to guarantee certain levels of packet throughput. IPv4-style fragmentation can be done in constant time.

<comment><USER16> It is still bounded time, which is still O(1).

Yes, the standard doesn't limit the number of extension headers, but looking at the fixed header, and at most 5-6 extenion headers is the maximum time required to process a packet. And that'd be enough for 100% of traffic.

The exact limit is the number of header types known to the processing node. Because encountering an unknown header should result in Parameter Error, and only one header can be used multiple times (the Destination Options), but that should be after the Frag one anyway.

</comment></comment></comment><comment><USER17> > The initial connection between Cloudflare's network and the origin web > server timed out. As a result, the web page can not be displayed.

Sad to see even a NIC letting itself be MITMed by Cloudflare :(

</comment><comment><USER18> _Maybe we should bow to the inevitable and recognise that IPv6 is an unfixable problem._

<comment><USER19> if it's unfixable, why is 40% of our in-office internet traffic running over IPv6? Why is 100% of our LAN traffic over IPv6? Why is 30% of the traffic to our sites running over IPv6?

<comment><USER20> The article suggests "Fragmentation in IPv6 is unfixable", not ipv6 itself. Try running this to see if fragments get delivered to you:

[http://icmpcheckv6.popcount.org](http://icmpcheckv6.popcount.org)

[http://icmpcheck.popcount.org](http://icmpcheck.popcount.org) (IPv4 version)

via: [https://blog.cloudflare.com/ip-fragmentation-is- broken/](https://blog.cloudflare.com/ip-fragmentation-is-broken/)

<comment><USER21> Network I am on atm, IPv6 give me both green, IPv4 MTU fails ...

It means my IPv6 vpn is better than IPv4 delivered by some wannabe corpo network masters.

<comment><USER19> the firewall is probably blocking ICMP. For a long time, it was considered best-practice to blanket-block ICMP and for a long time you could mostly get away with it.

But over time some really useful stuff has been added to ICMPv4 (early congestion notification for example) and IPv6 mostly won't work at all without ICMP.

I would argue that it's time for firewall administrators to reconsider this decision. The time where ICMP packets could do harm are long past (remember the ping-of-death on Windows 98?) and I would argue that the time when a network could work at peak efficiency (or at all) without ICMP are also mostly past.

<comment><USER22> > For a long time, it was considered best-practice to blanket-block ICMP

I agree with your point, but think this needs some clarification about who considered it a best practice - among enterprise firewall admins and financial-industry compliance audits, perhaps.

Large scale network operators have seen the problems associated with entirely blocking ICMP for at least a decade. (v4 has blackhole problems too)

A lot of the hatred for ICMP came from simple things like easy endpoint discoverability. nmap blew that argument out of the water pretty quick.</comment></comment></comment></comment></comment></comment>


Most traffic-stop searches triggered by police dogs wrong and biased - <AUTHOR> http://www.chicagotribune.com/news/local/ct-met-canine-officers-20110105,0,557797,print.story

<comment><USER2> "...only 44 percent of those alerts by the dogs led to the discovery of drugs or paraphernalia [...] For Hispanic drivers, the success rate was just 27 percent.".

Seems like a significant percentage to me on both accounts. I don't see how the words "only" and "just" are justified.

<comment><USER3> For the other 56% (or 73%) that you've inconvenienced with unconstitutional searches (regardless of what the courts have decided, these violate the 4th amendment pretty clearly), words stronger than 'only' and 'just' are appropriate.

<comment><USER2> "A dog sniff conducted during a concededly lawful traffic stop that reveals no information other than the location of a substance that no individual has any right to possess does not violate the Fourth Amendment [...]. Official conduct that does not 'compromise any legitimate interest of privacy' is not a search to the Fourth Amendment. We have held that any interest in possessing contraband cannot be deemed 'legitimate,' and thus, governmental conduct that only reveals the possession of contraband 'comprises no legitimate privacy interest.'" -- Justice John Paul Stevens, Illinois v. Caballes

The majority opinion seems pretty reasonable to me: [http://en.wikipedia.org/wiki/Illinois_v._Caballes#Majority_o...](http://en.wikipedia.org/wiki/Illinois_v._Caballes#Majority_opinion)</comment></comment></comment>


Production Languages and Toy Languages (2008) - <AUTHOR> https://www.teamten.com/lawrence/writings/production_languages_and_toy_languages.html <comment><USER2> "I would rather write more clunky code now and avoid having my code tossed two years from now by a maintenance programmer who can't figure out what I did."

I don't know that this is possible. Changes in patterns and language features (even legacy languages are gaining new features) will mean that someone will come to your code and need to refactor it for the new system/model/design, etc. It's not very easy to predict the future and what current style you use that may or may not be desirable in the future.

Optimize for components that can be rewritten, replaced, and repurposed. Put a lot of tests around your code so that during a refactor it's possible to understand if the refactor is safe. Anticipate that your code will need to be replaced.

</comment><comment><USER3> The `sqrt` example seems like a bad example. Even if you have written less than 100 lines of Lisp in your life (like I have), it's pretty easy to figure out what that code does if you know what a fixed point and Newton's method are.

<comment><USER4> It's actually a common criticism of the SICP book. The examples are requiring some math knowledge, since that is the example domain in many places in the book. SICP was written as teaching material for an introductory Computer Science course for university students. It's not a language manual, it's not a programming language tutorial, it's not a Scheme or Lisp book, ...

Here the reader/student has to understand a new programming language (Scheme) and has to understand the example domains, which require some maths knowledge.

The author here probably has more problems understanding how to write mathematical formulas/algorithms in a Functional style. Generally this is nothing Lisp specific, the same programming style could be implemented in typical Functional Programming languages like SML or OCAML. Lisp has a slightly different syntax and no static types - which can be an additional hurdle. But other than that, it's standard mathematical code in a Functional Programming language. Also the book explains it well. So the code should be understandable years later, since it uses the usual mathematical algorithms.</comment></comment>


Ask HN: Cheapest VPS with dedicated IP? - <AUTHOR> I am looking to run an experimental project, but it needs to be a) dedicated (virtual) server and have at least one permanent IPv4. I found $4-$6 per month range. Anything below that? <comment><USER2> I would guess Scaleway.com or Time4VPS.eu depending on your requirements / specifications.

<comment><USER3> Or you could go with a Hostens.com

</comment></comment><comment><USER4> [https://www.time4vps.eu/standard-vps/](https://www.time4vps.eu/standard-vps/)</comment>


Ensemble Learning Techniques Demystified" - <AUTHOR> https://heartbeat.fritz.ai/ensemble-learning-techniques-demystified-e57ee5714996 <comment><AUTHOR> I wrote a detailed article that contains everything you need to know about Ensemble Techniques in machine learning.</comment>


Show HN: Fitsquad – Challenge with Friends - <AUTHOR> https://fitsquad.io <comment><AUTHOR> Hello there! Fitsquad is a mobile app where people can challenge their friends through various activities. Following an exercise routine can get repetitive and boring. Our goal is to spice it up and encourage socializing through fun challenges.

Here is the catch - your friend will pick the challenge, and you have to complete it within 24 hours!

We are very excited to share Fitsquad with you and get more people testing it out.

Here is the direct testflight link: [https://testflight.apple.com/join/Mc2U2rnc](https://testflight.apple.com/join/Mc2U2rnc)

</comment><comment><USER2> Liked the idea! Can I create a bundle of challenges and send it to a friend at once? It could be like a workout routine. Gamification works wonders when it comes to fitness, hope you will continue adding more features, good luck!

<comment><AUTHOR> So glad to hear! Right now, users can only send one challenge at a time, but yes! You will be able to send and receive combinations of challenges. We are currently working on the multi-challenge feature, and it will be available before the launch. To give you an example, you will be able to send and/or receive push-ups, yoga, meditation all in one day.</comment></comment>


Show HN: Python library for functional programming - <AUTHOR> https://github.com/EntilZha/PyFunctional <comment><USER3> Sorry to digress - but the comment in the first code example:

> # or if you don't like backslash continuation

got me thinking. I've always felt backslash continuation is a Python wart - but using brackets in this way only feels like a minor improvement.

It's nearly always this scenario that makes me want to break a line - i.e. splitting a long chained method call on a "."

Now - starting a line of code with a "." is not valid Python as far as I'm aware and therefore allowing it would not introduce any ambiguity or significantly complicate Python's parsing rules. "If a line begins with whitespace followed by "." then consider it as a continuation of the previous line.

Can anyone comment on whether this is a terrible idea or not?

<comment><USER4> This is a peeve of mine, and one of the reasons that I find myself preferring to write javascript these days rather than python. Never would have thought I'd say that.

I'm not up to snuff on my compiler theory, but I think at the least this would require upgrading to a two-token lookahead parser, and it might also upgrade the python grammar from context-free to context-sensitive. Accordingly, I wouldn't expect this to get implemented -- IIRC ease of parsing was/is one of the big design goals.

<comment><USER5> In python line continuations are a pre-processing step as far as I'm aware (together with inserting INDENT and DEDENT tokens). In the same vein you could just do a simple loop over the token list and remove the appropriate NEWLINE tokens before going to the actual parsing.

</comment></comment></comment><comment><USER6> Am I the only one who thinks Python's syntax is not really suited for functional programming? Creating an ad-hoc closure that spans multiple lines, for example, seems awkward.

PS: I'm not aware of any syntax changes in this area since Python 2.7, so I could be wrong.

<comment><USER7> I'll say it: Python sucks for Functional Programming. It's just not the right tool for the job (or job for the tool, depending on your point of view.)

It's a great language for most programmers to get things done in, but it belongs to the school of 'limited abstraction is for your own good'. For example, no multi line lambda expressions. The argument given is that it would mess up whitespace syntax. Haskell handles this situation, but it does indeed introduce a bit more syntax.

If you need to FP in a general purpose scripting language, I would be looking at Elixir or Javascript right now.

<comment><USER8> True, but for better or worse python has support for spark/sklearn/pandas/numpy/plotting/deep learning/web which makes it a good jack of all trades language for data/research science. Its strength is that it can do all of those at levels varying from proficiently to best-in-class.

</comment></comment></comment><comment><USER9> > Prepare for 1.0 next release

So this will soon be a stable API? Great work. The documentation is extensive.

I am personally a big fan of toolz[0], which is clojure inspired. This object method chaining Scala inspired approach is different, and interesting.

It might be fun to make sort of comparison matrix of the difference in approach between this library, toolz, and the venerable fn[1] which also has a Scala influence (and apparently already implements the '_' lambda form).

[0] [http://toolz.readthedocs.io/en/latest/](http://toolz.readthedocs.io/en/latest/)

[1] [https://github.com/kachayev/fn.py](https://github.com/kachayev/fn.py)

<comment><USER10> From [https://github.com/kachayev/fn.py](https://github.com/kachayev/fn.py) :

> There are theoretical and practical advantages to the functional style:

> \- Formal provability

This is bollocks. To prove things about your programs, you need a formal semantics for the language you're using.

<comment><USER11> > This [Formal provability] is bollocks.

How precisely does modularity, composability and ease of debugging improve from this module? Not at all. It may have benefits, sure. But to claim these as general attributes is just sophistry in my personal opinion.

<comment><USER10> Agreed. I just felt a stronger need to comment on the zeroth bullet point in the list.

</comment></comment></comment></comment><comment><USER12> Shameless plug: [https://github.com/sfermigier/awesome-functional- python](https://github.com/sfermigier/awesome-functional-python) (a list of documents and projects related to FP in Python, including, already, the OP's project).

I'm personally using Toolz so far, probably because it's the most popular of the maintained ones.

Would be happy to see both some standardisation (a PEP?) and consolidation between the various projects.

<comment><USER8> It would be great to have more native support for FP (flat map is a glaring example I run into a lot). It would help if there were 1) a less verbose anonymous closure syntax 2) support for a multi-line closure.

</comment></comment><comment><USER4> First off, well done.

My big issue with method chaining is exactly the one of requiring the line- continuation-escape, or enclosing the whole thing in parens. You also need to wrap the initial value, then possibly unwrap it at the end, and you're limited to the methods you define (mind you, this seems like a pretty comprehensive list).

For this reason I decided to emulate clojure's threading macros instead, as a pair of functions:

        pipe_{first,last}(
            init_val,
            some_unary_callable, # so far so familiar
            (some_n_ary_callable, *args), # puts the piped value first or last, depending on {first/last}
            ...
        )

Unfinished is the version that makes `(callable, ...args..., _, ...more_args...)` work, is that what you mean by the _ lambda operator?

<comment><USER13> Are you aware of the thread_first and thread_last functions from toolz?

<comment><USER4> I wasn't thanks for the pointer!

</comment></comment></comment><comment><USER14> I'm no expert in functional programming, but this feels a bit inside-out and backwards to me. It's writing f(g(h(x))) as x.h().g().f(), which doesn't read like function composition to me. If anything, the comprehensions already built into Python look more natural and more functional:

       (f(v) for v in (g(u) for u in (h(w) for w in x)))

The dots in the x.h().g().f() notation also suggest mutation (since we're calling methods on objects here) in a way that makes me uncomfortable.

But like I said, I'm no FP expert. My objections are basically aesthetic. Maybe if I used it, I'd learn to like it.

<comment><USER15> The way you read x.h().g().f() is essentially the same way you read it in F# (with |>), Haskell(with . ,although it goes the opposite direction) and R(with %>%).

It is one of the most aestetically pleasing attributes of use in the functional languages

<comment><USER14> So the thing that looks less like the function composition I know from algebra is more idiomatic in FP and more pleasing to the FP cognoscenti? I fear my familiarity with FP may be even more deficient than I thought. I could understand writing f . g . h, but what we're talking about here is written more like Unix pipelines. In which case, I could forgive overloading the bitwise or operator, which is already left-associative. You could then do x | h | g | f.

Again, this is a purely aesthetic argument -- the intent of the library seems unclear to me from its syntax. If it's beautiful and clear to you, I'm not going to object to your using it. Aesthetics aside, I don't think there's anything wrong with this library.

<comment><USER14> Here's how you could hack up a pipe operator in Python:

        class Funk:
             def __init__(self, f):
                 self._f = f
             def __or__(self, other):
                 return Funk(lambda *_, **__: other(self(*_, **__)))
             def __call__(self, *args, **kwargs):
                 return self._f(*args, **kwargs)

This lets you do fun stuff like:

        pipeline = Funk(h) | Funk(g) | Funk(f)
        pipeline(x)
        pipeline(y)

And that makes me happy that I participated in this discussion.

I'm kind of surprised nobody's done this before. Unless they have. Any pointers to more fully fleshed out implementations of this idea?

<comment><USER8> You could actually simplify even more with the trick used in a comment farther down ([https://github.com/0101/pipetools](https://github.com/0101/pipetools)). That way you would implement __or__ on for example `pipe` and not have to wrap each function.

As it turns out, implementing that different syntax in pyfunctional wouldn't be too hard or API breaking I think. Mainly it would require 1) wrapping/exporting functions to a module you could bring into scope (eg `from functional import functions as F` or `from functional.functions import *`), 2) Writing wrapper code to provide something functionally similar to `pipe`.

On libraries, I swear I saw something a while back, but my googlefu just now didn't help me find it.

</comment></comment></comment></comment></comment><comment><USER16> I'm not into functional programming in Python, but pipetools[0] looks way more handy.

[0] [https://github.com/0101/pipetools](https://github.com/0101/pipetools)

<comment><USER17> It looks like theres not a huge amount of overlap.

Pipetools is all about implementing a "clever" syntax for data flows, whereas PyFunctional looks like it's much more about providing a library of functions for manipulating data in functional ways.

I would expect that PyFunctional could probably implement the pipe syntax if they wanted, as just a layer of syntactic sugar on top of their core, however that would break OR semantics in places so I'm not convinced that syntax is a good choice, as "clever" as it may be.

</comment></comment><comment><USER18> Is there a reason to use this over Coconut? [http://coconut- lang.org/](http://coconut-lang.org/)

<comment><USER19> Coconut is a compile-to-python(2/3) language, not just a library, so if you use it you have to be OK with using a transpiler in your project.

Here's one way you might write one of the examples in Coconut:

      ([1, 2, 3, 4]
          |> map$(-> _ * 2)
          |> filter$(-> _ > 4)
          |> reduce$((x, y) -> x + y)
      )

You may freely mix Coconut and Python in a project, even in the same file, but any Coconut code still needs to be run through the compiler.

</comment></comment><comment><USER20> shameless plug, if you like this you may also like my library tryme which ports the Either and Maybe monads to Python [http://tryme.readthedocs.io/en/latest/](http://tryme.readthedocs.io/en/latest/)

<comment><USER10> Without exhaustiveness checks for all your case analyses, what exactly is the point?

<comment><USER20> The point is that you can indicate whether an operation was successful or not by wrapping that value w/ a Success or Failure, rather returning a boolean, status code, and some subset of information about the operation.

<comment><USER10> And how is that useful in the absence of pattern matching? If you write:

        if foo.is_success():
            ...
        else: # foo.is_failure()
            ...

Then you're back to branching on booleans. And we haven't even addressed the "lack of exhaustiveness checks" objection.

<comment><USER21> These libraries in languages like python remind me of when Windows 95 was new and a bunch of Win3.1 compatible clones of the win95 task bar appeared.

People are often satisfied by the veneer of something better, because, they were told it was better but don't truly understand why. This is super common in the programming world, I'm afraid.

<comment><USER10> Agreed. While algebraic data types are obviously a good idea, the best way to use Python is to accept it for what it is: a dynamically typed object-oriented language that's not very good at manipulating user-defined values (or even defining them to begin with), but has some pretty cool tricks of its own, like runtime metaprogramming with decorators and metaclasses.

<comment><USER22> I think you place python in a much smaller box that it deserves. before it was object-oriented it was functional and procedural. For certain things I use it in a purely functional way but have never felt the need for one of these libraries to do so.

<comment><USER10> Python has always had procedures, of course, but was it ever a _functional_ language? Let's do a bit of fact-checkcing:

(0) Functional programming is expressing computation as the evaluation of functions. A language is "functional" to the extent it allows you to do functional programming.

(1) A function is a mapping from values to values. To express computation as the evaluation of functions, you need a rich universe of values: not just primitive ones like integers and object references, but also tuples, lists, trees, etc.

(2) Values are timeless entities that are distinguished from each other _structurally_. For example, it makes no sense to distinguish "this list [1,2,3]" from "that list [1,2,3]", because both have the same structure - <USER2> same parts. Thus, what Python calls "tuples" and "lists" are not really tuple values and list values.

\---

@_9jgl

Let's see how equal they remain in a timeless fashion:

        xs = [1,2,3]
        ys = [1,2,3]
        zs = ys
        send_to_another_thread(xs,ys,zs)
        print(xs == ys) # who knows
        print(ys == zs) # True
        print(xs is ys) # False
        print(ys is zs) # True

Turns out, the real equality testing operator in Python is `is`, not `==`. The only values Python gives you are object references.

\---

@lmm

> This is by no means the only way to write Python

This is not the problem. The problem is that Python doesn't have _compound values_. Values are a matter of semantics, and semantics is a matter of how the language is defined, not how you choose to program in it.

<comment><USER23> Words are defined by consensus and use. To a lot of people "functional" means having first-class functions (in particular: functions can be defined anywhere (i.e. the language has closures) and functions are first-class values (i.e. functions can be passed as function parameters and returned from functions; function values can be expressed separately from assignment (i.e. the language has lambdas))) and programming in a style that makes use of map, reduce, and filter; more generally programming with immutable values and functions that return transformations of those values (as distinct from programming with pervasive state that is mutated). This is by no means the only way to write Python, but it's practical in Python to a much greater extent than it is in, say, Java.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> This is quite cool, though it seems similar to RxPy ([https://github.com/ReactiveX/RxPY](https://github.com/ReactiveX/RxPY))

<comment><USER25> Curious question: Is there also something like Mobx [1] for Python?

I'd love to have a reactive state libraries like Mobx on server-side.

Mobx is also reactive, but has a different focus: It is not so much avout the low-level event dispatching, but reacting on data changes, recalculating derived values (but only those affected, and being lazy on non-observed dependent values). And Mobx determines dependencies of calculated values automatically.

Also, Vue [2] has Mobx functionality built-in, with an even better syntax, but closely tied to the framework.

Alas, both are JavaScript and targeted at client-side / user interface. Is there something similar for Python? (See also my question on SO [3].)

[1] [https://mobx.js.org/](https://mobx.js.org/)

[2] [https://vuejs.org/](https://vuejs.org/)

[3] [https://stackoverflow.com/q/47808562/19163](https://stackoverflow.com/q/47808562/19163)

<comment><USER26> I'm not deeply familiar with Mobx, but there's a few Redux implementations for Python. See pydux[0] and aioredux[1].

Not the same thing, of course, since Mobx is much more sophisticated than Redux, but in my team we're currently experimenting with aioredux for state management of client data, which drives the React+Redux frontend. It's working surprisingly well so far, although the biggest hurdle is team familiarity with functional aspects of Redux, and general structuring and responsibility of reducers.

The library is no longer maintained, but considering the simplicity of the implementation and of Redux itself, we felt it wasn't a show stopper since we could always take over maintenance ourselves.

I'd also be interested to know of Mobx Python implementations.

[0]: [https://github.com/usrlocalben/pydux](https://github.com/usrlocalben/pydux)

[1]: [https://github.com/ariddell/aioredux](https://github.com/ariddell/aioredux)

<comment><USER25> Thanks for the pointer, although that's not what I'm looking for.

The fundamental difference between reactive state management (Mobx) and the Redux approach is that Mobx has some automatisms that are vital to what I'm looking for:

\- automatic recognition of actual value dependencies (i.e. minimal update chains)

\- automatic determination of the order of updates (so you don't have to think about and design your reducers along their dependencies ... because this is an annoying task which can and hence should be automated ... it is prone to inefficiencies, and sometimes errors, when done by hand.)

</comment></comment></comment></comment><comment><USER27> Very nice. I just wished Python would have a proper lambda operator. As far as i know they still have that "one-line" lambda keyword which is very restrictive for functional programming.

</comment><comment><USER28> Definitely approve of the name EntilZha for your GitHub user name.

I was interested to see that coexisting with Pandas is supported, but the documentation seems either scant or unfinished, I can't tell which:

[https://github.com/EntilZha/PyFunctional/blob/master/example...](https://github.com/EntilZha/PyFunctional/blob/master/examples/PyFunctional- pandas-tutorial.ipynb)

<comment><USER29> There seems to be a lot of similar functionality (although in a very different paradigm) to Pandas, I'd be very interested to see performance benchmarks between the two on some common pipelines (csv -> filter -> aggregate -> SQL)

<comment><USER8> For operations where vectorization pandas will be much faster since its based on numpy. That being said, there are things which are very awkard to do in pandas which are very easy in pyfunctional

</comment></comment></comment><comment><USER30> This looks a lot like Clojure's standard library, and you could probably steal more ideas from it, e.g transducers [https://clojure.org/reference/transducers](https://clojure.org/reference/transducers)

</comment><comment><USER31> Python should somewhat provide a way of chaining these iterators. Coming from Ruby background, I really miss the ability to chain iterators.

And the backslashes shouldn't be mandatory for wrapping method chains.

<comment><USER32> Is this like what your talking about [https://docs.python.org/3/library/itertools.html#itertools.c...](https://docs.python.org/3/library/itertools.html#itertools.chain) ?

</comment></comment><comment><USER33> Reminds me of dplyr. How well does this work with pandas?

<comment><USER8> Data interchange between the two is relatively seeemless. seq(df) converts a pandas dataframe into a sequence of tuples/namedtuples. Calling .to_pandas(columns=cols) will convert a sequence of tuples/namedtuples to a dataframe with cols optionally being the column names

</comment></comment><comment><USER34> Is it just me or this seems too much like ruby?

</comment><comment><USER35> How does its parallelization feature work with lazy generators? Or does its seq function not return generators?

<comment><USER8> Seq doesn't return a generator. At its core there is a concept of Lineage taken from Apache Spark. Essentially, when you do something like seq(data).map(func) it builds on a list of operations to execute and holds a copy of the base data. When asked for a value only then will it compute the result.

So for parallelization operations that are embarassingly parallel (map/filter etc) are paralelized with multiprocessing. If the data is heavy and serialization is expensive it might be slow, but for operations where the bulk of the work is done in parallel it can help a lot.

</comment></comment><comment><USER36> Thank you to the author: another day another. Wat library to tinker with.</comment>


The Expurgation of Maniac Mansion - <AUTHOR> http://www.crockford.com/wrrrld/maniac.html <comment><USER2> I've read this before. But this is the first time I realized that it is written by Douglas Crockford, the Javascript advocate.

</comment><comment><USER3> What a fucking amazing game for it's time. I never had so much fun playing my C64.</comment>


What the Fuck Is Bubble? – And How Did It Clone Twitter with No Code? - <AUTHOR> https://medium.com/inside-the-bubble/what-the-fuck-is-bubble-a919ef59a2f1 <comment><USER2> The problem with every "visual programming" system I've ever used is that at some point you hit the limitations of the system, and then suddenly things get much, much harder (often considerably harder than if you'd done it the old fashioned way).

Maybe this will be different. Maybe.

</comment><comment><USER3> If this is the future, then the future is really slow javascript tire fires as far as the eye can see.

I can't wait.

</comment><comment><USER4> _If you work in fashion, you're thinking about your design or your retail strategy. If you're going to culinary school, you're improving your recipes. If you're a doctor, you're spending time with your patients. Your focus is on your passion — where it should be._

 _But until now there have only been two ways to take your passion and build a web application or start an online business: 1) learn to code or 2) hire people who know how to code. The former is a huge knowledge gap for non- engineers; the latter is very expensive._

Huh? How is this any different than:

But until now there have only been two ways to take your passion and design a dress or start a clothing business: 1) learn to design and sew or 2) hire people who know how to design clothing and sew. The former is a huge knowledge gap for non-seamstresses; the latter is very expensive.

or

But until now there have only been two ways to take your passion and make delicious meals or open a resturarnt: 1) learn to cook or 2) hire people who know how to cook and run a resturant. The former is a huge knowledge gap for non-chefs; the latter is very expensive.

or

But until now there have only been two ways to take your passion and become a doctor or open a clinic: 1) go to medical school or 2) hire people who went to medical school. The former is a huge knowledge gap for non-doctors; the latter is very expensive.

<comment><USER5> The point is: learning to design or become a doctor takes passion, dedication, time and often money. To expect everyone to learn how to code, and to code well, on top of what they're already passionate about is counterproductive. Another point is: software will look a lot different if the experts in their fields can build their own.

<comment><USER4> But learning to code takes passion, dedication, time and sometimes money. To expect everyone to learn how to design clothes, and design clothes well, on top of what they're already passion about is counterproductive. Another point is: clothing would look a lot different if the experts in their field can design their own.</comment></comment></comment>


Maybe It's Time for Plan C - <AUTHOR> http://www.nytimes.com/2011/08/14/fashion/maybe-its-time-for-plan-c.html?pagewanted=all

<comment><USER2> I'm surprised at the comments here stating "Cry me a river, these yuppies got what they deserved."

Are you the same people saying, "Way to go! Good luck!" whenever someone posts here on HN that they're quitting their job to do a startup? What's the difference between a kid who quits college to make the next social network and a lawyer who quits the firm to open an ice cream shop? The aspirations may be different, but both are just trying to follow a dream.

I'm actually glad that the NYT is posting a somewhat realistic article for once. They usually just print dreck about some guy with an idea who makes an iPhone app over the weekend and wakes up to millions.

<comment><USER3> One quibble with the article, though: the author does not connect the dots that focusing on (more or less) luxury consumer items is a risky proposition (especially during a recession).

I also followed my dream and owned a coffee shop. We focused on absolute excellence and did pretty well. I thought I knew what I was doing on the business side.

But then 2008 arrived and suddenly all that discretionary money just evaporated (in our market, anyway). It was humbling. We were not prepared, we didn't really understand our business model nor our market. What we thought was business savvy and prosperity was actually just dumb luck and it ran out.

In the years afterward, I discovered books like "The Four Steps to the Epiphany" and feel much better positioned. I feel for (and fear for) the people in the article who are starting "nice to have" consumer / luxury businesses (but I wish them the best of luck).

<comment><USER4> Income disparity is a characteristic of this economy, that means that the top 1% (i.e., not you and I) are benefiting at the expense of the bottom 99%. In a world in which that is the case, finding products that appeal to that top 1% is eminently sensible.

</comment></comment></comment><comment><USER5> This is an odd article, because the conclusion is much more positive on the Plan-B options than the headline and lead-in:

 _> And with the exception of Ms. Vibert, everyone interviewed said that despite the unforeseen bumps, they would not trade their new lives for their old jobs._

 _> "I no longer walk with a slight depressed hunch," said Ms. Herrington, the wedding planner, who is now enjoying steady work and glowing write-ups in wedding blogs like 100 Layer Cake. Her friends, she added, said they noticed an instant improvement in her appearance, too. "I no longer see chunks of hair falling out due to stress."_

 _> "Before, I never wanted to talk about work, other than to complain," she added. "Now I like talking about my work so much that my husband has to actually ask me not to talk about it all the time."_

 _> Ms. Economou, the Greek baker, says she feels spiritually transformed. "I'm coming up on my one-year anniversary, and I love it," she said. "I love being a part of the neighborhood. I didn't realize how you become friends with your customers."_

Now these are just some arbitrarily chosen anecdotes rather than real data, but if we're going to accept the article portraying them as representing a trend, it seems like a positive trend: contrary to the headline, almost everyone they interviewed considered their Plan-B move a significant improvement in quality of life, even if it was sometimes frazzling, and only one person wanted to take the Plan-C option of going back to a regular job.

</comment><comment><USER6> "Matthew Kang, 26, a former commercial bank analyst in Los Angeles, has it worse. Last year, he quit his prestigious job to open Scoops Westside, an ice cream shop in Culver City. I feel like a janitor sometimes, he said"

CRY. ME. A. RIVER.

This takes over-privileged whiny rich people to new levels.

<comment><USER7> No kidding. These people are awful.

</comment></comment><comment><USER8> TL;DR : Leaving a cosy and safe job to start your one-man dream job is harder than though + a dozen of example cases.

</comment><comment><USER9> _"But the reality is that, even during boom times, most new businesses fail."_

This myth has been debunked many times (right-click => search: "business failure rate myth"). I wish people would stop repeating it. Of course, business coaches like this myth because it makes their services seem more valuable, but the NYT shouldn't be publishing dubious, unconfirmed statistics.

</comment><comment><USER10> Non-paywall link: [http://www.nytimes.com/2011/08/14/fashion/maybe-its-time- for...](http://www.nytimes.com/2011/08/14/fashion/maybe-its-time-for- plan-c.html?_r=1&pagewanted=all?ref=fb)

<comment><USER11> Not working. Shows the Login page.

<comment><USER10> Do you also have cookies disabled for nytimes? If I disallow cookies, the link redirects to the login page, if I allow cookies, the link opens the article.

</comment></comment></comment><comment><USER3> Boutiques -- the businesses are yuppie boutiques.

       I have an idea for a fancy men's shoe store called Shoe-La-La.
       It's just a place for the fancy occasions in a man's life:
       like the day you get married, or the day your wife has a
       baby, or just lounging around the house.
        - Michael Scott, "The Office"

<comment><AUTHOR> It is, of course, important to distinguish yuppie boutiques from many web startups.</comment></comment>