What makes for a stable marriage? Part 2 - <AUTHOR> http://www.randalolson.com/2014/11/06/what-makes-for-a-stable-marriage-part-2/ <comment><USER2> He didn't address couples counseling and therapy as factors in keeping marriages going. There's always been marriage counseling; today it's a professional therapist you hire, but in the old days it was your priest/rabbi/minister, or perhaps an elder in your household, who advised you on how to get along.

Today in First World industrial societies, couples just try to wing it, moving out from the parents' house as soon as economically possible, living in a tiny nuclear household, sometimes very far away from the parents, and few humble themselves enough to try counseling.

My wife and I have been getting couples counseling on and off since before we were married, and it's helped a lot in learning how to communicate. Those knock-down, drag out fights are today a distant memory and instead we try to focus on communicating our needs, on expressing our feelings in a non- confrontational manner, etc. I'm all for more couples counseling.

Kids help, too. My amateur theory is that fundamentally speaking a couple is supposed to have kids. It's what we were designed to do. Kids are inconvenient and expensive and people mistakenly feel they'll have a happier life without them, but in a certain sense it's an empty life.

Some people probably should not raise kids, but the majority probably should, but also should learn better communication and then they will have a healthier relationship with both their spouse and their children.

Just my humble opinions :)

<comment><USER3> > _" Kids are inconvenient and expensive and people mistakenly feel they'll > have a happier life without them, but in a certain sense it's an empty > life."_

s/kids/startups/ to see how ridiculous this sounds. Any kind of presumption that other people should make certain major life decisions a certain way just because you feel that will make them happy sounds extremely presumptuous.

<comment><USER4> Selfish jerks can benefit the most from having kids :) Unless your legit nuts or completely broke, it is a good thing for all.

Having kids is like going to college. Its expensive, difficult and challenging.. but in the end, you are sad to think of what would have happened if you had not taken the plunge.

</comment></comment></comment><comment><USER5> None of these things _make_ for a _stable_ marriage. They are statistics about marriages studied. You don't get to draw the inverse conclusion. And besides just because a marriage doesn't end in divorce doesn't mean it's stable.

<comment><USER6> FTA:

      Of course, it's important for us to keep in mind
      that these are all correlations with marriage
      stability, and they could be telling us any
      number of things. For example, the "having kids
      with your spouse" correlation could go either
      way: Either people in stabler marriages are more
      likely to have kids in wedlock, or people in
      less stable (unhappy) marriages tend not to have
      kids. All of the explanations I wrote above are
      my own interpretations of the correlations, but
      keep an open mind when thinking about what could
      really be driving these correlations with
      marriage stability.

<comment><USER5> That disclaimer is not enough and doesn't justify a link bait title.

</comment></comment></comment><comment><USER7> _" It's particularly interesting to note that the education difference matters more for women than men: Women are 50% more likely to end up divorced when there is an education difference versus men at only 32% more likely."_

For heterosexual marriages, wouldn't the percentages be the same? If a given number of divorces will always produce a equal number of male and female divorcees.

Or is the author saying that the direction of difference is important? Eg, a woman is more likely to divorce her husband if she is more highly educated than him, but not vice versa.

Is there some missing information here, or am I being dense?

<comment><USER8> The author addresses this in the comments. He states that there are likely more divorces for one gender than the other in his data set. Which implies to me that individuals, rather than couples, are surveyed about their marriages/divorces.

So if he surveyed 10 women and 10 men, those 10 women weren't married to those 10 men.

If that isn't the case, then I'm also not sure how that could be the case given that he states all marriages examined were heterosexual in nature.

<comment><USER9> I believe this is it. From the source paper:

"We excluded respondents who had a non-US IP address, reported having a same- sex marriage, reported an age at marriage of less than 13 years old, or were above age 60."

The paper used mTurk to get ~3000 responses to their survey. So it's basically saying "the men who answered these questions ended up having this score, the women who answered these questions ended up having a slightly different score"

EDIT: Link to paper, [http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2501480](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2501480)

<comment><USER7> Apart from the small sample size, if they collected data by mechnical turk then I wonder what sort of biases that introduces? In the paper you linked, Frances and Mialon state:

 _" Samples of mTurk workers have been found to be more representative of the US population than in-person convenience samples, standard internet samples, and typical college samples"_

I am somewhat sceptical of this, and there seems to be some evidence to back- up my scepticism [1][2][3]. In particular, [2] states:

 _" In sum, the MTurk sample is younger, more male, poorer, and more highly educated than Americans generally. This matches the image of who you might think would be online doing computer tasks for a small amount of money."_

Which are some of the factors that the marriage study itself seeks to examine. This looks like lazy data collection methodology to me.

[1] [http://www.culturalcognition.net/blog/2013/7/10/fooled- twice...](http://www.culturalcognition.net/blog/2013/7/10/fooled-twice-shame- on-who-problems-with-mechanical-turk-stud.html)

[2] [http://themonkeycage.org/2012/12/19/how-representative- are-a...](http://themonkeycage.org/2012/12/19/how-representative-are-amazon- mechanical-turk-workers/)

[3] [http://www.behind-the-enemy-lines.com/2010/03/new- demographi...](http://www.behind-the-enemy-lines.com/2010/03/new-demographics- of-mechanical-turk.html)

<comment><USER10> It merely says that it's more representative than the other groups, not that it's particularly representative. For instance college samples are massively unrepresentative (younger, smarter, probably wealthier than average).

Essentially it's just a more representative sample than these other horribly unrepresentative samples he's listing.

</comment></comment></comment></comment></comment><comment><USER11> I like statistics, but I think here we have personal and cultural factors that make statistics of no sense if you are trying to use probabilities for your personal life.

What I think is a key factor in an stable marriage is the ability to communicate, share and enjoy with your partner. I have been more than 20 years married and my wife wonders why our marriage is so much alive, I don't know the secret but we try to enjoy together and share ours life. The key factor is real communication.

Edited: Grammar.

<comment><USER12> Possibly more important than communication is the ability to pick your battles and let go a bone when it's not worth fighting for.

Long term couples invariably survive because the two involved never wanted to divorse at the same time.

<comment><USER11> "Long term couples invariably survive because the two involved never wanted to divorce at the same time"

If I may be allowed a little joke, statistics here are really of little use in order to estimate a conditional probability (i.e, the probability that you (yourself) get divorced). But your sentence, while true, seems to be produced by a excessive rational mind an sounds like a pure truism, anyway, enhancing that truism:

In other not to get divorced, when you want to divorce just let go the bone and wait for the other one to change opinion. You will have a long lasting marriage.

Unfortunately, that theorem doesn't guarantee a happy one. (Sorry HN for the little reddit).

<comment><USER12> It goes a little deeper though.

The quote about not wanting to divorse at the same time isn't mine and has been attributed to many. Because it's funny, and (reportedly) inherently true for anyone with a decade of wedlock to speak about.

The remark on picking your battles, in contrast, is in no way as simplistic as you seem to suggest it is -- pardon if I misunderstood.

In essence, psychological studies back that idea, and researchers on the topic are able to predict with relative reliability whether a young couple will survive 5 or 10 years or not.

The gist of their criteria, as I understood it anyways, amounts to whether either or both of the two have a giant ego trip or not.

So if you want a long-term marriage, which most people do when they say yes, well... learn to give up on what's not so important in retrospect, and pick a partner that does -- or will probably learn to do -- the same.

The less fighting, the less likely either of the two wants to divorse. And that gets us back to the first point.

<comment><USER13> In my country, with loads of unemployment (23%) and people struggling to meet ends, some people don't divorce because they can't afford it. Harsh but true.

Just a litte question, why using divorse and not divorce, just spelling or any other reason?

</comment></comment></comment></comment></comment><comment><USER14> It's a shame the "being the same age" item didn't separate the data for men being older from the data for women being older (for heterosexual marriages). With society being somewhat more accepting of older men marrying younger women rather than the other way around, it would be interesting to see if marriage success agreed with that or not.

<comment><USER15> I disagree that society is more accepting of older men marrying younger women. There is a different reaction to it, a different set of assumed scenarios, but in my limited experience people accept both until the age difference goes over about a decade.

</comment></comment><comment><USER16> These are neat comparisons, in both part 1 and part 2 (especially the strikingly opposite effects of big weddings vs. expensive weddings near the end of part 1). But boy, what I wouldn't give to see error bars on those graphs!

<comment><USER17> All of the differences highlighted are statistically significant (p < 0.05) in the multivariate model. So there's that. :-)

The downside is that the paper only presents probabilities relative to a reference point, but doesn't give raw probabilities.

<comment><USER16> Even, say, the difference between "never attend church" and "sometimes attend church" (which evidently makes divorce 10% more likely)? Or how about the difference between household incomes of $85k and $110k (bars differ by 3% out of about 40%)?

But I'm glad to know that these are all results with low p-values, anyway: that adds some real confidence to these results. (Though I ought to ask: how many of these significant p-values were between, say, 0.03 and 0.05? How many different correlations were originally considered in the study before they identified these significant ones?)

<comment><USER17> Check out the paper (Table 3) for significance statements: [http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2501480](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2501480)

Some of the trends in Part 1 are not statistically significant (e.g., "never attend church" vs. "sometimes attend church"), but I presented them regardless because they have a pretty clear trend. I believe p-values are only presented in comparison to the reference point.

<comment><USER16> Oh, man, I _knew_ I was cruising for a "it's right there in the paper" response. Well-deserved, I'll admit it: I'm being lazy. But then, that's why I like error bars on my graphs.

Thanks for the nicely presented data, regardless!

</comment></comment></comment></comment></comment><comment><USER18> These statistics are interesting, but they are useless for individuals looking for a stable marriage, or couples attempting to foster one. Put simply, the headline is wrong. It implies this is information you can use to _make_ a stable marriage. But all it provides is a summary of traits of existing stable marriages. Knowing those facts is unlikely to contribute to a stable marriage.

In fact, if anyone took them seriously as a guide to how to deal with their own marriage situation, they would find these facts only add stress and redirect blame in useless directions:

* "We _have_ to have a kid, otherwise the statistics say we'll get divorced!!"

* "I guess I should have known better than to marry someone without a Master's degree."

Do those attitudes seem like a recipe for success?

<comment><USER6>
      [...] but they are useless for individuals looking for
      a stable marriage, or couples attempting to foster
      one.

I agree, as does the author if you read the bottom of his post.

That being said, I don't see these sorts of facts come up around here in discussions about sociology, childhood development, poverty rates, etc.

These facts may not be useful to people in the middle of parenthood or marriage, but they are useful to:

* young people that need some raw data to help them figure out what lifestyles might work best * people studying larger trends about society and how people are doing overall

It's true that the data doesn't point to a recipe for success, but it's still important to be aware of the data because it's true. Figuring out how it's useful is the next step.

</comment></comment><comment><AUTHOR> Part 1 is here: [http://www.randalolson.com/2014/10/10/what-makes-for-a- stabl...](http://www.randalolson.com/2014/10/10/what-makes-for-a-stable- marriage/)

<comment><USER19> And comments [https://news.ycombinator.com/item?id=8442036](https://news.ycombinator.com/item?id=8442036)

</comment></comment><comment><USER20> I find that the Gale–Shapley algorithm is generally a good solution to this problem.

</comment><comment><USER21> Also a good read: [http://blog.penelopetrunk.com/2014/11/06/7-ways-to-have-a- go...](http://blog.penelopetrunk.com/2014/11/06/7-ways-to-have-a-good- marriage/)

</comment><comment><USER22> If you enjoy this type of thing might I recommend OKCupid's blog "OkTrends." I am married but yet I continue to read OkCupid's blog, just too fascinating:

[http://blog.okcupid.com/](http://blog.okcupid.com/)

Today they have something on race, but if you look at their historical stuff they've looked at tons of other areas, most of which is pretty interesting.

As an example of a good one:

[http://blog.okcupid.com/index.php/the-case-for-an-older- woma...](http://blog.okcupid.com/index.php/the-case-for-an-older-woman/)

</comment><comment><USER23> "On the bright side, the longer your marriage lasts, the less likely you are to divorce."

Emmm.. Not too surprising, is it? Divorces kind of tend to terminate marriages early.

<comment><USER24> It's not surprising, but it's not logically inevitable.

Suppose every couple divorced exactly on their 50th anniversary if they were both still alive. Then a couple that has been married 49 years is almost certain to divorce, whereas a newly married couple has a reasonable chance of dying first.

</comment></comment><comment><USER4> For a more in depth analysis check out "The Seven Principles of Making Marriage Work", a book based on decades of research at the Seattle "Love Lab". Dr Gottman has written other books, but this is the book on marriage research. [http://www.amazon.com/Seven-Principles-Making-Marriage- Work/...](http://www.amazon.com/Seven-Principles-Making-Marriage- Work/dp/0609805797)

<comment><USER25> Gottman is selling just-so stories. His "predictors" aren't actually predictors, but classifiers.

In machine learning terms, he gets his amazing results ("can predict which couples will stay together in just five minutes!") only on the training set, which as anyone with machine learning experience knows, is trivially easy: you can get 91% accuracy on training data consisting of random numbers in many cases.

Reference: [http://www.slate.com/articles/double_x/doublex/2010/03/can_y...](http://www.slate.com/articles/double_x/doublex/2010/03/can_you_really_predict_the_success_of_a_marriage_in_15_minutes.html)

</comment></comment><comment><USER26> I didn't see this addressed in the comments on Part 1: how is it possible that expensive marriages had more effect on women's divorce rate than it had on men's?

For multiple reasons it is not plausible that a strong correlation within lesbian weddings skewed the results. Was the data self-reported, and this reflects imperfect memory of the expense? Were they only looking at the expense from that partner's side of the family?

</comment><comment><USER27> Read Erich Fromm. All of it, or at least the stuff he wrote about psychology and love. If you then feel you still have to add something, go for it. Otherwise, just recommend Erich Fromm and not only will you save everybody time, but also bad advice.

</comment><comment><USER28> Clicked on this link expecting it to be something about the Stable marriage problem or Gale-Shapley algorithm. Still interesting data though.

</comment><comment><USER29> #hashtagsarestupid

</comment><comment><USER30> I have great advice howto improve your health and productivity tenfold: DO NOT GET MARRIED! EVER! :-)

<comment><USER31> * Married men are more productive (Or at least earn more): [http://econ.ucdenver.edu/public/laura/Class/korenmanneumark....](http://econ.ucdenver.edu/public/laura/Class/korenmanneumark.pdf)

* married men live longer : [http://www.health.harvard.edu/newsletters/Harvard_Mens_Healt...](http://www.health.harvard.edu/newsletters/Harvard_Mens_Health_Watch/2010/July/marriage-and-mens-health)

<comment><USER30> Correction: married men must earn more & non-divorced men live longer :-)

<comment><USER32> Sorry, which study did you cite for this correction? Or are you just proposing a potential confounding variable?</comment></comment></comment></comment>


OSQA - Free, Open Source Question & Answers System - <AUTHOR> http://blogupstairs.com/open-source/osqa-free-open-source-questions-answer-system/ OSQA is the free, open source Q&A system, OSQA site is more than just an FAQ page, it is a full-featured Q&A community. Users earn points which are called "karma points" and badges for useful participation, and everyone in the community wins. <comment><USER2> A rails / mongodb project also exists for this called <http://shapado.com/>

Code here: <https://github.com/patcito/shapado>

Personally I am still uncomfortable with rolling out a site that looks exactly like StackOverflow. I imagine it could be a good basis to start on though.

<comment><USER3> Maybe not rolling out for public use, but I've found OSQA perfect for internal knowledge bases. Doubles as a quick way to vote for one off things ("I'm doing a talk on HTML5, add and vote-up what you guys want me to talk about").

</comment></comment><comment><USER4> Liked it...used it...modified it. Wasn't bad. The code was a bit convoluted in places and almost completely undocumented, and they strayed from the typical Django style. All added up, it was negative productivity for this long-term Rails programmer and Django novice. Switched to Shapado (based on Rails) and things are going much better, if for nothing more than Rails' self-documenting conventions. The only drawback is that Shapado is based on mongodb and the (compared to active record) functionally incomplete mongomapper.

</comment><comment><USER5> I wonder why they don't attempt to differentiate from what they're cloning at all. OSQA's replicated not just functionality but look and feel, ordering and layout of each StackExchange (StackOverflow, ServerFault, et al) feature.

<comment><USER6> They addressed this in a recent blog post: [http://www.osqa.net/2010/04/20/dont-panic-stackexchange- is-n...](http://www.osqa.net/2010/04/20/dont-panic-stackexchange-is-not-the- goal/)

The impression I get is they want to create a platform that matches the SE system, and then advance it above and beyond what SE is.

</comment></comment><comment><USER7> OSQA is the technology behind MetaOptimize Q+A (<http://metaoptimize.com/qa>), a niche q+a site for machine learning and natural language processing.

</comment><comment><USER8> I'm a user/dabbler of OSQA, and the project is very nice. However, IMO there are several things holding the project back from greater community involvement:

1) the lack of an official GIT backed repo. 2) the current state of tickets (who's working on what, and how) is very messy. Its managed through Jira, and its just hard to see where things stand.

</comment><comment><USER9> Besides the fact that it does look like stackexchange, you have to keep in mind that the criteria to start a new stackexchange are quite high in terms of users/questions/traffic. So OSQA can be a good alternative to keep stackexchanges (such as <http://semanticoverflow.com> which lacks enough users to be restarted as part of stackexchange.com) alive which where created at a time as they were still offering private/seperate installations, due to its import ability.

</comment><comment><USER10> This or Shapado would certainly making prototyping some new Q&A features easier.

If I don't know ruby or python yet, which one would be easier to tinker with?

</comment><comment><USER11> Direct link to the main site itself;

<http://www.osqa.net/>

</comment><comment><USER12> Potentially useful. How well do this and Shapado scale?

</comment><comment><USER13> Any good PHP/MYSQL QA systems?

<comment><USER11> <http://www.question2answer.org/></comment></comment>


Uproar over plan to dispose of Syrian chemical weapons in the Mediterranean - <AUTHOR> http://www.washingtonpost.com/blogs/she-the-people/wp/2014/03/23/in-greece-uproar-over-plan-to-dispose-of-syrian-chemical-weapons-in-the-mediterranean/

<comment><USER2> EDIT: Mods have fixed the headline.

\--Headline is inaccurate and sensationalist.--

They're not being dumped. They're being destroyed onboard ships at sea.

The linked article even says as much, but here's an earlier article describing the situation in a bit more detail.

[http://abcnews.go.com/blogs/headlines/2014/01/a-look-at- the-...](http://abcnews.go.com/blogs/headlines/2014/01/a-look-at-the-massive- ship-will-destroy-syrias-chemical-weapons/)

</comment><comment><USER3> I feel disturbed by short-sighted comments made by activists (Greeks or others) such as this one highlighted in the article:

> "We will not let this happen," said Yannis Haronitis, an activist and > protest organizer. "They want to destroy these weapons — well, let them turn > Syria's back yard into a toxic waste dump, not ours."

So dumping the wastes in Turkey the black sea would be fine?!?!?

In order to tackle a problem you need to understand how it starts. Every time a war like this one starts the countries involved should at least save some money about the side-effects which will involve everyone else. Examples of these side-effects:

* How the chemical weapons used will be destroyed.

* What will happen with people and populations affected by the war.

* What will happen to all these immigrants who will overflow other nations, especially Europe.

So I think the organizations, activists and the countries involved (Greece, Turkey, Italy, Marocco, etc.) should start pressing at an international level the countries who fuel these wars (US, China, Russia, the NATO, etc.) to start considering the side-effects A PRIORI and have a couple of plans and money ready.

Of course in an ideal world, no kind of war should be justified, but the truth that people don't care what is happening 2 blocks away. That's the root of the problem... Because a fire starting 2 blocks away will eventually hit you too sooner or later, one way or another. We're not as disconnect as some believe.

</comment><comment><USER4> Very cool technology behind that, [http://en.wikipedia.org/wiki/Field_Deployable_Hydrolysis_Sys...](http://en.wikipedia.org/wiki/Field_Deployable_Hydrolysis_System) which is what is found on the MV Cape Ray

I will have to assume they are using the sea because its the least likely assailable location by anyone who might seek to take the weapons?

<comment><USER2> >I will have to assume they are using the sea because its the least likely assailable location by anyone who might seek to take the weapons?

Largely political. They couldn't find any nations willing to host the weapons for destruction, so doing it in international waters was the best available option.

<comment><USER5> Well, honestly the part that confuses me is that the article tells us that half of Syria's weapons have already been disposed of in other European countries.

<comment><USER2> It's been a while since I've read up on it, but as I recall, Syria was also turning over stockpiles of potentially weaponizable industrial chemicals. That may be where the discrepancy is here.

EDIT:

Some more reading suggests that they're actually being shipped to Italy for storage to get them out of Syria ASAP, and then the actual processing/destruction is occurring in international waters.

[http://en.wikipedia.org/wiki/Destruction_of_Syria%27s_chemic...](http://en.wikipedia.org/wiki/Destruction_of_Syria%27s_chemical_weapons#Framework_for_Elimination_of_Syrian_Chemical_Weapons)

</comment></comment></comment></comment><comment><USER6> There are articles claiming that the Syrian government have started to bomb civilians using chlorine gas instead.

At least that will be easier to dispose of -- I assume the international community in typical style will help the Syrians dig swimming pools. At least the civilians that aren't starved/tortured/etc to death...

How can Russia/Iran/China get away with supporting this horror militarily? Why is no one upset about these new attacks?

Edit: [http://www.telegraph.co.uk/news/worldnews/middleeast/syria/1...](http://www.telegraph.co.uk/news/worldnews/middleeast/syria/10777059/Syria- Bashar-al-Assad-launching-chemical-weapons-attacks-with-chlorine.html)

</comment><comment><USER7> Why don't they just eject those chemical weapons into outer space? Even though its expensive, it's safer than just dumping it into the sea. Our generation might not suffer the consequences of this. But our children, and grandchildren will surely suffer from these environmental pollution.

<comment><USER8> Because space isn't this thing where you eject stuff like a garbage chute.

I recommend reading up on rocketry, orbital mechanics, and modern space programs because a) it's really cool stuff! and b) you'd quickly realize how ridiculous, dangerous, and counterproductive this suggestion is.

<comment><USER9> Or just play Kerbal Space Program, judging by people who are into it.</comment></comment></comment>


Httpbin – HTTP Client Testing Service - <AUTHOR> http://httpbin.org/ <comment><USER2> Thanks for reposting this. We recently took this over from Kenneth Reitz and I'd love to hear your suggestions for improvements or additions.

<comment><USER3> Endpoints to test various SSL/TLS/X.509 stuff would be super helpful. Call would returning a stock HTTP response body, but with different changes to the SSL/TLS handshake (you will have to use different host names to do this)

[https://expired.x509.httpbin.org/](https://expired.x509.httpbin.org/) \- returns an otherwise valid cert that has expired

[https://wrongcn.x509.httpbin.org/](https://wrongcn.x509.httpbin.org/) \- returns an otherwise valid cert with a different CN name

[https://sslv3.tls.httpbin.org/](https://sslv3.tls.httpbin.org/) \- only negotiates an SSLv3 connection

https//3des.tls.httpbin.org/ \- only negotiates to use 3DES as the cipher

<comment><USER4> take a look at [https://badssl.com](https://badssl.com) ;)

<comment><USER2> Awesome! Is this your project? If so, email me email@example.com

<comment><USER4> Nope, it's not: [https://github.com/lgarron/badssl.com](https://github.com/lgarron/badssl.com)

</comment></comment></comment></comment></comment><comment><USER5> I tend to use [http://requestb.in/](http://requestb.in/) since it's a lot simpler to use. Basically press on the button in the middle, copy+paste url and then reload page once webhook is there.

Also, I created this nifty shorthand for use in the terminal:

        alias bin_me="curl --silent -X POST http://requestb.in/api/v1/bins | jq -r '\"http://requestb.in/\(.name)?inspect\"'"

Requires JQ (could easily not require that) and you'll just remove the ?inspect when you want to use the bin.

<comment><USER6> RequestBin isn't a substitute for HttpBin, they do 2 completely different things:

RequestBin = easily provision a url (useful for configuring a webhook) and inspect requests to that url.

HttpBin = pre-defined urls that return specific responses (headers & payloads). Good for testing http clients.

Fun fact: both tools are operated by the awesome people at [http://Runscope.com](http://Runscope.com).

<comment><USER7> Similar to RequestBin is [http://posthere.io/](http://posthere.io/)

(Disclosure: I wrote it)

</comment></comment></comment><comment><USER8> This is a great service and I think it was the idea that then spawned another service - [http://mockbin.org](http://mockbin.org).

Funnily enough I use both depending on what I'm trying to achieve, with httpbin being more immediate and mockbin being for more in-depth/complex testing. Good job!

<comment><USER9> With output in JSON/YAML/XML: [http://mockbin.com/ip](http://mockbin.com/ip)

</comment></comment><comment><USER10> What is the "EU" flavour?

<comment><USER2> It was hosted in an EU-based datacenter on Heroku (to reduce latencies, not for any specific privacy reasons), but I need to check to see if we are still hosting it there.

<comment><USER10> Ah, okay. Because of the way it is listed I thought it was some protocol extension or other HTTP-related speciality, not a different location. Thanks for clearing that up.

</comment></comment></comment><comment><USER11> I prefer this offer all of those "what is my IP?" web sites. No ads or captcha. Plus, it's in JSON.

[http://httpbin.org/ip](http://httpbin.org/ip)

<comment><USER12> [http://ipinfo.io/ip](http://ipinfo.io/ip) (or [http://ipinfo.io](http://ipinfo.io) if you want geolocation info too).

<comment><USER11> Oh, fancy. Thanks for sharing this one.

</comment></comment></comment><comment><USER13> [https://wtfismyip.com/](https://wtfismyip.com/) is nice too, for headers and IP addresses.

</comment><comment><USER9> Awesome service! We use it a lot in conjunction with other tools. Didn't know it's actually 4 years old already [1].

[1] [https://news.ycombinator.com/item?id=2649326](https://news.ycombinator.com/item?id=2649326)

</comment><comment><USER14> Love it but our fucking Cisco ScanSafe keeps marking it as evil every time it updates.

</comment><comment><USER15> Offtopic: how did he turn the README.rst into a webpage?

<comment><USER2> I think it was something called 'ronn' [https://github.com/Runscope/httpbin/issues/200](https://github.com/Runscope/httpbin/issues/200)

</comment></comment><comment><USER16> Very useful site for testing purposes!</comment>


Beyond Facebook: The Rise Of Interest-Based Social Networks - <AUTHOR> http://techcrunch.com/2012/02/18/beyond-facebook-the-rise-of-interest-based-social-networks/

<comment><USER2> This "interest-based community" is exactly what [StackExchange](<http://stackexchange.com/sites>) sites are, although the post doesn't even talk about them.

<comment><AUTHOR> You are right. The concept is not new, but it seems to have reached a point where more and more people "get it" and are starting to apply it to many aspects of our lives.</comment></comment>


Show HN: Chord Tutor (PX2 Framework, Web Audio) - <AUTHOR> http://burtonsamograd.github.io/chordtutor/

<comment><USER2> Nice. You might want to work a bit on the chord voicings. If you add a bass voice and make each chord go to the nearest inversion, it'll sound a lot nicer.

For example, if you play a 'D minor' in root position, and the next chord is an 'F', it would sound better by playing it in second inversion. It makes everything sound a bit more coherent. :)

<comment><AUTHOR> To be honest, I had little to do with what notes were played in this; it was a Hackathon Project and the actual chord 'stuff' was done by another person and I simply wrote the playback engine/UI. I can pass along this feedback and maybe he can improve the notes the the compiler spits out :)

<comment><USER2> I see. Anyway, great project! :)

</comment></comment></comment><comment><AUTHOR> Source: [https://github.com/burtonsamograd/px2/tree/master/examples/c...](https://github.com/burtonsamograd/px2/tree/master/examples/chordtutor)</comment>


How to read code - <AUTHOR> http://omergertel.com/2010/07/04/how-to-read-code/

<comment><USER2> > Loops are the source of all evil[.]

That's why I prefer languages without loops.

<comment><USER3> That's interesting. I can't tell if you're joking or not (I'm pretty sure the ability to loop is a requirement for Turing-completeness).

Do you mean like Lisp which favors recursive function (or lambda calculus which uses the Y-combinator :)?

<comment><USER4> That's what I assumed when I upvoted him. Recursion & lambda ftw.

<comment><USER2> Indeed, I was aiming at recursion. (Though I mostly use combinators like foldr instead of naked recursion.)

On the other hand: You can see loops as a special case of recursion. Though I like languages that don't treat this special case as a special case.

</comment></comment></comment></comment><comment><USER5> He mentions the small sample size (5 people) as a negative, but I wonder if this situation fits Jakob Nielsen's arguments about testing smaller groups.

<http://www.useit.com/alertbox/20000319.html>

<comment><USER6> Jakob Nielson argues that, specifically in usability testing, 5 people gives you a majority of your flaws but not the entire picture - where ~15 people would give you that. That is to say, more is better but there is diminishing returns. Given this, he argues that rather then expending resources to gather the entire picture for a single iteration, it's even better to test 3 sets of 5 people with design improvements between each set.

I think this argument is slightly different than just saying 5 people is enough for any sort of study. I still would have liked to seen more people. Or at least additional studies with modifications to inspect or confirm specific aspects of their findings.

</comment></comment><comment><USER7> <http://tech.puredanger.com/2007/09/18/spelunking/>

[http://debasishg.blogspot.com/2009/06/code-reading-for- fun-a...](http://debasishg.blogspot.com/2009/06/code-reading-for-fun-and- profit.html)

<http://www.oreillynet.com/ruby/blog/2006/05/post.html> (section about "making Mongrels stable and secure"

<http://news.ycombinator.com/item?id=483824>

[http://blog.rubybestpractices.com/posts/gregory/005-code- rea...](http://blog.rubybestpractices.com/posts/gregory/005-code-reading- stdlib.html)

</comment><comment><USER8> As well as the bug in the loop... there also appears to be a bug in the printf statement.

<comment><USER9> Can't believe I missed that, but you're entirely correct, that second %d doesn't map to anything.

Guess loops aren't the source of ALL evil.

</comment></comment><comment><USER10> lost interest reading it when I saw void main(void).

Reading code needs patience and getting used to the coder's style.</comment>


Google's Pedal-powered Monorail - <AUTHOR> http://blogs.eugeneweekly.com/eugenecycles/high-speed-rail-bikes

<comment><USER2> Cool, but seems like the infrastructure would cost way too much considering the number of people who would want to use this.</comment>


On the Importance of Having an Entrepreneurial Thesis - <AUTHOR> http://thoughts.deyanvitanov.com/on-the-importance-of-having-an-entrepreneuria

<comment><AUTHOR> I am curious to get feedback from the HN community. Looking forward to it!</comment>


How Buck's of Woodside Became the 'Cheers' of Silicon Valley (2014) - <AUTHOR> https://www.google.com/amp/s/www.techrepublic.com/google-amp/article/how-bucks-of-woodside-became-the-cheers-of-silicon-valley/ <comment><USER2> The Hobee's restaurant at 85 and Stevens Creek was a pretty interesting hot spot in the 90's as well. It was easy to get there and from there back to Sand Hill Road.

Many times eating breakfast there you would see a booth with some guy sitting there casually in designer sport wear listening while another guy in an ill fitting suit was extolling the virtues of some pitch using Harvard Graphics on a bulky laptop. Now it would be an iPad no doubt but back then it was darn difficult to carry around a decent multimedia presentation :-).

</comment><comment><USER3> Shame that Woodside bakery and cafe next door closed.

(Though it's back in some kind of fancier upscale form under different owners now?)

<comment><USER4> Aww man... sorry to hear Woodside Bakery closed. That place had the best pastries. Great place to bike ride to and get a treat halfway through your ride.

</comment></comment><comment><USER4> What?? The Dutch Goose is the Cheers of Silicon Valley. C'mon people, geeze.

</comment><comment><USER5> non-amp link: [https://www.techrepublic.com/article/how-bucks-of- woodside-b...](https://www.techrepublic.com/article/how-bucks-of-woodside- became-the-cheers-of-silicon-valley/)

</comment><comment><USER6> Buck's is a pretty nice place and the food is actually quite good. Far better than SF's deal making hotspot, the Creamery, where parking is also hard to find.

<comment><USER7> The Creamery is right across the street from Caltrain and MUNI. Why drive? Plus, a $3 beer on their patio is a fine way to pass the time to wait until the next train.

<comment><USER8> > Why drive?

Besides the usual arguments against public transit, such as schedule inflexibility, comfort, and cost[1], there's overall trip time.

Unless your other endpoint is similarly close to a Caltrain "bullet" stop (and one is taking such a "bullet" train), driving takes less time on a typical day (and always during any off-peak period).

[1] Primarily for ad-hoc trips, and especially acute for dual-occupancy cars. For two people, Lawrence Caltrain to the Creamery would cost $19 more by train than incremental cost of driving. (Ignoring parking costs.. which, if more than $24.50 near the Creamery would, indeed, wipe out the savings).

</comment></comment></comment><comment><USER9> Picks & shovels.

</comment><comment><USER10> I go for a meal every time I visit the valley.

<comment><USER11> Every Bay Area visit I go back to (a) Shalimar in the Tenderloin and (b) Nini's Cafe in San Mateo near Burlingame. Former has lost some of its buzz but latter going strong still and hasn't changed much in 30 years and I saw many mid peninsula startup folks there through the years.</comment></comment>


Return True to Win - <AUTHOR> http://alf.nu/ReturnTrue <comment><USER2> This table is quite useful to solve some problems: [https://dorey.github.io/JavaScript-Equality- Table/](https://dorey.github.io/JavaScript-Equality-Table/)

<comment><USER3> > _Moral of the story: Always use 3 equals unless you have a good reason to > use 2._

      NaN === Nan  // => false
      [] === []    // => false
      {} === {}    // => false
      [1] === [1]  // => false
      [0] === [0]  // => false

I guess i never see the gains in the triple vs double equal sign wars.

<comment><USER4> Do any of those return true if you use double equals? The distinction only really comes up when you have to different types on either side and then It will coerce one of the types to match the other.

<comment><USER5> That is correct. The canonical example is string-numeric coercion:

        "0" == 0 && "0" !== 0

</comment></comment></comment></comment><comment><USER6> Find the exact combination of browser/OS that does more than show "return true to win" on a white background to win.

<comment><USER7> > Find the exact combination of browser/OS that does more than show "return > true to win" on a white background to win.

I see:

        return true to win

        (Come back in a few minutes.)

What do I win?

<comment><USER8> A moment in which to reflect.

</comment></comment></comment><comment><USER9> I already saw this on lobste.rs, but it's still cool. I like ES just fine, but to think we could have had scheme instead. Gee, thanks Netscape:

Every time you win, everybody loses.

<comment><USER10> "it's because of you, motherfucker, that we're not all using lisp" @ 5:00 [https://www.youtube.com/watch?v=bzkRVzciAZg](https://www.youtube.com/watch?v=bzkRVzciAZg)

<comment><USER9> No, that's actually the fault of Netscape.

Anyways, that video is awful and totally wrong. Node code can be clean, threaded code can be ugly. Both can be fast, but the perf characteristics are different (for OS threads, anyways).

</comment></comment></comment><comment><USER11> It loaded for me eventually. First one is pretty straightforward. After that they seem to require knowledge of JavaScript quirks.

</comment><comment><USER10> I don't exactly know what I did, but it did say that I win.

<comment><USER12> A day like any other with Javascript ;-)

<comment><USER13> s/with Javascript/being alive/

</comment></comment></comment><comment><USER4> Let me document all the reasons I dislike the HTML spec: it defines a willful violation of the ECMAScript standard.

<comment><USER14> Can you elaborate?

<comment><USER15> I'll use a link shortener to prevent spoilers. This link elaborates exactly which rules are abused: [https://goo.gl/mu5xtr](https://goo.gl/mu5xtr)

"These requirements are a willful violation of the JavaScript specification current at the time of writing. The JavaScript specification requires that ToBoolean return true for all objects, and does not have provisions for objects acting as if they were undefined for the purposes of certain operators. This violation is motivated by a desire for compatibility..." with old Internet Explorer.

</comment></comment></comment><comment><USER16> TypeError: NetworkError when attempting to fetch resource.

Maybe the challenge is to fix HTTP?

</comment><comment><USER17> Does anybody really know why JS's type system was designed the way it was? It seems so out of whack with what people want out of a language, dynamically typed or otherwise.

<comment><USER18> It's because Eich was told to make JS C-like. In C, an empty array, an empty string, 0, false and null are all the same value: a word with all bits 0. So in JS, those are all are falsy and == to each other.

<comment><USER19> I wish an empty string was not false.

In 'object' terms, an empty string is still a string! It's something.

I guess if you think about it from a memory perspective, it's 'nothing'.

But since JS is not actually like C, I really wish "" were true.

<comment> nv-vn "" is actually true in C, but that's also because it represents something in memory. Consider how C encodes strings: an empty string is a _pointer_ to a 0 (or a '\0', if you want to think of it as a char). However, the pointer (being an address) is non-zero (since the address 0 is NULL).

<comment><USER19> touché

</comment></comment></comment></comment></comment><comment><USER20> This is a nice challenge to start the morning.

However, on mobile the input loses focus after each individual character typed which is quite frustrating.

</comment><comment><USER21> I typed "true", without the quotes.

Did I do it wrong?

<comment><USER22> It's code golf. Try to do it in less than 4 characters.

</comment></comment><comment><USER23> The game shows us how ugly JS is.

<comment><USER24> Indeed, I refuse to believe there should be a solution to the 'reflexive' task.

<comment><USER25> So you disagree with the IEEE floating point specification, then? Javascript is directly following spec there.

<comment><USER26> Does that spec forces you to implement equality test between floating point numbers?

<comment><USER27> ...yes? I'm not sure exactly what you're asking here, though.

<comment><USER26> I'm asking if it is really a good idea for a language to provide equality/inequality for floating point numbers when it's often mistake to do that.

<comment><USER28> So disallow the direct operator but allow equality to be deduced indirectly by usage of > < >= <= ?

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> My gosh, this is way harder than the alert(1) series. [http://escape.alf.nu](http://escape.alf.nu)

</comment><comment><USER30> Reminds me of "The Little Lisper" and coding koans; honestly thought it'd be harder to "win" the challenge.

</comment><comment><USER31> Fri Aug 12 14:35:18 UTC 2016:

Page had message that the Hacker News 'hug' was likely to affect performance.

</comment><comment><USER32> Took me a couple of tries... (Spoiler): Anyone anything shorter then 4 characters (two characters)?

<comment><USER33> How did you solve the reflexive? I'm not getting at anything :(

<comment><USER34> NaN != NaN. It's how you're supposed to test for NaN, apparently.

<comment><USER35> Or use isNaN

<comment><USER34> I'll give you one chance to guess how isNaN is implemented. [https://github.com/v8/v8/blob/e6d1a80e790117dc27b20e9b14de4b...](https://github.com/v8/v8/blob/e6d1a80e790117dc27b20e9b14de4b6ac9f7512f/src/js/macros.py#L90)

</comment></comment></comment></comment></comment><comment><USER18> For the first 5, I've got 2,3,8,14,7. Anybody got tighter solutions?

<comment><USER36> I got 7 on the third challenge with that solution:

        transitive([],0,[])

</comment></comment><comment><USER37> Does someone have a <52 char solution for the counter one ?

<comment><USER18> (x=0)=>()=>++x

<comment><USER38> You can save one character by doing this:

(x=0)=>_=>++x

the underscore is another variable but a single variable does not require parenthesis. So instead of two chars for the two parens, you use a single char for a single letter variable. JS FTW ;)

</comment></comment></comment><comment><USER39> With games like these I feel like we all lose

<comment><USER19> This is true.

Pun intended!

</comment></comment><comment><USER40> Please more levels

<comment><USER4> You've already finished wat, undef, random3, and random4?

<comment><USER15> > wat, undef

Oh, undef is as easy as knowing HTML trivia. Getting a falsey value to return an arbitrary string when invoked as a function is at least a little harder...

> random3

... is almost as easy as random1

> random4

is exactly as impossible as it looks

</comment></comment></comment><comment><USER41> What is with the User/Score/Browser table? I only did like 4 of the tests and that thing popped up. I would finish it but I have some other things to do.

<comment><USER42> Looks like once you successfully score, it shows you how many characters it took others to solve. For example, the first one you can trivially type in true to solve it, with four characters. But it's solvable with only two characters.

<comment><USER41> Yes but there is no where you can enter your screen name. I should have clarified that in my question because I got down voted for asking this.

The whole down voting thing imo really has to go. Just flag answers or up vote. The whole bro intellectual rudeness is sort of off putting.

</comment></comment></comment><comment><USER43> I quite like this kind of challenge :)

</comment><comment><USER44> ▶ id(true ) // (4 chars)

▷ true

You win!

</comment><comment><USER45> 'Break JS to win!'

</comment><comment><USER46> It doesn't seem to work for me on Firefox and Chrome..?

<comment><USER47> It wasn't working on either for me, so I came here to complain, went back and it was suddenly working. Dunno what the issue was but keep trying maybe

<comment><USER48> Yes, it seems to take quite a while to start up.

</comment></comment></comment><comment><USER49> This page only shows "return true to win" on a white background in Chrome?

<comment><USER50> It loads eventually

<comment><USER51> Does it?

ReturnTrue:1 Fetch API cannot load [https://bigger.alf.nu/db/true/H5VmsyVCBD62113H5Slu](https://bigger.alf.nu/db/true/H5VmsyVCBD62113H5Slu). No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '[http://alf.nu'](http://alf.nu') is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

<comment><USER52> it does

</comment></comment></comment></comment><comment><USER53> I am so unhappy, because I can not play such games with Java... ;-)

</comment><comment><USER54> What the hell am I reading.

</comment><comment><USER55> The link points to a page that only contains the text "return true to win" in large type on a white background. As with most modern art, I don't get it.

<comment><USER56> Are you browsing with Javascript disabled?

<comment><USER55> No.</comment></comment></comment>


Using the new python API in Apache Flink v0.10.1 - <AUTHOR> http://www.willmcginnis.com/2015/12/13/pyflink-getting-a-bit-more-complex/ <comment><AUTHOR> Author here. Source is available at: [https://github.com/wdm0006/flink-python- examples](https://github.com/wdm0006/flink-python-examples), let me know if there are any other examples or features that would be helpful.</comment>


Learning to Execute - <AUTHOR> http://arxiv.org/abs/1410.4615

<comment><USER2> Wow.

The progress of DLNs amazes me. The recent Ng et al. _Zero-shot learning through cross-modal transfer_ [1] paper showed how a DLN could be taught to recognise classes of objects in images (cats vs trucks vs mice etc), then taught from non-image data about other classes (ie, "reading text") and then could distinguish between cats and dogs.

Now this shows a DLN can learn to program.

They say that technology means long-term change is usually great than expected while short term change seems slower. Right now the short term change seems damn fast to me.

[1] [http://scholar.google.com.au/scholar?cluster=143306265984748...](http://scholar.google.com.au/scholar?cluster=14330626598474812204&hl=en&as_sdt=0,5&sciodt=0,5)</comment>


Raspberry Pi as a local server for self hosting applications - <AUTHOR> https://cri.dev/posts/2020-09-12-Raspberry-Pi-as-a-local-server-for-self-hosting-applications/ <comment><USER2> The hardware is there (RPi + USB storage). The server software is there (NextCloud, Plex, n8n, etc). What isn't there is the plumbing. The next logical step after this blog post is making your services accessible to your phone over the public net. You'll immediately find yourself mired in domain name registration, VPS management, TLS cert management, dyndns, port forwarding, hole punching, etc etc.

There are lots of great tools that solve some of these problems. I have yet to find one that solves all of them.

I think we need something like Namecheap + CloudFlare + ngrok, designed and marketed for self-hosters and federators. You simply register a domain and run a client tool on each of your machines that talks to a central server which tunnels HTTPS connections securely to the clients.

Mapping X subdomain to Y port on Z machine should take a couple clicks from a web interface.

<comment><USER3> I tried running nextcloud on an rpi. It just doesn't cut it. I had the 4gb model and nextcloud runs but its a horrible experience. You go on the web UI and click a photo and it takes 10 seconds to load. Moved my server to a ryzen 5 based setup and now everything is instant. I'm not sure what the limiting factor on the rpi was because the ram and cpu usage was low. Perhaps it was memory or storage speed.

<comment><USER4> On SD card or USB w\UASP enclosured SSD?

<comment><USER5> And if USB, make sure to test the speed. Some controllers need quirks enabled[1] to get speed, including a lot of popular JMicron ones. Mine went from ~20MB/s to 300MB/s for a Samsung 850 SSD.

[1]: [https://www.raspberrypi.org/forums/viewtopic.php?t=245931](https://www.raspberrypi.org/forums/viewtopic.php?t=245931)

</comment></comment></comment></comment><comment><USER6> One thing to watch out for when doing something like this is that the Raspberry Pi will by default put your file system on the SD card it boots from. SD cards aren't meant to support a lot of write/erase cycles, so it's easy to end up with a corrupt SD card after a few months to a year depending on what you're doing on your Pi.

A workaround that can save you some headaches here is to only boot from the SD card (which means you're effectively only ever reading from the card), and then mount a filesystem on an external SSD drive. There are a couple of good guides here [1] [2].

[1]: [https://www.stewright.me/2019/10/run-raspbian-from-a-usb- or-...](https://www.stewright.me/2019/10/run-raspbian-from-a-usb-or-ssd-on-a- raspberry-pi-4/)

[2]: [https://www.pragmaticlinux.com/2020/08/move-the-raspberry- pi...](https://www.pragmaticlinux.com/2020/08/move-the-raspberry-pi-root-file- system-to-a-usb-drive/)

<comment><USER7> Most writes are the logs, I use log2ram [1], it reduces SD writes substantially.

[1] [https://github.com/azlux/log2ram](https://github.com/azlux/log2ram)

<comment><USER8> Or for those using journald, use Storage=volatile in /etc/systemd/journald.conf and then `systemctl force-reload systemd-journald`. Remove /var/log/journal to get rid of the old persisted logs.

</comment></comment></comment><comment><USER9> How do people access these servers off of their home network (or do they not?).

That seems like most of the value to me, hosting some service you can access from anywhere without having to use Digital Ocean.

It seems like most residential ISPs don't provide a static IP and some block port 80? I think forcing ISPs to allow home users to serve traffic via some standard method would go a long way to enabling a more decentralized web.

I know Zero Tier, and Tailscale exist - but I don't really understand how they work (and I think they require intermediate server access anyway so might as well use Digital Ocean?).

I'd like a future where you could sell users a raspberry pi running a service they can just plug into their home switch and access it securely from anywhere.

<comment><USER10> > How do people access these servers off of their home network (or do they > not?).

Wireguard, listening on the public IP with port forwarding, and using a dynamic dns client to ensure I can always connect even if the public IP changes.

> It seems like most residential ISPs don't provide a static IP and some block > port 80?

Not the case here in my experience (Spain), but if you're fine being the only one with access you only need to forward the VPN port.

> I know Zero Tier, and Tailscale exist - but I don't really understand how > they work

I only used ZeroTier a bit, but IIRC it was something like:

1) Create a new network in the ZeroTier One website 2) Download the ZeroTier client on your machine(s) 3) Enter the network ID 4) (optionally) authorize the device on the web UI 5) Now the device can connect to other ZeroTier peers on the network you created!

(So yeah, at least the "easy" way involves using their server, no need to selfhost it). Also this option should work without port forwarding.

<comment><USER2> Can the ZeroTier client create a tunnel without root access? That's the biggest weakness of WireGuard IMO. One of the things I like about ngrok is it doesn't require root.

<comment><USER10> > Can the ZeroTier client create a tunnel without root access? That's the > biggest weakness of WireGuard IMO.

No idea about ZeroTier, but you should be able to use WireGuard without root access using the userspace implementation in Go[0] (that's the one used in non-rooted Android phones, Windows, and maybe the BSDs)

[0]: [https://git.zx2c4.com/wireguard- go/about/](https://git.zx2c4.com/wireguard-go/about/)

<comment><USER2> I tried wireguard-go and it required root to create a tunnel. I wonder if it would be possible to adapt it to forward to a local port rather than mapping directly to a network interface.

</comment></comment></comment></comment></comment><comment><USER11> I recently thought about getting an RPi4 but ultimately spent about a hundred dollars more to get a cheap NUC. It was a bit more expensive but it seems like a more robust platform. A real AC adapter instead of USB (apparently the RPi4 kind of botched it in some revisions? What I read wasn't confidence inspiring), takes normal SO-DIMM ram and a typical SSD, doesn't have a reputation for overheating.. it seems generally more straight forward with fewer 'gotchas.'

<comment><USER12> If you have an i5 or i7, you may also have the advantage of remote KVM (via Intel's vPro) so that you can revive it remotely if needed.

<comment><USER13> Not to mention the built-in advantage of Intel's much better supported QuickSync video encode/decode if you're doing any sort of media streaming.

<comment><USER14> Won't matter if your main computer does the decoding, and for the price of one good computer that can stream to all devices including crappy ones versus all good ones and a cheap NAS to host, which would you choose?

<comment><USER15> Guess the question then becomes, do you need transcoding on the device streaming?

</comment></comment></comment></comment></comment><comment><USER16> Nice! I recently wrote a blog article about home-hosting on a RPI4 using kubernetes ([https://kubesail.com/blog/k3s-raspberry- pi](https://kubesail.com/blog/k3s-raspberry-pi)).

Such a bright future in home-hosting - really looking forward to seeing the movement grow! The [https://www.linuxserver.io/](https://www.linuxserver.io/) community is pretty great re: home-hosting apps as well.

<comment><AUTHOR> That's awesome! didn't know about [https://fleet.linuxserver.io/](https://fleet.linuxserver.io/) !

Gotta definitely try this, thanks

<comment><USER16> Yeah! They have a really great community in their chatroom as well - A lot of our Kubernetes templates are based on their excellent Docker images :)

</comment></comment></comment><comment><USER17> If you run anything semi-serious please consult this blog post by Jeff Geerling about SD card performance (buy A1 ones).

[https://www.jeffgeerling.com/blog/2019/raspberry-pi- microsd-...](https://www.jeffgeerling.com/blog/2019/raspberry-pi-microsd-card- performance-comparison-2019)

<comment><USER18> It's an rpi connected to a dual core laptop on a home connection, presumably without a battery backup. Nothing about this is remotely semi-serious.

</comment></comment><comment><USER19> I haven't been into computer hardware lately, but I decided to pick up a NAS, and was pleased to learn that they're now just a complete computer - I've started using VMs living on my NAS to do this kind of thing, which is quite nice. Synology's interface is not bad either, but I imagine others have come up with even better ways to use these systems.

Obviously a RPi is a way cheaper way to get a lot of the same work done though :)

</comment><comment><USER20> Friendly reminder that you can use Piku ([https://github.com/piku](https://github.com/piku)) for Heroku-like deployments.

<comment><USER21> I see it's inspired by Dokku (because Dokku doesn't support ARM). I use that for a few of my apps on a VPS, nice tool.

[http://dokku.viewdocs.io/dokku/](http://dokku.viewdocs.io/dokku/)

</comment></comment><comment><USER22> I'm using my old Thinkpad T510 as a home server. It's been running for 7+ years already. I only need to dust the vents once in a while.

It has PiHole, Nextcloud, my humble little Netflix clone, and a few other things. If you use ffmpeg a lot, you ought to have more power than the RPi offers. I often SSH into it to use it as a SOCKS proxy in other countries.

<comment><USER23> Yep, older laptops make perfect home servers/routers. Built in "KVM switch", built-in UPS, low power/noise, etc.

Before I switched to Ubiquiti I ran pfsense on a VM on my old 410s for many years, among other virtual machines for home lab use.

<comment><USER24> >low power/noise

how does that compare to RPI?

<comment><USER22> It's a regular laptop fan, so it's inaudible unless ffmpeg is converting a movie. Then there's an audible hum, but it's no louder than the fridge's compressor.

</comment></comment></comment></comment><comment><USER25> On my Raspberry Pi 3 I'm running Hypriot OS which installs a minimal host OS and then just runs Docker.

Thanks to cloud-init (Old version though) you can even pre-configure the boot image with your SSH key etc. which allows you to automate your initial install.

[https://blog.hypriot.com/downloads/](https://blog.hypriot.com/downloads/)

[https://cloudinit.readthedocs.io/en/0.7.9/topics/capabilitie...](https://cloudinit.readthedocs.io/en/0.7.9/topics/capabilities.html)

<comment><AUTHOR> that is interesting, thanks!

sounds like a super smooth dev and deploy experience

<comment><USER3> Docker on ARM is not a smooth experience. Hardly anyone builds containers for ARM so you end up either building everything yourself or finding weird -arm versions of popular containers.

<comment><AUTHOR> have you seen this? [https://hub.docker.com/u/arm32v7](https://hub.docker.com/u/arm32v7)

</comment></comment></comment></comment><comment><USER26> Setting up a pi-hole DNS server for my wifi network was one of the best decisions I've ever made. Horrifying to see what percentage of traffic is on the ad server blacklist though...

<comment><USER27> I wasn't aware that my Samsung Smart TV had been logging almost my every action on the TV until I set up a PiHole server. Also, my respect for Apple grew by the fact that only device that wasn't doing loads of telemetry turned out to be my Macbook in the whole household.

<comment><USER28> > Also, my respect for Apple grew by the fact that only device that wasn't > doing loads of telemetry turned out to be my Macbook in the whole household

Turns out that modern electronic devices are expensive. If you are not charged up-front, there's a good chance that you are being charged in some other way.

<comment> t-writescode Let's be fair, even if you did pay more up front, they'd still get ads from you. The whole thing is pervasive and we need legislation for it.

</comment></comment></comment></comment><comment><USER29> I like my rpi but my life got better when I bought a mini pc instead. Its pretty common to get a 16GB mem micro for not much more than an rpi with power supply, sd card, case.

[https://computers.woot.com/offers/lenovo- thinkcentre-m73-240...](https://computers.woot.com/offers/lenovo- thinkcentre-m73-240g-tiny-pc-10?ref=w_cnt_lnd_cat_pc_2_24)

<comment><USER30> Yup, similar. I have a thinkcenter m600 series. Quite old but works really well.

<comment><USER31> I looked at these but got an old ThinkPad laptop instead. Integrated UPS, keyboard and mouse...

</comment></comment></comment><comment><USER32> It really wasn't until I got myself a Pi 4 that I really appreciated what an improvement it was over the earlier generations. I have the Pi 4 and a 3B+ running BOINC, crunching away on World Community Grid[1], and the 4 is at least twice as fast at completing work units (it's too early for RAC numbers to settle down, yet). The Cortex-A72 is a huge step up from the A53. [ETA: both are actively cooled.]

Also, the Pi 4 eliminates the USB2 bottleneck the old Pis have, and has a couple of USB3 ports.

[1] Be sure to boot with arm_64bit=1 in config.txt or you will get no work units.

<comment><AUTHOR> Thanks for the hint! Will include this in my config.txt

</comment></comment><comment><USER33> A DigitalOcean vps can be a pretty inexpensive and easy option.

I've done this with a Pi and Dyndns. It's pretty easy to setup but not as good (for me) as a DO vps because my home ISP limits data heading out. I would have to purchase a business plan to fix that and it still wouldn't be better or cheaper than what DO and others can provide.

A Pi can be used for development on your home network and it excels at that. And the older RPis can run [1]CouchDB and be configured to "Live Sync" with a CouchDB running on a commercial VPS. That too is a pretty easy to setup and it provides some pretty nice options. For example, you can make your app use the Cloud based CouchDB while you're out and about and it will sync your data with your local CouchDB. Then when you get home you can turn off the cloud access and even delete your data on the cloud DB.

1\. The latest version of CoudhDB (v3.0+) doesn't run on the new ARM based Pi 4.

<comment><AUTHOR> yep, noticed the same. a lot of containers are not available for arm, and thus you'll need to build them yourself..

</comment></comment><comment><USER34> For anyone with a home server and has the need to remotely access your self- hosted websites, [https://pomerium.io](https://pomerium.io) has been a wonderful piece of software in my stack.

You can safely expose your self-hosted websites to the internet and without the hassle of needing to have a VPN connection first.

<comment><AUTHOR> that's cool!

</comment></comment><comment><USER35> The pi4 even overclocked isn't a great number cruncher, and I don't think the gpu acceleration has landed yet..

So I might expect it to be on par with that old of a macbook but not beat it by nearly 2x, particularly if the macbook is being accelerated. (despite having 2x the core count) Which makes me think the MBP may be suffering from some serious thermal throttling, which wouldn't be uncommon on machines of that vintage.

I also assume the call line is:

[https://github.com/christian-fei/raspberry-pi-time- lapse/blo...](https://github.com/christian-fei/raspberry-pi-time- lapse/blob/master/create-time-lapse#L17)

which is noticeably missing the -hwaccel switch, which means its probably not using the GPU on the mac..

<comment><AUTHOR> Definitely, good points. Gotta try your suggestion regarding the missing flag on the ffmpeg side and report back, out of interest. I'm on service battery since a long time in fact I consider this setup only temporary, and will soon upgrade to a modern machine

<comment><USER36> Set the encoder to omx on the pi as well to take advantage of accelerated h264 encoding.

<comment><AUTHOR> will try!

</comment></comment></comment></comment><comment><USER37> This is related because I'm exclusively interested in building a local- network-only media server to serve my firestick and a laptop, but are plex (nice interface, for some reason requires a sign-in to their service, some sort of paid features) or emby (similar) the only options?

If I for example wanted to just access my media library through firestick and windows with a kinda neat interface without paying anybody or making an account on a third party website, is there a solution?

I suppose I could just use VLC, which is fantastic software that isn't particularly beautiful and get used to it, but I'd like a somewhat more "netflix-style" interface for navigating my content within a single rpi server on my network.

<comment><USER38> It seems that Kodi[1] would be your perfect choice, and that is indeed what I'm using in a very similar setup.

Setup your media (local or remote) library, and the scraper will enrich it with posters, synopsis, actors, etc.

[1] [https://kodi.tv/](https://kodi.tv/)

<comment><USER37> Thanks for the suggestion, I'll have to give that another try!

I've had success with Kodi in the past with my laptop but I've also had big performance issues on the firestick. To be fair, it's been a couple years since I tried that so I'll see if the newer versions perform better.

</comment></comment></comment><comment><USER30> I have tinkered with RPI a lot in my previous life, I used to maintain the Qt eglfs QPA plugin. Back then, they were quite under powered CPU wise. Are the recent versions powerful enough to host websites and data for every day use? Like say, is it powerful to host a website, couple of blogs, a nextcloud/syncthing instance and say Emby/Jellyfin/Plex? Most importantly, I want to hear about setups that people are using for every day use and not just learning.

(For context, we get a lot of requests to port Cloudron to ARM/RPI but I am still not sure if these are just hobbyists/tinkerers or something people use everyday.)

<comment><AUTHOR> Using Emby actively right now and it's working like a charm! Nextcloud will probably be my next experiment

<comment><USER30> Does hardware transcoding work?

<comment><AUTHOR> wouldn't know. installed it through a .deb file, so it's certainly better suited to use the hardware than through docker probably

</comment></comment></comment></comment><comment><USER18> Note that if you got all excited about n8n when learning about it from this webpage, as a potential open source Zapier:

n8n is not open source, despite being source available. The author goes to pretty great lengths to avoid confronting this fact.

[https://github.com/n8n-io/n8n/issues/40](https://github.com/n8n-io/n8n/issues/40)

<comment><USER39> Wow. I'm instantly sympathetic with the author given the level of vicious fanaticism he was confronting there.

<comment><USER18> Drew being mean doesn't change the fact that the author was (and to some extent still is) being shady.

</comment></comment></comment><comment> valiant-comma For simple, web-based speedtests on a local LAN/WLAN, I like librespeed[1]. Really helps identify subpar WiFi coverage (for example), better than just signal strength. Runs nicely on a Pi, up to line rate (1 Gbps) on a Pi 4.

[1] [https://github.com/librespeed/speedtest](https://github.com/librespeed/speedtest)

<comment><AUTHOR> awesome! thank you!

</comment></comment><comment><USER40> There are FreedomBox versions for Raspberry Pi 2, 3B, 3B+, and 4B.

[https://wiki.debian.org/FreedomBox/Hardware#Also_Working_Har...](https://wiki.debian.org/FreedomBox/Hardware#Also_Working_Hardware)

</comment><comment><USER41> Ime devices with a proper CPU and SSD such as Intel NUC and Beelink are the MV solution to run server software without constant headaches due to slowness, limited memory and flash wearout. Ymmv of course. The Pi4 with 8G is getting close.

</comment><comment><USER42> I have a RP4 on my desk collecting dust, need to get it up and running for something useful. This post has got me motivated to find a use for it.

<comment><USER43> My favorite use of a Raspberry Pi has been to run a Jenkins instance.

I use it for CI/CD on projects, but also for automating other tasks -- You can use Jenkins to wrap any arbitrary script with more higher-level logic and extensibility than a cron job.

For example, I use Jenkins to automate multiplatform builds for some side projects, to periodically ingest data into a database, perform cleanup jobs, etc.

<comment><AUTHOR> That's nice! Trying out n8n.io right now and it's pretty sweet

</comment></comment></comment><comment><USER44> My only gripe about Raspberry Pi, and only thing that prevents me from using it as a home server, is that the USB cannot power an external HD

<comment><USER45> I've wanted to make a headless audio player for my car, and this power issue has been the bottleneck for me. Additionally, spinning disks and moving cars are a bad combination.

Just last week I bought a 500gb SSD and usb adapter for about $75. My Pi 2 powers it without issue. The only problem I see is that the SSD can get fairly warm, so keeping it in my closed center console probably isn't a good idea.

</comment></comment><comment><USER46> For ffmpeg h.264 encoding on macOS it is not very wise to use x264 instead of h264_videotoolbox.

</comment><comment><USER47> How does Cgnat fit into this? Or do we have to forego any hopes of it as long as cgnat exists?

</comment><comment><USER48> Does anyone have any experience with running and upgrading FreedomBox for self-hosting.

</comment><comment><USER49> i use the rasp pi 3+B 1 GB model to sense oil level in my oil tank. i now know oil tank level anywhere any time. Take a look at [http://myoilguage.com/](http://myoilguage.com/)

<comment><AUTHOR> that's interesting!

</comment></comment><comment><USER50> i use a pi as webserver. works like a charm

<comment><AUTHOR> Nice!

</comment></comment><comment><USER18> This is probably way better achieved by a $5/mo VPS.

Benefits:

\- way faster

\- always on (presumably battery backed)

\- you're not responsible for disk or hw failures

\- better internet (faster, redundant connections)

\- cheaper ($60/year vs $100 upfront)

\- not fighting architecture differences

\- comes with a public v4 address

\- usually comes with a v6 address too

Downsides:

\- data isn't under your control and is subject to military espionage

\- your internet connection to move larger files to/from the remote device may not be great

<comment><USER51> $60/year is not cheaper than $100 one time, unless you plan to run the RPi for one year and then throw it away.

<comment><USER52> You do pay for the electricity cost. Assuming the Rpi consumes 10W and is on 24/7 and your electricity cost is $0.15/kwhr : 365d * 24h * 0.01kW * $0.15 = $13.14/yr in electric costs.</comment></comment></comment>


Two thirds of cancers are unavoidable even if you live a healthy life,study - <AUTHOR> http://www.telegraph.co.uk/news/2017/03/23/two-thirds-cancers-unavoidable-even-live-healthy-life-study/ <comment><USER2> Awesome, going to hit Taco Bell tomorrow. Why not.

</comment><comment><USER3> 'Unavoidable' is marketing hyperbole.

Still very very early but Gene therapy will allow us to be more proactive and reduce/eliminate risk of identifiable cellular/genomic dysfunctions.</comment>


Please reccomend best kids development environment - <AUTHOR>

My 6 yr old spent hours yesterday starting to compose the storyline and interface for his first digital game. He's using Paper App on iPad to sketch it out. I am amazed at level of sophistication he is showing having designed a lit of interfaces for apps.<p>Any of you have recommendations for development platforms for kids that will teach him fundamentals, while still letting him create something to be proud of? I want him to be able to see results, while still challenging him to learn. Thanks for any help you can provide. I have a tiger by the tail. <comment><USER2> My first recommendation would be <http://scratch.mit.edu/>

There are a number of commercial projects, including <http://www.stencyl.com/> , <http://www.scirra.com/> , and <http://www.yoyogames.com/> that are a bit more sophisticated, but Scratch is great for kids.

<comment><AUTHOR> Thank you! I'll take a look at all of those suggestions.</comment></comment>


Deep learning helped scientists discover a novel antibiotic - <AUTHOR> https://www.quantamagazine.org/machine-learning-takes-on-antibiotic-resistance-20200309/ <comment><AUTHOR> The article sugarcoats some terms to increase readability. Here's the paper if you want raw spinach: [https://www.cell.com/cell/fulltext/S0092-8674(20)30102-1?_re...](https://www.cell.com/cell/fulltext/S0092-8674\(20\)30102-1?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS0092867420301021%3Fshowall%3Dtrue)</comment>


Norway: Soldiers' location history found in data sold by Tamoco - <AUTHOR> https://www.nrk.no/norge/xl/norske-offiserer-og-soldater-avslort-av-mobilen-1.14890424 <comment><USER2> We have nothing but respect for Norway, but HN is an English-language site, so articles here need to be in English.

I'm sorry, but we have enough trouble getting this audience to read the articles as it is.

<comment><AUTHOR> point taken, thanks :)

</comment></comment><comment><AUTHOR> A bit of context for non-Norwegians: The government owned media NRK bought location data from Tamoco worth approximately 3,400 USD.

The NRK subsidiary NRKbeta has "connected the dots" from that data set. In this article they present how they could track down military personnel visiting restricted military sites in Norway, including the disputed radar installation in Vardø, close to the Russian border.

<comment><USER3> This reminds me of this rumour about how someone used tinder to triangulate opponent units during an exercise and arty them to shit. Supposedly Finns outwitting Norwegians, but is a anon text so who knows: [https://imgur.com/gallery/bySUH](https://imgur.com/gallery/bySUH)

<comment><USER4> Reminds me of a story I heard: In a conflict, Russia sent SMS to the mothers of Ukrainian(?) soldiers, informing them of their son's death (pretending to be the Ukrainian government/military). The mothers, distraught, called their son's cellphone. The increased, clustered cellphone activity near the frontline gave away the unit positions. Shortly after, Russian bombs dropped.

<comment><USER5> Went looking for citations:

[https://www.ausa.org/articles/russia-gives-lessons- electroni...](https://www.ausa.org/articles/russia-gives-lessons-electronic- warfare)

[https://mwi.usma.edu/text-messages-hell-restraint- informatio...](https://mwi.usma.edu/text-messages-hell-restraint-information- warfare/)

<comment><USER6> That's some next level evil genius. Pretty scary.

</comment></comment></comment></comment></comment><comment><USER7> This reminds me of an experiment I'd like someone to run on Strava. They had this big scandal some time ago where People identified US military bases simply by having a lot of activity in an otherwise empty area.

Now they've added some mojo to prevent this but still sell location data.

So how about running the same attack but instead of using the browser and their own website just use the bought location data.

I suspect they didn't fix that as I've disabled appreaing on their heatmap but they still sold my location data when I forgot to disable my vpn during a run some time ago.

<comment><USER8> You can add privacy zones around locations so when people look at your activities your line just disappears inside the radius of your privacy zones.

I have ones around my home and where I work. No idea if that affects whatever data they sell (I doubt it, since you can still the full activity yourself even with a privacy zone), but stops people finding where you live/work and nicking your bike

<comment><USER9> The fact that an area is made private is also a piece of information. I was thinking that you could use that to track down sensitive areas.

<comment><USER10> Unless I'm missing something you can easily triangulate the center point of the private area.

</comment></comment></comment></comment><comment><USER11> "On average app publishers make $10,000 a month with Tamoco data monetization."

[https://www.tamoco.com/blog/best-app-revenue- calculator/](https://www.tamoco.com/blog/best-app-revenue-calculator/)

</comment><comment><USER12> Google translate: [https://translate.google.com/translate?sl=auto&tl=en&u=https...](https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fwww.nrk.no%2Fnorge%2Fxl%2Fnorske- offiserer-og-soldater-avslort-av-mobilen-1.14890424)

Original article is in Norwegian.

</comment><comment><USER13> It would be interesting to know which ``apps'' were responsible for leaking the data.

<comment><USER14> check the settings on your phone, the ones with location data access are selling it.

<comment><USER13> All of them? How do you know this?

<comment><USER15> The vast majority. You have to go out of your way to find apps that don't scoop up all the data they can. Why not? It's not like consumers penalize it.

</comment></comment></comment></comment><comment><USER16> Don't allow soldiers to have mobile on restricted ground...

<comment><USER17> Traffic Analysis.

A lot of British intelligence during WW2 was gleamed not from the contents of the messages they intercepted, but rather from tracking who was where and communicating with whom.

And if you stop soldiers from using mobile phones on restricted ground, you are just going to have lots of tracks stopping abruptly at the gates and secure facilities identifiable by their lack of emissions.

Patterns.

There have been great examples of correctly identifying the crews of nuclear submarines by their predictable periods of time offline.

<comment><USER18> It was giving that away in his book, rather than any of the other activities at Bletchley Park, that got Gordon Welchman into trouble. Even without any detail as to the techniques used, the fact that he and his group had basically worked out the German operational structure and deployment situation entirely from traffic analysis before the improved Enigma was reliably broken revealed a lot that was meant to be kept secret.

<comment><USER17> Yes the hut six story was an excellent and eye opening book. We are quick to idolize Turing - and he was an amazing man - but there are others such as Welchman and Tutte who sadly get less attention.

</comment></comment></comment></comment><comment><USER19> Reminded me of this New York Times article where they got hold of location data from 12 million americans. I think NRK found some inspiration from that.

[https://www.nytimes.com/interactive/2019/12/19/opinion/locat...](https://www.nytimes.com/interactive/2019/12/19/opinion/location- tracking-cell-phone.html)

</comment><comment><USER20> Something similar has happened before: [https://news.ycombinator.com/item?id=16249955](https://news.ycombinator.com/item?id=16249955)</comment>


Do you know the"Awesome" lists in GitHub? I made one about anti-racism - <AUTHOR> https://github.com/rafaelcavalcante/awesome-anti-racism <comment><AUTHOR> An awesome list with anti-racism material</comment>


Miniplayer in YouTube Web: At Last - <AUTHOR> https://www.facebook.com/photo.php?fbid=10215010754440751&set=a.1309115246407&type=3&theater <comment><AUTHOR> [YouTube Web miniplayer gets a wider rollout]([https://www.androidheadlines.com/2018/10/youtube-web- minipla...](https://www.androidheadlines.com/2018/10/youtube-web-miniplayer- feature-gets-wider-rollout.html))</comment>