Clojure 1.0 Released - <AUTHOR> http://groups.google.com/group/clojure/msg/bcbdad671327d2f5

<comment><USER2> Between Clojure and Scala (and JRuby and Groovy), it seems like there's a lot of potential for people to start using Java-the-platform without having heavily used Java-the-language (I know I'm in that situation). I think there's an opportunity for a book or blog-series that would get people familiar with the good and/or necessary legacy aspects of the ecosystem.

What do the more seasoned Java-ers (Javites? Java-ists?) think will remain most relevant from Java-the-language and the existing environment?

<comment><USER3> It varies; you'll want to know quite a bit of Java for Scala and Groovy but less so for Clojure, in my opinion. Clojure has a quite distinct flavor and you see things like ring being used instead of servlets directly in compojure, etc. It'll be interesting to see how much of the standard Java toolkit gets reinvented due to distaste for the Java-ness of some of the stack (which isn't necessarily a bad thing.)

Practically speaking, I think you'll need to be at least a competent Java programmer for the next few years if you don't plan on reimplementing a lot of bits that are in the extended Java stack.

</comment></comment><comment><USER4> Is it just me or was this really _fast_? It seems like the Clojure team got a huge boost from choosing the JVM as a starting point here.

<comment><USER5> Yes, it was fast. I believe 18 months between first public release and 1.0.

Though rhickey said he worked on Clojure for a year+ before the first public release, and before Clojure he worked on two projects trying to integrate Common Lisp and Java (call Java from CL and vice versa). He said the difficulty of those projects lead him to write clojure.

<comment><USER6> Which is funny because (as I recall) the initial developer of java itself started the project after getting frustrated with how difficult it was to implement macro expansion for c. It seems things have finally come full circle yielding the best of both worlds.

<comment><USER7> I thought they wanted to program set-top boxes but weren't sure of the final hardware implementation so they abstracted away the VM and runtime, initially with an eye towards an smalltalk implementation but ended up greenspuning something new called Oak?

</comment></comment></comment></comment><comment><USER8> This is excellent news and I think it was a great idea to try and have 1.0 ready before Stuart's book is released. Now that Clojure is at 1.0 I also feel less guilty about trying to use Clojure for work.

</comment><comment><USER9> There's something that bothers me about Clojure, and anything else that runs on top of the jvm and encourages heavy use of java libraries. It's similar to the thoughtful post in the "It's about the Libraries" thread regarding Clojure not being a completely coherent system because it is not a Lisp system. Same could be said for Scala.

For one, if the libraries are what's important, then just keep on with java. For another, so what if we get to use all these features, like coherent concurrency and stm? It seems to me that the use of one shitball java library could negate any value that Clojure brings to the table. So is it really the case that while java library interop is fully realized with Clojure, and this is a major selling point, for mission critical software we should not use java libraries that haven't been thoroughly scrutinized? I believe it is the case that there are libraries that are acceptable for use with more java, but their use will be discouraged if Clojure is thrown into the mix. Clojure just hasn't been around long enough to have to deal with these issues yet.

In a similar vein, this is something that has always bothered me about Ada. Why even have a version of Spark Ada that runs on windows, or any other OS that itself is not written in Spark Ada?

I wonder if Wirth was at all driven by this issue, because he always seemed to include a machine as part of the language he was developing at the time.

So is it the case that any advances to Lisp like Clojure require that we just accept these less coherent systems just to get some work done, even though it really would be preferable to have all the libraries you need on something like a Genera with concurrency and stm realized, even though we don't want to admit it? I'd like somebody to set me right on this point.

<comment><USER10> "For one, if the libraries are what's important, then just keep on with java."

Java has a very restrictive and inflexible syntax. I'd rather have macros, first class functions, and all the other benefits of a Lisp, as well as being able to access Java libraries.

"It seems to me that the use of one shitball java library could negate any value that Clojure brings to the table."

You mean you could use a Java library that uses threads and has locking bugs?

Sure, that's a possibility, but I can't think of a language that doesn't have this problem. Even if the language itself is safe, there's usually a FFI.

"I believe it is the case that there are libraries that are acceptable for use with more java, but their use will be discouraged if Clojure is thrown into the mix."

Why do you believe this is the case? If a Java library suffers from race conditions in Clojure, it'll suffer from race conditions in Java as well.

</comment></comment><comment><USER11> I had plans porting one of my applications which used XML as the DB and did heavy XPath processing, to LISP just to see how it worked but had concerns on the GUI part. It looks like The Clojure innovation will ease which can be summarized as: "GUI programming using Lisp" I welcome the Java-the-platform!

<comment><USER7> With XML storage, XPath and GUI programming, I very much doubt you will be seeing any much clojure/lisp goodness but will most likely hammer out XML in the same way it's hammered out in every language: slowly and painfully :-P

</comment></comment><comment><USER12> I'm excited. I will be using this to learn LISP.

<comment><USER7> And that would be a BIG mistake. Your clojure-using peers will be knowledgeable engineers with things to do and products to ship and very little time to help you. There is also _zero_ academic literature to hold your hand. With a new programming language, you are often forced to reach out to your own past experience for a repertoire of programming techniques. You will learn the syntax of clojure, sure, but you will be writing whatever languages you know now in a fully parenthesized prefix syntax.

A better question to ask would be "what language motivated Rich Hickey to create Clojure"; pick a more stable Lisp, learn the ropes, and come back to kickass on the JVM in a few months.

<comment><USER13> I see no reason to spend a lot of time learning Common Lisp at this point. The Clojure community is helpful, because everyone is so excited to have a Lisp they can really use. Stuart Halloway's book is a good enough introduction to Lisp concepts that one could go on to the more academic books to learn more. The book consistently takes pains to show idiomatic Clojure--a good first step away from the Java/C/C++ mindset. The core syntax of Clojure has been stable for several months now, and the implementation itself has been stable for much longer.

Learning Scheme just to read SICP (for instance) isn't necessary either. Since Clojure is a Lisp-1, it works well for the exercises in a Scheme-based book.

<comment><USER7> I will not argue the merits of CL since I would be biased, but Scheme? Clojure is no scheme. It can barely do tail recursion cleanly without resorting to a keyword (recur?)

Scheme, along with Mozart/OZ are the perfect candidates for delivering programming skills without platform obstruction. Admittedly, it would take an _specific_ implementation Scheme, a large and feature-rich one, to properly introduce someone to the real powers of Lisp.

Go thorough a series of complete Lisp systems, say MIT Scheme and CMUCL, and see what a complete Lisp system looks like.

</comment></comment></comment></comment><comment><USER14> It's ironic that this was posted as the same day as this --> <http://news.ycombinator.com/item?id=591897>

Would be interesting to see how a version in Clojure compares.

<comment><USER15> Clojure leverages concurrent execution like no other language I've seen. It's dead easy to parallalelize a program (sometimes just adding a single letter 'p' to some function names, like "map" -> "pmap") and always correct, working with transactional memory. That alone is an outstanding achievement.

</comment></comment><comment><USER16> Hmm, not my style...</comment>


Cultural Context of "Death to America" Chants - <AUTHOR> https://languagelog.ldc.upenn.edu/nll/?p=31116 <comment><USER2> I went to school and grew up in Iran. Chanting death to America and Israel and even to poor (already) dead Shah was part of an official ritual every morning in the school.

As a teenager, you don't grasp what you're saying. You're just part of the crowd. In an environment that there's almost no other forms of entertainment at reach; you feel powerful in these rallies. It's like being in a rock concert and singing the songs.

I imagine most people that show up in the rallies these days have nothing else to do. It's a recreational event for most.

Actually I think this is exactly what makes this culture most dangerous. There are big crowds of mostly low or unemployed people blindly following their leaders. And they enjoy it the same way that you enjoy a sport event or a concert.

I speak Farsi and 'death to America', well means death to America. I even didn't know about the historical reference mentioned in the post. But I doubt that the big majority of the individuals that are shouting death to something truly mean it.

<comment><USER3> Thanks for this comment. This has changed my view somewhat on the Iran situation.

I originally thought it was pretty dumb of Trump to tear up the nuclear deal, escalate tensions, and most recently basically try to start a war (by killing a high level government official).

But if "death to America" is literally being indoctrinated into their whole society, maybe war is inevitable, and better for it to start on our terms, when we have an advantage, instead of (say) wringing our hands and kicking the can down the road until they have nukes, like we did with North Korea. Maybe Trump's stance on this issue might not be so crazy?

<comment><USER2> Even after years of being brained washed by the media and the educational system, a typical middle class millennial in Iran does not hate Western culture or America.

Older generations (even in some rural areas) have fond memories of Americanization of Iran in the 70s (which finally led to the Islamic revolution).

The problem that I see with Trump's approach is that it alienates these groups of people that had been pro-American before.

The country and the economy was thriving for a brief couple of years after the nuclear deal. People used their money to visit Gulf countries, east Asia and Europe. I think Internet speed almost doubled in that period.

But new sanctions made the economy collapse. And Muslim ban is a real thing if you are born in Iran. And it does not matter how pro-American you are.

Then now we ended up in a situation that even ordinary, middle class Iranians that could've been in American camp, are feeling under attack by a bully. For them everything that the government has been preaching about the great Satan is coming true.

<comment><USER4> The Iranian government recently murdered at least 200 (according to the UN and Amnesty International) and perhaps over 1000 (according to US officials) unarmed Iranian civilians. Many were shot in the back as they ran away. [1,2]

How can Iranians still support that government?

Sanctions are probably the wrong approach - they tend to hurt ordinary people far more than the government - but if I were Iranian, living under a regime that's willing to shoot me in the back, I'd hope for regime change.

1: [https://www.nbcnews.com/news/world/u-s-says-iran-may-have- ki...](https://www.nbcnews.com/news/world/u-s-says-iran-may-have- killed-1-000-protesters-n1096666)

2: [https://www.amnesty.org/en/latest/news/2019/12/iran-death- to...](https://www.amnesty.org/en/latest/news/2019/12/iran-death-toll-from- bloody-crackdown-on-protests-rises-to-208/)

</comment></comment></comment></comment><comment><USER5> This is brilliant. It reminds me of the way "We will bury you"[0] was used to imply that Krushchev wanted to destroy America rather than say "history is on our side, and when your philosophy dies we will be there at its funeral" as it is possible he meant. I love this.

0: [https://en.wikipedia.org/wiki/We_will_bury_you](https://en.wikipedia.org/wiki/We_will_bury_you)

<comment><USER6> That one's funny for a Spanish speaker.

It's common to hear things like "tu abuela nos entierra a todos" (Grandma will bury us all) to imply she's really healthy for her age. I never even considered the alternative and more sinister possible meaning.

</comment></comment><comment><USER7> Someone was pointing out on Twitter yesterday that his taxi driver said "death to traffic". Context is everything.

<comment><USER8> Well, that does mean that he wishes traffic didn't exist (and, in this case, I'm actually with him). I'm not sure that makes "death to America" any more peaceful.

<comment><USER9> The idea is the contexts in which such a statement is chosen to be uttered is important, and not just the possible interpretations of the statement given content: just as how the Iranian taxi driver says "death to traffic" offhandedly, so the US driver says "fuck this traffic" offhandedly, and just as the Iranian says "death to the US" offhandedly but not "death to traffic", so the US citizen says "fuck the government" offhandedly. In any case, neither mean to literally destroy or bugger the nation.

So to the extent that "death to X" conveys a strong hatred with probable signification of action in English, it is a mistranslation, since "death to X" in Iranian conveys a frustration that has not been analyzed much or that belies an intention for planned action, which is more similar to "fuck X" in English.

<comment><USER9> edit: ', and just as the Iranian says "death to the US" offhandedly but not "death to traffic",'

should read ', and just as the Iranian says "death to the US" offhandedly,'

</comment></comment></comment></comment><comment><USER10> This seems like a dogwhistle. Basically, all the various groups that really do hate America feel happy with "Death to America", while still being able to say, that that phrase only really means "Down with America."

Given that this phrase was used during the storming of the US Embassy in Tehran in 1979, and is often accompanied by flag burning, probably a significant part of the crowds chanting that slogan do actually want death to come to individual Americans.

<comment><USER11> > Given that this phrase was used during the storming of the US Embassy in > Tehran in 1979, and is often accompanied by flag burning, probably a > significant part of the crowds chanting that slogan do actually want death > to come to individual Americans.

That is one stupid inference- a complete non sequitur.

</comment></comment><comment><USER12> The nuanced verbiage of the article is overshadowed by the lead graphic, showing the US leader being punched. This, along with current context of Iranian-organized mob assaults on the US embassy in Iraq (including burning the lobby), plus plenty of other incidents, makes it hard to accept the "they're just saying they don't like meanies" explanation.

<comment><USER11> Trump is choking Iran after reneging an agreement the whole world had taken, and that Iran was respecting to the letter. What would you say if Iran prevented your country from having commercial exchanges with any other country in the world? Just imagine that.

<comment><USER12> ...he writes, conveniently overlooking the human rights abuses and threats against neighbors which induce the sanctions. Hanging gays for being gay, beating/jailing women for not wearing scarves, frequently declaring intent to bomb Israel for merely existing, obviously building nukes for that purpose, funding & operating terrorism worldwide (hence Soleimani hit), normalizing "Death to America" chants nationwide, etc. Stop bullying others and others will stop sanctions.

</comment></comment></comment><comment><USER13> So we know what it means as a literal translation. What does it mean in the minds of people when they say it while they burn flags and effigies?

When they chanted death/down with Iraq during the Iran-Iraq war did their actions just not coincide with their chants as they bombarded Iraq?

I'm not hitting you to be violent; rather, it's a sign of affection.

<comment><USER14> Back in 1980 (during the hostage crisis) somebody put up a bullseye target with a picture of Ayatollah Khomeini in the gym at the Y.M.C.A.

Death threats are common in political speech of that kind.

<comment><USER15> And I suspect that the person who put that up would like to see the Ayatollah dead.

</comment></comment></comment><comment><USER16> This article provides context for the "Death to America" chants in Iran: [https://www.nationalreview.com/2020/01/death-to-america- iran...](https://www.nationalreview.com/2020/01/death-to-america-iran- philosophy-for-40-years/) .

"Watching in horror as thugs grabbed our blindfolded embassy staff and paraded them before the cameras, Americans instantly learned that this was a regime that had no regard for any international law, traditional diplomacy, or morality. A revived relationship and summit meetings were unthinkable; anyone who met with Iranians on their soil was a potential hostage. The crowd of angry revolutionaries chanted "Death to America," and the Iranian parliament and other official government meetings and rallies routinely began with the chant. Not even the Soviets began their Politburo meetings like that. By 1987, the regime instituted "Death to America Day." Their Iranian prime minister introduced the national holiday by saying, "Tomorrow will be . . . a day of God on which America should tremble . . . the day when the arch-Satan will be placed under our feet.""

</comment><comment><USER17> Ok, even if "Death to America" is more benign than the translation sounds, shouldn't we look towards Iran actions more than words?

[https://en.m.wikipedia.org/wiki/Iran_and_state- sponsored_ter...](https://en.m.wikipedia.org/wiki/Iran_and_state- sponsored_terrorism)

<comment><USER18> Is this a counter argument?

[https://en.wikipedia.org/wiki/United_States_and_state- sponso...](https://en.wikipedia.org/wiki/United_States_and_state- sponsored_terrorism)

<comment><USER19> Not really, it would be an argument that when Americans say "Death to Iran," it would be reasonable to take it at face-value. I don't really hear many people saying that, so maybe more accurately when politicians say (on Twitter, or otherwise) that they're going to attack a retaliate against a country, it's not some turn of phrase, they mean it literally.

</comment></comment></comment><comment><USER20> Wikipedia has a pretty good article article on the phrase (and its sister phrase "Death to Israel"):

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

As a side note, its fun to see something from Language Log on HN.

<comment><USER11> The article is mediocre, as it keeps saying "death to America" when the phrase means something else.

Just open Google translate and paste in it: مرگ بر آمریکا

</comment></comment><comment><USER21> I'm trying to think of US English idioms with a similar down/dead potential for mistranslation:

\- They're dead to me

\- They're killing it

\- They're dead wrong

\- They're dead in the water

</comment><comment><USER22> Is the same expression true in Arabic as well? There's no shortage of translated crowds yelling "death to X" in many countries beyond Iran.

Also, can anyone translate the bottom of the mural that has bombs and skulls with the American flag? To a non-native it's hard to tell if this is a criticism of the US (supporting the article) or in fact suggesting to bomb the US (thus supporting death to America).

<comment><USER23> The text does indeed say _marg bar America_ , the phrase being discussed in the article. The bombs aren't supposed to indicate "let's drop them on America", but rather are intended to represent the bombs dropped by Americans: the intent of the mural is to criticize America's military interventions.

<comment><USER22> Thanks!

</comment></comment></comment><comment><USER24> A valuable article; american media so reflexively reports the 'death to America' line with regard to Iran that it has become a staple of American nationalist mythology at this point.

The US (or more specifically, boomers, who still dominate policy and politics to a large extent) has (have) never gotten over the Iran hostage crisis of 1979-90, when the Iranian revolution took American embassy staffers hostage for months on end. Conservatives still demonize Jimmy Carter over it, mostly forgetting the fact that Carter actually tried a military response which failed dismally due a lack of military preparedness: [https://en.wikipedia.org/wiki/Operation_Eagle_Claw](https://en.wikipedia.org/wiki/Operation_Eagle_Claw)

You could see a vivid example of this over the weekend when President Trump tweet-threatened to strike 52 sites of national or cultural importance to Iran 'representing the 52 American hostages taken by Iran'. In general, rational factors are an input to policy, but many political currents are emotionally driven, and humiliation is a particularly toxic emotion that Trump has historically harped on; whether that's a cynical populist strategy or a personal hangup is a matter of conjecture. Of course, this works both ways; you could argue that Iran's selection of Ahmadinejad and Rouhani were to a large extent driven by their perceptions of George Bush and Barack Obama public personae.

</comment><comment><USER25> "When words fail, wars begin. When wars finally end, we settle our disputes with words."

</comment><comment> awinter-py 'marg bar' also sounds like a reasonably good brunch place

<comment><USER2> That's funny, but 'marg' is pronounced with an /a/ sound like 'cab'.

</comment></comment><comment><USER26> It's pretty simple, like how "fuck the system" doesn't mean you literally want to copulate with the system.

Not sure why people ITT still trying to nitpick and stick with the supposition that the chant is violent and primitive.

</comment><comment><USER27> "It is difficult to get a man to understand something, when his salary depends on his not understanding it." \--Upton Sinclair

It would be very inconvenient for a lot of people's agendas to not be able to portray the folks who use this slogan as bloodthirsty savages hell bent on destroying us.

<comment><USER28> It would also be very inconvenient for a lot of people's agendas for it to be socially acceptable to take what they say at face value instead of trying to cover it up with some kind of absurd psychobabble

<comment><USER29> But you're not taking it at face value, you're evaluating the English translation, not what people are chanting (unless you do in fact speak Farsi).

Translation is not a 1:1 affair much of the time.

<comment><USER28> Yes obviously "death" can be used in more than one way, when it's chanted in combination with violence I think it's safe to assume it's probably the more literal interpretation

</comment></comment></comment></comment><comment><USER30> My wife can testify that me saying "marg bar balesh" (death to pillow) every night does not mean that I want to stab my pillow to death, rather that it hurts my neck(+) when I use a soft pillow in bed.

\+ Fortunately, with a new hard medical pillow I feel much better nowadays.

</comment><comment><USER16> The chants protest the U.S. killing of Soleimani, who was indeed responsible for the deaths of many Americans. Given this context, I think many of the demonstrators chanting "Death to America" should be taken literally.

</comment><comment><USER31> My context:

The United States of America is a poorly designed political science experiment. It provides no means to peacefully revoke consent to be governed. There's no peaceful way out of the experiment, and so it violates a standard ethical norm for science experiments.

I seek the death/transformation of any science experiment not allowing for peacefully revoking consent to participate in said experiment.

Note: if revocation of consent leads to forceful removal from the country, I consider this to be a response that is not peaceful.

<comment><USER32> If the US is a bad political experiment, which one is good? Iran would gladly send you to the gallows if you deemed it's religious leader - Ayatollah, also the political leader by design, as Iran is a religious state with no minority rights, a 'bad' political experiment.

And China/Russia would know your probability of saying so a-priori, given their blanket surveillance generating social credibility scores.

<comment><USER33> > If the US is a bad political experiment, which one is good?

I'll throw my hat in the ring and suggest sortition (think jury duty, but for 2 years at a time, as the representative of your district/state): [https://en.wikipedia.org/wiki/Sortition](https://en.wikipedia.org/wiki/Sortition)

There's still an argument for some level of direct democracy (ballot initiatives, but especially to throw out inevitable corruption/idiocy of representatives); though perhaps the threshold should be higher (such as 66% rather than 50%+1).

Bryan Caplan [0] and Jason Brennan [1] have made very sound arguments about voting bringing out our worst tribalist instincts, rather than the informed, enlightened voter that was fantasized by the Constitutional framers. The strongest case for democracy-as-we-know-it is simply the peaceful transfer of power, which it seems to accomplish surprisingly well; but in terms of sound policy, or reflecting the will of We The People, its track record isn't exactly stellar.

(That said, as long as our system is still driven by the vote, we would stand to benefit from bottom-up electoral reform, such as switching from First-Past- The-Post to Ranked-Choice or Approval voting [2].)

[0] [https://en.wikipedia.org/wiki/The_Myth_of_the_Rational_Voter](https://en.wikipedia.org/wiki/The_Myth_of_the_Rational_Voter)

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

[2] [https://en.wikipedia.org/wiki/Approval_voting](https://en.wikipedia.org/wiki/Approval_voting)

<comment><USER34> Getting 2/3 of a large group to agree on anything is damn near impossible. I think the American system does a pretty good job of balancing popular and regional concerns and has some democratic elements that require 50% + 1 and many things that require larger majorities.

<comment><USER33> My thinking is that there _should_ be a high bar to spend public funds or leverage the state's monopoly on violence (and believe me, I'm not reflexively anti-statist: I'm all for infrastructure and social safety nets, etc).

Practically, I understand the concern. I think our hyper-partisan politics has us accustomed to a 51/49 dynamic that occasionally flips sides; my hypothesis is that reducing democratic influence on representation (in favor of RNG), coupled with electoral reform for the democratic processes that remain, would make it far more feasible to build consensus in the range of 60-80%.

To unpack the latter: my preferred system is Approval Voting, as it definitionally measures the greatest quantity of "consent of the governed", and game-theoretically rewards compromise and consensus. A person or policy that is _extremely_ popular among 55% can potentially be outcompeted by one that is moderately popular among 75%.</comment></comment></comment></comment></comment>


Ask HN: How to Fire a Cofounder - <AUTHOR> Hi everyone,
1-We're a small startup of two.
2-My cofounder decided she doesn't want to keep working at our company 3-We have a 4 year vesting and 1 year cliff (about 4 months left) 4-We own both 40% each. 5-She is asking for 10% of the company to leave, meanwhile she is not working at all.
Is there any way to deal with this, or is there anyone who've been in a similar position?
Thanks! <comment><USER2> Is she getting paid? Was she paid in the past? Is the company profitable?

Why should she, who is leaving, get paid in more equity?

Can you raise equity $$ from the remaining shareholders, asking her as well. If she fails to subscribe for more shares = diluted down.

You can not afford a non-productive slug on the wall in control of 50% = ability to stall progress.

<comment><AUTHOR> Nobody is getting paid.

<comment><USER2> does the company have any hope of success? Sales? Profits? How much money did each one put in? How much cash remains?

In any departure, the company has buy her shares for their cash value. She can not demand free equity to make her up to 50%. You can sell her equity to reach 50%, but in small startups, you need working partners, not drones who own 50% and wait for success so they can cash in.

</comment></comment></comment><comment><USER3> That's what "owning the methods of production" gets you.

<comment><AUTHOR> I just don't understand what's the reason behind vesting if there is nothing I can do about this :/</comment></comment>


WebAssembly's post-MVP future - <AUTHOR> https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/ <comment><USER3> On a semi-related point, TinyGo (a subset of Go for embedded devices) recently added a WebAssembly output target:

[https://github.com/aykevl/tinygo](https://github.com/aykevl/tinygo))

Unlike the current mainline Go's WebAssembly output (min ~2MB file size), the Wasm generated from TinyGo is practical in size. eg ~1kb for the toy examples

This is all leading edge dev stuff too, so updates and improvements are happening pretty frequently. :)

<comment><USER4> Your comment just made me realized that, while using cPython => webassembly for something else than electron would be overkill, this would be kinda neat for microPython.

<comment><USER5> There seems to be some work on it: (1) [https://github.com/micropython/micropython/pull/3575#issueco...](https://github.com/micropython/micropython/pull/3575#issuecomment-425346070) (2) [https://github.com/matthewelse/micropython/tree/emscripten/e...](https://github.com/matthewelse/micropython/tree/emscripten/emscripten)

</comment></comment></comment><comment><USER6> Here's a newly created proposals repo to keep track: [https://github.com/WebAssembly/proposals](https://github.com/WebAssembly/proposals).

> Skill: 64-bit addressing

As a WASM backend implementer in an environment w/ only 32-bit addresses, I hope people don't move to 64-bit addresses too soon. Are we really reaching the limits here already?

> Skill: Portability [...] A POSIX for WebAssembly if you will. A PWSIX? A > portable WebAssembly system interface.

Yes please, but dev'd outside of WebAssembly. This is needed for interoperability between languages. Even just strings would be nice. A stdlib interface to rule them all, so to speak. If kept modular and avoided a lot of bikeshedding and had a full test suite, it could have a great benefit even outside of WASM.

<comment><USER7> Agreed on the stdlib concept. I'm sure people are working on it, the benefit would be massive. Just the amount of mobile data transfer that could be saved by 1MB of software pre-distributed to all browsers would be huge.

I wonder if anyone is trying to do it based on the javascript integrity hashes. In theory, if you took the top 100 javascript libraries and established a blessed build pipeline that would produce reference builds that would be bundled to the browser, and if anyone loaded a resource with an integrity hash matching the browser's pre-installed versions, it could just load from disk instead. That would give people who can tolerate less frequent library releases the ability to use all that functionality without networking related page load costs, and would provide a fallback since CDN's could host the file anyway if the browser doesn't have it.

<comment><USER8> _Just the amount of mobile data transfer that could be saved by 1MB of software pre-distributed to all browsers would be huge._

That would be great. I'm normally a fan of multiple competing implementations, but this might be an area where a single common library implementation, developed in partnership by all browser vendors, would be beneficial. All the code would be in wasm so it would be portable by definition. And with everybody using exactly the same implementation there shouldn't be any sneaky incompatibilities. With a single master repo it could be versioned and updated cleanly.

Just as long as it's kept small (1MB sounds like a good goal) and there isn't too much churn -- those are the real challenges.

<comment><USER7> Yeah agreed, it is extra complicated since it requires coordination between browsers and also enough websites to make it worth it. If it were released today it could take years to register in i.e. global internet statistics. I guess in theory shared CDN's and caching should be almost as good as well if major website could agree on dependency sharing.

</comment></comment></comment></comment><comment><USER9> I'm a bit concerned by the addition of Garbage Collection to WASM. Is there a way to implement those without favouring some type of language?

It seems to me that GC tuning and memory models are very language-specific. A purely-functional language like Haskell or Closure can make different assumptions about the memory regions but also generate a lot more young generation items compared to OOP languages.

<comment><USER10> Why not implement the GCs themselves using low-level WASM code? That would enable a language-agnostic approach (though it would prohibit collecting garbage over multiple cooperating languages at the same time, which is a less urgent problem imho).

<comment><USER11> You've already got 2 co-operating languages - JS and whatever is compiler to WASM.

<comment><USER10> True, but once you're using WASM, you probably don't need to hold references to JS objects that point back to the objects created in WASM.

We've been interfacing C with e.g. Python without needing a garbage collector that crosses language boundaries. So why would we need one now?

<comment><USER12> Because that's not safe. It's only as safe as the Python binding is, which is not good enough.

<comment><USER10> Define "safe". Are you talking about security or correctness, or both, and please elaborate.

<comment><USER12> The point of WASM is the ability to safely run _any untrusted code_ in a performant way, that includes seamless interfacing with other modules.

[https://webassembly.org/docs/security/](https://webassembly.org/docs/security/)

<comment><USER10> I'm sure that if you can make WASM secure without the GC part, then you can create a safe interface. Yes, it may leak memory (remember, so can a GCed program that forgets to unreference objects), but that's just something you have to deal with when programming at a low level; and languages built on top of WASM can make that a non-issue, actually.

Let's keep WASM simple. It's probably the best thing one could do in view of security.

<comment><USER12> Can you elaborate on how two WASM modules each with its own GC could safely interface without unnecessary overhead? Why would we want to have this overhead in the first place? It may not be that bad with 2 modules, but you might easily have 20 or (way) more.

<comment><USER13> I've got multiple specialized GCs within one module, and they're doing fine.

Trying to shoehorn everything into one model isn't something that should have 'asm' in its name.

<comment><USER12> OK, but could you share the specifics? I'd like to understand. Emphasis on combination of safety (primary) and performance (secondary) - remember that any number of completely unrelated, untrusted, maybe buggy and potentially even malicious modules might be combined. They're being very careful about not forcing languages into one model, BTW.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I'm reminded a bit of Java's early days when Sun was able to create the illusion that it would take over the world. WebAssembly has had a lot of early success and its limits are hazy, but it seems like they must be out there somewhere? To speculate:

On the server side, it seems like docker format has already won. Maybe cpu architecture portability doesn't matter there and x86 is good enough? Although serverless and edge computing often use JavaScript.

On mobile this seems to depend on Apple and/or Google deciding to support WebAssembly for native apps, which seems unlikely.

Developers need laptops to run their development environment in. I'm wondering if this might just be Linux tools running in a container on your laptop. Chromebooks seem to be moving in that direction.

The revival of something like Sandstorm might be interesting, but that's pretty speculative.

<comment><USER15> WebASM really only makes sense in the context of embedding untrusted code, which outside of the browser is a concern that largely doesn't exist.

Otherwise you are severely crippling yourself for no real gain. You're going to lag the hardware features by years if not decades, you're not going to get arch-specific optimizations as readily, and you're going to have huge startup costs. You're also stuck with sandbox restrictions that you've self-imposed, making it harder to do things that would have otherwise been trivial or needs to be re-invented.

You could maybe squint and claim you need a portable IR, but given there's only really 2 ISAs in widespread use (x86 & ARM) does that _really_ matter? Similarly you could claim cross-OS support, but again as there's only _really_ 2 OS's for each target (Windows/Linux for server, Android/iOS for mobile) does that _really_ matter? Critically does it matter to such a degree that you'd rather severely cripple your own app to get it instead of just compiling it 2, 3, or 4 times?

<comment><USER16> In what language can you just "compile 4 times" to target android, iOS, windows, linux, macos and any future platform?

<comment><USER15> Literally all of them? Since you scope creaped to add macos to the list even though it doesn't exist in the server or mobile space you'll need to increase that to 5 compiles instead of 4, though.

But C, C++, Rust, Go, D, etc... all support compilation to those platforms. This is a really common thing to do.

</comment></comment></comment></comment><comment><USER17> Okay, I've only done the over-breakfast skim of this, and I hate to be that guy who comments without having fully read TFA, but here I go anyway...

I don't see any explicit mention of what I understand to be the killer feature: the ability to directly access the browser's WebAPIs, from Accelerometer to Document to MimeType to XPathExpression. Start with modifying the DOM, and go from there. Of course fast WASM/JS interop lowers the cost of the obvious workaround. And yes, there's discussion in the article of getting WASM to play nice with JS GC, which I understand is a prerequisite. But there should be explicit discussion of what the predicted path is for making WebAPIs available in WASM, what the sub-goals are, and how to measure progress.

And the first paragraph of the article is a joke, claiming that people thought the 2017 version was the final version. No, we're waiting for a _relevant_ version (this sentence is an exaggeration, but it's more true than what TFA said).

<comment><USER6> What is the meaningful difference between WASM/JS interop and WASM/Web-API interop? Implicit importing of them all? There are host bindings coming [0]. If Web APIs are expressed in terms of JS and you want interop with them, you use what they are expressed in. Or are you saying Web APIs should be available in WASM terms (which is harder due to lack of structural, array, string, null, etc types)?

0 - [https://github.com/WebAssembly/host- bindings/blob/master/pro...](https://github.com/WebAssembly/host- bindings/blob/master/proposals/host-bindings/Overview.md)

<comment><USER18> The difference is being able to serve some WASM script that interacts with your page without having to send and entire glibc equivalent.

In practice, that means having an standard library on browsers that you can call in a standard idiom.

<comment><USER5> Dead code elimination in your compiler should be taking care of this, no?

</comment></comment></comment></comment><comment><USER19> Wow. Never did I expect it to generate this much (potential) innovation back when asm.js was announed. Pretty excited to be following on, even though I personally probably won't be writing anything for WASM any time soon - <USER2> this excellent series on Mozilla Hacks probably also played a role.

</comment><comment><USER20> The parallels with the Destroy All Software talk "The Birth and Death of Javascript" [0] are crazy. Seeing the section where they address the possibility of Node modules and system access from WASM is like seeing a flying car advertisement in real life.

[0]:[https://www.destroyallsoftware.com/talks/the-birth-and- death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of- javascript)

<comment><USER21> Re: _like seeing a flying car advertisement_

Ditto the feeling. I don't "get" WASM from a typical in-house CRUD development. Game makers, maps, movie editors; sure they need the speed. But some say it's gonna revolutionize most browser-based application dev, but I can't get specific examples that are relevant to us. And even for those domains listed, relying on inconsistent and buggy DOM as found in browser variations is a problem it probably won't solve. DOM will still suck as a general purpose UI engine.

 _WASM just makes DOM bugs run faster._

<comment><USER22> The DOM isn't particularly "buggy", relative to, say, Win32 or Cocoa. It may or may not be a bad API, but implementations are pretty solid.

(I have to confess I've never understood the objections to the DOM. I have literally never had an instance in which I had to use the raw Win32 API that didn't turn into a miserable experience.)

<comment><USER21> With Win32 and Cocoa you pretty much have _one_ vendor with roughly 3 or so major releases. But with browsers you have roughly 8 vendors above 1% market- share with 3 or so (notable) major releases each. Therefore, you have to target roughly 8x more variations of the UI engine.

Look how hard Wine's job is to be sufficiently compatible.

I believe we need to either simplify the front-end standards (pushing as much as possible to the server), or fork browsers into specialities: games, media, CRUD, documents, etc. What we have now sucks bigly. Try _something_ different, please!

<comment><USER22> Interoperability, and the standards process, is how we get specs that are sensible. Whenever I have to program using Win32, Cocoa, etc. I inevitably spend a ton of time reverse engineering how the proprietary APIs work. For DOM APIs, things generally work how they are supposed to work, because they were actually _designed_ in the first place (well, the more recent APIs were).

Wine isn't comparable, because the Web APIs are designed by an open vendor- neutral standards committee and have multiple interoperable open-source implementations.

Your proposals break Web compatibility and so are non-starters. Coming up with fixes for problems in the DOM and CSS is the easy part. Figuring out how to deploy them is what's difficult.

<comment><USER21> Re: "the standards process, is how we get specs that are sensible." \- They are not sensible: different vendors interpret the grey areas differently. A sufficiently thorough written standard would be longer and harder-to-read than the code itself to implement such.

Re: "Your proposals break Web compatibility" \-- Web compatibility is whatever we make it. A one-size-fits-all UI/render standard has proven a mess. What's the harm in at least trying domain-specific standards? We all have theories, but only the real world can really test such theories.

</comment></comment></comment></comment></comment></comment><comment><USER23> What is the state of expanding GPU programming APIs in the browser? Seems that one of the biggest factors holding back the development of media applications for photo/video editing, games is a lack of a modern graphics api and first class GPGPU support. A while ago there was momentum towards webGPU and webVulcan but these projects seemed to have quieted down. We did get Webgl 2.0 but there is still tons of room for improvement and much to be gained!

<comment><USER24> Chrome team has also announced intent to implement WebGPU on most platforms

[https://groups.google.com/a/chromium.org/forum/#!msg/blink-d...](https://groups.google.com/a/chromium.org/forum/#!msg/blink- dev/dxqWTSvyhDg/1UDaFD17AQAJ)

In addition to rich applications for 3D modelling, photo editing, etc. Adoption of WebXR as a distribution platform for VR/AR content could drive development. MagicLeap's Asset Builder Web Tool for example is built on top of NextJS and ThreeJS

</comment></comment><comment><USER25> The threading description is highly misleading, the current proposal being implemented is based on WebWorkers, they are not just native OS threads with a small overhead

<comment><USER26> That's true for the "threading MVP", but there is also discussion about adding "pure wasm threads" as a follow-up which avoids worker overhead/limitations.

</comment></comment><comment><USER27> Is there already a performance advantage with the current WASM implementations for number crunching code compared to writing plain Javascript?

My experience is that modern JS engines are already pretty good at optimizing that kind of code, so I'm wondering if there are still significant speedups to be had by using WASM, given that it's still pretty new and didn't have much time to get optimized further yet.

<comment><USER28> > Is there already a performance advantage with the current WASM > implementations for number crunching code compared to writing plain > Javascript?

I may be out of date here, but IME neither JavaScript nor WASM is any good for actual "number crunching" (i.e. statistical or scientific code). For that, you want at least a compiler/language that uses the latest SIMD instructions and lets you choose 32- or 64-bit floats. Better still, you want one that automatically parallelizes loops (you may need to align your data), gives you cheap GPU access, and above all is simple enough that you can figure out why the compiler isn't performing the optimizations you expect.

Modern JS engines are pretty good at speeding up the weirdness that is JS, so maybe WASM will only have small benefits, but using either for numerical work would be making your life unnecessarily hard.

<comment><USER29> WASM does let you choose between 32 and 64 bit floats. SIMD and threading are mentioned in the article as things that are being worked on now.

GPU access is about browser APIs rather than being something tied to WASM. We have webgl now and it seems like there's more coming hopefully ([https://github.com/gpuweb/gpuweb](https://github.com/gpuweb/gpuweb)).

>and above all is simple enough that you can figure out why the compiler isn't performing the optimizations you expect.

Reading WASM seems easier to me than reading real assembly, so double-checking a WASM compiler's output seems much easier than double-checking a native compiler's output. Of course it's on the compilers to support WASM well, but hopefully that simplicity aids them too.

</comment></comment></comment><comment><USER30> "The tail calls proposal is also underway", but the repo hasn't had a commit in 5 months.

[https://github.com/WebAssembly/tail- call/blob/master/proposa...](https://github.com/WebAssembly/tail- call/blob/master/proposals/tail-call/Overview.md)

</comment><comment><USER31> You can deploy WebAssembly to 154 data centers as a part of Cloudflare Workers if you'd like to play with it: [https://blog.cloudflare.com/webassembly-on- cloudflare-worker...](https://blog.cloudflare.com/webassembly-on-cloudflare- workers/)

</comment><comment><USER32> The visualizations in this article are excellent!

<comment><USER33> I believe Lin Clark is the artist, she has a whole series called "Code Cartoons" where she explains various (usually web related) technical systems like WebRender in similarly excellent style.

[0] [https://code-cartoons.com/](https://code-cartoons.com/)

</comment></comment><comment><USER34> >People have a misconception about WebAssembly. They think that the WebAssembly that landed in browsers back in 2017—which we called the minimum viable product (or MVP) of WebAssembly—is the final version of WebAssembly.

They do? When people point out that WASM can't do stuff they are simply pointing out that WASM would need to be extended. That is a pretty simple concept and a very important observation because historically that is the phase where everything falls apart.

Creating an intermediate language that all the higher level languages can compile to is not a new idea. It has been done over and over again with little practical result. Some current scepticism is in order.

</comment><comment><USER35> From what I have seen it looks like Mozilla and Firefox are really leading in WASM. All these detailed posts explaining it in easy to understand terms are amazing as well.

</comment><comment><USER36> WASM's gc story will be tough to outline, it's going through its own MVP cycle in omitting finalizers & weak references

</comment><comment><USER37> I wonder if eventually with some of the stuff like GC in place, you could write a javascript JIT on top of wasm. I'm only half kidding. It would be pretty neat if wasm became a kind of universal IR that different (AOT and JIT) compilers could target.

<comment><USER38> JIT is pretty hard to do with wasm. There's a strict separation between code and data in wasm, for security reasons. You can't jump into the heap. So the best you could do is to generate your new JITted code as a separate wasm module.

<comment> s-macke That's exactly what I was thinking when I tried a more theoretical approach to my web emulator. I wrote a little about my approach in the Wiki [1]. Definitely one of my worst hacks :-) . Unfortunately the demo doesn't work anymore. I need to find out why.

[1] [https://github.com/s-macke/jor1k/wiki/Breaking- the-1-billion...](https://github.com/s-macke/jor1k/wiki/Breaking- the-1-billion-instructions-per-second-barrier-via-Dynamic-Recompilation-and- WebAssembly)

</comment></comment></comment><comment><USER39> I used to think without DOM web assembly is uselsess then I saw how Figma made their UI super fast rendering to a canvas and was convinced that hopefully WS will be the reason DOM apis go out of fashion

<comment><USER40> How does this not end up as Flash reincarnated though?

<comment><USER41> What part of flash was bad?

\- the (bad) sandboxing? WASM uses the same sandboxing model as JS, and thus provides the same security guarantees?

\- the requirement of an external plugin? WASM comes preinstalled in all browsers.

\- the proprietary aspect? Wasm is an open standard.

\- the obfuscated nature? WASM can be decompiled very easily. Besides, js served by modern websotes are already minimized and obfuscated beyond recognition.

What am I missing here? I consider Flash to be a truly great piece of technology. It allowed easy creation of multimedia contents Its flaws were in its implementation, not in what it allowed. I __want __wasm to succeed as a reincarnated, better flash.

<comment><USER42> Having to reimplement things such as text selection, clipboard, and making it more or less impossible to write plugins which affect the pages being shown (adblock, reddit enhancement suit, etc) are a few huge reasons. I'd prefer to keep the web consistent for sites which don't actually need to be rendered on a canvas.

<comment><USER41> Adblock works on the network layer, for the most part, so this would continue to work. Furthermore, most content isn't going to migrate to canvas-based rendering, as that's much more complicated to setup.

The GP I was answering too was talking about figma, a sort of content creation app in the browser. Being able to write those tools and deploy them via the web is a net positive for the web. Just like all the good ol' flash based games were an awesome thing for the web.

When flash was a thing, most web content didn't move to flash. Not only did Flash behave in a foreign way, breaking the user's habit, it was significantly harder to create flash content than web content. Similarly, it's delusional to think most web content will move to wasm. The barrier of entry is enough to prevent that.

</comment></comment></comment></comment></comment><comment><USER43> Maybe a stupid question but why does the browser itself need to do compilation?

Why can't WebAssembly developers compile ahead of time and just serve the binary?

<comment><USER44> Because they don't know what they're compiling to. The browser could be running in a wide variety of hardware.

<comment><USER43> Right, seems obvious now, thanks

</comment></comment></comment><comment><USER45> I'm looking into building a state-management system for React with Pyodide. Yes, it might add 3mb to the downloads, but that should be acceptable. It will probably use some kind of asyncio work-alike which will use Web-Apis to perform what asyncio normally does.

</comment><comment><USER46> This is all right and all, but I have one question: why the hell it needs to be inside of a browser? To do what exactly? I don't care about browsers, I care about applications. I don't want freaking Photoshop in my browser, because I want a browser to die. This should be a part of the OS, not a freaking browser. Give me a built-in runtime with sandboxing, a delivery method, and an AppStore. Give me next generation Java/Flash. I tired of a browser as an OS replacement. It is not and it shouldn't be.

<comment><USER47> Because it effectively solves the distribution problem in a way which includes non-technical people.

If you think your solution does that, meditate on what "non-technical" means.

<comment><USER35> Having the URL system also makes them so much better for sharing. Imagine being able to share a link that someone could click and it would open up your shared image inside of photoshop.

<comment><USER48> Android, iOS and UWP do that with deep links.

</comment></comment></comment></comment><comment><USER49> I don't get this. What would you write in this language ?

<comment><USER50> I dont think you will write in that language. You will compile to that language from whatever language you prefer to write in.

</comment></comment><comment><USER5> It would be a shame if these improvements were restricted to WebAssembly only. For most modern high level languages, JS remains a much better compile target than WebAssembly for the foreseeable future.</comment>


Show HN: Peek Launcher, Android home screen meets machine learning - <AUTHOR> https://play.google.com/store/apps/details?id=com.waffleware.launcher <comment><AUTHOR> Peek Launcher is and Android home screen app we rethought from the ground up. Instead of searching for an app in your drawer Peek Launcher tries to understand your current context and automatically suggests the right app.

It would be great if you could try the app (it's free) and give us some feedback!

<comment><USER2> Is the learning and suggesting being calculated on the device itself or is it sent to a cloud server?</comment></comment>


The GRIM test – a method for evaluating published research - <AUTHOR> https://medium.com/@jamesheathers/the-grim-test-a-method-for-evaluating-published-research-9a4e5f05e870 <comment><USER2> Another simple thing you can test in a paper to see if it is credible is p-curve and related methods from Uri Simonsohn et al.

[http://www.p-curve.com/](http://www.p-curve.com/)

You just look at the distribution of p values that are used to support the authors' hypotheses. If the distribution is skewed high, then something fishy is going on.

</comment><comment><USER3> Interesting approach -- get the scientific community to agree on the mathematical principles first, before anyone specifically is outed as cheating.

But this article feels like reading a teaser chapter of a bigger story.

> The amount of (toil) required to actually create data like this from scratch > if (very) nightmarish. It's a task drastically out of reach of the (foolish > people) who'd try such a bush league stunt in the first place.

This assumes that all experiments lead to publications. We know there's a strong publication bias, and that the bias favors positive results, and dramatically favors unintuitive positive results. Which means you need to find correlations where none were expected. How many experiments do you need to get a significant correlation when there is none? Hint: more than one.

It's also worth noting that it wouldn't be difficult to produce a genetic algorithm using various statistical checks, including this one, as a fitness function.

<comment><USER4> Just to address your comment about publication bias – we do have techniques for detecting that across a set of studies on the same subject, namely funnel plots:

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

<comment><USER3> Wasn't implying we don't. Just that the calculus of data fraud is weighted more towards fraud than the article suggests.

</comment></comment></comment><comment><USER5> I don't agree with the idea that faking data is more difficult than running the experiment. A lot of courses in universities now teach R or something similar to run statistics. Relatively simple "monte carlo" simulations would provide results which satisfy the GRIM test.

</comment><comment><USER6> While it's true that fractional ages are pretty much never used, ages do not necessarily have to be recorded as whole numbers.

<comment><USER7> Since few people will find it, the response on the web page is

[https://medium.com/@jamesheathers/a-lot-of-people-are- hung-u...](https://medium.com/@jamesheathers/a-lot-of-people-are-hung-up-the- fact-that-its-possible-to-collect-ages-in-finer-grains-to- the-c2739f9e0b9b#.9gc1sesfz)

> A lot of people are hung up the fact that it's possible to collect ages in > finer grains — to the nearest month, or day, etc.

> Remember a) this is just a hypothetical illustration and b) the vast > majority of the time, age is collected exactly how I've described here.

<comment><USER4> A more practical problem with applying this on age data specifically is that everyone I looked at (granted, only a handful of CS papers) only gave one decimal place, not two.

</comment></comment></comment><comment><USER8> I work together with a psychology professor (was head of department) now and then. She said there's a large problem with students, even graduates, just not understanding statistics and math properly (or _at all_ )

<comment><USER9> Same is true in biology

<comment><USER10> Medical researcher rediscovers integration, gets 75 citations [https://fliptomato.wordpress.com/2007/03/19/medical- research...](https://fliptomato.wordpress.com/2007/03/19/medical-researcher- discovers-integration-gets-75-citations/)

</comment></comment></comment><comment><USER11> Some of these might be simple errors, with results being typed in from other documents. Authors who are worried about making such errors might want to consider using methods of reproducible research, e.g. writing *blah had mean value `round(mean(x), 3)` (n=`length(x)`)" or similar in Sweave, where the items in the back-ticks are R code working on the actual data. This is a bit more work, but it prevents transcription errors, and also a pernicious type of error that comes about by adjusting the data analysis during the writing process.

</comment><comment><USER12> Also see: [https://en.wikipedia.org/wiki/Benford%27s_law](https://en.wikipedia.org/wiki/Benford%27s_law) for a related test used in various fields.

</comment><comment><USER4> Wow, this is a really clever technique, and the results are really alarming. I suspect we'll see some careers unravel as a result of it.

<comment><USER13> Not really...there's a reason while psychology is not considered science by non-psychology scientists: it's not because the researches couldn't be done in a scientifically useful way, but because even the teachers don't care about math. I think Facebook and Google and other ad agencies have a better model about human behavior than psychologists (although they only have data on a specific part of human behavior)

</comment></comment><comment><USER14> I've done a similar trick where the ratio of two secret integers is released publicly with many significant digits and you can sometimes find the two integers by brute forcing the division over all possible values. Does anyone know a name for this approach?

<comment><USER15> Brute force is not needed, check out "continued fraction" (in particular "11\. Best rational approximations" at wikipedia.)

</comment></comment><comment><USER16> Good. Fuck the liars and cheats right in their... careers.</comment>


Google bans reddit client from Play Store for "sexually explicit material" - <AUTHOR> http://www.reddit.com/r/Android/comments/r3dhg/reddit_is_fun_banned_for_sexually_explicit/ <comment><USER2> The march towards being a half-assed Apple continues.

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

The disappointment continues as well.

I never would have thought replacing Eric Schmidt as CEO was a bad thing, and I'm sure there are more factors at play here than just that, but I can trace my waning support of Google to a pretty specific time that happens to coincide with Page taking the CEO spot.

<comment><USER3> And this is where the strength of Android shows. Just download and install the APK: <https://github.com/talklittle/reddit-is-fun/downloads>

And if this keeps up, someone will just make an alternate market.

<comment><USER2> You can jailbreak an iOS device and install whatever you want as well, that doesn't change the fact that Apple makes ridiculous decisions about what can and can't appear on the app store.

My problem with this decision isn't that it makes it impossible for me to install this one app, but rather that it looks very much like the path towards where Apple is, where maybe I have to install a custom Cyanogenmod build on my Android phone just to have the option to install non-'Play' APKs (this isn't the situation now, but I can much more easily see this happening today than I could a year ago).

<comment><USER3> > it looks very much like the path towards where Apple is, where maybe I have > to install a custom Cyanogenmod build on my Android phone just to have the > option to install non-'Play' APKs

I find it very difficult to believe that Google will remove sideloading. Things have actually moved in the opposite direction. For example, after preventing sideloading for years, AT&T made the decision to enable it last May[0]. Apparently that was thanks to Amazon. So since there are already 2 dominant markets, I don't think it'll happen going forward.

Also, keep in mind that Google has a dominant position in the smartphone market, so such restrictions could draw interest from antitrust regulators.

0: [http://www.wired.com/gadgetlab/2011/05/att-sideload- android-...](http://www.wired.com/gadgetlab/2011/05/att-sideload-android- amazon/)

<comment><USER4> And it's not Google's decision either.

</comment></comment></comment></comment></comment><comment><USER5> For any curious devs: the distinction between this and the reason why web browsers (like Chrome, Dolphin, or Firefox) aren't banned, according to Google at least, is direct linking. An app is allowed to "browse" to NSFW material, but cannot explicitly link (or come pre-loaded with favorites or bookmarks) to said material.

That said, this is still an awful and draconian policy. I wouldn't have batted an eyelash if this was a news story coming from Apple's App Store, because that's just par for the course in their ecosystem. I love what Android used to stand for, but lately I'm finding it harder to stand by my principles, with Apple providing a very enticing walled garden that's getting harder to avoid.

<comment><USER6> Except multiple Reddit clients exist for iOS, and have for years.

<comment><USER7> And none of them link directly to NSFW reddits.

<comment><USER6> I guess I don't understand what you mean by "link directly," but NSFW links appear on the Reddit homepage often, and touching them will open the link in the app's browser. Also, (at least in Alien Blue) I can subscribe to any subreddits I want, including NSFW ones.

<comment><USER5> By "link directly" we mean that a subreddit devoted solely to NSFW content appears as a default in a list of ones to browse from the moment the app is launched.

You've always been free to add specific NSFW subreddits that you know about after the fact. And NSFW links appearing on the frontpage is an occupational hazard, that quite possibly never happened during the App Store review process.

</comment></comment></comment></comment></comment><comment><USER8> I don't have any sexually explicit apps on my phone, I don't care to download any, and I don't even care to have a reddit app (I don't use the site) but the lack of censorship in the android marketplace was always the biggest reason I supported Android. Yes its true you can get apps from other sources but you shouldn't have to. I opposed the need for the amazon app store for example. Anyway this really makes me sad that google feels the need to start filtering for any reason other then malware. I've been a huge android supporter over the past few years, and this in no way is making me get an iphone, but if they continue down on this path I don't know if I'll follow in the future.

<comment><USER9> > _the lack of censorship in the android marketplace was always the biggest > reason I supported Android_ //

So you support Android only as far as they allow the undesired exposure of users to hardcore porn or shock imagery? That seems a very strange line to take.

<comment><USER8> They have content filtering settings in the market.

[x] everyone

[x] low maturity

[x] medium maturity

[x] high maturity

[x] show all apps

With settings like that where the device owner can pick what they want to see why block anything.

<comment><USER9> So lack of censorship isn't the reason that you love Android it is instead categorisation of censored material??

> _why block anything_ //

Presumably to retain users _and_ keep inside the relevant laws.

</comment></comment></comment></comment><comment><USER10> This seems like a great place to plug f-droid which is basically an Android "market" of all open-source apps that they compile themselves. Download reddit is fun from f-droid here:

[http://f-droid.org/repository/browse/?fdid=com.andrewshu.and...](http://f-droid.org/repository/browse/?fdid=com.andrewshu.android.reddit&fdpage=6)

</comment><comment><USER11> In some ways, I wish this was a case of a company enforcing its own morals. Chick-fil-a is closed on Sundays. Fine. I don't eat there. Enough people do to keep them open. Great.

The thing about morals, though, is that everyone can have their own view. Taco Bell is open on Sundays. So is McDonalds, Burger King, and literally thousands of other restaurants. So why should I care that Chick-fil-a is closed?

No, I think this is about litigation. That's a lot more troubling because all companies (at least those based in the US) are subject to the same threats of litigation. Obviously, laws are based on morals, but ideally laws are based on the union of a population's morals, not the intersection.

This does not bode well for America.

<comment><USER12> _Obviously, laws are based on morals_

I think that's an astute observation... probably not obvious to most people.

 _ideally laws are based on the union of a population's morals, not the intersection_

Did you mean this the other way around? The union of my morals and those of Chick-fil-a would mean I can't work on Sunday. The intersection is probably more like, don't initiate force against others.

</comment></comment><comment><USER13> So they don't want to promote it in the Android Market, but you can still install it from other sources, can't you?

I mean, wouldn't a curated collection in "Play Store" (or whatever it's called) along with the option to download outside apps be the best of both worlds?

<comment><USER14> Yes, you can always install a .apk file directly via download, though there are a few steps to the process (turn on "developer mode" or whatever, then find the unassociated downloaded file and launch it). Amazon seems to be making it work with their market app though, so it's probably not insurmountable.

But no, I wouldn't consider that a "best" of the two worlds. Adult sites like reddit mix "clean" content and NSFW stuff all the time, and dumping them in an unsupported bin isn't likely to make anyone happy. If there's a curation step, there also needs to be a opt-in for people who don't mind the occasional nudity with their geek news.

<comment><USER9> > _opt-in for people who don't mind the occasional nudity_ //

This sounds like a fanboy-like purposed miscategorisation. Reddit links to hardcore pornography (and mirrors it in thumbnail form) and has until very recently carried Child pornography. It is also a hub for extreme NSFL shock imagery.

You can argue that someone should provide a repository for Android apps that allow access to such things but I don't think you can fairly expect any particular company to put their name to promotion of that sort of content. Any company that wishes to remain with an appearance of respectability would probably do well to keep a large distance between themselves and reddit (and probably 4chan from what I've heard but I'm not that familiar with it - I've visited a couple of times and what I found was relatively tame compared to what I've seen on reddit, YMMV).

>'reddit is fun banned for "sexually explicit material"'

That sounds like the correct analysis to me.

<comment><USER14> _Reddit links to hardcore pornography (and mirrors it in thumbnail form)_

I guess that's true, because Reddit accepts and mirrors thumbnails from any image link posted. But that doesn't make it a "porn site" either. Lots of folks like me go there to read stuff like /r/askscience, which is about as good a pop science hub as any in print or web form anywhere in the world. You're saying you'd want to be censoring that forum because of stuff people do elsewhere on the site? You're not alone, but I suspect you'll find very few supporters for that opinion here.

And I think your information might be a little spun. When on earth did Reddit carry child pornography? Doing so is a crime pretty much anywhere, and I don't remember any FBI raids.

<comment><USER9> > _But that doesn't make it a "porn site" either. Lots of folks like me go > there to read stuff like /r/askscience, which is about as good a pop science > hub as any in print or web form anywhere in the world. You're saying you'd > want to be censoring that forum because of stuff people do elsewhere on the > site?_ //

Nice and strawy. I never said that reddit was a "porn site"; probably because it isn't primarily (though there's observer bias, that's not how I use it shall we say). However subreddits do promote hardcore porn.

I didn't at any time say I was going to deny anyone access to, nor label as adult material, /r/askscience.

> _And I think your information might be a little spun._ //

I visited a "bestof" thread that linked to what is almost certainly categorised as child pornography in my jurisdiction (and in the US AFAICT under the Dost test) and FWIW reported the content of that subreddit to the IWF based on the thumbnails+titles (IWF is a UK watchdog, see <https://www.iwf.org.uk/hotline/assessment-levels>). There was a previous incident involving subreddits created by violentcrez (sp?) where the subreddit was closed by reddit as users were making offers and requests explicitly for images of an under-age girl.

See <http://i.imgur.com/mWqlJ.png> (NSFW, images there may be illegal in your country - they're copies of reddit thumbnails) for example and the thread I found that in [http://www.reddit.com/r/WTF/comments/pj804/are_you_fucking_k...](http://www.reddit.com/r/WTF/comments/pj804/are_you_fucking_kidding_me_with_this/) which started as a rather forceful apologia for paedophilic imagery.

<comment><USER9> > _Yeah, that's pretty spun._ //

So you're saying that Dost isn't a test used in US law to determine whether images are child pornography or not.

My point in referring to my report to IWF was that under their summary recapitulation of the Sentencing Guidelines Council's Definitive Guidelines of the Sexual Offences Act 2003 WRT such images I was convinced that this material was child pornography.

Are you saying that crotch shots of pre-teen girls entitled "juicy" or making reference to them as sexual objects is not child pornography or are you defending child pornography as something that should be allowed?

Were there actual children exploited on/through reddit. Yes.

> _Most sane people I know are more liberally tolerant if the relative benefit > is higher._ //

Ah gotcha: So I'm insane because you feel that a few sexually exploited children should be perfectly fine as long as you get your fix of askscience in a ready Android app?

Wow. I hope you're trolling.

<comment><USER15> Why are you bringing up the creepy comments attached to the images? Those thumbnails seem to be of clothed children not engaged in explicitly sexual behavior. Cropping and making inappropriate lewd comments is exploitative but it's not pornographic.

<comment><USER9> Someone raised that very point in the linked reddit thread (paraphrasing) "you can see pics like these in the Sears catalogue". Presentation and intent make it pornography.

One of those images as a picture in a family album (assuming they've not been posed sexually) - not pornographic. Same image with sexualising content and presented alongside similar images in a forum intend to pander to the salacious nature of those who get aroused by sexualised images of children - pornographic.

Or do you think that there is no such thing as pornographic image of a human because you could see those same parts of the body in an anatomy book? If you do go that far, then presumably you'd also not find anything to be erotic? Would you also say that intent is not important?

<comment><USER15> I believe that the intentions of the subject and photographer matter. I do not believe that the intent of any distributor matters. A photograph is a moment of time set in stone, and cannot be changed by appendices.

<comment><USER9> So if someone posts your picture on the front page of your local paper with a headline "rapist at large" then you're fine with that because it's just an image and context doesn't matter?

<comment><USER15> Wow, I sure screwed up communicating because you have my point exactly backwards.

1\. I think it's bad and I'm not 'fine with it'.

BUT

2\. I think it's not an 'image of a rapist' because context can't change an image.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Why is the US such a prude country?

They show people blowing their head off with a gun in the afternoon news while children are watching, but omg, a boob or even worse a nipple they go crazy!

This ban has to be taken back, or all other means to browse reddit must be banned as well, including all google browsers, etc. I see a lawsuit coming otherwise.

<comment><USER17> _This ban has to be taken back, or all other means to browse reddit must be banned as well, including all google browsers, etc._

I don't understand your reasoning here. When a store decides to not devote shelf space to an item, they are in no way trying to prevent you from going to another store that carries it. My local grocer does not carry tomatillos, but they're not going to sue me if I get them elsewhere.

<comment><USER18> The analogy is crap.

Let me make it worse: You're the only store around for miles and miles and people really just buy what you've got in stock. Sure, they could order online or grow something in their backyards. Maybe there's this obscure and small outlet for some of the missing things from your inventory, but most customers don't know the place.

But you just decided to remove meat from your store now. You consider eating meat distasteful and barbaric and really want to have nothing to do with that sort of stuff.

In my book you'd be

\- abusive in your position as a quasi-monopoly

\- an asshole by forcing your morale standards on others

I think that's a good point the GP makes. I don't give a damn what the weirdo moral limits are in the US. They are totally insane if you have my upbringing.

If you want to police the market, add proper age restrictions. Or use this braindead misfeature of regional support and don't allow apps like this in the US (now that would be a change, eh?).

</comment></comment></comment><comment><USER19> Looks like Android users are going to start losing one of their "talking points" if this is going to become a trend in the Google Marketplace.

Instead of making the choice to crack down on sexual content I wish they would instead focus on getting ICS onto more handsets, cracking down on carriers / manufactures modifying device OS, and bouncing malware apps.

<comment><USER20> Well, one of the "talking points" is that Google Marketplace isn't the only way to install apps. If Google goes this route, someone else can create an app market that competes. With Apple, you're stuck with what they spoon-feed you (unless you're successful enough to launch a PR campaign against them that works in getting them to back down).

</comment></comment><comment><USER21> They should remove gmail as well. I get some crazy things via that app

And it goes direct to my notification bar. talk about direct linking

</comment><comment><USER22> ...Redditors find some way to blame Apple and "hipsters"</comment>


Ask HN: Building a deep learning PC. Which GTX 1080 Ti has best Linux support? - <AUTHOR> Let's assume I have already decided on a 1080 Ti. The problem is, there are several vendors that have added on some pretty tempting tweaks such as great cooling and overclocking options. Some of these offer software for setting up the overclocking, shaping the fan response to temperature curve, and monitoring temperature and such. But as far as I can tell, most of the software is made for Windows. I won't be running Windows.
Maybe I don't need the software, I don't know. But I'm just wondering what all the options are.
Does anyone know whether any of the handful of card makers have come out with Linux versions of their add on software? Or short of that, which vendors' cards work best with Linux? And since the 1080 Ti isn't that old, anecdotal information about historic Linux support for previous generation cards (such as 1080) would also be helpful.
I think the drivers are already taken care of by Nvidia, so I'm not as worried about that part. My question is more about what additional things there might be to think about with respect to the choice of vendor for a Linux machine.
BTW I do not own a Windows license and do not desire to shell out for one, so booting into a Windows partition just to do tweaks is not my favorite option. I'm aware of it as an option, but am wondering what else people might suggest as far as the best choice of vendor. <comment><USER2> I have a 1080 Founder's Edition, and have no had any problems. All of the founder's edition cards are pretty much stock from NVidia reference design, so no matter who you buy it from it's a pretty safe bet it will be well supported.</comment>


A challenge for hackers - C++ Robots ... - <AUTHOR> http://www.gamerz.net/c++robots/

<comment><USER2> I am so thoroughly surprised nobody mentioned this: <http://en.wikipedia.org/wiki/Core_War>

A couple of people in my high school along with me were hooked to CW. I remember those days with fondness that cannot be replicated.

</comment><comment><AUTHOR> It's tough even to get on the hill, but someone has just gone top. I've removed email addresses.

        Program Name     Score  W / L / T  Age
        </comment><comment></comment><comment>==== ===== </comment><comment>===== ===
      1 dani               687 229/ 21/  0   1
      2 medusa2            675 225/ 25/  0  37
      3 penfold            657 219/ 31/  0 110
      4 noddy              639 213/ 37/  0 109
      5 stingray10         624 208/ 42/  0 113
      6 stingray2          612 204/ 46/  0 175
      7 stingray3          609 203/ 47/  0 116
      8 stingray           600 200/ 50/  0 218
      9 finiculo           579 193/ 57/  0  75
     10 wilma              571 190/ 59/  1 394
     11 evader             546 182/ 68/  0 216
     12 edgar              526 175/ 74/  1 642
     13 wotcha             521 172/ 73/  5 161
     14 quaver             507 169/ 81/  0 256
     15 tommy              479 158/ 87/  5 823
     16 fox-014            477 159/ 91/  0 716
     17 ths7h5             444 148/102/  0 939
     18 radar              441 147/103/  0  24
     19 polarbear          438 146/104/  0 736
     20 wobble             417 139/111/  0 441
     21 girosculo          405 134/113/  3 185
     22 v3                 381 127/123/  0 771
     23 whiper++           369 123/127/  0 686
     24 jelly              339 113/137/  0 439
     25 mi5                333 111/139/  0 614
     26 snaylle-11         332 108/134/  8 307
     27 pipes              322 107/142/  1 474
     28 crbot              317 105/143/  2 970
     29 megatron           316 105/144/  1  14
     30 v                  308  98/138/ 14 382
     31 ratchet            303 101/149/  0  55
     32 razor              291  97/153/  0 376
     32 minim              291  97/153/  0 259
     34 whiper_v2          289  96/153/  1 887
     35 phoenix1           252  84/166/  0 340
     36 wolfhound2         249  83/167/  0 448
     37 duelo              246  80/164/  6 186
     38 5150               244  81/168/  1 776
     39 phoenix            240  80/170/  0 345
     40 kamikaze           237  79/171/  0 901
     41 pugna              229  74/169/  7 362
     42 wrobot             223  74/175/  1 332
     43 testy              221  73/175/  2 471
     44 goodness1          220  73/176/  1 330
     45 noob_out_2         218  72/176/  2 336
     46 zquare             215  69/173/  8 348
     47 robo_basic-03      213  71/179/  0 368
     48 vugluskr           212  62/162/ 26 238
     49 losango3           106  35/214/  1   2
     50 losango             97  32/217/  1   4

</comment><comment><USER3> I used to play a bit of ATRobots which is a similar thing except you program them in a "Robot Assembly" language. Lots of fun and taught the basics of ASM coding.

I've been thinking for a while about a more complex form of this sort of game. The basic idea would be that your robot (and the robots of your opponents) is sent off to a distant planet where they have to compete for resources to make new versions of themselves. Each robot would be a Linux virtual machine (xen or something) communicating with the virtual hardware via a device driver so you'd get plenty of computing power to play with compared to any previous versions of these sort of games. Could be quite a lot of fun to play.

<comment><USER4> > I've been thinking for a while about a more complex form of this sort of > game.

The game like this already exists, it's called Colobot: <http://www.ceebot.com/colobot/index-e.php>

Just like you said - distant planet, searching for resources, replicating and building new robots... The differences are that they fight aliens instead of competing with each other, and there's actually a player, who writes program, but can also perform some actions.

And they are not full-size virtual PCs, they can be programmed in some sort of C++-like language.

Nice game, I love it, too bad they seem to stop developing.

<comment><USER3> That looks pretty cool, thanks for pointing it out.

It's certainly got a lot of what I had in mind although I think it would be more fun to make it a little more advanced. I can imagine it being aimed at more experienced programmers with the operunity to do all sorts of cool stuff like computer vision.

</comment></comment></comment><comment><USER5> Something very similar to this called Robocode has been around for some time. The language is Java though:

<http://robocode.sourceforge.net/>

</comment><comment><AUTHOR> When recruiting I've thought of saying that anyone who can get on the hill will get a job, but I've realised that fitting in with the team is critical in our line of work, perhaps in all lines of work. Some of the programmers who work for me simply don't care about this kind of competition.

I'm still on the hill, though, and that earns me some technical respect.

</comment><comment><USER6> We used the IBM Alphaworks Code Invaders project for our first year Java class. Most of the students were delighted to see their code translated into on screen "movement". It is a Java project, <http://www.alphaworks.ibm.com/tech/codeinvaders>

</comment><comment><USER7> Why doesn't they use javascript, or something that could be safely run in browser? Then they could make a simulator and editor all in the browser.

<comment><USER8> From the title on the webpage, it looks like it was last updated in 1998. In 1998, using Javascript probably wasn't quite as appealing as it would be today.

</comment></comment><comment><USER9> Here is the original:

<http://en.wikipedia.org/wiki/Crobots></comment>


IOS 4.3 Released Ahead of Schedule - <AUTHOR> http://arstechnica.com/apple/news/2011/03/apple-releases-ios-43-three-days-ahead-of-schedule.ars

<comment><USER2> Home Sharing is great. Apple just lost 200€ because of it. (I wanted to buy a 64GB iPad for my whole music collection but now the smallest model will be good enough for me.)

</comment><comment><USER3> Is the iOS 4.3 upgrade not going to come out for the iPod Touch 3rd gen? Isn't this the same hardware generation as the iPhone 3GS that is supported by 4.3? Does anyone know?

<comment><USER2> It installed without a problem on my 3rd generation iPod touch (64GB) and the Apple website says that it's compatible with 3rd generation iPod touches [0]. Why are you asking? Is it not working for you?

I'm actually wondering whether 4.3 works on the 8GB "3rd generation" (by name only) iPod touches since those had identical specs to 2nd generation iPod touches. Apple's website is quiet about that so I assume it works.

[0] Scroll all the way down: <http://www.apple.com/ios/>

<comment><USER3> Thanks! I asked because Ars reported that it was available for "4th-generation iPod touch". Your response was exactly what I was hoping for, as I wasn't in a position to try it myself.

</comment></comment></comment><comment><USER4> Personal hotspot works perfectly. Actually, even better than perfectly since it's activated on my iphone without me paying anything extra for it. Very nice.

<comment><USER5> It looks like it doesn't work on 3GS. I wonder if there's any technical limitation preventing it to work or just a marketing strategy.

<comment><USER6> As a jailbreak developer: there is not.

</comment></comment></comment><comment><USER7> When can we hope to get a 4.3 for Verizon?

I hope we're not going to start seeing from fragmentation like Android already has, as this post correctly observes:

[http://shysnowsquare.wordpress.com/2011/03/09/no- fragmentati...](http://shysnowsquare.wordpress.com/2011/03/09/no- fragmentation-on-the-iphone-none/)

<comment><USER8> The same thing happened with the original iPad, most likely, as was noted above, 4.3 was already nearly done when the Verizon iPhone was being prepared, as seen by many 4.3 features being in the current ViPhone. Most likely the next release or the June iOS 5 will again reunite the lines. This has happened before.

</comment></comment><comment><USER9>
      An Apple representative told us after the iPad 2
      announcement that iOS 4.3 won't be coming to the Verizon
      iPhone anytime soon because it had just launched, but that
      the OS versions will likely converge sometime in the future.

=(

<comment><USER10> I was wondering about this; why does it matter that it just launched...

<comment><USER11> Usually, Apple forks off the software that ships on new hardware releases in the name of secrecy.

The functionality gets merged, as they mentioned, in the next release that starts after the people working on it know about the new hardware. 4.3 was almost certainly in the pipeline already when the CDMA phone came out.

</comment></comment></comment><comment><USER12> The update appears to be available to Canadian customers as well. I'm looking forward to trying the personal WiFi zone.

Update: Nay-nay! The update is available for my iPad but not for my iPhone 3G. Bah.

<comment><USER13> It was known ahead of time that the 3G was not going to be getting the new update and would be made obsolete by Apple.

</comment></comment><comment><USER14> My poor iPhone 3G...or maybe I should be happy since my phone got progressively less useful with every update. Very eager to see what iOS 5 has in store.

</comment><comment><USER15> My iPhone 4 is updated (via iTunes), but so far there's nothing newer than 4.2 available for my iPad (according to iTunes).

</comment><comment><USER16> Do you need an active tethering subscription with your carrier (in my case, AT&T) to use the personal hotspot feature?

</comment><comment><USER17> Please do not confuse iOS with Cisco IOS.

<comment><USER18> No one is.

<comment><USER19> The title appears to be.</comment></comment></comment>


The Traits That Define Great Entrepreneurs  - <AUTHOR> http://founderdating.com/traits-great-entrepreneurs/

<comment><USER2> i think flexibility is one of the most important things to look for in a leader or when deciding to team up with someone.

</comment><comment><USER3> Are these unique to entrepreneurial success?

</comment><comment><USER4> Naughtiness is key</comment>


Million Dollar Shack: Trapped in Silicon Valley's Housing Bubble - <AUTHOR> https://www.youtube.com/watch?v=SBjXUBMkkE8&feature=youtu.be <comment><USER2> > The vast majority of my clients have graduate degrees, PHD, MBA, law degree. > You pretty much need this, to be hyper educated to be able to afford this > area. And I would say, just to quantify, probably about a 20 to 30 point > higher IQ score than the sellers.

This is a good film, but it tries hard to highlight the absurdities of the market and attitudes to make a good story.

Read the transcript for more nuggets: [http://milliondollarshack.com/movie- transcript/](http://milliondollarshack.com/movie-transcript/)

No doubt the market is in hyper-growth phase, mostly around Cupertino, PA, Mnt View, Sunnyvale, etc. (20%+) with 8-10 ranked school districts. Even so, there are still decent options in these areas.

San Jose and East Bay have even more affordable options, but I predict they will soon appreciate as more companies set up offices (Uber, etc). At least that's where I'll likely invest long term.

If you're looking at bubbles, according to Paragon "the period between bubble and recovery is 5-7 yrs".. so the SF bubble would peak ~2016-18

[https://twitter.com/tzmartin/status/655506111705972736](https://twitter.com/tzmartin/status/655506111705972736)</comment>


Multi-player Dominion in JavaScript implements all cards - <AUTHOR> http://dominion.isotropic.org

<comment><AUTHOR> Some cool tidbits from the FAQ (<http://dominion.isotropic.org/faq/>):

\- Donald X. Vaccarino, Dominion's designer, provided -- and allowed this implementation to use -- the images from the original prototype versions of all the cards.

\- The complete logs of every finished game are available in a daily CSV file.

</comment><comment><USER2> Great idea and an exciting execution. I'll be playing this tonight.

[I'm Kai]

</comment><comment><USER3> Wonderful Link.

I think you just lowered USA's GDP.</comment>


The most annoying issues that will kill your website performance - <AUTHOR> http://usersnap.com/blog/annoying-issues-will-kill-website-performance/

<comment><USER2> All starter servings no main course. This is a very fluffy fluff piece and going by the rest of the links seems to be a clickbait farm. The article can be summarised as;

Speed optimization is completely neglected while building the website: Don't neglect speed optimization when building a website

Cheap web hosting service: Don't use a cheap web hosting service

Too many plugins and widgets: Don't use too many plugins and widgets

Advertisements: Don't use too many adverts

Designs with large hi-res images: Don't use too many high resolution images

Websites not optimized for mobile users: Google likes websites optimized for mobile users

See what I mean? There's not really much here at all</comment>


Application-Layer DDoS Attack Protection with HAProxy - <AUTHOR> https://www.haproxy.com/blog/application-layer-ddos-attack-protection-with-haproxy/ <comment><USER2> I'm the author of this, and have done quite a bit with DDoS and HAProxy; feel free to ask me any questions.

<comment><USER3> So correct me if I'm wrong, this solution is great if you're the target of a DDoS targeted on overloading your backend services via many malicious requests. However, if you are the target of a bandwidth consumption attack, there isn't much HAProxy can do, correct?

There's still the fundamental limitations of incoming bandwidth, system pps limits, etc., etc.

<comment><USER2> For volumetric attacks (where the attacker is using DNS reflection or similar to do nothing but eat your bandwidth) pretty much the only solution is to work with providers to block the sources/protocols to stop the majority of the traffic before it hits the fiber into the proxy servers. For SYN floods (where spoofed SYN packets are used to fill up the proxies connection table) the kernels SYN cookie functions can be used to ignore invalid SYN's, or if that isn't enough something like our ALOHA's PacketSheld to prevent the reflected/spoofed traffic from reaching the proxy at all (but still useless if the 10gb line is completely full). HAProxy comes into account more if they are actually establishing a TCP connection even if they don't actually make a request, as then conn_rate/conn_cur trackers can be used to refuse/drop the connections (and with silent drop fill up their connection tables and make it harder for them to make more). If they actually make a full HTTP request, then the http_req_rate comes into play to 403 the requests (and can be combined with connection rate limiting to reduce the amount of traffic in HTTP requests they send).

</comment></comment></comment><comment><USER4> Any info on what the other topics will be in this series or is that kept as a surprise?

<comment><USER5> Soon we'll release a post about bot detection and protection with HAProxy. If you'd like to see us cover a specific topic feel free to reply to me here and I'll pass it onto the team.

</comment></comment><comment><USER6> Is peering the same as the stick table aggregator?

<comment><USER5> No, the peers protocol only syncs the stick-table data between other haproxy instances, but doesn't aggregate the values. The stick table aggregator aggregates all of the values from all of your haproxy instances.

Assume that you have 2 haproxy instances and a client makes 2 requests and each request lands on a separate haproxy instance. With peers, the request count would sync as "1" but with the stick table aggregator the request count would sync as "2".

<comment><USER7> By the way, when you have very few devices to aggregate values from (let's say only 2 haproxy nodes), there's a trick you can use to still aggregate their values over peers, assuming you are willing to maintain different configurations on each node.

The principle is that there will be one table per metric and per node, and each node will track values using its own table. This way each table is written to by only one node, and all nodes get all the table updates. They are then free to watch other nodes' values in their respective tables.

Using the arithmetic converters it's even possible to add or average values between all tables, but then this quickly becomes complicated, as for example you can't easily take into account the number of online nodes in your operations. This is why this is mostly workable with two nodes and not really much more. In this case of two nodes, you either use your own value or the average operation if you can ping the neighbor.</comment></comment></comment>


Commentit: comments on GitHub pages - <AUTHOR> http://blog.guilro.com/2015/10/01/commentit.io.html <comment><USER2> Is there an easy way to migrate content into it (e.g. my wordpress site that I've thought about migrating to jeykll many times but I want to retain control of the comments). Also, is there a way to get comments back _out_ again easily?

Great work!

<comment><AUTHOR> If you choose to store them in a single data file, it is quite easy to get them back out again : you just have a big YAML file. In the other way, you need to find a way to migrate from Wordpress to YAML.

</comment></comment><comment><USER3> Can't wait to try this out. I've been using Disqus on my Jekyll + GitHub pages blog and I don't like it much. I changed the URL of one of my posts once and it was a huge pain to get the comments migrated over.

<comment><USER4> I agree I just moved from wordpress to middleman and disqus is a pain. Its so close to be a great thing but so far...

</comment></comment><comment><USER5> Nice job! Gonna give it a go when I have time to play with my blog.

</comment><comment><USER6> looks like [https://commentit.io/](https://commentit.io/) is down

<comment><AUTHOR> I don't think it has been down since launched, but it may be a problem of DNS propagation.</comment></comment>