Why does Europe suck at technological innovation? - <AUTHOR> http://www.slate.com/id/2296547 <comment><USER2> As a "European" from The Netherlands, I feel I need to say something about the inflammatory title of this article. Europe does not "suck" at technological innovation, there is simply no such thing as "Europe" at this scale. Like the article says: Europe is still 27 very different markets.

As a US consumer, you are used to a being part of a massive and hugely uniform market that also happens to speak the language of international business. As such, nearly every successful innovation company will try to enter that market.

Don't be fooled, however, into thinking that everything you use is American, simply because it is in English. I am sure most would not think of Distimo, eBuddy, MobyPicture and Skylines as European, yet they are all from the tiny country of The Netherlands. And Europe does not just sprout small tech startups either. TomTom (NL), Siemens (DE) and Philips (NL) are all huge players in their fields.

Yes, making a lot of money with innovation is easier in the American market and the conditions for founding a startup are still best in The Valley, but saying that innovation in Europe sucks really makes no sense. Perhaps most the innovation is of a different nature and scale, but it is certainly there. It is a shame that this article does not attempt to uncover these things, but instead tries to score some cheap points with one liners.

P.S. Did you know Python and Vim are both Dutch as well?

P.P.S. Did you know that most European countries hardly produce any wine? Europe is more than France, Spain and Italy.

<comment><USER3> Wait, you mean Europe is not a country? That's funny... I always hear that complain from my "African" friends... Now you know how it feels to lump people into one group "African", "Middle Eastern", "Asians", etc... :)

<comment><USER2> Excellent point. I never said it is good to lump anyone into any category, but I am not writing articles for Slate :)

</comment></comment></comment><comment><USER4> The article isn't based on any sort of objective measurement, so we can't say objectively that europe has less technological innovation, only subjectively.

I live in Belgium, and in my opinion I've had plenty of opportunity to do interesting innovative work. 6 years ago I wrote an SVG renderer in actionscript, on top of a DXF-to-SVG convertor in PHP. 5 years ago I wrote my own rich web grid component, backed by a metaquery system that allows users to point-and-click together arbitrary filters. 3 years ago I switched to a web app architecture of javascript components over JSON-RPC services.

IMHO, that was interesting and innovative work, but you've never heard of the product it went into (myMCS), because the company I work for focuses on the european market and has decided to do that without seeking external financing. That's typical of european tech companies. They operate on a local market, and they take on less risk so they don't grow as aggressively. That doesn't mean there's less innovation, just that it's less visible.

</comment><comment><USER5> Europe is great at technological innovation.

Why do Americans make more money in software?

* Pure inertia from the early cowboy days of Silicon Valley, which gave us great universities and lots of private investment capital looking for _returns_. (Contrast with academic grants.)

* A more straight-forward focus on technology-for-moneys-sake (really anything-for-moneys-sake) and marketing

* The U.S. development culture, to Dijkstra's eternal chagrin, is much more "Worse Is Better" so we tend to ship early, often and win the market, even though our stuff kind of sucks.

</comment><comment><USER6> While the US has brought the world many great technological innovations, "Europe" on the whole doesn't suck at it. And Europe is not France, it's a continent with many different countries.

If we are talking about the internet, these things were made by Europeans: The World Wide Web, Skype, C++, PHP, MySQL, Rails. Just to name a few things.

The car industry is also pretty high tech and the European car companies are doing well while the government run car companies of the US suck. A few of the many car related innovations from Europe: the car itself, ABS, Electronic Stability Control.

</comment><comment><USER7> I'd rather have my car powered by a German engine (well, it's manufactured in "lazy" Spain by a German company, but it's European all the same). It consumes way less gasoline compared to US cars, and it's also a lot more reliable.

Some of you could say that reliable, low-consuming car engines do not count as "technological innovation", that we should give more praise to technological "innovators" like Facebook and Zynga. Then again, having FB or FarmVille down doesn't cause any wars, while being able to drive cars that consume less gasoline might avoid a war or two.

</comment><comment><USER8> It just isn't true. Europe just does not "suck" at tech innovation. Some europeans move to the US to have a bigger impact, and/or because that's where tech money is.

The US evolved a giant media+capital machine to make this happen, and this means making it hard for others to do the same - by being more attractive, in real terms of course, but maybe even more so in people's minds. I see articles criticizing other regions of the world for not having as much success as part of this (very natural, imho) process.

</comment><comment><USER9> An interesting data point. Look at the top 5 languages in the TIOBE index. Of them C++, C# and PHP were all created by Europeans. (In fact all 3 are Danes by birth.) To the best of my knowledge their founders live in Texas, Washington and California respectively.

This is not a small problem for Europe.

<comment><USER10> Except Rasmus was born on Greenland and was in university in Ontario when he created PHP. Claim Ontario or Canada as a capitalist paradise at your own risk :).

<comment><USER9> Rasmus was born on Greenland which is a Danish possession, so he is a Danish citizen by birth. Which makes him a Dane, as I said. See <http://en.wikipedia.org/wiki/Rasmus_Lerdorf> for verification.

Furthermore I didn't make any claims about a "capitalist paradise", either explicitly or implicitly. In fact another of the three is Bjarne Stroustrup, a professor in academia. He may live in the USA, but he's an academic, and academia is generally not filled with rabid capitalists.

<comment><USER10> I'm not sure how a data point this specific is then interesting for this subject. Three people, having been born as Danish citizens, went on to become original creators of three most popular languages today, two of whom did so in generally fairly uncapitalistic environments, now live in the U.S. This is not a small problem for Europe.

<comment><USER9> It is interesting because the data point is not an isolated example.

From Dijkstra to Torvalds, there are a many prominent examples of top notch computer talent from Europe choosing to live in the USA. The resulting brain drain leaves fewer top people in Europe, and more opportunities for Americans to benefit from that talent. Benefits range from their availability for American businesses to the fact that it is easier to meet and be inspired by that talent if you live in the USA. (Particularly if you live near a tech center like Silicon Valley.)

</comment></comment></comment></comment></comment><comment><USER11> The title of the article is misleading. Yearly revenues do not necessarily mean technological innovation. There is plenty of innovation in Europe (and a lot of it gets sold to US companies who get to increase their annual revenues with it).

</comment><comment><USER12> ARM Holdings was the first company that popped into my head when I read the headline. Without ARM there would be no Facebook/Twitter because inexpensive mobile computing probably wouldn't have been invented yet.

<comment><USER10> Nokia anyone? Massive innovation in terms of creating cheap, portable tiny computers that we now derisively call "dumb phones" early on, when no one else was doing anything like it. Other smartphone players just came in and skimmed off the top ;)

</comment></comment><comment><USER13> Small markets doesn't seem to explain it. Germany alone has the world's fourth-largest GDP, which sounds like a pie worth slicing. Despite this, Russia, whose GDP is less than half as large, has a bigger (iirc) tech industry than Germany. I think the latter explanation -- market restrictions -- is more likely, and research spending probably contributes as well.

<comment><USER14> What the frack are you counting as tech industry that you managed to Russia have more than Germany?

<comment><USER15> _What the frack are you counting as tech industry that you managed to Russia have more than Germany?_

I'm wondering this as well. Surely the computing power behind Frankfurt must be quite substantial...

<comment><USER14> mail.ru?!?!? Frankfurt computing power!?!?!?

Guys were talking tech in country that built stealth planes in 40's. And that boosted US and SSSR into space.

Have you really not seen what krauts are up to for the last 50 years? Have you not seen those fine wagens they build. Or impressive industrial technology they poses and continue to evolve? Have you seen the tank they built?

SAP, Siemens, BASF, BOSCH, etc... Theres hardly a piece of modern technology built that doesn't rely on German tech.

The Germans may not be building the blingest widgets and the hipest social media experts. But in this gold rush they are selling a metric fuckton of shovels.

<comment><USER13> I didn't say they didn't have _any_ industry. Hell, I _work_ for Siemens. So... yeah. Can't comment on anything substantial but suffice to say I stand by my words.

</comment></comment></comment></comment></comment><comment><USER16> Also Europe isn't causing massive bubbles every other year that throw half of the world into a depression. Just wondering if this is related, not trying to start a flame-war or whatever.

<comment><USER17> Not entirely sure how you can look at the economic history of the past 3 years or so and think Europe doesn't have any bubbles or financial crises.

But more to the point, I don't think technical innovation has much to do with bubbles, any more than building technology caused the real estate bubble.

<comment><USER16> I don't see a bubble (not financial or other crises) originating in Europe that had an impact world-wide similar to the dot-com bubble and the real estate bubble which is partly caused by some financial "innovation" (credit default swaps).

</comment></comment></comment><comment><USER18> European Innovation Scoreboard: <http://en.wikipedia.org/wiki/European_Innovation_Scoreboard>

It show the gap is getting smaller with US innovations. But the article is stupid. They do not suck at innovation.

</comment><comment><USER15> _Why is Europe so bad at technology development? Heterogeneity, among other things._

Hang on a second... so Europe's technical founders are disadvantaged by being able to serve particular niches?

I get that being able to sell to hundreds of millions of people gives you a great market by numbers. What I don't understand is why targeting by culture, language etc., is viewed disfavourably.

<comment><USER19> I'm only speculating, but these are my thoughts:

1\. Harder to expand quickly because of legal barriers.

2\. Network effect/expansion is harder. Say you start hitting a network effect in Germany with some new social app... You can't necessarily leverage that in Portugal where the same simply isn't true in the US market.

3\. When you serve a niche market you can't necessarily apply the economies of scale.

<comment><USER20> Indeed.

Take netflix. Setting that in the 27 countries of the EU requires 27 different contract negotiations with the respective copyright organisations.

Another example would be the social web. Suppose a French and American facebook launch at the same date. Given the same growth rate (with the more or less exponential networking effect), the American can simply buy the French facebook after a small amount of time.

(Western) Europe is pretty good in technical niches, which seem to be mostly business to business. Just not quite as visible.

Yet, as a European (through and through I might add) I believe American innovation comes from some superbly creative and inquisitive minority. This: <http://vimeo.com/19829560> we do not have in Europe.

Finally, do not forget that European population is shrinking and aging. That has a tremendous effect on all growth figures. Perhaps on innovation too, but that I doubt.

</comment></comment></comment><comment><USER21> People, please... don't feed the trolls.

</comment><comment><USER22> Because we invented the web and since then ... Farmville.

<comment><USER23> Who is "we"? Tim Berners-Lee is British.

<comment><USER22> According to the most recent information on hand, even the British are considered Europeans.

(More seriously, I wish people wouldn't submit interesting articles and then sullen them with dumbed-down, incendiary headlines.)

</comment></comment></comment><comment><USER24> Surprised that `ctrl-F incent` yields no results in the article or the comments. Sounds like a simple matter of incentivization to me. When you live in a relatively socialist country that puts discouraging penalties on rewards, why take a risk?

</comment><comment><USER3> I think it's a cultural thing. Americans (and American immigrants) are risk takers. So even if you are Danish, French or Egyptian by virtue of immigrating to a new home, you have exhibited a high level of risk taking behavior. It is only natural that this behavior turns into more entrepreneurial and innovative ideas.

But I have to agree with other commenters that regulations and laws play a huge part. Americans are definitely better at that. So, you might have all sort of labor protection, multi-week vacations, free healthcare and benefits in Europe, these laws are usually a burden on small businesses (where most innovation takes place).</comment>


What Diaspora Should Do with their Newfound Fuckyoufacebook Money - <AUTHOR> http://blog.nextny.org/2010/05/13/what-diaspora-should-do-with-their-newfound-fuckyoufacebook-money/ <comment><USER2> I suspect the first of many lessons Diaspora would do well to learn from Facebook: the hype cycle giveth, and the hype cycle taketh away. Right now, they're hipster Linus times four, getting fawning press coverage, and raking in donations from credulous blog-readers. Several months hence, with nothing that anybody would want to use working*, they may find the media, and many whose checks they cashed, suddenly less snuggly-wuggly.

<comment><USER3> Raking in _pledges_ , not donations. I wonder what the conversion rate is.

</comment></comment><comment><USER4> Some expectation management is in order. A message along the lines like: "We are going to proceed deliberately, in a step-by-step fashion. We are going to start small with X, then add Y and Z.". Then they should then follow that up by releasing early and often.

<comment><USER5> I think they provided that but it just wasn't obvious from the current entry of their blog. Check this out: [http://joindiaspora.com/2010/04/30/a-response- to-mr-villa.ht...](http://joindiaspora.com/2010/04/30/a-response-to-mr- villa.html)

What do you think?

<comment><USER6> With all the hype, I actually had really low expectations.

But their plan seems really good - do as little practical themselves, produce a good protocol, go from there.

I'm look forward to their plan.

</comment></comment></comment><comment><USER7> I'm perturbed that "Get to work" is number 5.

Get to work, build a product. Build a _good_ product. The rest will fall into place.

<comment><AUTHOR> Should be #1 on that list.

<comment><USER8> You might think so. But coding is the easiest part of what they need to do. Not only do they need to figure out exactly what feature set they need to implement, they need to have a plan to steal facebook users, a way of scaling up, and a counter-response to any response that facebook might attempt. This can't be a release-and-refine job -- their first version will launch with some media fanfare and unless it rapidly gains momentum it will fail.

Writing some code isn't the first step here any more than "fire some bullets" is the first step towards invading a country.

<comment><USER9> > But coding is the easiest part of what they need to do.

I agree that it's easy, but it's also time consuming. They originally gave themselves 3 months -- that's a vanishingly small amount of time to produce any kind of fully working product.

<comment><USER10> _They originally gave themselves 3 months -- that's a vanishingly small amount of time to produce any kind of fully working product._

The first revision of Facebook (then Thefacebook) was written in about one week, IIRC.

</comment></comment></comment></comment></comment><comment><USER11> Yishan Wong (early Facebook employee) gave an excellent answer to this question on Quora: [http://www.quora.com/What-are-the-potential-obstacles-to- Dia...](http://www.quora.com/What-are-the-potential-obstacles-to-Diaspora- catching-on). (Quora is still in private beta, but I'd imagine many HNers have accounts.)

<comment><USER12> Since when I registered for Quora the TOS said my content could be pasted anywhere as long as there was a link back, I'm assuming it's okay to paste Wong's answer here as well. I couldn't find anything on their site that specifically says what license the content falls under, if someone finds out differently, lmk and I'll remove it.

Yishan Wong, Worked at Facebook from 2005-2010.

"As it stands, based on available technical and product details, Diaspora is the dumbest idea since OpenID.

Whereas OpenID absurdly required you to login using a URL (luckily no longer a requirement) in order to preserve your privacy, which no one really cares about, Diaspora apparently requires you to run your own set of web hosting services in preserve your privacy, which no one really cares about.

However, there are a sizable number of people who think they care about privacy, so there is a market for Diaspora.

The main problems with Diaspora being a successful parallel social network are: Most women will not use it. See reason #1.

Instead, I will describe a product formulation for Diaspora that I believe could be successful and achieve reasonable user adoption, by exploiting interoperability with Facebook while providing user-driven privacy controls. Diaspora guys, are you listening?

First, dispense with the personal hosting solution. This is a non-starter out of the gate. Anyone who is willing to run their own hosting solution (virtual or not) should just erase the personal details from their Facebook account, put their content on a personal webpage, and list the address for the webpage on Facebook. In fact, that's exactly what the web was in 1999.

Rather, this is how you do it for Diaspora. There are two key ideas:

People are unwilling to share personal information according to Facebook's defaults, but there is nothing preventing them from having an "empty" Facebook account populated with none of this personal information. Facebook does not (and cannot, physically) pull information from user accounts on third-party applications. Facebook can do what it will with information entered by users into its website, but information stored by third-party applications can't be taken and used by Facebook. (Technically, Facebook may cache this data in intermediate formats when it is rendered, but they would have to be really deliberately evil to be intercepting this data and using it)

Therefore, what Diaspora should do is become a Facebook Connect app. The irony here is delicious - users who wish to use Diaspora as a "privacy-oriented" Facebook will then do the following: Delete all their personal information on Facebook except for their name and perhaps an innocuous profile pic. Use Diaspora to provide all other core Facebook-style services, including the profile info fields.

Then, Diaspora renders itself either as canvas page or a profile tab, and displays the user's profile info for the user when other Facebook users browse to that user's page.

What this does is it places all of the user's personal information on Diaspora servers, which Facebook can then no longer access and send to third parties. Access control is provided by Diaspora (rendering of the profile tab or canvas pages can be controlled depending on who is viewing it). Users can still interoperate with other Facebook users, so they don't need to migrate their social graph, which is the greatest hurdle to Diaspora's adoption.

Diaspora can then offer users the options to store their information in an encrypted format (accessing this smoothly on behalf of friended users will make the product somewhat more complex, but I think it can be done by delegating keys properly), and make available the application code for inspection. They will still have to trust Diaspora's hosting to be running the same code, but I will describe a way to handle that.

Diaspora can open-source the code and allow other Diaspora installations to be set up, in case users don't trust Diaspora itself - a particular group of real-life friends who mutually trust each other can just host their own Diaspora installation and store their own information there. They will need to create a new app on Facebook but that's pretty okay - it will become known as a "Diaspora-style" profile if it ever becomes widespread. People will even be able to keep accounts on multiple Diaspora services, for the purposes of segregating their data, if they wish. The codebases for these services will also inevitably evolve and advance.

Interestingly, Diaspora does not necessarily need to provide photo hosting, events, groups, and other core Facebook services (but it can). Users can already exploit this property of Facebook not being able to access third-party data by using other photo hosting applications that they trust, and the same goes for all other applications. In fact, this is true today. The irony is remarkable, because much of the privacy worries center around how third-party sites can now access user data, but by flipping this around and placing the user data securely on a third-party site that makes itself a Facebook application, Facebook cannot access that data and thus give it to any other third parties. This is even the case when these third-party sites use Facebook Connect for their authentication, because it still only credentials the site to access Facebook data via API calls; it doesn't give Facebook the ability to pull stuff off of a third-party app's database or anything - the app itself is in control.

What is more, users can select the amount of privacy they want to personally protect. To transition, a user doesn't actually have to delete all their profile data off of Facebook (say you don't care if Facebook shares your hometown with the world, but you do care about your relationship status) - deleting all your Facebook data can be laborious. The user just deletes the fields they want to make more private, and transitions only that data on to a Diaspora service. It can then be managed with whatever higher-granularity and/or opt-in access controls provided by that service; the remaining data on Facebook that the user doesn't care as much about can remain under Facebook's dominion.

By allowing open-source clone services, every "clique" of users only has to rely on the local nerd to set up an installation, and all of the users in that clique will be able to migrate some or all of their data from Facebook onto their Diaspora service, and continue using Facebook without having to migrate their social graph.

Lastly, based on my understanding of the views and temperaments of Facebook's executives (including Mark Zuckerberg), they wouldn't ban this app and would in fact tend to look rather favorably on it, if with a bit of initial chagrin."

<comment><USER13> _Users can still interoperate with other Facebook users, so they don't need to migrate their social graph, which is the greatest hurdle to Diaspora's adoption._

No, the greatest hurdle to Diaspora's adoption is that Facebook doesn't provide the user with any means to export their own part of the social graph -- and in fact takes legal action against people who do.

I'm not interested in the argument of whether Facebook legally can or can't do this; the point is, for many people, this is not a world that they want to live in. Your suggestion doesn't do anything to address the central problem.

My next social networking service is going to provide me control over my social graph. It should also allow me to port basic profile features from one hosted service to another, much as I might do with an email address or a web site.

You're right that moving people off Facebook is going to be difficult, as there is a sunk cost issue. However, I doubt that the establishment of a Facebook-scale social network is going to be a unique event in human history, any more than MySpace or Friendster were. It may not be Diaspora that coaxes people away, but people will take the trouble if there are benefits to be had, and Facebook can't entirely stop all the tools to export friend lists.

 _Diaspora does not necessarily need to provide photo hosting, events, groups, and other core Facebook services (but it can)._

Once again, the whole point is to interoperate seamlessly with services outside anyone's walled garden, especially for commonly shared items like photos, events, and discussion. It is already deeply annoying to have to make separate invites for Facebook and non-Facebook friends. I can't believe that you are even seriously proposing a dual system this while touting your own expertise on what users really want.

BTW, I personally have tried to make an FB app that unified Facebook events with events from other services such as Upcoming.org, and FB's API thwarted me in this regard. Certain bugs made it impossible to distinguish between the user's private and public Facebook events, so my app was inadvertently publishing private events to their FB page. Some of my users complained loudly about this -- you know, that privacy stuff that users don't care about. So I determined this was due to a FB API bug, but amazingly the developers WONTFIX'ed it as a documentation bug (the assertion that the API provided privacy was the "bug"!)

But that's what we get for relying on a service provided by kids just out of college who think they're god's gift to programming.

So, no, I'm not buying that one again.

No matter how well-funded, Diaspora is just one team with zero track record, so they're not likely to be the solution to these problems. But I'm definitely looking for something that fits the bill, and I highly doubt it's going to be a Facebook app.

<comment><USER14> Can't you add a button (either "Join Diaspora to Friend me" for non-members, or "BeFriend on Diaspora" for non-connected members, or "UnFriend of Diaspora" otherwise) on each Diaspora-Profile page? That would allow users to switch their relations by hand to another Graph, presumably distributed —— a lengthy process, but one that would kick-start the transfer, and could be accelerated with a "BeFriend all Fb-Friends with Diaspora accounts" button later on?

The private Events is a very good exemple of why cross-platform scuks, but I don't see any other option than trying anyway.

</comment></comment></comment></comment><comment><USER15> OSS hints:

Create a repo

Post code

Accept patches

Tag releases

Maybe set up bounties for feature requests? The money kind of fucks up typical OSS dev projects, now that I think about it. But there are more than enough OSS hackers out there that will help. And having a "blessed" project helps too.

I'm eager to contribute actually.

</comment><comment><USER16> From my understanding, their plan was to first figure out what they wanted to do before they do it.

If I was them, I would spend the next few weeks figuring out what it is their building.

Having a blog is probably a great idea for them though.

</comment><comment><USER17> So, as I understand it, all this money is to work on an open source project, which is quite different than a startup. Now a well-done open source project inevitably leads to a company (Wordpress, MySQL, etc.) but that isn't what they said they were going to do with the money. (Somebody has to host all these nodes for joe-everybody.)

Are there contractual obligations of raising money with Kickstarter, or can they use this for legal fees?

If they can't use the money for a startup, I doubt they'd have trouble raising money for a company separately, though investors know that any software product developed will be open source.

<comment><USER18> The original request was for $10,000 to cover their living expenses for 3 months. Now they have $170k, they really have no obligation to do anything with it other than support themselves for 3 months. So anything else is just gravy. Which is why it is so COMPLETELY ridiculous that they have been given so much money, especially given that they don't have a product or even a detailed design of a product. They just have a lot of good intentions.

<comment><USER19> If it works, it won't seem ridiculous at all. I like the pluralism of this experiment. The odds are nothing will come of it, but that's what the odds nearly always are.

<comment><USER18> I would have preferred to give 17 teams $10k rather than gamble $170k on these guys. The whole situation is a mess.

</comment></comment></comment></comment><comment><USER20> They should look at SocNodes: <http://www.socnode.org/>

In particular, there is some real, actual, working code: <http://www.socnode.org/code>, using PubSubHub for near-instant updates across multiple distributed sites.

The code there is in Python, but there is a (my) half-Java implementation linked from there too.

<comment><USER6> Looks nice but SocNodes doesn't solve the problem of limiting information to friends.

It's a nice simple idea though, and perhaps it could be one layer of a solution.

</comment></comment><comment><USER21> Getting that money would have freaked me out :)) making it impossible to do anything very productive under the glare of such media attention. If I were them here is what I would do:

1\. Get organised.

2\. Code for 3 months and then _stop_ for some time and keep 10,000$ for the effort.

3\. Start an Americal Idol/The Apprentice like program to create actual code in phases.

4\. Setup a Jury with 3 luminaries like Bruce Schneier as judges.

5\. Opensource projects can participate for bounties to create various pieces of the jig saw puzzle. The entire contest would not involve any actual travel. Just a mob of coders checking into GitHub and Google code and so on. Their own code also gets to participate in the contest ;-).

6\. Try get guys like Larry Page involved... LOT of people apart from the poor geek on the street want to see FB dead ;-).

Note: These guys _are_ celebrities now. They can easily become notorious. They are young. The best thing for them to do to themselves is to not get a bad name by blowing away the dough. If they keep the money away/use it as a catalyst for the FB killer, they will earn goodwill worth millions.

They can "encash that goodwill" over time. With their skills+goodwill they can at a future date start a real startup through a program like YC maybe even in an entirely different domain, and earn fortunes. Their greatest asset right now is that a LOT people will now listen to them for a _short_ time. If they manage to pull it off, even more people who matter will LISTEN to them. That would translate to a lot _more_ than the millions they may raise right now.

Wishing them luck. Hope they will be billionares some day. but not from donations, but from a real startup they create in either social networking or another area that really brings value to its customers.

Sudarshan.P

</comment><comment><USER22> Write some code.

<comment><USER23> And maybe hire some experienced programmers/project managers to architect the system first? My experience with the code put out by fresh CS graduates is that it's a bit naive and by-the-textbook, not surprisingly.

<comment><USER24> there is a dearth of quality programmers in nyc who would help im sure

<comment><USER18> Do you mean a glut, or do you really think there are no good programmers in NYC?

<comment><USER25> The "who would help" part is relevant here.

</comment></comment></comment></comment></comment><comment><USER26> My advice: Clone Cloud27 [1] and get an initial version for people to play with.

Then fill out the more distributy bits later.

\----

[1] <http://cloud27.com/> its BSD licensed (IIRC) so should be good to clone/fork immediately

source: <http://www.djangosites.org/s/cloud27-com/>

</comment><comment><USER27> The first thing I would do is hire someone to take care of PR so I could focus on coding.

</comment><comment><USER28> original article [http://www.thisisgoingtobebig.com/blog/2010/5/13/what- diaspo...](http://www.thisisgoingtobebig.com/blog/2010/5/13/what-diaspora- should-do-with-their-newfound-fuckyoufacebook.html)</comment>


CERN's Particle Accelerator To Launch, Complete With Requiste Doomsday Theories - <AUTHOR> http://howtosplitanatom.com/news/particle-accelerator-complete-with-doomsday-theorists/

<comment><USER2> It is worries like these that emphasize the need for better education in the physical sciences.

</comment><comment><USER3> of course they're going to say it won't destroy the world because if it does, it's like a "get out of jail free" card. they can't be held accountable, so there is no downside! :-)</comment>


Any B2B SiteBuilder softwares? - <AUTHOR>

Are there any good SiteBuilder softwares? What I mean is not something maked for the final client (like Wix), but some software made for other web companies who want to provide a sitebuilder fr their own clients. It doesn't matter if it's payed or open source, are there any? Thanks to everyone in advance! <comment><USER2> www.vendasta.com

www.imcreator.com/whitelabel

www.websplanet.com

looked under whitelabel website builder on google.com

<comment><AUTHOR> Thank you very much, I really didn't know the "white label" term!</comment></comment>


Pizzagate King Doxes Roy Moore's Accuser on Twitter. Twitter Does Nothing - <AUTHOR> https://www.thedailybeast.com/pizzagate-king-jack-posobiec-doxes-roy-moores-accuser-on-twitter-twitter-doesnt-do-anything <comment><AUTHOR> Twitter can no longer claim it is just a neutral platform for free speech. This is just hypocrisy and lack of willingness to have enough backbone to enforce their own rules.</comment>


Google Salary Ranges and Levels – Levels.fyi - <AUTHOR> https://www.levels.fyi/salary/Google/ <comment><USER2> Speaking as someone who worked for Google for >6 years, these numbers are 100% accurate. People saying they're not just don't realize how much they're getting underpaid working for a small startup. Big Tech pays very, very well.

<comment><USER3> Likewise, looks in line with my experience at Google as well.

</comment></comment><comment><USER4> As someone who works at one of the companies on the list, yes, these numbers are real. Big companies pay very well, consider working for one.

<comment><USER5> The trick, of course, is that very few people have the ability to pass a Google interview. So it isn't just a lot of money available to anyone who wants it. It's a lot of money available to the few who are talented enough.

</comment></comment><comment><USER6> [https://www.levels.fyi/2018/](https://www.levels.fyi/2018/)

$236,000 entry level engineer at Lyft. these numbers don't feel real. even for SF.. how's it possible?

Is it a common practice to overpay THAT MUCH or those few young (maybe not so young) individuals are just negotiation geniuses and skewing the real picture?

<comment><USER7> It comes from a sample size of 3: [https://www.levels.fyi/salary/Lyft/SE/T3/](https://www.levels.fyi/salary/Lyft/SE/T3/)

There's zero validation to this data. If you feel it's too high, just submit a lower data point: [https://www.levels.fyi/addcomp.html](https://www.levels.fyi/addcomp.html)

<comment><USER8> >If you feel it's too high, just submit a lower data point

That's not how this is supposed to work

</comment></comment></comment><comment><USER9> I signed my Google offer when GOOG was at $500 about 4 years ago, and it's over $1,100 now. About a third of my offer was in stock, so some of these high numbers are just the result of the stock price rising. I wouldn't expect new hires at those levels to make those amounts, although they seem accurate to me for current employees.

<comment><USER10> I think you will find that you're wrong. Your $500 GOOG was pre-split and has appreciated to GOOG + GOOGL, or about $2500, more than double what you put here.

<comment><USER9> Nope, the split was 5 years ago.

</comment></comment></comment><comment><USER11> Those compensation levels are highly dependent on equity appreciation. The base salaries are pretty standard.

Once the stock stops going up, compensation is going to drop by ~50% for a lot of folks.

<comment><USER12> They are not dependent on stock appreciation (unlike most startup offers, who during the negotiation stage try to sell you their stock options at an implied valuation 10-100X from the current one), the RSUs are granted at the price of your joining date.

If/when the stock later crashes, typically the company is going to issue generous refreshers to good performers to bring them in line with their original grant amount (source: several friends who worked at FB during the stock crash of last year), whereas when the stock skyrockets your compensation skyrockets as well because your RSU grant price is locked in at your offer/refresher date, like a reverse mortgage (source: myself).

<comment><USER13> That only works if it's not market wide. Good luck getting option/rsu refreshes in a general tech recession.

<comment><USER12> In a general tech recession sure, but I can almost certainly guarantee that my total compensation at Google will still be much higher than the compensation at any startup or other second tier company.

People have been saying "this won't last, good luck keeping this going!" for a decade now, and rather than reciting the same motto like a broken record in an attempt to justify my lower compensation, I decided a few years ago to join the bandwagon and milk the good times as long as they last. I'm saving like crazy while doing so, and there's no apparent sign of stopping.

<comment><USER13> Take me at face value: I was just saying that RSU/option refreshes will be less frequent given a general recession, particularly a tech-heavy one (where so much capital has been deployed recently and there is probably a bit of overbuild).

I think there are a lot of advantages to a big company employer, and comp can definitely be one of them.

I would watch out for signs. Yield curve inversion and Duke CFO Global Business Outlook are bearish. The fact that those are happening with high levels of stimulative policy should get more attention. The run on ipos can definitely be read as a change in posture that this is a local high point for equity markets. Anecdata, but there are more stories like [https://seekingalpha.com/news/3465880-pioneer-natural- resour...](https://seekingalpha.com/news/3465880-pioneer-natural-resources- cuts-workforce-25-percent) and [https://seekingalpha.com/news/3465885-toll- brothers-minus-3_...](https://seekingalpha.com/news/3465885-toll-brothers- minus-3_0-percent-guidance-reflects-slower-demand) which I would interpret as leading indicators of a slowdown.

</comment></comment></comment></comment></comment><comment><USER14> These numbers are lower than I expected; if you have even a single competing offer from another respected tech company, the numbers are much much higher.

Also, once you stack the annual refreshers and a little bit of stock growth over a year or two, you could be making close what your L+1 peers are making as per the chart. This chart is a reasonable indicator of maybe the numbers on your offer letter but usually this increases substantially over time.

Source: I'm a Google employee.

<comment><USER15> Absolutely correct. Keep in mind if recruiters reach out to you while you're employed you have a stronger negotiating position.

I think it's a lot easier to get stock vs cash increase.

</comment></comment><comment><USER16> Dear friends at Google, since I guess many of you will read this, I have a question for you. Is there any internal discussions going on about what you should do with all the money you are earning once your basic needs are covered and you find yourself with money that could be invested in interesting projects?

</comment><comment><USER17> That's a crazy amount of money even relative to the salaries in the income tax free haven of Dubai. The highest pay for a software engineer is around 150k USD annually.

</comment><comment><USER18> I would love to see the numbers for Paris, France. Salaries are a complete mess here and secrecy around the subject does not help

</comment><comment><USER19> Without a location these numbers are useless. I assume they are all Seattle/SF. Comparing to what someone would make in a chicago suburb is not apples to apples.

<comment><USER20> They all have locations... Not sure why the summaries don't filter, but just type a location in the search bar and you can see the individual postings.

</comment></comment><comment><USER21> But you work for an advertising company.

</comment><comment><USER22> Take sites like these with a grain of salt. Given the total lack of validation that any of this data is from real employees, there's not telling how (in)accurate this site (and others like it) are.

This particular site seems to be a marketing piece for TripleByte. Perhaps the makers can comment on the accuracy of the data?

<comment><USER12> I understand I'm just another random data point on the Internet you might decide not to trust, but I've received offers that exactly fall in the compensation bands of the website, specifically: Google L4 (~280k total comp), FB E5 (~390k total comp) and Netflix (~400k total comp). The years of experience for those roles (between 6 and 8) match as well. And I'm no genius at all, quite the opposite.

<comment><USER14> How come you decided to take the Google offer? :)

<comment><USER12> It came down to choosing the best team for my skills, and since then I've received generous stock refreshers, a promotion to L5 and the stock also appreciated a lot, so compensation is not an issue.</comment></comment></comment></comment>


Show HN: Moon – fast 7k Vue alternative - <AUTHOR> https://github.com/kbrsh/moon <comment><USER2> So we are here. It didn't took so long for vue to go from "will vue be new react ?" To "vuejs alternative".

<comment><USER3> Isn't it a fun time to be a front-end developer?

<comment><USER4> No: it leaves no goat unblown. Particularly for people new to it.

Back in the day anyone could hack together a bit of JS for their website and get something up and running, even if it was a bit Heath Robinson. You actually still can do this but you wouldn't necessarily come away with that impression from reading about front-end development. Cynically, it sometimes feels like front-end developers are overcompensating for years of JS derision from "real" programmers with the plethora of tools and technologies you "need" to know.

If people want to use this, well, they're welcome. I can even see some benefit to a very lightweight UI/framework, especially if you don't have to worry about any version of Internet Explorer below 11, because the browser APIs these days are pretty comprehensive, and tend to behave reasonably consistently. Likewise CSS. [1]

Still, I can't get in any way excited about yet another library/framework. Go ahead and use it if you like but don't be trying to evangelise me about it.

([1] As an aside: I will say that IE11 is still something of a problem child in terms of not supporting some things I use, or not supporting them well - flexbox is an obvious example. Conversely, "scumbag" Chrome can be a problem child simply because it lets you get away with doing things that you shouldn't be allowed to do at all. E.g., `element.style = 'display: none'` instead of `element.style.display = 'none'`, meaning that when you come to test your code in other browsers... it breaks.)

<comment><USER5> > it leaves no goat unblown

That's a first. Is that a common saying somewhere? Does it refer to literal oral sex with a goat?

<comment><USER6> "blows goats" goes back decades, but tbh I never really thought about what it meant until this comment came forth with the hyperbole of fellating literally every goat in existence.

</comment></comment></comment></comment></comment><comment><USER7> I'm a big fan of Vue and I think Moon looks very promising. I have some questions w.r.t Vue API compatibility:

\- In Vue, you can call a method or access a variable directly using this.var or this.fn, did you deliberately choose to do it in a different way or are you planning to implement this using _defineProperty_?

\- Are you planning to implement filters and refs?

\- Are you planning to make it compatible with Vue to make it a drop-in replacement?

If it's gonna be a drop-in replacement and existing code can be reused, I can imagine testing it for some projects (framework7 based).

Edit: Another idea would be to integrate all the performance improvements in Vue, Evan You is a great developer who single-handedly built this great framework and I think it's a good idea to make your ideas available for the whole Vue ecosystem. Are you having plans to do that?

<comment><AUTHOR> Awesome, I'll be glad to answer these!

1\. I'm not planning for this, as it has a runtime cost, but it can easily be done with a plugin[1].

2\. I'm not planning to implement filters, as you can use methods instead. Refs might be coming if there is enough demand.

3\. Moon is actually going in a different direction from Vue now. The core API will be very similar, but it might not be a drop in replacement for some of the advanced features of Vue. Most directives work, components are similar, but it won't be fully compatible.

[1] [https://jsfiddle.net/btoegknn/](https://jsfiddle.net/btoegknn/)

EDIT: To answer your edited question: I agree, Evan is a super smart developer, kudos to him for building Vue!

Applying some of the performance improvements might be a little complex for Vue, because Moon's compiler is fundamentally different in a couple ways. It generates code for a stricter HyperScript-like syntax (called "HyperMoon"), while Vue aims to be compatible with JSX as well.

Differences like these, while might seem small, are actually pretty complex when implemented in code.

<comment><USER7> Thanks for the fast answer!

That's a tough path you took and I wish you'll reach your goals. There are currently many frameworks who want to get the mind share. Would you mind to share your mindset behind the decision to split and build a new framework? Is there something in Vue you oppose or new concepts you would like to introduce? Would be very interested to hear your thoughts, I'm always on the lookout.

<comment><AUTHOR> No problem! I wanted to build a new framework mainly because my Vue app was becoming slow and I wanted something small. Moon is 7kb minified and gzipped, that makes it really fast to load on mobile.

If you take out the compiler (similar to Vue's runtime version), Moon is only 3kb minified and gzipped!

Check out the Medium Article[1] and the README for more information on why I made it.

[1] [https://hackernoon.com/introducing- moon-1d44a99635f0](https://hackernoon.com/introducing-moon-1d44a99635f0)

<comment><USER7> Ah thanks, missed the "Another library?" part. I think it's a good idea to address this question because this is the first one someone has after reading the title (Vue, but faster & smaller). Maybe I'll use it for some side projects, would be interesting to see if it is still easy to develop with a subset of Vue's API.

</comment></comment></comment></comment></comment><comment><USER8> Can you explain what makes moon so much smaller and faster than vue ? What are the key differences ? Does it lack features ? Could vue use some tricks from moon ?

</comment><comment><USER9> Looks good, but a slight improvement in speed is not enough IMHO to switch from a proven, popular framework (like React or Vue).

I think it takes a radical take on the problem to balance out the cons of using an unproven framework for any non-personal project.

<comment><AUTHOR> It's 7kb minified and gzipped. Vue is almost 30kb. If you use a runtime version of Moon, it becomes 3kb. This makes it faster to load on mobile devices.

Along with that, it also has lots of official plugins similar to what Vue provides.

<comment><USER9> Sure, don't get me wrong—I'm not saying it's useless or it isn't an achievement.

You have to realize though that as developers we invest a lot of time on learning a technology. Companies invest a lot of money into stacks. It's not always easy to find developers and if your stack is "standard", it makes it easier to both grow your team and get up to speed with the code.

For a developer, company, or team, 23KB of JavaScript aren't going to be a very good incentive to ignore the advantages that come with using a standard framework like Vue. Websites are easily 10MB in size nowadays, 23KB are a drop in the ocean. I can optimize the logo and get 23KB without have my team learn a whole new framework.

What I'm trying to say is that I don't think "smaller Vue alternative" is a good selling point. If anything, because as your framework gains acceptance people will want more features, and it will inevitably grow, and there goes your competitive advantage.

It should do something better, or differently in a big way or a way people care about.

Just my two cents. I've never created anything that a huge number of people use, so I'm no institution in this area.

<comment><USER10> > You have to realize though that as developers we invest a lot of time on > learning a technology

But plenty of front-end developers have not developed in Vue. If I'm starting a new project and someone suggests doing it in Vue, and I have to learn it all anyway, I might consider this as an alternative.

</comment></comment></comment></comment><comment><USER11> The title here says 7kb your front-page on moonjs.ga says 5kb and on the overview page comparing it to other frameworks it says 6kb. All say minified and gzipped.

<comment><AUTHOR> Sorry! It looks like I haven't updated some parts of the site. The correct size is 7kb, thanks for pointing that out.

</comment></comment><comment><USER12> The API looks very similar to Vue. Are there any places where you specifically chose to be different, and can you explain some of your reasons?

<comment><AUTHOR> Sorry for the late reply!

I chose to be different in small things, such as being explicit about getting and setting properties on an instance. There are a couple oddities I didn't like with Vue as well, such as the syntax for a couple directives.

Check out the Medium article[1], it has the main reasons on why I made Moon.

[1] [https://hackernoon.com/introducing- moon-1d44a99635f0](https://hackernoon.com/introducing-moon-1d44a99635f0)

</comment></comment><comment><USER13> How does Moon automatically detect static virtual nodes? What makes Moon faster than the alternatives? Finally, how does Moon avoid GC pressure with large trees?

<comment><AUTHOR> The compiler treats everything as static by default. When the compiler detects something dynamic (such as a {{mustache}} template), it will mark the current node as dynamic, and the parent node as well.

These propagate up the tree so Moon eventually has a render function that is extremely optimized and can skip everything static, and the diff will only hit the nodes that can change.

Moon also has a stricter syntax for virtual DOM, allowing for less checks to be made at runtime compared to alternatives like HyperScript. This is made possible because Moon's compiler itself is in charge of creating the render functions, allowing it to give certain hints to the virtual DOM diffing engine.

There is really no way to avoid GC when you have a virtual DOM. The virtual DOM trees are pretty light and have memory usage similar to that of React and Inferno.

<comment><USER14> > There is really no way to avoid GC when you have a virtual DOM.

If you keep the virtual DOM in a typed array, there is not need for relying on the JavaScript garbage collection.

Here's an example:

[https://github.com/vandenoever/baredom/blob/master/src/bared...](https://github.com/vandenoever/baredom/blob/master/src/baredom/impl/Dom.js)

<comment><AUTHOR> This is really cool! I'll definitely look into this and apply some of it to Moon.

<comment><USER14> BareDOM is a proof of concept, the code is not very clean, but I'm sure you can get the ideas.

Since Moon has a specific way of using the DOM, you might be able to cut down on the number of array positions per node (currently 8).

<comment><USER13> Is there any documentation on why to use a typed array

<comment><USER15> Typed arrays are essentially tightly packed chunks of memory that the GC won't walk. If you know what you're doing, you can use them to both save memory (shaving off the per-object overhead of JS objects) and reduce the time spent on GC collections (but you have to do your own memory management on the typed array). That the typed array contains only objects of a single data type probably also helps the JIT to optimize.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> The performance improvements are impressive if they translate to real-world apps, however speed is only one of the reasons I use Vue.js. The other big reasons are stability and incredibly good documentation.

</comment><comment><USER17> I've lurked a while and seen people give all the js is shit js fatigue blah blah and again we have this on this.

question I've got to ask to people posing this question is are you not adaptable enough as a programmer to learn things fast?...I was a c# programmer and in 1 month it was like yeah no problem I understand the new tools. in fact the new frameworks taught me a lot about functional programming which was fantastic.

You can winge all you want but it's here. It's not going away due to corp IE9 and to be honest it annoys me because the js ecosystem as well is the nearest to open source ideals at the moment as a _lot_ of people are sharing code. I can fix any bug in my dependency because I can read the source.

Yeah maybe some packages are useless. but tbh they're the ones that will sink to the floor but the good ideas are passed about like a zep cd. js is the first meme language (in the Dawkins sense) and it's extremely interesting to see it develop in the public eye

<comment><USER18> Just an opinion:

It's not that it's hard to learn this stuff. More so, it's tiresome and _hard to care_ after watching the JS community re-inventing the same wheel(s), repeatedly.

Personally, I'd rather see the JS community solve a wider variety of problems.. instead of the same ones, over and over.

The amount of talent focused on building JS tools really is incredible. But it seems like the tools that generate the most hype always do the _same_ things, just in a shinier newer package. Which is frustrating.

I wasn't around at the time, but reading about programming languages past -- it seems like these are the same kinds of problems that fractured Lisp, back in the day.

The problem is this: It's fun, exciting, and relatively simple to roll your own X. So everyone does it. That's good. But too much fractures the community, instead of uniting it. Which.. may be more harmful than helpful, in the long- run. Time will tell. But the strongest & most productive communities typically converge on 'best-practices', once a problem is solved well enough. JS doesn't seem to do that. (At least not yet.)

</comment></comment><comment><USER19> I just want someone to take another look at ontercooler js, the best CSS and JavaScript is the CSS and JavaScript I don't have to write. Every time we hire someone fresh out of college they ask if we can learn angular and my reply is why do you need it? Because you heard of it? And basically that's the only reason they mentioned it.

</comment><comment><USER20> If you want a blazing fast JavaScript framework that's actually supported by a big company, look to Marko: [http://markojs.com/](http://markojs.com/)

The syntax is a bit strange, but once you get used to it, it's a pretty simple framework to grok.

<comment><USER21> careful now...

all frameworks are blazing fast, but some are more blazing fast than others.

[https://rawgit.com/krausest/js-framework- benchmark/master/we...](https://rawgit.com/krausest/js-framework- benchmark/master/webdriver-ts-results/table.html)

<comment><USER22> yup, and non-keyed is the easiest part :)

<comment><USER21> indeed, it is; i don't need to tell _you_ , though :p

when i originally asked the author to submit Moon to js-framework-benchmark [1] i was surprised to hear that Moon's users have never needed or asked for keyed updates [2].

there are some authors (myself included) that consider libs without keyed DOM reconciliation to be seriously deficient.

[1] [https://github.com/kbrsh/moon/issues/84](https://github.com/kbrsh/moon/issues/84)

[2] [https://github.com/krausest/js-framework- benchmark/pull/212#...](https://github.com/krausest/js-framework- benchmark/pull/212#issuecomment-315480911)

<comment><USER22> I believe so too!

</comment></comment></comment></comment></comment><comment><USER23> Congrats on building something that obviously took a lot of time and effort.

But would it not have been easier to simply submit a few pull requests to the Vue.js project?

<comment><AUTHOR> Thank you. It would actually have been more difficult to submit a PR to Vue, as Moon's internals are completely different. It would have tons of breaking changes as well, so I created a new project as a result.

<comment><USER24> Not knocking on your effort here, but you think that it would have taken more effort to submit a PR to Vue than _building an entirely new open source framework from scratch over the course of several years?_

If so, there is something very wrong with the state of open source development.

<comment><AUTHOR> Working on Vue would take similar effort, deleting tons of the code and rewriting it.

Part of it is that this is project started as a way for me to learn what goes on under the hood of libraries like React and Vue. While I made this, I wrote a compiler (lex + parse + generate), virtual DOM engine, reactivity system, and more!

I've started to take Moon in a different direction than Vue, and in the future it will most likely be even more different than Vue.

<comment><USER25> Is that supposed to be good news?

</comment></comment></comment></comment></comment><comment><USER26> You say it's faster than Vue, but how much, how did you measure?

<comment><AUTHOR> Moon is a part of js-framework-benchmark[1] (in the non-keyed results), and it performs faster than Vue there. The article I wrote a while back also has some benchmarks[2]. Finally, the overview section of the documentation also has benchmarks[3].

[1] [https://rawgit.com/krausest/js-framework- benchmark/master/we...](https://rawgit.com/krausest/js-framework- benchmark/master/webdriver-ts-results/table.html)

[2] [https://hackernoon.com/introducing- moon-1d44a99635f0](https://hackernoon.com/introducing-moon-1d44a99635f0)

[3] [http://moonjs.ga/docs/overview.html](http://moonjs.ga/docs/overview.html)

<comment><USER22> There's no keyed benchmark for Moon, that's more difficult to optimize.

<comment><USER27> He tried to solve performance problems in complex applications, and obviously complex applications doesn't need to preserve internal state when children list is changing :)

<comment><AUTHOR> Haha didn't see this. Moon hasn't hit v1 yet, and a keyed virtual DOM is definitely on the roadmap.

<comment><USER28> Hi, pardon my noobness, what keyed means here ?

</comment></comment></comment></comment></comment></comment><comment><USER29> I dont particularly care whether or not its faster than vue or react. If I'm going to build a heavy use production app I would use one of those just because it has so much of a community supporting it. But sometimes less is more. The api here is simple, and yes similar to vue and react. The guts of the docs took like 5 minutes to read through. Over time, the novel concepts introduced by these frameworks turn into general best practices. That's what we see here. A boiling down of the reactive web framework into a small set of core methods. Certainly not the most powerful or extensible. But perhaps the most simple.

</comment><comment><USER30> Looks like nice work, also reminds me of Ractive ([https://ractive.js.org](https://ractive.js.org))

</comment><comment><USER31> If your web app is highly interactive and has a very complex user interface with lots of animations and small http requests you would be well served to use React, vue or this thing.

If your web app doesn't have that, which I imagine the majority do not, don't use any client side framework at all. Javascript still works, even without a framework.

<comment><USER32> > Javascript still works, even without a framework

Are you suggesting jquery?

<comment><USER31> Could be jQuery could be rolling your own set of functions depending on how far back your users are with their IE versions.

[http://youmightnotneedjquery.com/](http://youmightnotneedjquery.com/)

I guess I should also say you don't need a virtual DOM to make web apps. I personally like things like turbolinks ([https://github.com/turbolinks/turbolinks](https://github.com/turbolinks/turbolinks))

</comment></comment></comment><comment><USER33> the issue is that, for product development, it is really about the whole package, the ecosystem that is, which includes third-party modules/add-ons, documents, longevity concerns, road maps, tools around it and so on. one shining improvement is normally not enough.

<comment><AUTHOR> I agree! Moon has an official router[1], store[2], CLI[3], and an SSR module[4]. It might not have the biggest community, but that is why I am here :)

[1] [https://github.com/kbrsh/moon-router](https://github.com/kbrsh/moon- router)

[2] [https://github.com/kbrsh/monx](https://github.com/kbrsh/monx)

[3] [https://github.com/kbrsh/moon-cli](https://github.com/kbrsh/moon-cli)

[4] [https://github.com/kbrsh/moon-ssr](https://github.com/kbrsh/moon-ssr)

</comment></comment><comment><USER34> My comment that said "So far, the Infinite monkey theorem is just giving us an infinite number of javascript frameworks, and no Shakespeare" acquired 29 points but then has been deleted. Why is it so?

<comment><USER35> It isn't deleted. It's rolled up down thread.

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

</comment></comment><comment><USER34> So far, the Infinite monkey theorem is just giving us an infinite number of javascript frameworks, and no Shakespeare

<comment><AUTHOR> Honestly, I think libraries are great, if they improve on existing solutions and actually bring something new. Don't try and stop innovation just for the sake of having to make less decisions.

Moon's purpose is to provide an API similar to Vue, while being less than half of the size, and having improved performance in most cases. Why try and stop something new without giving any valid criticism? If we all have a mindset like this, the web isn't going to ever improve.

<comment><USER36> Well, to be a bit crotchety for a moment: Copying someone else's idea but doing it a little smaller or faster isn't exactly revolutionary. At this point, UI libraries are turning into the JS equivalent of programming languages (everyone is writing one, and few of them are that interesting).

If you really want to improve the web, we're gonna need to think a bigger than this...

<comment><AUTHOR> It might not be revolutionary, but it _is_ an improvement. I just don't like when people say they hate something because they don't want to make decisions. I'd rather have feedback than someone ranting about "just another Javascript framework".

Moon has the core features of Vue, but it's started going in a different direction. I'd love any feedback and to hear your thoughts :)

<comment><USER36> Well, so first of all, it wasn't a rant, it was a joke and a bit of a jab, and you gotta admit these days there's good reason for people to be... uhh... skeptical about yet-another-JS-library.

Second, that reaction isn't about not wanting to "make decisions"... that simplifies a rather complex set of thoughts and beliefs that are driven by the often-comical Javascript world, which appears to favour extreme complexity, constant churn and obsolescence, a near-complete absence of standards or best practices, duplication of effort, and fragmentation. Of course, the flipside of this is rapid evolution, competition in a marketplace of ideas, etc, etc.

Third, if you don't want people to see this effort as yet-another-UI- framework, it'd probably be a good idea to position the project as something other than "everyone else's good ideas, but smaller and faster" (lightly paraphrasing from the project landing page)!

<comment><AUTHOR> Yeah, I was just saying my thoughts against the hate towards new JS frameworks in general. While this reaction was a joke, there are tons of people that would have been ranting about another Javascript framework.

I am by no means trying to force people to use Moon. Instead, I am trying to show something that you might want to consider if you use and like Vue, as it is smaller and faster.

I agree I might need to reposition this project and state a little more. But I've already clarified why I made this in an article I wrote[1].

[1] [https://hackernoon.com/introducing- moon-1d44a99635f0](https://hackernoon.com/introducing-moon-1d44a99635f0)

<comment><USER37> Was there a specific reason you chose to do a rewrite rather than to improve vue.js?

<comment><AUTHOR> Yup. Moon is completely different internally than Vue. Submitting a PR to Vue would require a rewrite of Vue itself, and would change a lot of it.

Moon's goal isn't to have complete API compatibility with Vue, but instead to have a light alternative with a similar API.

<comment><USER37> Fair enough. I take it that you weighed the cost of fragmentation versus the advantage that a rewrite would give you. Even so, it feels to me - as an outsider, without having looked in depth at either code base - that it might have been better to see how far you could have pushed vue.js with respect to your improvements before deciding to roll your own. After all, now you are comparing apples with oranges, many of your improvements likely would have applied to vue.js as well and then the difference between your offering and theirs would have been a lot smaller, possibly small enough not to justify a for and yet another incompatible API.

These are hard decisions.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER38> Nice work! What did you use for building the documentation ?

<comment><AUTHOR> Thanks! I created a static site generator called Sold [1]. The Moon configuration for Sold is available at the gh-pages branch [2].

[1] [https://github.com/kbrsh/sold](https://github.com/kbrsh/sold)

[2] [https://github.com/kbrsh/moon/tree/gh- pages](https://github.com/kbrsh/moon/tree/gh-pages)

<comment><USER39> FWIW, I'm having extreme troubles reading the docs at [http://moonjs.ga/docs/overview.html](http://moonjs.ga/docs/overview.html). The text is almost the same as the background for me.

<comment><AUTHOR> Sorry about that! I just updated the font-weight and colors. There should be more contrast now.

<comment><USER39> Yes, much better, thank you! Perhaps the menu to the left could get the same treatment? :)

</comment></comment></comment></comment></comment><comment><USER40> You know what? All this is good, but it repaints the whole screen between states/pages.

And one more thing. Just use Elm and live happily ever after.

I welcome new js framework. Seriously.

</comment><comment><USER41> Cool... looks like Mithril:React;Moon:Vue, as they're only 1kb different. Wonder if Moon also benefits from low-latency like Mithril does.

</comment><comment><USER42> [https://dayssincelastjavascriptframework.com](https://dayssincelastjavascriptframework.com)

</comment><comment><USER43> So moon is the alternative to vue which is the alternative to angular(ui engine)/react... Oh dear... How those frameworks want to get used in a wider manner when they place themselves in a 10% of 10% of 30% of the market segment?

<comment><USER37> It's a good thing that writing an OS is a bit more complex or we'd have seen a huge fragmentation of that space too.

What's bugging me is that most JS work would have probably been better off as an improvement on something existing.

<comment><USER44> And your time commenting would be better spent doing pushups. But that's not really how motivation and interest work.

<comment><USER37> But I _also_ do push-ups. See, it is rarely an either-or proposition. One could push vue.js to the limit and _then_ decide to do a rewrite. But to take the rewrite option as the first available exit whilst explicitly referring to the original is fragmentation where I wonder if it is actually needed.

<comment><USER44> Well, it _is_ either-or. All time spent has an opportunity cost. Just doesn't strike me as an argument. Nothing is needed, and need doesn't describe why most software exists.

These sorts of comments amount to judging how others spend their time. It's just as silly to me as me suggesting that you spend your time credentializing in React so you can improve it for free.

I'd say there's plenty of value to offer the world by creating alternative projects that stand on their own, experimenting with different approaches.

<comment><USER37> Well, we're going to have to disagree on that. I feel that a lot of the fragmentation in open source is due to the fact that it sounds good to be the maintainer of some project, the fact that github presence is now considered a factor in getting hired certainly contributes to that.

Fragmentation - without sufficient forethought - is not cost free and 'more wood behind fewer arrows' works both for commercial entities _and_ for open source.

Most of these 'alternative projects that stand on their own' are announced with great fanfare and die a silent death a few months later, the same effort spent on improving what is already out there would go a much longer distance.

Obviously everybody is entirely free to spend their time in whatever way they want.

</comment></comment></comment></comment></comment></comment><comment><USER45> Seems nice for Js devs, but I prefer Elm :)

</comment><comment><USER46> If it is smaller, is it easier to learn?

</comment><comment><USER47> Oh look a new JavaScript framework

</comment><comment><USER48> so preact for vue? how is this not called prevue?

</comment><comment><USER49> Technically, one can pull down any mature framework, decouple all of the features into smaller segments, get rid of all the code responsible for backward compatibility, and re-brand it as 'lighter' alternative.

How is this any different? You can't claim that X is better or faster than Y just because X is smaller or has fewer features. There are a lot of other factors in play here.

</comment><comment><USER50> Can all the JS framework people lock themselves in a building for a year and figure our the right way to do this -- and only then share it with the world?

Getting ridiculous.

<comment><AUTHOR> I'd love to know why you think Moon is ridiculous, so I can try to improve it. I honestly think what you're doing here is really ridiculous, try and give some feedback instead.

Edit: Sorry, I misunderstood your comment. I interpreted your comment as saying all of these new frameworks are making things ridiculous. This implies that Moon is contributing to that, and I'd rather have feedback.

<comment><USER50> Your English comprehension is really bad. How's that for some feedback?

<comment><USER51> Incivility and acerbic swipes will get you banned here. You've done this many times on HN, unfortunately. Would you please fix this? Among other things, it sets the wrong example for the less laconic.</comment></comment></comment></comment>


A short history of image manipulation before Photoshop - <AUTHOR> http://www.newstatesman.com/culture/2015/04/short-history-image-manipulation-photoshop

<comment><USER2> Here's a longer history

[http://design.osu.edu/carlson/history/PDFs/paint.pdf](http://design.osu.edu/carlson/history/PDFs/paint.pdf)

My personal experience was there wasn't much software for truly manipulating _photos_ on PCs or anything else a average non pro would have access too before photoshop.

Everything I'm aware of before photoshop in the PC space was basically a pixel editor. It might have had brushes like Deluxe Paint. It might have supported 24 bit images maybe possibly. But it didn't have any things I thought of as "photo" manipulation like adjusting hues, values, curves, blurring, burning, dodging, smudging, etc. etc. They just let you draw solid colors shapes, possibly gradients, and cut and paste, maybe rotate, scale, and warp.

<comment><USER3> The problem was that stock Amigas and older PCs didn't have true colour, they mostly had index-colour modes where each pixel was a lookup into a table of usually up to 256 colours, rather than a direct RGB value.

Doing photo manipulation operations would have been difficult unless you did everything on a logical 24bit document and constantly resampled and dithered down to an indexed screen mode. I don't know if anyone tried this, but I imagine it would have been slow and hard to work with.

The Amiga had HAM and later, HAM8 which allowed 4096 and 262000 colours respectively, but they were cumbersome for editing; they were more a means of displaying renders or scanned images than anything else.

I remember the Amiga having 3 tiers of graphics program. You had pixel editors like DPaint, Photon Paint, or Brilliance, then you had image processing programs like ADPro (Art Department Professional) and ImageFX. These programs could perform convolution filters, image composition etc. And with 24-bit output. But they did so in a almost batch-program-like manner[1]. You couldn't paint or play around with things like in Photoshop.

At the very top of the tree you had programs like TV-Paint and ToasterPaint which ran on high-end Amigas with expensive 24bit colour boards. I only ever read about these programs, they were inaccessible to a teenage hacker. While they let you edit images in 24bit colour, they were geared more to video and broadcast graphics. They were closer in spirit to the Quantel Paintbox or Symbolics S-Graphics than the print-oriented Photoshop.

Towards the end of the Amiga's life there was Photogenics, which was probably the closest thing to Photoshop, but by this time Amiga devs were consciously playing catch-up with the PC and Mac and the users were moving on to other platforms.

[1] (edit) Here is a video of someone using ADPro.([https://www.youtube.com/watch?v=0Ef32uNqdIE](https://www.youtube.com/watch?v=0Ef32uNqdIE)) You can see that they use a text-ish interface to select a number of operations to be performed on an image. They then click "execute" and wait for the result to be rendered.

</comment></comment><comment><USER4> I'd be interested in seeing a history of early photo editing software. I remember editing photos in the 90's (I still have some print-outs of the results), but I have no recollection of what software I was using other than that it was _not_ photoshop!

<comment><USER5> Paint shop pro was a good one i used in those days.

<comment><USER6> I remember it fondly as well. It was a lot cheaper but had remarkable capabilities. It kept getting more and more bloated though. I think version 9 was the last one that one could actually use.

</comment></comment></comment><comment><USER7> My grandmother had a picture of her 4 children from the early 50s. Just faces, floating in diamond arrangement. I remember being greatly confused by that, unable to imagine compositing in those days.

Also, my father was into photography in the 70s, there were a few books about it in his desk. Last year I opened one. Every filter name I saw in 90s picture editing software was listed in it, in fact they were all photochemical process filters that were lifted in digital editors.

</comment><comment><USER8> Awesome books on this topic:

[http://www.amazon.com/Commissar-Vanishes-Falsification- Photo...](http://www.amazon.com/Commissar-Vanishes-Falsification-Photographs- Stalin%C2%92s/dp/1849762511/)

[http://www.amazon.com/Photo-Fakery-History-Deception- Manipul...](http://www.amazon.com/Photo-Fakery-History-Deception- Manipulation/dp/1574881663/)

<comment><USER9> > Stalin's

Interesting how your first link get displayed in fixed-width Asian-style characters here in Chromium, apparently because of the apostrophe (which itself is the only character displayed with a narrower width). Just removing the apostrophe in Chromium's address bar immediately makes all the text go back to a normal font. Firefox just shows "%C2%92".

Actually, it looks like what gets displayed as an apostrophe is just a control character, _U+0092 <control> = PRIVATE USE TWO_.

Interesting glitch.</comment></comment>


After nearly 4 years, a bunch of bugfixes to zlib - <AUTHOR> http://www.zlib.net/ChangeLog.txt <comment><USER2> I have moved on to xz. I know it is slower and uses more memory, but I like it because it is multithreaded and compresses a lot better than gzip or bzip2. The main XZ Utils web page also distributes Windows binaries. It is also built into tar now.

</comment><comment><USER3> Facebook's ZStandard compression library appears to be both faster and better at compressing than zlib. Is there any reason to continue using zlib for new projects that don't need backward compatibility?

<comment><USER4> Hm, not really, unless you care about being able to read the data from anywhere else. Zlib, like any of the other "traditional" libraries out there, is supported pretty much everywhere and has bindings for every language you can think of. But that shouldn't drive your project.

</comment></comment><comment><USER5> I work with a few projects that were badly impacted by correctness bugs in the recent zlib 1.2.10 update and could no longer interoperate with older versions of the software.

The update to 1.2.11 did resolve them.

</comment><comment><USER6> Mark's a very busy guy at JPL (I'm a former JPLer myself). Making science happen on Mars and whatnot.

zlib is super stable and that's largely its biggest benefit as opposed to when it was originally released in the 90s. Back then, biggest benefit was that it was not impeded by patents or licensing, and, it was faster (in general purpose use) than any other compressors while providing the highest level of compression (in general purpose use). Nowadays bzip2 and lzma (and others) can provide better compression.

However, there's lots of choice in compressors (especially open sourced compressors).

My favorite for symmetric compression/decompression speed is LZ4 [0] and overall decompression speed over compression ratio. Decompression speed approaches memory copy speed! You can use it for compressing your Linux kernel [1], your ZFS file system [2], and your Linux zram driver [3]. lzo, miniz [4], QuickLZ, LZF, Snappy are also quite speedy in different ways.

For compression ratio, it's lzham [5] that is most impressive. But pigz may be more your style. Others may choose brotli, zstd, or others still.

[0] [https://github.com/lz4/lz4](https://github.com/lz4/lz4)

[1] [http://www.phoronix.com/scan.php?page=news_item&px=MTI4NjM](http://www.phoronix.com/scan.php?page=news_item&px=MTI4NjM)

[2] [http://www.open-zfs.org/wiki/Features#lz4_compression](http://www.open- zfs.org/wiki/Features#lz4_compression)

[3] [https://kernelnewbies.org/Linux_3.15#head-52af9ef123b7c0792b...](https://kernelnewbies.org/Linux_3.15#head-52af9ef123b7c0792b09a1a0222fdc8c21ab5d4c)

[4] [https://github.com/richgel999/miniz](https://github.com/richgel999/miniz)

[5] [https://github.com/richgel999/lzham_codec](https://github.com/richgel999/lzham_codec)

</comment><comment><USER7> zlib is one of those packages that's often the root of all packages.

(Were you expecting "evil?" That's only in packages distributed without checking GPG signatures of sources verified by strong web-of-trust, built on well-secured build farms and implementing end-to-end chain-of-custody for distribution artifacts.)

</comment><comment><USER8> Still cannot be compiled with C++ (-Wc++-compat) We fixed those issues by ourselves.

</comment><comment><USER9> no source repository? Looks like a great opportunity for someone to grab all the release tarballs and build one to chuck on github. Bonus points for putting changelog contents in the commit logs!

<comment><USER10> Mark Adler, the maintainer, has it here [https://github.com/madler/zlib](https://github.com/madler/zlib)</comment></comment>


Nap desks - <AUTHOR> http://hellogiggles.com/nap-desks/ <comment><USER2> What is with all the comments about 'potential for abuse'? Are so many people in so many offices really like little children trying to get paid for as little work as possible - or is this just some kind of twisted disciplinarianism leaking out? From what I see of people regularly staying late, and working through lunch with a sandwich in one hand and typing with the other, on average the opposite problem holds...

<comment><USER3> I believe at least one of the two "abuse" comments is referring to the company abusing it by using it as an excuse to demand more overtime, less time at home, etc. That, I believe, is a legitimate fear.

</comment></comment><comment><USER4> I worked at a company that had a room with a couple of cots for people to grab a quick power nap.

They took it away because certain people were having their significant others over for lunch and using them for sex. :(

<comment><USER5> We have these[1] at work.

Close the hatch and you block out the light and I assume feel some sense of privacy, but there's certainly no hiding a second person in there with you.

[1] [http://d3z1rkrtcvm2b.cloudfront.net/wp- content/uploads/2013/...](http://d3z1rkrtcvm2b.cloudfront.net/wp- content/uploads/2013/09/Google.jpg)

<comment><USER6> I tried napping in one of these once: it was pretty uncomfortable, since you're still sitting fairly upright (imagine an airplane seat tilted backwards), and I find the pod to do little for me in terms of blocking the surroundings, especially noise.

</comment></comment></comment><comment><USER7> How come there are no George Costanza references ?

<comment><USER8> Just came to post this [https://youtu.be/W__qCFWi1KA?t=2m14s](https://youtu.be/W__qCFWi1KA?t=2m14s)

</comment></comment><comment><USER9> Although it'll never happen, I wish the US would adopt siestas.

<comment><USER10> I adopted siestas years ago. When I worked at companies I would often take a nap at lunch in my car parked in a shady spot. Now I have my own office I still take a 15 minute- half hour nap most days (but on my own time). I'm a firm believer that to be at their best, people should eat and sleep when they feel the need.

</comment></comment><comment><USER11> Why is there a monitor on the bottom? Is the monitor used for watching TV/Movies? I can understand the benefit of naps at work, but a TV? Come on. If you must watch recreational videos, do so upstairs on your normal monitor.

Also overhang of the desk suggests that your feet would occupy that space when sitting. Why is the monitor facing away and the chair on the wrong side? The staging of this nap desk, makes me suspicious.

<comment><USER12> Re: the overhang - that was so obvious and the fact that the writer didn't know why you would need that suggests they have never sat at a work desk.

</comment></comment><comment><USER13> Is the next thing the "studio desk" with small kitchen and bathroom attached? Why commute after all? Live at the office.

<comment><USER14> Fortunately, that violates most local zoning ordinances.

</comment></comment><comment><USER15> This is pretty cool and all but a comfy office couch is pretty sufficient for power naps during siesta hour.

</comment><comment><USER16> The way the pillow sits on the slanted wall doesn't look comfortable, is it ergonomical?

<comment><USER17> It's so you can watch the screen better. When you sleep you can slide down.

</comment></comment><comment><USER18> I cant imagine how uncomfortable it would be to nap at someone's feet or have someone else napping at my feet while I'm trying to work.

If it were a dog bed though that would be nice. I could work with a four- legged companion at my feet.

</comment><comment><USER19> How large would your offices have to be to realistically accommodate a team of people using these desks? They look neat to me but I can't imagine buying them because of the spacial concerns alone.

</comment><comment><USER20> But how to avoid coworkers from pulling pranks on you while you sleep?

<comment><USER21> by working in an environment of adults :)

<comment><USER22> In that case you won't need it at all, as in an "environment of adults" you would have a responsible boss who is capable of proper project management, so you won't have to work through the night just to meet deadlines.

<comment><USER23> Naps are good even if you don't work through the night.

<comment><USER24> The moment you have a baby, you immediately regret all the times past that you could have napped and didn't.

</comment></comment></comment></comment></comment><comment><USER25> See the Seinfeld episode when George Costanza hires a contractor to furnish a hidden napping space under his desk.

</comment><comment><USER26> The potential for abuse seems high to me. I say that as someone what worked at a company where people kept sleeping bags near the their desk so they could stay all night to meet deadlines.

I've also worked at companies that had rooms full of cots for sleeping over night when on a deadline even though apparently the laws in that country, Japan, prohibit sleeping over night at the office. Japan is notorious for not actually enforcing their labor laws.

<comment><USER27> I would run the other way if this was advertised as a plus at a company.

To me, "We have nap desks!" denotes a certain expectation of working unsustainable amounts of hours.

<comment><USER28> Yeah, basically the only way this wouldn't scare me off would be if it was explicitly advertised as a siesta-style schedule - e.g. everybody works X hours/day but with a break of an hour or two in the middle of the day to do whatever... and even only then if I was actually convinced it wouldn't be used to pressure for unpaid work.

</comment></comment></comment><comment><USER29> I would be elated if I had a desk that was longer than I am tall.

That would nearly double the size!

<comment><USER28> I have a desk like that (one out of a set rebuilt from giant wooden doors, of all things), but I find I only use maybe 6/10ths of the space.

</comment></comment><comment><USER30> [https://en.m.wikipedia.org/wiki/The_Nap](https://en.m.wikipedia.org/wiki/The_Nap)

</comment><comment><USER31> This would be awesome anywhere than the place I get paid to work. The abuse potential is way too hi.

</comment><comment><USER32> Some kind of anti-ad-blocking script causing the images to disappear a second after loading all the other Pintrest shit?

Sorry, don't care that much.</comment>


Show HN: Learn When to Quit - <AUTHOR> https://github.com/victorqribeiro/googol <comment><USER2> Madden: _" Now with no timeouts I think that the Patriots, with this field position they have to just run the clock out, you have to play for overtime now. I don't think you want to force anything here, you don't want to do anything stupid because you have no timeouts and you are backed up."_

Summerall: _Brady is in the shotgun and he 's gonna throw it ..."_

[https://www.youtube.com/watch?v=GC4qgrUgF9I&feature=youtu.be...](https://www.youtube.com/watch?v=GC4qgrUgF9I&feature=youtu.be&t=51)

Always trust the stats ;)

<comment><USER3> I don't get it sorry. How does this relate with the OP?

</comment></comment><comment><USER4> This is the Secretary Problem.

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

<comment><USER5> Sometimes when I'm bored and out walking, I play this game with cars. I pretend I'm allowed to keep any one of the next ten cars that go past, but I need to accept or reject it the moment I see it.

If the second car is a Volvo do I pick it, or hold out waiting for a Mercedes? If I pick that Mercedes, am I going to regret it in thirty seconds when a Rolls rolls past? Am I going to get stuck with an old Hyundai due to my inability to settle?

</comment></comment><comment><USER6> The distribution of numbers is not uniform across the 0..googol here. The implementation first chooses the length of the number, then fills in the digits. This makes it biased towards smaller numbers.

Does it still have the same optimal strategy as for uniform generation?

<comment><AUTHOR> >"The implementation first chooses the length of the number, then fills in the digits. This makes it biased towards smaller numbers."

Why?

<comment><USER7> Semi-relevant: [https://en.wikipedia.org/wiki/Benford%27s_law](https://en.wikipedia.org/wiki/Benford%27s_law)

<comment><AUTHOR> People, I just ran this simple script on my terminal using Node and I got a pretty uniform result.

      a = {}
      for(let i = 0; i < 100000; i++){
        let n = Math.floor(Math.random() * 10);
        if( n in a )
          a[n] += 1
        else
          a[n] = 1
      }

My result:

{ '0': 9917, '1': 10015, '2': 9957, '3': 10107, '4': 10019, '5': 10037, '6': 10120, '7': 9914, '8': 10042, '9': 9872 }

<comment><USER8> > real-life sets of numerical data

Today you learned: Node's random number generator isn't selecting from a real- life set of numerical data

<comment><AUTHOR> yeah, I just mixed two informations. I thought the other person said my algorithm would be biased towards small numbers cause I use the JS random function to pick the number of decimal places for the number

<comment><USER7> Yep, sorry, didn't mean to say this directly applied, just a neat concept that's somewhat related.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Consider using a monospace font. It is difficult to tell how large one number is relative to another when each digit has a different width

<comment><USER10> Having a button to toggle on/off rounded e-notation (e.g. 1.2365479e+45) could make comparison easier as well.

Nice job with this, I learned something new today :)

</comment></comment><comment><USER11> I have written a small analysis of that same problem using simple Python code, a couple of years ago:

[https://cjauvin.blogspot.com/2012/12/find-true-love-on- datin...](https://cjauvin.blogspot.com/2012/12/find-true-love-on-dating-site- using.html)

<comment><USER12> Nice work

</comment></comment><comment><USER13> All of these huge numbers are basically un-comparable ergonomically to me. Why not make the distribution 1-10k instead?

<comment><USER14> Agreed.

Also, there is really no reason to have multiple boxes you have to click. You could just have a single "next" button along with a counter to show how many choices you have left before you run out.

<comment><USER15> Yeah that confused me too.

'Next' button along with '# samples left' display would be much clearer.

Also, if the largest drawn so far were highlighted, manual play would be easier.

</comment></comment></comment><comment><USER16> I just did "Computer" 50 times and tallied the results.

Win = 32% Lose = 68%

But here's the thing, the goal should not be to win, but to get ONE OF the highest numbers with reliability.

Now here's where Optimal Stopping Theory is not optimal.

42% of the time you lose by getting to the end. Meaning you drew all 50 cards and ended with likely a very small card.

The goal of this algorithm should be that you almost never get to drawing the 50th card. You always stop before then and end with a high number.

Therefore, I wouldn't consider this algorithm optimal. Likely you should draw fewer cards in the beginning.

</comment><comment><USER17> How does this change when you're heavily punished for ending up with a much lower number (e.g., in finding a partner, biz deal, etc)?

Among a set of losing plays, I presume it's 50/50 on whether you turn over every card (and end up with the last one). So a third of the time you end up in the optimal case, another third you end up doing pretty well, and another third you're subject to absolutely random chance. Guess this is an argument for satisficing vs optimizing in most real world applications.

<comment><USER18> You're right, this algorithm optimizes for "1 point for picking the best option, 0 for anything else", not knowing the distribution.

If you _do_ know the distribution, and have some objective function, and samples are "free", you get a different model that you can solve inductively backwards from the case of "the last sample".

A different model is that your objective function is still on order, but it gives some points for "closer to best". Maybe you score minus n for picking the nth best sample. In that case the model need not have a known distribution (It's different if you do or don't.) And the strategy us different: if the 99th sample out of 100 is the second best you've seen so far, you should take it. (Which can't possibly be optimal in the original model.)

</comment></comment><comment><USER19> I don't understand, could some one explain? What am I trying to do in this game? And how do I win?

<comment><AUTHOR> Did you watch the video? It does a very good job explaining the theory tested on the game.

</comment></comment><comment><USER20> There is a huge problem with the "optimal stopping strategy" presented in the YouTube video: _" sample the first 37% of the options, and then choose the first subsequent option that is better than the best option found in the sample."_

By definition, there is a 37% chance of the best option being in your initial sample. You would then futilely browse through all the other options, without ever picking anything.

Ie, if you applied this strategy to "finding the love of your life", as the video suggests, there is a 37% chance of you dying completely alone. That doesn't seem like a very optimal strategy to me.

<comment><USER21> I haven't seen the video but if they are talking about the secretary problem the caveat is that you can't go back to the previous options. You can do that when trying to a find a partner... sometimes.

</comment></comment><comment><USER22> Very interesting, especially the video :pray:

(actual game does not look at all like the screenshot on mac/chrome)

</comment><comment><USER23> For some reason, I thought this was about Vim...

<comment><AUTHOR> :q!

</comment></comment><comment><USER24> Comma's would be friendlier than decimal groupings for North American users; also right-aligning would be nice.

<comment><USER15> The `.` separation confused me briefly too, being from another country that uses `,`.

But you know what, if I were the author I would have used `,` without bothering to localise to `.` (for some toy demo thing like this anyway) so I'm OK with OP doing the same to me.</comment></comment>