Former Reddit CEO Ellen Pao: The Trolls Are Winning the Battle for the Internet - <AUTHOR> https://www.washingtonpost.com/opinions/we-cannot-let-the-internet-trolls-win/2015/07/16/91b1a2d2-2b17-11e5-bd33-395c05608059_story.html <comment><USER2> Duplicate comments thread: [https://news.ycombinator.com/item?id=9898502](https://news.ycombinator.com/item?id=9898502)

</comment><comment><USER3> I really worry that if we don't find a way to fix the abuse problem, pseudonymity online will be looked back on by future generations as our time's Klan hood. Abuse stories like these make me embarrassed to support any form of privacy online.

Platforms need to take a stand and find a way reduce hate and abuse, or public opinion (and my own) will turn against support of privacy. If it turns out pseudonymity is fundamentally incompatible with safety of the abused online then I'll take the latter, but I'd rather search for a way to have both.

Platforms banning abusive subcommunities seems like a good start.

<comment><USER4> _> Abuse stories like these make me embarrassed to support any form of privacy online._

If it were easier to publicize scenarios where people are imprisoned, tortured, or killed for voicing their opinions online - I'm sure people would swiftly change their tune regarding privacy. I'm sure many of these cases are never heard of and kept hush-hush. Largely fearing that sharing such a story would mean "you're next".

 _> Platforms need to take a stand and find a way reduce hate and abuse_

Prohibit the use of posting PII. No addresses, no names, no numbers, no contact information, not even your age. If nobody has information to threaten or intimidate you, it's less likely to occur or be credible. In other words, don't hand your potential future abusers a weapon to use against you.

Privacy _is_ security online. If you give away your privacy - you give away your security. Even YouTube was aware of those only 4 years ago. [0]

 _" Protecting your privacy means you are taking care not to post personal information that could result in you being harmed over the internet."_ \- Long forgotten and often ignored advice

Ironically, your advocacy for lack-of-privacy is exactly what would put people into _more_ potential danger. First step to harming someone: knowing who they are to begin with.

[0] [http://i.imgur.com/wbjCmbt.jpg](http://i.imgur.com/wbjCmbt.jpg)

<comment><USER3> > Ironically, your advocacy for lack-of-privacy is exactly what would put > people into more potential danger. First step to harming someone: knowing > who they are to begin with.

Just a small note. I actually currently do support pseudonymity with the caveat that we need to find a way for it to exist non-hatefully. If Reddit, by shutting down problem communities or some other approach, manages to clean up their act while staying pseudonymous I will be _very happy_.

Incidentally I don't think your "total privacy" solution will work as we live more of our lives online. People _will_ post PII. It's almost impossible for most people not to.

<comment><USER4> _> Incidentally I don't think your "total privacy" solution will work as we live more of our lives online. People will post PII. It's almost impossible for most people not to._

If I hand a criminal a gun and he shoots me, perhaps I should not have given him a gun? I don't defend the criminal for shooting me, that isn't right either, but it was preventable. I find it hard to emphasize with people who _willingly choose_ to hand their abusers weapons to beat them. The choice was theirs and the outcome predictable.

There are people, like me, whom exist without a Facebook. Without a Twitter. Who post very little, or sometimes fabricated details, of their personal lives. We exist and function in society but have opted out of placing ourselves at risk by sharing our PII with the world. We refuse to give others a weapon. Not surprisingly, I never hear about an anonymous user being abused. It's always someone with a name. Someone with an identity. Someone who has provided people with something to attack.

People have nothing to attack about me but my opinions - and I'm always willing to _defend_ my opinions; rather than asking my opinions not be attacked.

</comment></comment></comment></comment><comment><USER5> "But to attract more mainstream audiences and bring in the big-budget advertisers, you must hide or remove the ugly. "</comment>


You Can Meet Your Heroes - <AUTHOR> https://medium.com/design-startups/e1bc877c39e8

<comment><USER2> I saw a small clip of Steve Jobs talking about the same thing [1]. One of the advices that surprised me most the first time I've heard it.

[1] [http://www.youtube.com/watch?v=zkTf0LmDqKI](http://www.youtube.com/watch?v=zkTf0LmDqKI)

<comment><AUTHOR> That's incredible

</comment></comment><comment><USER3> "Your product is short-term, the relationships you build are long-term." \- Love this <3

<comment><AUTHOR> Thank you!

</comment></comment><comment><USER4> There are so many ways to do this. Go to Startup School* (where I met pg, Ron Conway and more), Startup Riot (where I met Andrew Warner) or a conference like PyCon, where I met other startup people, including some YC founders. For all the money involved, the startup world is surprisingly open.

*[https://news.ycombinator.com/susapply](https://news.ycombinator.com/susapply)

<comment><AUTHOR> Absolutely, conferences would be great places to break the ice. But if you've ever been to a tech conf. you know that most of the people in the room are terrified of talking to others.

I was for a while and still am. Where I've been able to thrive is online where I can craft my message perfectly.

And after the first person said yes, I've realized how easy it is. It is a truly slippery slope.

The possibilities are definitely endless - and the industry is like no other :-)

</comment></comment><comment><USER5> I'm gonna be pedantic and bring up this line:

> Don't leave out the smiley. People dig smileys. :-)

Am I the only one that gets put off by that? I always see it as either disingenuous, passive aggressive, or creepy. I feel even weirder when people use ";-)" or something similar.

<comment><AUTHOR> :-(

</comment></comment><comment><USER6> Awesome article Matt! I found the same to be similar when writing Founders (an eBook with ~20 entrepreneurs @ [http://founders.cc](http://founders.cc)).

Pretty much everyone in this industry is willing to help out if you reach out to them.

<comment><AUTHOR> It's really mind-blowing. Whenever I talk to people outside of the industry...their first comments are: 1\. Won't people steal your idea 2\. Why are your competitors talking to you on the phone etc.

I think the Internet is just so big that people are more comfortable sharing. Which is really cool :-)

I hadn't come across Founders before, gonna' take a peek :-)

Thanks!

</comment></comment><comment><USER7> And, take heart fellow awkward nerds. I've set the bar incredibly low for social contact by using gimmicky means of reaching out to my own heros. It was the only time when I regretted that they actually read and replied to what I sent.

Just be genuine.

<comment><AUTHOR> It's liberating once you realize they are actual human people who often want to help - as long as they feel that their help won't be wasted...</comment></comment>


Dune: The Complete Saga - <AUTHOR> https://vimeo.com/54644338

<comment><AUTHOR> This is a 3h fan-cut of the David Lynch movie.</comment>


Show HN: TagOverflow, a graph map of Stack Overflow topics - <AUTHOR> http://stared.github.io/tagoverflow/?site=stackoverflow&size=32 <comment><USER2> Superb!

Thanks for sharing the source code as well:

[https://github.com/stared/tagoverflow#tagoverflow](https://github.com/stared/tagoverflow#tagoverflow)

</comment><comment><USER3> Interesting, but at least the "top answerers" in given categories are just people who have answered a question in that category and have a lot of points regardless of whether or not those points were gained from questions with that tag.

<comment><AUTHOR> Could you provide a direct example? I thought it was working in a different way.

The description is a bit opaque ([https://api.stackexchange.com/docs/top- askers-on-tags](https://api.stackexchange.com/docs/top-askers-on-tags)), as it does not specifies what does "top" mean (but for sure they need to get some points in a given tag, within the last 30 days).

</comment></comment><comment><USER4> This is a brilliant initiative. Thanks for sharing open sourcing it. [https://github.com/stared/tagoverflow#tagoverflow](https://github.com/stared/tagoverflow#tagoverflow)

</comment><comment><USER5> Filed a PR to fix the HTTPS issue: [https://github.com/stared/tagoverflow/pull/2](https://github.com/stared/tagoverflow/pull/2)

<comment><AUTHOR> Thx, accepted.</comment></comment>


All Blog Links To The New York Times Will Be Freebies. This Could Get Ugly. - <AUTHOR> http://techcrunch.com/2011/03/21/pay-sieve/ <comment><USER2> How are they going to identify if the referring site is a blog? Does any personal blog count? What if it's self hosted?</comment>


Ask HN: Share your favourite talks on YouTube - <AUTHOR> <comment><AUTHOR> Recently I have really enjoyed:

* Joseph Stiglitz on the introduction of informational mechanisms in Economics [1]

* Burton Folsom on the myth of robber barons and the great american entrepreneurs of the 19th century.

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

[2] [https://www.youtube.com/watch?v=4Vw6uF2LdZw](https://www.youtube.com/watch?v=4Vw6uF2LdZw)</comment>


The Nickelback Persistence Conjecture - <AUTHOR> http://www.backalleycoder.com/2016/05/25/the-nickelback-persistence-conjecture/ <comment><USER2> Oops I did it again.</comment>


Microsoft Loves Linux - <AUTHOR> https://info.microsoft.com/WE-Azure-CNTNT-FY17-08Aug-24-Microsoft-Loves-Linux-249267_Registration.html?wt.mc_id=AID555853_pd_scl_11087209727010_11087209727909 <comment><USER2> Linux doesn't give a fuck :|</comment>


How Can We Make You Happy Today, Peter Thiel? - <AUTHOR> http://www.wired.com/2016/05/three-cheers-for-peter-thiel/ <comment><USER2> Reminds me of this strip from Sherman's Lagoon [http://i.imgur.com/zBigP.gif](http://i.imgur.com/zBigP.gif)

</comment><comment><USER2> Seems like WIRED has gone passive-aggressive on Thiel. Any idea why?...</comment>


Colosseo — keeping printed letters alive - <AUTHOR> http://colosseotype.com/

<comment><USER2> The video on the site is worth a watch-through too. Impressive piece, well- designed video, and hopefully loads of sales for a job well done. Any typography fans, this is probably right up your alley.

</comment><comment><USER3> What a beautiful piece of art. i really wish a people could appreciate more all the knowledge and the though process behind design... not everything come for $40 on Elance...</comment>


No Money, No Time - <AUTHOR> http://opinionator.blogs.nytimes.com/2014/06/13/no-clocking-out/ <comment><USER2> The thing that frustrates me the most about this situation is the waste of human capital this represents for society. Now, I'm a firm believer that society is advanced mostly by a small minority of highly talented individuals - the intelligent, creative, charismatic, and hardworking few change the game for everyone else.

Now, what happens when those rare talents are born into the cycle of poverty? What lessons do they learn? Too often, their talents just get them into trouble. They find themselves caught up in crime, addiction, and the other short-term thinking failures of poverty, and thus unable to express their talent. Worse, society simply expects nothing of them. They have no role models, and they have no external motivations to be and do better.

Even those who can do better often simply escape, leaving the culture of their birth behind. Frankly, I did that. I was raised about one step above what southerners call "white trash". My father, a tremendously intelligent and charismatic man, was constantly lured by petty crime and get-rich-quick ideas, and wasted his life. His interactions with the wealthy men he worked for generated feelings not of admiration and example, but contempt. To this day, when I'm not sure what to do about a situation, I think of what he would have done, and do the opposite. And he took a big step up himself - I remember visiting my grandfather's farm in rural Kentucky as a child. I didn't notice the lack of electricity or running water at the time. I notice it now. My father escaped sharecropping, but he never escaped his own demons.

I see the effects of those escapes now in my sister's life. She loves living in the rural south, but is constantly brought down by the ignorance and awful habits of her neighbors. Everyone in her area (southern Virginia) who has any brains simply moves away. What's left are the addicts, the fools, and the spiteful. Sure, it's beautiful there, but I don't see how she can stand living around people with so little ambition. I do, however, see how she suffers in poverty and hopelessness.

Me, I got up and left. I made a good career for myself, living in a nice safe neighborhood in a beautiful city, making a good income in a safe field, raising my kids safe from the things that got me as a child. I can't imagine going back to that life.

But oh, so many lost souls. So much talent put to waste in jail or in the grave. This is what we allow poverty to do to our society.

<comment><USER3> The fact that people like you _can_ escape is very encouraging: it means we still have class mobility -- if you've got the skills and work ethic, you can be born into the lower class and quickly rise above that.

<comment><USER4> Don't kid yourself. There's a wide gulf between a worldview based on a few anecdotal successes and the more realistic picture emerging from a flood of statistics, which not only show the rarity of mobility, but indicate that it's declining - esp. for those unfortunate enough to be born at the bottom.

Yes, people _can_ win Olympic Gold (we're not competing against robots yet), but very few will and those who do will have to make extraordinary sacrifices. So yes, give them credit. But don't - whatever you do - look at people who haven't managed to keep their heads about water, and think "well, this one guy made it against all odds and you didn't, so you must be a lazy, stupid human."

That may be fair (if harsh) in a supportive world where it takes rare talent to fail. But it's a monstrous attitude in a world where the opposite is so clearly the case.

<comment><USER5> The number of people that can win an Olympic Gold is arbitrarily fixed. The number of people that can become financially successful isn't.

<comment><USER4> And yet, for the last 30 years, the number of those who are successful relative to the rest of the population has suffered sharp decline.

Do you honestly not know this? Or are you simply the sort of person who just doesn't mind?

<comment><USER6> Relative mobility has remained flat and absolute mobility has increased.

[http://obs.rc.fas.harvard.edu/chetty/mobility_trends.pdf](http://obs.rc.fas.harvard.edu/chetty/mobility_trends.pdf)

<comment><USER4> Not actually the point I was making but an interesting paper nonetheless.

When I said "relative" I meant "relative to the population as a whole", not "relative to the members of one's class from prior generations."

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> Outside of the SV bubble, it's extraordinarily difficult to fail without seeing your credit take a serious hit. And boy howdy is getting back on your feet hard when you (a) can't get an apartment, and (b) find yourself getting screened out of otherwise available jobs. Forget getting money on loan, this is just getting access to the basics of economical survival - work to do and a place to sleep.

The fact that we punish economic failure by making economic success even harder to achieve is evidence of the deep insanity within American culture. Sink or swim is a misnomer. Swim or be drowned is closer to the mark.

So it's great that we're making technical progress on every front imaginable. But how many of these advances see their promise still born in a culture that pays more attention to recycling its trash than the people it discards on its streets?

This winner-take-all/losers-get-ruin problem goes way beyond the business cycle. As Reuters noted a couple of years ago, entrepreneurship has been suffering a decades-long retreat. Having peaked in 1987, it's declined precipitously ever since.

[http://www.reuters.com/article/2012/05/02/us-usa-economy- bus...](http://www.reuters.com/article/2012/05/02/us-usa-economy-businesses- idUSBRE84113G20120502)

In just about every way imaginable, SV is the exception not the rule. For those who are young enough, smart enough, skilled enough, male enough, credentialed enough, connected enough, unencumbered enough, and possibly delusional enough it's great. But strike any one of those factors from the list, and watch the curve get steep. Start crossing off two or more and the odds on the lottery start looking good.

Those are the odds that the rest of America sees. So it's no wonder they're backing further and further away from risk, regardless of the long-terms costs the country. Until this country has a social contract that's worth a damn, people are going to be very adverse to even the slightest setback. And for good reason.

After all, there's a big difference between the kind of failure that can be chalked up "a valuable learning experience" and failure so catastrophically crushingly severe you never, ever, get back on your feet. There's a lot of that in America. It's where the Fear comes from. That's what drives most people. Not dreams of being one of the great or the good. Those are luxuries for the fortunate few. Most people just live in constant dread of being thrown in the street.

</comment><comment><USER7> There's a saying, it goes like this: "its expensive being poor", and its really the truth. If you don't have enough money to buy in bulk, you end up paying way more for the smaller amount of product. If you can't afford to spend time on something because you have a limited number of calories before you become unproductive, and therefore have to work on aquiring more calories, then you're stuck in a feedback loop of no progress. And so it goes.

This is why the truly rich (not necessarily wealthy) find pleasure in lifes' simple, cheap, offerings. It's almost impossible to find vegetables as good as the ones we grow in our home garden, but yet it takes on average 30 minutes of work every day to keep things in order .. finding that balance is what is key to moving from being poor to rich, in my opinion. The time not spent getting in the car to go grocery shopping is instead spent maintaining a well-ordered garden plot ..

<comment><AUTHOR> There's a great quote from a Terry Pratchett Discworld novel:

"The reason that the rich were so rich, Vimes reasoned, was because they managed to spend less money.

Take boots, for example. He earned thirty-eight dollars a month plus allowances. A really good pair of leather boots cost fifty dollars. But an affordable pair of boots, which were sort of OK for a season or two and then leaked like hell when the cardboard gave out, cost about ten dollars. Those were the kind of boots Vimes always bought, and wore until the soles were so thin that he could tell where he was in Ankh-Morpork on a foggy night by the feel of the cobbles.

But the thing was that good boots lasted for years and years. A man who could afford fifty dollars had a pair of boots that'd still be keeping his feet dry in ten years' time, while the poor man who could only afford cheap boots would have spent a hundred dollars on boots in the same time and would still have wet feet.

This was the Captain Samuel Vimes 'Boots' theory of socioeconomic unfairness."

<comment><USER8> That quote always bothers me, because most long-term savings like that aren't nearly so clear in numerical terms.

<comment><USER9> You agree with the conclusion but are upset that an example which has been simplified to make a point isn't as nebulous as real life?

<comment><USER8> You're right -- if that were the issue, it would be a bad objection; let me try again.

The problem is that in real life, most such cases (of buying the more expensive item) don't result in a pure savings, but rather, leave you better off in some ways and worse off in others. The cheaper shoes, IOW, will not _actually_ be so bad that you have to replace them entirely, and you will in fact end up with with more liquid savings. The temporary discomfort and greater savings are much harder to compare to the alternative than the example suggests, so wealthier people do not always have some obvious choice that leaves them better off in every way.

So, on top of that, it's not an issue that is fixable simply by pointing this out to the poorer person and loaning them the money.

<comment><USER10> A classic one in the US would be the choice of visiting the doctors. The rich can afford to have regular checkups(or insurance) and get a sniffle checked out early. The poor can not afford to visit the doctor over minor ailments and because of this end up spending big in lost time at work and more expensive one off treatments for a serious illness they didn't nip in the bud.

But I'd have to concede that you'd be right to say it still doesn't fit the boots analogy with out some rather lax semantics around up front vs long term cost. You could also argue that any individual might get lucky/unlucky and so it's not clear cut there, but I think it would be fair to argue that in aggregate the outcome on cost is a reasonable example.

</comment></comment></comment></comment></comment></comment><comment><USER11> I'm glad to see a few studies bearing out the sort of things I perceived growing up.

 _' To him, the obvious conclusion is to radically change our thinking. "Just like you wouldn't charge them $1,000 to fill out a form, you shouldn't charge them $1,000 in cognitive complexity," he says. One study found that if you offer help with filling out the Fafsa form, pickup goes up significantly.'_

I believe this is exactly the right sort of thinking. Finding ways to encourage and enable people to start moving gradually in order to build positive momentum.

The "front loading" of forms, waiting lists and probationary periods are like mountains. Some people break themselves on the ascent, others spend themselves reaching the summit and have no energy to continue safely down the far side. These man made mountains need not remain arbitrarily steep.

<comment><USER12> As mostly an outside observer in both countries (fortunately), this is one of the big differences I see between the American and Danish welfare systems. The Danish one has a reputation for being much more generous, which is true to some extent, but is not _as_ true in terms of throughput as it is in terms of latency. The Danish system does a lot of short-term "business": people get onto the system in a matter of days, use it for 6-12 months, then get off again. (By "the system" I mean a range of things: housing subsidy, retraining, cash welfare, mental-health treatment, etc.) Whereas the American one seems incapable of delivering _anything_ with less than a 6-month waiting list, with an extremely bureaucratic and unfriendly process almost always serving as the gatekeeper.

<comment><USER11> _> 'Whereas the American one seems incapable of delivering anything with less than a 6-month waiting list..'_

My family was on a wait list for housing assistance from the time I was a child until I dropped out of school and started working, making us ineligible. The list is currently closed and was last open over half a decade ago, for less than two weeks - like something out of a fantasy novel.

 _>...with an extremely bureaucratic and unfriendly process almost always serving as the gatekeeper.'_

Well, there's a popular notion in the US that the process should be as difficult and unfriendly as possible - that people seeking public assistance are not just lazy, but living well. The 'welfare queen' [1] still haunts the system 40 years later.

1: [http://en.wikipedia.org/wiki/Welfare_queen](http://en.wikipedia.org/wiki/Welfare_queen)

<comment><USER13> The problem is that while there are a great many deserving people who wouldn't abuse the system, there are also plenty who would.

Worse is that if you overhear one person on the bus (like I did when I was in college) talking about having another child so she could get a larger welfare check, it has a way of getting to you. It's an anecdote so it doesn't really count from a scientific perspective. But emotionally, that's HUGE.

When I use my brain I realize that it would be far more effective to cut the military budget by 10% than the welfare budget by 10% in terms of reducing taxes. But somehow I still feel some kind of moral outrage about the person who considered a welfare payment her divine right for existing rather than a temporary thing that well-intentioned people created for the sake of trying to help lift less fortunate folks out of poverty.

Emotionally I feel less bad about the military because at least something's getting done as a result. People have jobs (even if they're not the most efficient) and technology is advanced (even at a cost greater than a private company might capable of) and actual tangible things happen. In some ways that's easier to justify, even if that justification is completely wrong given the graft and corruption that's rampant in the military-industrial complex.

It also is very upsetting from a felt-justice perspective. Here I am working hard end paying my taxes so that (in a very, very small way $ or % wise) I'm empowering someone else to just sit around and get paid to do nothing but pop out babies and raise them poorly.

Thinking critically I realize that I have no actual idea what my opinion of acceptable false positives and false negatives is, or how the system actually performs irrespective of my judgement. But as human beings we're wired to reject "unjust" gains for others even at our own expense. [http://en.wikipedia.org/wiki/Ultimatum_game](http://en.wikipedia.org/wiki/Ultimatum_game)

"Well, there's a popular notion in the US that the process should be as difficult and unfriendly as possible - that people seeking public assistance are not just lazy, but living well. The 'welfare queen' [1] still haunts the system 40 years later."

It's hard to not feel as though it might still be happening in a measurable way when you can read articles like this: [http://www.salon.com/2010/03/16/hipsters_food_stamps_pinched...](http://www.salon.com/2010/03/16/hipsters_food_stamps_pinched/)

Again, I realize that it's ENTIRELY possible that the subjects of this article are the exception rather than the rule. But it's hard to use your brain rather than react to your emotions when this kind of thing gets written up.

Ultimately the problem is that not everyone can think critically all the time about everything and then react appropriately.

<comment><USER14> I used to think similar to this, even though I was and grew up poor. But after working with a few NGOs I've found the system is designed to screen out the people that need the help. At the same time the people that know how to work the system get the most aid.

Most welfare requires that you report 0 income, so instead of searching for work working welfare becomes the job. Showing up every day to the local office, wait in line, fill in papers, come back tomorrow, and repeat.

A few years ago I had a friend quit her job as a social worker because she was expecting a baby and her company didn't provide health insurance. She was able to get Medicaid by going on unemployment as a single mother with child. Then she had to stay unemployed because the cost of daycare was more than her income. Social welfare in the US is so screwed up because you have to be backed into a corner to get it and then have to stay there because your time becomes devoted to keeping track of all the paperwork.

<comment><USER11> _> '...the cost of daycare was more than her income.'_

Covering the gap when coming off of assistance is a major problem.

The sharp cutoffs and various criteria for violations turn leaving assistance into a leap of faith.

A small raise becomes a big problem when the increase adds up to far less than the food benefit you'll lose all at once for exceeding the income limit. Likewise, you can't build a basic emergency fund when two thousand dollars in the bank will kill your SSI.

<comment><USER12> The SSI one also tends to discourage disabled people from doing any work, because _any_ ability to earn income, even a small amount intermittently, is taken as evidence that you aren't really permanently disabled. I have an American uncle with MS, who can't work at all now, but in earlier stages of the disease he probably could have worked _some_ of the time (not a steady job, because he'd be relatively better for a few months then relatively worse again, but a part-time job for part of the year would probably have been ok). But he was advised that SSI disability just isn't set up for that: you can't be completely disabled some months a year and work part-time other months. You are either permanently disabled and get a monthly benefit, or you aren't disabled and get nothing. Since he wouldn't be able to work regularly enough to support himself through work, he went on SSI disability and didn't work at all, which was probably not ideal for either the economy or him.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Another article in the increasing line of studies of the poor getting poorer.

tl;dr: The poor are worse at managing time and money because they are exhausted all the time and have fewer/no options (i.e. costlier credits than the wealthy)

</comment><comment><USER16> I just wish that articles like this focused more on how to solve it. It's nice that it acknowledges the problem. But that is not enough. The end of the piece gives a small snippet of examples of what works.

How do we start promoting things that do work? That really work? I think that does not get done in part because many people really do not want "the poor" to solve their problems. I do not understand why that is but there seems to be a hostile attitude towards poor people, as if being poor is evidence of lack of good morals or something and thus you deserve to suffer.

But this doesn't just hurt people who are currently poor. It means anyone who falls down gets kicked while they are down so it becomes unlikely they can get back up. This is not a good paradigm for society. It hurts everyone.

<comment><USER17> I recently finished reading the book mentioned in the article and in the book, they have a chapter focused on ways to improve the situation for people living in poverty. What I got from it was that programs to help poor people need to be tweaked to not tax their bandwidth as much and there is no real one size fits all solution.

One example in the book is the computer skills programs that are often offered by employment services offices. These programs are usually several weeks long and build on knowledge from previous weeks. For someone who is struggling financially, attending these classes weekly could be difficult. You miss one class, and the next class makes no sense and you feel like you're wasting your time. The authors' suggestion is to restructure these classes to be more modular and allow people to attend these classes based on their schedules.

I think it's not so much that people don't want the poor to solve their problems. It's that they don't want to make it easier for them. People feel that they themselves did just fine without all the benefits that the poor get, so why should we make it easier for them?

<comment><USER16> Thanks for the feedback on the book.

As for your last paragraph: I have been homeless for about 2.5 years. Programs to "help the homeless" mostly really, really suck and a lot of them a) piss away the time of the intended recipients b) require the intended recipients to accept enormous disrespect and c) reinforce a subsistence existence. Many of the programs that look to get poor people off the street require you to first be guilty of something, admit your guilt and then be their property.

I have no doubt that it isn't exactly consciously intentional but those attitudes are in there somewhere or this would be better. (There are some programs that are better than that but the default model is pretty awful, to the point of being actively hostile.)

</comment></comment></comment><comment><USER18> I wrote about this in more detail here: [http://blog.seliger.com/2014/06/15/talking-about- progressive...](http://blog.seliger.com/2014/06/15/talking-about-progressive- ideals-in-proposals-money-time-and-poverty-in-grant-writing/) , but one underappreciated facet of this dynamic is the extent to which the infrastructure we've collectively put in place to help people financially and otherwise has an enormous time cost of its own.

I do grant writing for nonprofit and public agencies. Virtually all federal, state, and local programs either mandate or imply that case managers must be hired or deployed. Each one of those people, and each one of their interactions, carries a cost. The situation is different from but still analogous to the one pg describes in "Makers Schedule, Managers Schedule": [http://paulgraham.com/makersschedule.html](http://paulgraham.com/makersschedule.html) .

<comment><USER19> The time cost of welfare a big part of why I think an unconditional direct cash subsidy is a better plan than our current welfare system. The bureaucratic efficiency losses for both welfare recipients and grantors is more than enough to pay for expanding the recipient pool.

</comment></comment><comment><USER20> >>It wasn't that the poor participants were doing better; it was that the rich ones were doing worse.

I reminds me of a sentence from a recent study of breastfeeding vs. formula milk - "It's not that natural milk is better for babies - it's that baby formula is worse for the babies".

</comment><comment><USER21> In a capitalist society, the key to "a good life" is passing a certain threshold of capital accumulation. The poor, not having much to begin with, has to constantly fight this uphill battle of trying to save more money, of finding more resources constantly, adding to their net worth, etc. This article shows that there is even an adverse psychological effect that makes reaching the goal still harder. All this seems to require big intervention of the governments part to level the playing field and make capital accumulation possible.

Unfortunately in the US, one bad financial decision, one loss of job, one bad case of illness or one trouble at home can reset the pool to 0 and often negative due the extensive background and credit history checking. It is the US government's responsibility to fix this because we submit to its authority, fund its existence and elect its officials for the purpose of trusting it to steward our nation and its people. Sadly when I tune into the political discourse it's all about gun/abortion/tax/federal debt and whatever other kinds of "freedom". Why is helping people never and enhancing social mobility on the table. And I am so so tired of politicians parading education as the silver bullet.

</comment><comment><USER22> We are hackers, and for those of us with whom this article resonates, we can connect those with time but little money (e.g. teenagers looking for charities to contribute to) with the poor through technology. The teens could help with chores, maintenance, errands, filling out forms. Taking some of the time- pressure off might help them to get out of the cycle.

I'm willing to build it if you are. Contact me.

<comment><USER23> In my experience, in everything from going out to lunch to planning a camping trip to having a party to asking someone out to doing any work-- you have to do it, and yes let other people know you're doing it, but you have to be doing it regardless.

Things generally don't work if you say "I'll do it if you agree to do it too."

<comment><USER22> Nonsense. If I can't find someone to go to the movies with me, I probably won't go. I care about this issue, and am willing to work toward it - and it might even be fundable through grants, and other philanthropy. So I'd recommend contacting me if it interests you.

</comment></comment></comment><comment><USER24> This was a good article.

The comments seem to focus mostly on the financial aspects but I found the portion regarding how time is spent interesting. (True, the article does tie them together to an extent).

As far as financial poverty... my personal opinion is that "finance" is too widely regarded as an unalterable given that is intrinsic to the human condition. Certainly the concept of money has produced a system that has advanced human control over our environment, but a bit of perspective suggests it is a concept that we did without for tens of thousands of years. And, I suspect sometime in the future we will do without it again.

Maybe not "poor people need money" but rather "hungry people need food" might be the type of larger and more directly useful framework to address some of these problems within. Certainly we are at the level we should be able to provide basic food, clothing and shelter to all members of our species and no one should suffer and die from want. If we aren't doing this, given what we have and what we can do, then there is something wrong with the system and this needs correcting before we will be able to move much further. IMHOP. Maybe the thing that got us here (the concept of money) is becoming a conceptual problem that is now keeping us from advancing further. I don't have a fix. I just see what I think is part of the problem.

</comment><comment><USER6> Strange that little correlation data is provided. Microdata is available from the BLS on what people spend time on, sliced by income and poverty.

Checking whether poverty or low income are correlated with having little time should be a fairly straightforward python/pandas job. It seems unlikely that the money-poor are also time-poor (given that the main cause of money-poverty is not working), but it's straightforward to check in any case.

[http://www.bls.gov/tus/#data](http://www.bls.gov/tus/#data)

If I have time tomorrow I may do it myself.

<comment><USER25> > given that the main cause of money-poverty is not working

Is that really true? I'm not sure if my girlfriend's family qualifies as truly poor, but they certainly don't have much money. Her dad has two jobs--line cook and hotel janitor--and her mom is also a line cook. They frequently have to go to check cashing places, they have only one car so her mom relies on taking the bus to work (which takes over an hour each way, and also requires walking to the bus stop), and they rarely if ever do things like run the AC in their house. They do live in a house as opposed to an apartment, but that's a relatively new development. The house is also in a somewhat sketchy area--for example, her brother was robbed at gunpoint walking through an adjacent neighborhood at 10PM.

<comment><USER25> I wanted this to be an edit to the original post, but it looks like that post is locked into stone for now.

I wanted to expand on the robbery incident and illustrate how something like that is potentially even worse than you'd expect.

The reason he was walking through the neighborhood is because he doesn't have (and can't afford) a car, and he was walking back from work.

They made the "mistake" of calling 911 to report the incident. He was mildly beaten up, and they were worried about potential injuries, so they sent an ambulance. It turns out he was completely okay, and they put on a few bandages and that was it. Then he was hit with a $3k bill.

Her brother works part time at a minimum wage job while going to school. A random $3k bill out of the blue is really not affordable to him, so now he's on a payment plan paying off that debt.

This is on top of the items that were actually stolen from him, like his phone, which he had to replace, and the general trauma of having been robbed.</comment></comment></comment>


Formal Verification of Y86-64 Processors - <AUTHOR> http://csappbook.blogspot.com/2018/10/formal-verification-of-y86-64-processors.html <comment><USER2> Didn't know what Y86 meant, but found this:

 _' The Y86 is a "toy" machine that is similar to the x86 but much simpler. It is a gentler introduction to assembly level programming than the x86. Just a few instructions as opposed to hundreds for the x86. Fewer addressing modes. Simpler system state. Absolute addressing.'_

<comment><USER3> Yes, it's widely used among universities teaching intro computer systems, I believe.

</comment></comment><comment><USER4> Nice! Seems however like there is no obvious approach to scale this proof to a machine with caches and multicycle memory accesses, where you can not flush the pipeline quite as conveniently.

<comment><USER5> That is true. Scaling this to processor with caches and deep pipelines is completely non-trivial. There has been some attempt to scale to more "realistic" designs with compositional (stepwise) verification.

[http://www.ccs.neu.edu/home/pete/research/ieee-vlsi- composit...](http://www.ccs.neu.edu/home/pete/research/ieee-vlsi- composition.html)

[http://www.ccs.neu.edu/home/pete/research/todaes-safety- live...](http://www.ccs.neu.edu/home/pete/research/todaes-safety-liveness- refinement.html)

</comment></comment><comment><USER6> Interesting. Formally-proving a classical processor circuit design (as opposed to the ISA and RTL) must be fun as sequential and bus logic aren't just 0 and 1, as there's high-impedance, time where a result isn't yet stable and uninitialized. Also, there are don't care states and values in the design which aim to reduce circuit complexity and latency.

If/when many qubits circuits can be fabricated, that also sounds like a mucho fun challenge for formal verification. It's an educated guess that people are already working/worked on it because the math usually precedes the hardware.

<comment><USER4> You can get rid of metastability and high impendance in the proofs provided cycle time is large enough. Then you have cyclical binary logic. This is a classical result shown eg in "Computer Architecture" (Müller Paul)

I don't know anyone working on formal verification of quantum hardware, would be interesting if anyone does it.

<comment><USER7> It's happening:

[https://www.seas.upenn.edu/~rrand/qpl_2017_talk.pdf](https://www.seas.upenn.edu/~rrand/qpl_2017_talk.pdf)</comment></comment></comment>


Equifax compromised 143M people's Social Security numbers and other data - <AUTHOR> https://www.theverge.com/2017/9/7/16270808/equifax-data-breach-us-identity-theft <comment><USER2> Isn't that like half of the United States? And is it 143M SS numbers or just 143M people with any kind of data breached.

</comment><comment><USER3> Maybe it's time to require licensing and audits for the privilege of holding personal information like SS numbers.

<comment><USER4> or you know maybe not throw around flat identifiers which apparently are all you need to take out a loan in someone else's name

<comment><USER5> That's not gonna happen as long as both political parties continue mudslinging instead of compromising.</comment></comment></comment>


Ask HN: How many books do you read a year? - <AUTHOR> <comment><USER2> A kindle has made me read vastly more non-fiction than I used to. I still get in some fiction, but when I was a kid I read a novel a week. Alas, I do not get out to the library enough.

I'd say I finish 50+ books a year, with a ratio of 60:40 the majority being non-fiction. Anything around 300 pages can easily be read in a week or less. Longer stuff (600-900 pages) I take more time on but approach episodically. I read multiple books at a time and I dip in and out of books to take short breaks from the density and to enjoy serendipity when ideas between different books overlap.

The quality of the prose effects novels more because I feel like I can overlook non-fiction prose quality for the most part (however, there are standouts, like David McCullough, where their prose is as fascinating as their topic). I'm working to get more fiction in again. Recently, I've found there are more novels on my radar than non-fiction books.

</comment><comment><USER3> 20-30. I read for fun and to learn about things I like. Never understood the HN/blogger obsession with cramming 100 self help/business books into their brain every year.

</comment><comment><USER4> It varies depending on what I'm reading and how busy I am. I've had years where I read 50+ books, but mostly novels. This year I set a goal of 75 books, but I've been reading mostly denser, slower-going stuff, and I'm only at about 20 for the year so far.

</comment><comment><USER5> 20-30 mostly poetry, novels, and light non-fiction. I don't "count" a book as read unless I read the whole thing cover to cover. There are probably another 10-15 books I graze but never finish.

</comment><comment><USER6> I used to hover around 30-40, now I am more busy or wasting my time, so I am around 15.

Which made me think that, assuming that live another 50 years, at that rate, that is only 750 books left. Which is kinda sad.

</comment><comment><USER7> Usually around 30-40, but this year after I discovered chinese novels I think I already doubled it.

</comment><comment><USER8> Approximately 20. Usually 1-2 a month on Kindle, all non-fiction.</comment>


Valuations - <AUTHOR> http://blog.samaltman.com/valuations-1

<comment><USER2> Flagged by users because it was a dupe of [https://news.ycombinator.com/item?id=7922183](https://news.ycombinator.com/item?id=7922183). Thanks!

<comment><AUTHOR> Thanks Dan! Sorry about that -- I just pasted the link from my email, so I didn't realize it was a dupe.</comment></comment>


Do animals commit suicide? - <AUTHOR> https://www.thedodo.com/do-animals-commit-suicide-1462846978.html <comment><USER2> animals are conscious beings like us, people think they are dumb. they aren't. imagine yourself being trapped in a cage or in a swimming tank for your whole life doing tricks for humans, away from your family while your children are taken from you. we should all be aware of animal suffering. a huge step we can all take is to research and be vegetarian with the ultimate goal of being vegan. there are major health, animal, and earth benefits. the lack of protein and nutrients is a myth. peace and love to all the animals subjected to human cruelty, unlike any other on earth.

<comment><USER3> Thanks for this beautiful comment. I am reminded of a quote by Isaac Bashevis Singer, "In relation to [animals], all people are Nazis; for the animals, it is an eternal Treblinka."

We've held ourselves "above animals" (superior) for far too long. We would do well to remember that humans are just one more tribe in the greater animal kingdom.

<comment><AUTHOR> Hadn't seen that before. Thanks. This is also worth a look: [https://en.wikipedia.org/wiki/Animal_rights_and_the_Holocaus...](https://en.wikipedia.org/wiki/Animal_rights_and_the_Holocaust)</comment></comment></comment>


Show HN: Badge Designer Tool - <AUTHOR> https://badge.design/ <comment><USER2> Hello, I'm the main dev for the badge design tool. It took around 2 weeks to go from concept to sketch to the MVP you see today. It was released to the public just yesterday, which is why it has a few niggles. I did limited testing for a number of reasons:

1 - I'm lazy 2 - I think I'm a great programmer, moi? bugs? 3 - It's not mission critical (that's the real reason)

I'll address any bugs or issues and push them as I do. The tool sits outside of our main certification platform and any feedback will help us refine it before we add it to the platform.

Our internal development setup means we can trivially share the code between web properties without much work, so it will exist on BOTH [https://badge.design/](https://badge.design/) AND [https://dashboard.accredible.com/](https://dashboard.accredible.com/) viva la monorepo!

Thanks for pointing out any bugs and/or showering the team with praise.

</comment><comment><USER3> I like the interface - no question about what you are meant to be doing there, jump straight into it. It work's fine on the desktop and sending a certificate works nicely as well.

I'm not sure if clicking a badge should add them on top of the existing layer though - would many people design complex badges? If not, maybe save the current badge and let users see the new badge they click from the left instead of the current one.

How do you plan to make money from this - appears to be completely free to make and use the badges. I had a brief look at the help (which probably shouldn't be on a different domain), and didn't see much there.

<comment><AUTHOR> Thanks for the thought on layers. We're hoping to add more shapes/images to the left hand side including things like icons so I hope it'll make more sense then. With the current set of mostly pre-made badge SVGs you're absolutely right!

In terms of making money, we provide a badging and certification service at [https://www.accredible.com](https://www.accredible.com). We're aiming to keep this tool free so that it can be useful to people getting started. It's something we want to keep improving and it seems a shame to lock it down to our customer-base.

</comment></comment><comment><USER4> Heads up: I'm getting a "Sorry, desktop only" message, and I'm on my 13" Macbook Air using Firefox 58.

<comment><USER2> Fixed that for ya

</comment></comment><comment><AUTHOR> We made a free to use SVG badge designer. Would love to hear some feedback!

<comment><USER5> I'm using Chrome on Android, and it the site doesn't seem to work correctly on mobile (maybe it isn't intended to- in that case, sorry!) The initial badge selection screen isn't cleared after one is selected, and by scrolling to the right, I can see a clutter of other elements underneath.

<comment><USER6> iOS 11 and Safari here. Same thing for me. I can't do anything with the site.

<comment><USER7> Seems to be the case with all the mobile browsers I checked with.</comment></comment></comment></comment>


Announcing Rust 1.20 - <AUTHOR> https://blog.rust-lang.org/2017/08/31/Rust-1.20.html <comment><USER2> Interestingly, because Firefox chooses to use stable Rust exclusively, this is the version of Rust that will be used to deliver Quantum when Firefox 57 releases on November 14 (by which time Rust 1.21 will be out (releasing October 12), but Firefox 57 will be in beta by September 20).

<comment><USER3> Are there any blogs about how Rust is integrated into Firefox (a mostly C++ program) - i.e. how the Rust runtime is invoked, garbage collection etc?

<comment><USER4> Hi, I'm a Servo developer who worked on some of the Rust code that's in Firefox. Calls between C++ and Rust code in Firefox all go through "extern C" functions. Some of the code involves reference-counted smart pointers. We use RAII wrapper types in both Rust and C++ to ensure that refcounts are incremented and decremented correctly on either side of the FFI boundary.

P.S. This old blog post is not about Rust-in-Firefox, but it does cover a related topic: How the Servo browser engine (written in Rust) interacts with the Spidermonkey JavaScript engine (written in C++ and embedded in both Gecko and Servo), including garbage-collected JavaScript objects:

[https://research.mozilla.org/2014/08/26/javascript-servos- on...](https://research.mozilla.org/2014/08/26/javascript-servos-only-garbage- collector/)

<comment><USER5> Are there any engineering openings at Mozilla?

<comment><USER6> You can check out this page: [https://careers.mozilla.org/](https://careers.mozilla.org/)

</comment></comment></comment></comment></comment><comment><USER7> In case anyone else runs into this, I was getting this error trying to update from 1.19:

        $ rustup update stable
        info: syncing channel updates for 'stable-x86_64-apple-darwin'
        error: missing key: 'url'

After I updated rustup from 1.0.0 to 1.6.0 with rustup self update, it worked.

</comment><comment><USER8> I've been having a little trouble using rust for a little project: I need a tree with uplinks (meaning there are cycles). I asked on IRC a couple times and I think what I need is a weak reference inside a refcell, but it's not very easy to make it work cleanly. For one thing, it doesn't look like refcell works well with traits (the nodes in the tree are traits, not plain structs).

I'm a bit frustrated because this is so easy in C. Is there any way this can be easier?

I am imagining a special way to construct cyclical structures where everything inside would have the same lifetime and be destructed at once. We may need to hide the references from destructors though, otherwise a destructor could see a dangling reference.

<comment><USER9> > I am imagining a special way to construct cyclical structures where > everything inside would have the same lifetime and be destructed at once.

The simple way to do that would be to allocate an array, and use indices into the array rather than pointers/references.

Doing it with pointers isn't so much harder in Rust than C as it is that Rust is making you deal with _how hard it is to get this right_ , whereas in C the compiler is happy to let you think it's easy while you accidentally shoot yourself in the foot.

If you want the Rust compiler to accept your mistakes, you can always wrap it in an unsafe block ;)

<comment><USER8> But in my example this is not hard to get right in C. The tree is constructed (on the stack would be fine), then used for a while without mutating it, then freed all at once.

The thing that makes this hard in rust is destructors. If there's a cycle between A and B, and you destruct A first, then B, then B's destructor would see a dangling reference to A. And vice versa if you destruct B first.

But I don't need destructors, or at least ones that can see these references, so it's frustrating.

<comment><AUTHOR> > But I don't need destructors, or at least ones that can see these > references, so it's frustrating.

If you bound it so that it only accepts Copy types, then you can know there are no destructors.

<comment><USER8> Interesting. Then rust should not care about the destruction order, right?

<comment><AUTHOR> For this purpose, no, I don't think. That said I might be missing something and maybe th compiler doesn't understand this, so I'm not saying it's a panacea in your case, just might be worth looking at.

</comment></comment></comment></comment></comment></comment><comment><USER10> Is there a book on Programming Data Structures in Rust. Like from scratch. Trees, Graphs etc. I would expect the first 2 to 3 chapters to be on Rust pointer system and the rest of the book to be on implementing Data Structures using the pointer system.

Similar to like Tanenbaum's book for Data Structures in C or Kruse, Leung and Tondo's book for Data Structures in C.

<comment><USER11> In Rust, you almost always want to use a library for things like that. If you want to write the library, you may want the Rustonomicon: [https://doc.rust- lang.org/nomicon/](https://doc.rust-lang.org/nomicon/). Also, of course, the "Too Many Lists" article in the other reply. Rust definitely pushes a different way of thinking about and using data structures.

</comment></comment><comment><USER12> What happened to the exhaustive list of unnamed Github contributors? I thought that was a really powerful marketing method: dear unnamed Github user x1230134384, your contribution has been acknowledged! Feedback without requiring identification, it's kindof very cool in a project like this.

<comment><AUTHOR> If you click on the final link to thanks.rust-lang.org, you'll find it there!

There have been talks about moving it back, but it's complicated. You can do the "duplicate it" strategy, but that has downsides. You could do an iframe, but then you're using an iframe. You could use JavaScript, but then a whole different crew of people will Get Mad.

<comment><USER13> Obviously the solution is to turn the thanks page into an API, add CORS headers, and then a bit of JS on the announce page to fetch the list from thanks.rust-lang.org and build the list on load or fall back to the current behavior.

Good luck determining whether I'm joking or not. I'm not even sure myself...

</comment></comment></comment><comment><USER14> Looks like this is moving now: [https://github.com/rust- lang/rfcs/pull/1615](https://github.com/rust-lang/rfcs/pull/1615) because of recently added $XDG_BIN_HOME.

</comment><comment><USER15> Not a Rust programmer, so the answer to this question may be in TFM -- Rust has floats, but it doesn't make available constants for inf and NaN? Are you not guaranteed IEEE754 floats?

        const NAN: f32 = 0.0f32 / 0.0f32;
        const INFINITY: f32 = 1.0f32 / 0.0f32;

Or is that just for the sake of example?

<comment><USER16> The consts are currently defined in modules with the same name as the type, `std::f32::NAN;`. This feature allows them to be associated with the type itself - `f32::NAN`. A small convenience.

<comment><USER17> It's more than a small convenience. It's a big feature that we can use when designing traits and APIs.

<comment><USER16> Yes of course (I work on Rust). I mean that the difference between f32::NAN and std::f32::NAN is a small convenience.

</comment></comment></comment></comment><comment><USER18> So are these associations (functions and constants) just using the object type as a name space? Or is there something more to it?

<comment><USER2> In the most basic sense you can view it like that. When combined with the typical behavior of traits it gets more interesting. Say you have some data:

        struct Foo;

Then we can make a trait, that defines an interface that we can give to data later:

        trait Bar {
            const BAR_CONSTANT: i32;
            fn some_function();
            fn some_method(self);
        }

Then we can actually implement that trait for our data:

        impl Bar for Foo {
            const BAR_CONSTANT: i32 = 42;
            fn some_function() {
                println!("foo's associated function, and the const is {}", Self::BAR_CONSTANT);
            }
            fn some_method(self) {
                println!("foo's method, and the const is still {}", Self::BAR_CONSTANT);
            }
        }

Then we can use it like so:

        Foo::some_function();  // foo's associated function, and the const is 42
        let foo = Foo;
        foo.some_method();  // foo's method, and the const is still 42

And now we can take it further. Imagine that you have another piece of data, `struct Qux`. Then you can do the same and `impl Bar for Qux`. And now you can write a generic function like so:

        fn bar_taker<T: Bar>(something_that_impls_bar: T) {
            T::some_function();
            something_that_impls_bar.some_method();
            // And of course we can refer to T::BAR_CONSTANT in here as well.
        }

And call it like so:

        bar_taker(foo);
        bar_taker(qux);

AFAIK, the big deal with associated consts is specifically that it allows generic code like that to refer to different values on a per-type basis.

Here's all this code on the Rust interactive playground if you'd like to poke at it: [https://play.rust- lang.org/?gist=60bd64e1b2f52bb91ed0b0cb428...](https://play.rust- lang.org/?gist=60bd64e1b2f52bb91ed0b0cb428d7303&version=beta)

<comment><USER18> Thanks for the nice example. I've heard of traits but hadn't read enough to know what they are. Looks like a form of multiple inheritance. The example you gave shows polymorphism via traits. That was helpful to me.

</comment></comment></comment><comment><USER19> May be too late in this thread for a response, but does the completion of the 1.20 release free up some time for the "State of Rust 2017" survey results blog post before the 1.21 release? I know there was a huge response, and you don't want to step on the release news, but I'm waiting to see where the user community stands.

<comment><AUTHOR> It's not really about that; the post is almost done, and you should see it soon. It was a _lot_ of work to go through.

<comment><USER20> While thinking about such things—what happened to [https://underhanded.rs/](https://underhanded.rs/)?

<comment><AUTHOR> Results post should be up soonish; I know it's being worked on.

</comment></comment></comment></comment><comment><USER21> Associated functions and associated constants sound so yum! That's one thing I would love to have in Flowtype. But classes seem to serve that use case well enough.

<comment><USER22> You get something similar to with static methods and properties on class definitions. In plain ES2017-ish class syntax:

class Test {

      static value = 1;

      static someStaticMethod = () => {
        return 5;
      }

}

console.log(Test.value) // 1

console.log(Test.someStaticMethod()) // 5

Edit: Sorry, this actually a Stage 3 TC39 feature. Not sure if you can use it with flowtype (I think you can), but you might be able to if you enable babel with stage-3 features:

[https://github.com/tc39/proposal-class- fields](https://github.com/tc39/proposal-class-fields)

You don't actually need this fancy class syntax anyway. You can just define a class and then do:

Test.value = 5

Test.someStaticMethod = () => { return 5; }

The class stuff is just sugar over the prototype stuff anyway, and a class is just a constructor function object with a prototype chain.

<comment><USER21> Yeah, either way it is objects. Traits feel so much more flexible though; and more natural a layer over JS object-orientedness. It also makes it a pain that there are some important semantics missing while using classes in JS. Someitmes Java feels much better.

<comment><USER23> The real problem is that ES classes map onto a paradigm of prototypal inheritance rather than traditional inheritance (as in Java). The discrepancies between the two cause a leaky abstraction, like how a class still has a prototype chain, for example.

</comment></comment></comment></comment><comment><USER24> And here I am, still waiting for the second edition of that book on learning Rust to be finished. I want to learn Rust for fun and I know I should probably just start on reading the book, but I keep making up excuses not to. I want my ++, --, ?:, SIMD, etc.

<comment><USER25> you've got `let x = if y {100} else {99};`, which IMO is more readable than `let x = y ? 100 : 99`.

</comment></comment><comment><USER26> Is f32 the only suffix for float literals? That seems really noisy compared to just f in C. I'm mostly concerned about vector and matrix declarations, but even in the examples given, 1.0f32 / 0.0f32 looks like a mess of numbers compared to 1.f / 0.f;

<comment><USER2> _> Is f32 the only suffix for float literals?_

Nope. `f32` is for single-precision floats, and `f64` is for double-precision floats. There have been some people lobbying for `f16` and `f128` as well.

Also, you don't need to use those suffixes. I imagine the OP is using them for maximum explicitness, but you can just write `1.0` and it will be inferred to a floating-point type as necessary (contrast `1`, which will be inferred to an integral type).

<comment><USER27> GLSL programmers may rejoice in learning that `1.` is accepted syntax too.

<comment><USER28> Having used Rust since pre-release I'm slightly embarrassed that I'm only learning about this today.

<comment><USER29> That's ok. I presume you weren't a C/C++ dev before, that's old school shorthand for C coders that don't want to type out suffixes or cast numeric values.

</comment></comment></comment></comment></comment><comment><USER13> > An unstable sort could provide this result, but could also give this answer > too:

It might just be me, but using "this" twice in the same sentence to refer to two distinct items, one a prior example and one an upcoming example, is somewhat odd. That said, I understood it perfectly fine, it just caused me to stop and ponder the wording for a moment. The following might be more clear:

An unstable sort could provide _that_ result, but could also give this answer too:

<comment><USER30> In case anyone's curious, this is called discourse deixis[1]. It's a frequent source of errors for non-native English speakers, because in many languages, you use "that" to refer to an example that follows, but English is unusual in that it generally uses "this" for the future and "that" for the past.

So that[2] sounds wrong:

        This[3] probably screwed you up.

The somewhat confusing thing is that "this" is _also_ used for the present or recent past, especially in more formal writing.

[1]: [https://en.wikipedia.org/wiki/Deixis#Discourse](https://en.wikipedia.org/wiki/Deixis#Discourse)

[2]: The following example

[3]: The previous sentence

<comment><USER31> > English is unusual in that it generally uses "this" for the future and > "that" for the past.

I don't know that I'd describe it as "future" and "past"; it's more that English uses "this" for "current" and "that" for "other", whether past or future.

For instance, "this situation is broken, that solution looks promising" uses "this" to refer to the present and "that" for the future.

<comment><USER30> I was referring to past/future _in the text_. Deixis is about how words and phrases like "this", "that", "here", &c. are contextualised. Your example is unrelated to discourse deixis because it's not referring to a piece of the surrounding discourse. We use different forms of deixis and spatial metaphors for time, like "the end is near" or "the past is behind us"—in some languages, the past is _in front of_ you (mnemonic: you can see it) while the future is behind (you can't).

<comment><USER31> Ah, fair enough; I hadn't interpreted your previous comment as backwards/forwards in the text. Thanks for the clarification.

</comment></comment></comment></comment></comment><comment><USER32> "Associated functions" = class methods

"Associated constants" = limited version of class variables

Rust keeps approaching C++'s feature set..

I am amazed that the above wasn't in Rust to begin with, though. Can't think of any other languages which has classes but no class methods/variables.

<comment><AUTHOR> I, at least, don't really think of Rust as having classes. Rusty design patterns don't really look like many traditional OOP design patterns. This is often a hurdle for new Rust programmers. Chapter 17 of the book ([https://doc.rust-lang.org/book/second- edition/ch17-00-oop.ht...](https://doc.rust-lang.org/book/second- edition/ch17-00-oop.html)) is trying to grapple with this question.

Part of the difficulty here is nailing down what "class" even means, exactly. Rust doesn't fit into either of the three major schools of OOP, which I personally nickname the "smalltalk school", the "java school", or the "javascript school".

<comment><USER33> Obviously Rust is in the 4'th school which I like to call "The Rust School".

All kidding aside, I think for any regular working day programmer Rust is obviously OOP. The debates are really just which parts of which favorite school of OOP you think Rust is inspired by.

But what really matters is that Rust gives you:

* Encapsulation

* Polymorphism.

* And Code Reuse.

Which are the only three things anyone who reaches for OOP is really looking for anyway. As fun as the PL theory discussions are. (Kind of a Hobby for me at least) I think those are the bits that actually matter to the people who truly need an answer to the question "Is Rust OOP or not?"

<comment><USER2> I agree that it's better to focus on encapsulation/polymorphism/reuse, but the reason why I personally object to the idea that "for any regular working day programmer Rust is obviously OOP" is because inheritance is usually taught above all of these as the fundamental property of OOP.

I doubt I'm the only one whose high school and college exposure to OOP was to model "Dog is-a Mammal, Cow is-a Mammal, Mammal is-a Animal", and if a newcomer to Rust tries to do the same as their "hello world" then they're going to be greatly frustrated. Again, this isn't to say that the phrase "Rust is OOP" is necessarily incorrect, only that it's going to backfire if we going around shouting it, due to misaligned expectations.

<comment><USER33> Is-A does not and should not imply Inheritance. It merely implies polymorphism. I didn't get formally trained so I can't comment on what college/high school's teach but if they teach that Is-A relationships imply Inheritance then claiming Rust is OOP seems like a good way to educate the mis-educated regarding the difference.

<comment><USER34> What kind of polymorphism? Traditional OOP is subtype polymorphism. You can't really do that in Rust. It's main polymorphism is parametric and ad-hoc polymorphism a la Haskell. If that's considered OOP then OOP is so broad it's not a useful term

<comment><USER35> What is traditional OOP?

The Simula, Smalltalk, Lisp, SELF or BETA model?

Yes, OOP is broad, just like FP also is.</comment></comment></comment></comment></comment></comment></comment>


Top Ten Reasons You Should Quit Facebook - <AUTHOR> https://gizmodo.com/5530178/top-ten-reasons-you-should-quit-facebook <comment><USER2> Does Gizmodo miss the irony that they themselves put a _Facebook share button_ at the bottom of this article?

</comment><comment><USER3> This is a 2010 article.</comment>


Helo – Live Streaming Now Available for Android and iOS - <AUTHOR> HELO IS LIVE! Live streaming is the global phenomenon sweeping social media; don't get left behind, join the live streaming movement today! If you haven't live streamed yet, Helo is the app for you! Helo lets you discover top content and get discovered by other users! Your audience is limitless and eager to see what you're made of! Helo is the app every millennial needs to have, so whether you're a singer, a dancer, a foodie, or a yogi, Helo has a place for you!
https://play.google.com/store/apps/details?id=com.imhelo
https://itunes.apple.com/us/app/helo-live-streaming/id1307528284?ls=1&mt=8 <comment><USER2> Why is this better than any other live stream platform that I've actually heard of? Are you somehow related to [https://www.aja.com/products/helo](https://www.aja.com/products/helo) ?

<comment><USER3> Ouch!

:(

^TFW the app they busted their ass developing needs to be totally rebranded and relaunched because they forgot to check if their chosen wordmark was already used!</comment></comment>


Incorporation options with non US partners? - <AUTHOR>

<comment><AUTHOR> It seems like folks lean towards S-corps, which are limited to US citizens. LLCs cause problems when looking for money, or even wanting to allocate shares. C-corps are expensive. So, what can you do?

Create an S-Corp and give options (not shares) to a non-US shareholder?

Is there anything short of a C-corp?

</comment><comment><AUTHOR> Does the fact that LLCs do not have shares imply that each member will know the ownership of every other partner?

Or is there a way to keep that private?

</comment><comment><USER2> C-corp is fine, don't worry about it.

Resident agent == US citizen or service. Any other officers/owners can be offshore.

<comment><AUTHOR> But a c-corp has poor tax implications. And has yearly (quarterly?) filings. And is much more expensive to set up.

<comment><USER2> They're not THAT expensive to start up. I'm sure theres ways to get an LLC or S-corp out of being offshore. Probably the managing partner would be in the US.

Here's some Nevada LLC forms: <http://www.sos.state.nv.us/comm_rec/crforms/pdf/NRS86FormDomesticpk.pdf>

<http://www.sos.state.nv.us/comm_rec/crforms/pdf/NRS78Formpk.pdf>

Here's the important one: articles of domestication. It's the same with the LLC. That's your ticket there! :) <http://www.sos.state.nv.us/comm_rec/crforms/omni/NRS92ADomestication.pdf>

I'd read through those. Obviously, you will probably be incorporating in another state. Nevada is the second most popular, to Delaware.</comment></comment></comment>


Ask HN: How do I find a software best practices mentor / coach? - <AUTHOR>

I'm trying to find someone who can coach/mentor an inexperienced software development manager in software engineering best practices--source control, release engineering, security, backups, planning, development methodologies, code review, architecture, etc.
The manager was promoted from within, the most senior developer from a group of relatively inexperienced PHP programmers. Unsurprisingly, they don't follow any formalized practices and are struggling with a lot of chaos and poor software quality.
The company is based in the Netherlands (Noord Holland), and doesn't have the budget to hire an experienced, full-time engineering manager, and this kind of coaching is outside the scope of the services I normally provide, so I'm trying to find them a local consultant who can do some phone coaching and come in a few days a month to help with training and process development.
Anyone know such a consultant in NL, or have an idea how to go about searching for one? <comment><USER2> Contributing to an open source project that you admire will do wonders. Any contribution you do will be scrutinized and you will get some good advice on your works.

Also remember to also hang out and become a regular with the developers on the corresponding freenode irc #channel.

<comment><AUTHOR> I'm not looking for coaching for _myself_ ; I'm trying to help this company out by finding a local professional who can give their team some guidance.

</comment></comment><comment><USER3> I would go to local tech networking events, like meetups, and ask around.

<comment><USER4> I agree. The network (assuming the event is decent enough) will surely lead to one person that would be able to help you. Just make sure you connect to as many people as possible.

</comment></comment><comment><USER5> Maybe I can help. I'm relatively local (Gouda, ZH) and I've managed teams like the one you mention before. Shoot me an email, address is in my profile.

<comment><AUTHOR> Your email doesn't actually appear in your public profile on HN. Email me: bwb at holo dt org.</comment></comment>


Dear Elsevier Employees, With Love, From FakeElsevier. - <AUTHOR> http://fakeelsevier.wordpress.com/2012/02/19/dear-elsevier-employees-with-love-from-fakeelsevier/

<comment><USER2> Wait, is there going to be a FakeFakeMedicalJournal from fake elsevier?

(<http://classic.the-scientist.com/blog/display/55679/>)

This could get a bit too meta for me to follow.</comment>