The Incredible Sinking Bubble - <AUTHOR> http://bhorowitz.com/2011/06/26/the-incredible-sinking-bubble-debating-the-tech-bubble-with-steve-blank-part-iii/

<comment><USER2> He's using the low valuation of real tech companies (like Cisco) to argue the absurd value of social networking websites isn't out of whack. I don't agree with this logic at all. Although Groupon and Facebook are websites, they are really marketing companies. The bubble is in the value being placed on social networking audience sizes.

</comment><comment><USER3> I'm not sure it is a sound argument because most of the valuations in question are being set by private and institutional investors. So, the evidence of this phase of the bubble (as measured in the Blank paradigm) would be a survey of the sentiment of the smaller subset of individuals who set valuations for companies - not the population as a whole.

Perhaps this is a nuance of the simplified model Blank presented (in the sense that every model is wrong). However, in my mind, it actually supports the Blank argument that a small set of private investors are effectively trying to create an investment that the public views as 'the opportunity of a lifetime'.

In other words, the Horowitz's argument is exploiting the holes in Blank's argument to divert from the obvious fact that we live in a cycle where it is clearly in the interest of every early-stage, private investor to be optimistic about valuations because they have a very good track record selling their story a greater fool in current market conditions.

Falling prices of public stocks (linkedin, pandora) is evidence that sellers have run out of greater fools for the moment. However, the IPO price itself is largely a function of the valuation private investors can convince the institutional investors to buy at and the _initial_ sentiment the can market to the public (so in this case its the average sentiment of only the eager set of initial public investors).

I think this IPO price, and the funding rounds leading up to the IPO are of most interest. Further, I think the sentiment of the subset of the public involved in these investments is what Blank is talking about. And, I think Horowitz knows that, and is merely trying to deflect the debate in a direction that takes it away from looking like the insider-driven system that it is.

</comment><comment><USER4> I guess a lot of outsiders are failing to see why "this time it's different". A/B testing, a savvier industry, and customers becoming more trusting of e-commerce means that the web sector really can grow.

There's a limit, and the industry will hit a wall when people start investing under the assumption that earnings will keep growing (rather than hitting a wall), but that doesn't mean that the industry is overvalued now.

Oh, wait, I need a conclusion. Avoid stuff that's obviously over-hyped, but don't worry too much about the macro stuff yet. I doubt that an industry-wide catastrophe is imminent, and you probably have bigger worries.

</comment><comment><USER5> Glancing back at historic prices shows Yahoo's stock dipped nearly 30% from April to May of 1999 before starting to going nuts a year later. It'd be interesting to look at some historic prices of a company like IPET to see what the price swings were prior to the run up and subsequent popping.

</comment><comment><USER6> As long as there is a wariness of a bubble, there will be no bubble. When everyone throws caution to the wind because they feel like they'd miss out, that's when it happens.

<comment><USER7> Lots and lots of people in the valley and elsewhere were wary of a bubble '97-'00. We used to talk about it all the time. That didn't stop it from happening.

Mr. Horowitz needs to ensure that in the next few years he can sell on the public market stock they've been paying increasingly higher premiums for privately.

It's clearly in his best interests to dismiss any bubble talk.

<comment><USER8> This is a purely ad hominem argument. His arguments can be assessed on their merits, you shouldn't dismiss them because of who he is.

And his central point seems to me to be pretty good: in a bubble like the 97-00 bubble, you'd expect newly IPO'd tech stocks to be soaring, not sinking. It doesn't appear that's happening.

There's a different question which is whether two or three specific companies (Facebook, LinkedIn, Twitter) are overvalued right now. But even if they are, that's not really evidence of a tech bubble unless tech stocks in _general_ are overvalued.

<comment><USER9> Also: early stage investments are more aggressive than ever right now. The sums of money are relatively small, as are the number of market participants, so the risk of contagion isn't big in a macro sense, but it's potentially a real thing...

</comment></comment></comment></comment><comment><USER10> The bubble is in the eye of the beholder.</comment>


The Value of Science (1955) - <AUTHOR> https://fermatslibrary.com/s/the-value-of-science <comment><USER2> If you like this I highly recommend reading Feynman's autobiography "Surely You're Joking Mr. Feynman". It's written just like this, in a conversational and accessible voice. I just finished listening to the audio book last month and I loved it. It's insane how good he was at communicating, and it really gives insight into how his mind works. Helps that he's led a pretty interesting life.

<comment><USER3> I just might have to pick that one up on Amazon...

</comment></comment><comment><USER3> This feels almost prescient coming from 1955. In an information age where everything is at our fingertips, where the "science is settled", it is increasingly uncommon to find those who will admit to having doubt, let alone to admit to being wrong or making mistakes. Doubt and mistakes are what make us human, they keep us honest, and inspire us to reach beyond our finite understanding.</comment>


Show HN: I used Squarespace to build a site for my new game. Very pleased - <AUTHOR> http://www.cartegram.com/

<comment><USER2> For me, the big problem here is that the website gives me no indication of what the game actually is. I understand it involves my smartphone and photographing things in the real world, but that's about it.

However, when I go to the Kickstarter page I see you've got this wonderful video which explains /exactly/ what the game involves, and it actually looks pretty cool.

So I would say get some more information about the game on the website (I would start by adding the Kickstarter video to the front page).

Great idea, though - good luck with the launch of the first season!

<comment><AUTHOR> Thanks Chris. I think you're right about this. The video is way more clear and I need to re-edit it to be timeless and not reference the KS campaign.

<comment><USER2> Yep, I think when people are introduced to a new product they're just used to clicking on a video and having everything explained to them in 2-3 minutes. The video on the KS page looks great, as I said...

</comment></comment></comment><comment><USER3> My only complaint is that these sites all look the same.

<comment><AUTHOR> That's fair, but in my eyes every bootstrap site looks the same too. I think the photography is the key to standing out.

<comment><USER3> Any time you use someone else's framework you're going to look the same. Photography will make you a bettter, or worse, version of the same thing but you'll still look the same. Which is why my web dev company would never consider using such things.

</comment></comment></comment><comment><AUTHOR> I added a temporary video in per the suggestion of a few of you guys. It will be a placeholder until I reshoot something a bit more polished. Thanks again!

</comment><comment><USER4> In my opinion, this site is lacking a solid demonstration of the game/product. My interest has been piqued but the website fails to inform.

<comment><AUTHOR> Thanks for this. I just completed my Kickstarter and the product is in print. I'm going to add a video to the home page once I have the physical product ready. Here's the old video. Does that help clarify a bit? [https://www.kickstarter.com/projects/LenKendall/cartegram- fi...](https://www.kickstarter.com/projects/LenKendall/cartegram-find-your- adventure)

</comment></comment><comment><AUTHOR> I would love feedback on the copy.

<comment><USER5> On the site? It looks good. You might consider adding an option to share the site via social at the bottom. It might drive more traffic to the site.

Also- icantthinkofone is right. You probably want a game info page with screenshots, video or a guide, you know.

<comment><AUTHOR> Not sure how I forgot this. #Facepalm

<comment><USER5> You get distracted lining up <div> tags. :)</comment></comment></comment></comment>


Ask HN: Is full-stack developer is really a myth? - <AUTHOR> I have been writing softwares for the last 4 years professionally. I used to be very energetic about learning new technologies, frmeworks etc and I used to work comfortability across UI/UX, backend, database and deployments and trying to be full-stack developer. But after 4 years I am now realising that I can't be equally good across all stacks and the badge of "Full Stack Developer" is seems to be myth as it leaves you "Jack of all trades, Master of None" so I am now more focused on server side development and DevOps. Please share your views on being a full-stack developer.
Thanks <comment> wu-ikkyu What is mythological about it?

Some of us have teams that split up different functions (i.e. front end/back end developers, DBAs) which makes one become more of a specialist on that which they spend the most time on.

Other work set ups entail the person doing it all by themselves, which makes them more of a generalist.

Just because you are working as a generalist doesn't mean you can't reconfigure yourself to become a specialist, and vice versa. It just depends on what you spend most your time on and how you divide up work between your team.

</comment><comment><USER2> Learn React / Redux / Angular whatever javascript bullshit that is popular this quarter

Learn Go / Python and SQL.

Write an app using these technologies.

Congrats, you are a full stack developer.

</comment><comment><USER3> Devops is kind of diminishing with advancement in docker, kubernetes and paas. So full stack developer is not really a myth if only one sticks to one front end tech right now. I think it's a good time to be full stack dev. Thinking of being one beyond 5 years was probably difficult.

</comment><comment><USER4> It is very possible, I have done so for over 12 years. When you start out you work on mastering certain levels (network equipment, switching & routing, security, purchasing hardware for servers, workstations and other pieces of infrastructure, programming languages to solve certain problems, programming language internals, etc.) to creating automated deployment and security systems across distributed architectures, to a couple of languages that you literally develop in for 8 to 14 hours a day, even on weekends at times (Python, PHP, Java, C, C++, Go, Rust) and add more as new ones come out to see if they can help you in your work).

The best of the so called DevOps have deep understanding of the technology they use (hardware, networking protocols, CDNs, programming language internals, security issues with each language and operating environment choice, etc.). It can be done, and specialization in many things for specific things is a requirement for the very high paying jobs (Python, Java, C, C++, Ruby, etc.).

As the more you know (theory and in practice due to hands on experience over time) the more valuable you are and can make serious waves where ever you choose to work. If you really want to get good at the systems and software engineering sides use your favorite programming language and a new one you have not used to fully automate all of your operations and development deployment tasks.

This will force you to learn a new programming language (at least the core concepts of it) and evaluate it to see if it can help improve things at work. If it can, then you begin to get into the internals of the language and do not forget many of the details as the start to become similar with other languages especially since most are written in C or C++.

The hardcore engineers have the big thick books on their desks and read them from the cover to the back on a regular basis, as we know that understanding things at a deep level is extremely beneficial and financially rewarding. Four years is a short period of time but if your doing heavy engineering then it is possible to master multiple things but you have to have the time to do it which is normally the hard part.</comment>


Ask HN: Anyone using Python 3 in production? (2013 Edition) - <AUTHOR>

This question was asked in 2011 here: https://news.ycombinator.com/item?id=2542576<p>Is anyone now using Python 3 in production? Would you use it if you were starting over? <comment><USER2> Here's good, recent talk by Jacob Kaplan-Moss about porting django apps to Python 3: [http://pyvideo.org/video/1787/porting-django-apps-to- python-...](http://pyvideo.org/video/1787/porting-django-apps-to-python-3)

Last month I started a new django app and wanted to try out Python 3. I did however run into issues with 3rd party apps. I tried to port one, but lack of Python 3 knowledge and time to learn held me back.

</comment><comment><USER3> So far, no, mostly due to 3rd party issues. Once the rest of the library sets I use port over, maybe.

<comment><USER4> I think this is the problem for most people. For most of my own code in the projects I've worked on, a Python 3 port has been pretty straightforward. But I don't think it's really worth the effort to port all my dependencies right now.</comment></comment>


Jumping the gap between a US and UK high school education - <AUTHOR> http://2020science.org/2012/07/29/jumping-the-gap-between-a-us-and-uk-high-school-education/ <comment><USER2> For some reason I end up in a lot of debates on relative school quality between countries across the world (presumably because I live in another country than I was born in, and because I work with academics a lot...) Many have an opinion on country X's school system being better than country Y's. Most of the time, this opinion isn't based on results, it seems (from my off- the-cuff analysis) that school are generally considered 'better' if they are 'stricter' (i.e., place more emphasis on discipline and respect, for example school who let people eat in class must be horrible), and the amount of hard science they teach everyone from a young age on (e.g., teaching everyone hard science more than the basics is better than just teaching those with an affinity for it, and teaching it starting at 6 is better than teaching at 12).

However, people can seldom back that up with evidence. For example, using artificial metrics such as scores in the various Olympiads (math, physics) or more 'utilitarian' metrics such as GDP (because people _do_ use the prosperity of a country, for which GDP is a rough proxy, to justify their preferences, or rather they use it as a driving factor in the optimization function that use to determine which country's school system is 'best').

I get into a bitter argument with my mother, of all people, over this, with her unmovable stance being that in my home country, education is better because schools are strict, pupils address teachers with an honorific, etc; while in the country that I live in, that is much less important. (I'm not Asian and this is not an East vs West debate :) ) Yet in my current country, GDP is higher than in my home country, with many other things being similar; while I have no hard proof that the school system is the only or even a major driver of this difference, wouldn't it make sense that I'd send my daughter to a school in a system that has proven its real-world effectiveness, even if aspects of it go against the common wisdom or 'cultural intuitions' that I was brought up in, and that many in my old country still adhere to? While I guess it would be hard for many to admit that they've believed in things that turned out to be wrong for decades (I personally had that problem less because I never quite identified with the ethos of my old country that much), I'd say rationally that it's more likely that that part of the culture is wrong, rather than there being some extreme coincidence in which, despite having a substandard schooling system, many of the effects of that schooling system in my new country turned out better than those of the old country.

Sorry that this turned into such a long post - I just find it frustrating that, in this debate just like in so many others ;), it's common for people to ignore any evidence-based analysis of this question, or restrict themselves to that evidence that is favorable to their standpoint; and I do think that general prosperity is a direct consequence of a well-performing educational system.

<comment><USER3> Is GDP a realistic comparison - wouldn't a normalized measure like per-capita- GDP be more useful?

I really question whether any of the evidence you mention (strictness, GDP, etc) are anything of a real measure of the educational systems. Would you say GDP is a measure of the medical health of the country?

<comment><USER2> Yes, sorry, I meant per capita gdp, otherwise big countries would win out easily by sheer numbers.

I'm not definitively saying any of these are measures of that - the study of the effectiveness of education is a whole field of academic study on its own. What I meant was, many people use subjective measures that are grounded in cultural traditions as a metric for it, but I think that more objective measures of 'success' (such as prosperity, both individual and of the country as a whole, and for which I use per capita gdp as a proxy, with the caveat that said per capita GDP should probably be distributed roughly normally and have a not too large standard deviation - although I'm not prepared to quantify that, that's a whole other discussion...) are better criteria.

The reason I propose GDP, and this also answers your second question, is the assumption that people get educations to better their lives, at least in part in the material sense. So, the measure of the success of the educational system is in to what extent people actually better their lives in that aspect - to put it bluntly, how much (more) money they make. Of course making money isn't the only driving factor for many people when choosing what to study, but then again, for a majority of students it's a matter of weighing three factors: what do I like, what am I capable of, and what kind of a lifestyle will it provide me with. Since the first two are more or less fixed, the financial prospects of an education become a substantive decisive factor when it comes to study of choice.

So, in that line of reasoning, GDP is not a measure of the medical health of a country; since medical health is a goal in itself, while education is (partially, and in the aggregate, I'm not interested in nitpicking on the absoluteness of my phrasing...) a means to an end, to bettering ones life (at least partially) in the material sense, which is expressed by proxy in per capita GDP.

</comment></comment></comment><comment><USER4> Sorry to hear about that daughter's experience.

My sons attended a well-funded high school with a splendid chemistry lab, did many fine experiments and wrote lab reports. All chose science and engineering in college.

I'm a little tired of some snooty British guy claiming their bad inner-city experience is typically American, then holding up their Public School (which in Britain means Private School here) experience as proof of the superiority of something or other.

My British friend in Computer Science at Iowa got his degree, then went on to study at Manchester (England) because nobody in England would respect his American degree. Once he got there the profs shook their heads, poor guy got an American degree, he'll have to repeat almost everything. They wrote a study plan for him (without his being consulted at all).

Long story short, he didn't attend any class, do any homework, ever really attend anything except his exams. He was top student that year, of course. Of course he was! He'd already been well educated and had work experience.

So, there's my counter-story. And to avoid hypocrisy, I won't claim its typical of anybody, except maybe good Iowa students going to study at Manchester.

<comment><USER5> The author explicitly calls out his school was a comprehensive (i.e. a state run school) - no public school experience in sight. Why the flight to class warfare when this is a discussion about the merits of approaches to education?

<comment><USER4> So did I, so did my sons. State schools in America vary, sure. Maybe we were lucky. But the author's conclusion is, British schools are all better than American schools. I call BS.

<comment><USER5> I don't think this is about the schools, but more the curriculum. The author's argument is that children should be taught all the disciplines at once rather than sequentially; the fact that he's sending his daughter abroad to achieve that is tangential to the core point.

</comment></comment></comment></comment><comment><USER6> I also wonder why I didn't start to learn physics until 12th grade (this was back in 1995). I hate to post an xkcd but I think this is appropriate: <http://xkcd.com/435/>

Starting them all at once is a great way to go about it too. But I wonder if 13 is too late? Why not start at 8 or 9, or even earlier? Do they still think that young children wont get it?

Education is a success when students are engaged and want to learn. Let them see how amazing this stuff is as early as possible and they will get hooked!

\--EDIT-- I came back to add that teaching mathematics in the context of science as early as possible should help a great deal. Mathematics as an isolated subject can be foreign to students. In the context of early science it has applications. Want to apply Ohms law? Get moles in a solution? Understand cellular division rates? etc.

<comment><USER7> > Why not start at 8 or 9, or even earlier? Do they still think that young > children wont get it?

My wife teaches kids around that age in a UK state school, and they teach some kind of combined science in the curriculum - there was a whole sequence on 'forces', which to me sounds like physics...

I was at a private primary school, and did a qualification at 13 called Common Entrance, which we prepared for from 9, which examined chemistry, biology, and physics separately (although we were taught chemistry and physics in the same classes).

So in answer to your question: I think (in the UK at least), they start combined sciences early

<comment><USER8> Private schools in the UK get a fair bit of flexibility in what they do, some (I believe) will even start doing separate physics/chemistry/biology before CE.

But state schools... well I've honestly no idea, the last time I was attending one was when I was 7. But I would never presume to guess what they do based on my experience of what private schools do - they're far too different.

</comment></comment></comment><comment><USER9> I went to public school in Iran until the age of 12, private school in the UK from 12 to 15, and spent my final year in public school in the US.

Observations:

Math: what I was learning as a junior or senior in the UK/US was what I'd already covered as an 11-12 year old in Iran. The only new subject we covered was calculus. That really sucks and is a big concern for me since my kids go to public school in the US.

Science: was very hands-on in the UK (lots of experiments and labs). Much better for learning than the text book approach in Iran. I only had 1 year in the US, but it was much less hands on as well.

</comment><comment><USER10> The writer seems to be generalizing the entire US system based on his daughter's experience in one US high school, which he admits is "overcrowded, under-resourced [and] doesn't think much of science".

Is this really a problem of the US system as a whole or is it this particular school?

Seems like a bit of a "the grass is always greener on the other side" thing.

<comment><USER11> Most school systems are underfunded right now because our state governments are still recovering from the 2008 financial crash.

<comment><USER12> Many have been underfunded for much longer than that. It's only after the GFC that we realized how bad it has gotten. When it was only the schools in the poor districts the middle class didn't complain (and didn't care) but as the crisis spread to even upper-middle class districts it was hard to ignore.

Now, overworked parents are blaming overworked school teachers about their underperforming kids.

</comment></comment></comment><comment><USER13> This post struck a nerve with me as I'm agonizing over the decision of moving to the US while my daughter is about to enter her final year of GCSEs at a great school.

I really worry that moving her will seriously damage her chances of going to university in the UK, but the thought of leaving her here while the rest of her family move to the US is just too heart breaking to contemplate.

The area around San Francisco we're looking to move to has great schools but the final 2 years of the US high school curriculum is totally different to the UKs A-Levels and I fear she will struggle to adapt.

</comment><comment><USER14> The public school in question is likely one of these:

[http://en.wikipedia.org/wiki/Huron_High_School_(Ann_Arbor,_M...](http://en.wikipedia.org/wiki/Huron_High_School_\(Ann_Arbor,_Michigan\))

or

[http://en.wikipedia.org/wiki/Pioneer_High_School_(Ann_Arbor,...](http://en.wikipedia.org/wiki/Pioneer_High_School_\(Ann_Arbor,_Michigan\))

</comment><comment><USER15> It makes me sad that this modern world with so much progress elsewhere still can't get education right for our children.

<comment><USER16> Because schools are not the first in line for funding. Wars are. Elderly health-care and pensions benefits are. Other stuff as well.

Why are schools tied to local property taxes? I could never understand that. That is all kinds of messed up. Schools funds should be first in line in the federal budget, alongside with the new "surgical strike weapons" and the new "aircraft carriers".

Also, the politicians who are can vote and effect changes are sending their kids to private schools so they really don't care what everyone else does.

As a society we allegedly claim that children are the most precious things we have and yet when it comes to education, our actions seem to betray our words.

<comment><USER17> Not to disagree with anything you say, but it's not just funding. There's also an immense, yawning lack of consensus on what and how children should be taught.

For example, I would expect much, much more science to be recommended by the typical HN commentator than by the typical teachers' union.

The consequence is that the "traditional" high-school curriculum, which was invented well over a century ago, has barely changed since because nobody can get all the stakeholders to agree.

<comment><USER16> Start with funding. Pay teachers well. Make being a teacher the same as being a lawyer or a good engineer.

> For example, I would expect much, much more science to be recommended by the > typical HN commentator than by the typical teachers' union.

Great point. I understand that some teachers wouldn't really understand a bad science text book/curriculum vs a good one, because they are not that good at it. Associate schools with local universities. Ask university math and physics professors to rate a curriculum., don't just rely on English majors being influenced by book publishers to determine how science should be taught

Fundamentally education is so far down the list after wars spending, elderly care and other issues that it just gets the short end of the stick. If they approached it with the same budget and interest as they approach a new aircraft carrier fleet we'd have a world-class education system.

<comment><USER18> If the goal is science literacy wouldn't it make sense to use a scientific approach to determining whether there is a correlation between spending and achievement in schools?

</comment></comment></comment></comment></comment><comment><USER19> Maybe science just isn't the thing his daughter wants to do. I hope that the problem isn't really him forcing his daugher to be someone she isn't (like the stereotypical "you can be any kind of doctor you want" parents...).

</comment><comment><USER20> Apparently this school has an emphasis on sports and the arts. Couldn't he have chosen a different school? (I know next to nothing about the U.S. system, and Wikipedia doesn't help me.)

<comment><USER21> That is actually a large controversy right now. Generally speaking you have to attend the government school in the same tax district as your residence. Unless of course you have enough money to go to a religious or independent school but those can cost $20,000+ per year.

There is a push for "school vouchers" that allow you to move between government schools or use government funds to pay for tuition at a non- government school. This is opposed by the teacher's union as it will "drain funds from schools that need most" (schools are funded by property tax with per-student funds from the state and federal government). Wikipedia: <http://en.wikipedia.org/wiki/School_choice#United_States></comment></comment>


Amazon vs. Jet.com - <AUTHOR> http://www.businessweek.com/articles/2015-01-07/amazon-vs-dot-jet-dot-com-marc-lore-aims-to-beat-bezos <comment><USER2> They'll still lose. Amazon has Prime. They have the fastest shipping in the world. Fuck, they practically invented Just-In-Time warehouses. Amazon is diverse too; they have one of the largest clouds in the world. People _know_ about Amazon. Amazon has tons of reviews on products too, so I know if a product is shitty or not.

I order online like 3 or 4 times a year, I'm not going to pay $50 to shave a few percentage points off my total bill.

<comment><USER3> Do you have kids? Are you a middle-class homeowner?

Because I think that's where the real money is and who these guys are really targeting.

Costco launched in 1980, 30+ years after Wal Mart, and won by offering less selection and lower prices. I believe there's a real opportunity here.

<comment><USER4> "Costco launched in 1980, 30+ years after Wal Mart, and won by offering less selection and lower prices. I believe there's a real opportunity here."

A website, such as jet.com is out of "sight out of mind". Unless it becomes a habit (like Amazon has for many people including me).

Costco has several advantages over a jet.com. And the Devil is in the details in terms of what made Costco a success.

1) It's not out of site in any way. You can't miss Costco if there is one in your neighborhood. You can easily miss jet.com or not think about it unless it becomes a habit.

2) Costco succeeds also by doing what Walmart does in part. Once you are in the store they get you to buy things that you didn't think that you needed. And more of it then you thought you needed. This was the concept behind Makro Self Service Wholesale in the 80's (the place that Tom Stemberg of Staples interviewed at and got the idea for Staples for. [1] (Ntim, I was at that store when it opened..)

3) Employee culture. Can be done (Zappos) online but I would say more of a benefit in a physical store (my weakest point I will agree). [2]

[1] [http://www.forbes.com/sites/danschawbel/2012/07/05/tom- stemb...](http://www.forbes.com/sites/danschawbel/2012/07/05/tom-stembergs- advice-to-young-entrepreneurs/)

[2] [http://www.businessweek.com/articles/2013-06-06/costco- ceo-c...](http://www.businessweek.com/articles/2013-06-06/costco-ceo-craig- jelinek-leads-the-cheapest-happiest-company-in-the-world)

<comment><USER5> #2 and #3 are explicitly points being addressed by jet.com.

Re #2: The entire Jet model is the more you buy the more you save. Taking the baseball example, it's pretty easy to infer when they see you are buying cleats and a glove that they will up-sell you with a bat as well and call out the bundle discount you will receive.

Re #3: The article explicitly discusses that the founder is trying to create an "anti-Amazon" culture that values people and relationships. You can agree or disagree with this approach, but you can;t deny they are actively trying to promote a great culture to work in (no performance reviews, for example).

This is not to say that Jet.com is going to nail it, but you can't dismiss Jet.com's efforts here out of hand either.

</comment></comment></comment></comment><comment><USER6> Once I sign up, some of the resources return 403 (IP is blocked by geoblocker ...). Went through a US proxy and can see what it's supposed to look like. The funny part is that first message that is supposed to say "Thanks! You're Jet Insider No. XXX,XXXX Share to move up the ranks" instead says:

Thanks!

You're Jet Insider

No."

I could not figure out what the hell that was supposed to mean.

I guess this is just some launch last minute scrambling or something? Might not have been the best choice, anyone outside the US or wherever is being blocked has the first impression "Ah, they are going to take on Amazon and can't get a signup flow to work ... right".

<comment><USER7> There is a number that comes after "No." which shows your spot in line. It took a few seconds after the page was rendered to show up. Also, that entire circle is in flash. That may explain why you had that kind of experience

<comment><USER8> There's no flash on there except for some thing for copying the referral URI to the clipboard.

</comment></comment></comment><comment><USER9> Jet sounds pretty disingenuous to me.

 _" We're basically not making a dime on any of the transactions."_ \- If that's how you really feel then take the word basically out. You are making money off transactions but you would very much like to give the impression you aren't.

Their example of "How Jet Works" involves supposedly wholesale prices that somehow get magically discounted and a shipping arrangement that somehow magically works that, if you pay with a debit card, saves you $6 off your contrived amazon order...

Then it goes into a story about the guy who's starting jet and how he is and always has been a money hungry, cut-throat business man looking to make millions and then sell. Nothing about his "bio" sounds very consumer focused.

Exerpt from the site: "Refer friends to boost your Insider rank. The more friends you refer, the more perks you unlock."

Yeah, no thanks. Costco is consumer focused, amazon is consumer focused, this is money focused and the businessweek piece is a complete puff job.

<comment><USER10> I think the point is that they want to make all of their money off the $50 yearly charge.

</comment></comment><comment><USER11> I went to the website. Signed up for the insider thing. It said "Share <link> with your friends to be top 100,000 to get access". BYE!

Really? Their strategy to starting a business is making a pyramid scheme?

<comment><USER12> Sign up for Jet Insider: Earn a free 6-month membership

Be in our Top 100,000: Earn early access to our site

Be in our Top 10,000: Earn a free 1-year membership

Be in our Top 1,000: Earn a free 5-year membership

Be in our Top 100: Earn a free lifetime membership

Be in our Top 10: Earn 10,000 shares of Jet stock

Be the No. 1 Insider: Earn 100,000 shares of Jet stock

</comment></comment><comment><USER13> Also notable is that Jet.com is using F# as the core language for their backend

<comment><USER14> It'd be great if they could blog about how F# performs and the benefits of using it. e.g. Fewer bugs, less code... How are things working in practice.

<comment><USER8> Hey, I'm Jet's VP Engineering. We'll definitely be blogging about F# and some of the other tech behind Jet in the very near future!

<comment><USER15> I'm also very interested in the F# side of things, i haven't seen much articles blog posts about it.

</comment></comment></comment></comment><comment><USER16> Amazon will kick their ass on logistics. Amazon already does most of the bundling, dynamic pricing, discounts for slower shipping and other tricks that jet.com mentions. Amazon will also kick their ass in pricing (that's what they did to diapers.com).

They only real viable option is to have products that Amazon doesn't have, but citing Sears as a key early partner doesn't really bode much hope in that dept.

They'll also need to burn insane amounts of cash on marketing and customer acquisition to get people to pay for subscriptions (which they say is their only source of revenue). This at a time when VCs appetite for startups burning cash like crazy is starting to come back to reality...

If there are investors are willing to set piles of cash on fire poke Amazon in the side then I'm happy to watch such a blood sport, but the business plan and concept at this point seems rather weak.

</comment><comment><USER17> How is a bunch of disparate geographically disjointed retailers going to out- price one massive local Amazon warehouse doing a large volume of local deliveries? Plus I'm already paying prime, which is > $50 membership fee Jet is charging.

</comment><comment><USER18> Lore and Baharara are quite a team. When they were Diapers.com they went down kicking and biting against Amazon. I hope a book gets written about these guys, they are incredibly inspiring.

</comment><comment><USER19> Finally! If Jet.com doesn't charge amazon style fees this means I can mark my products down by 25-50% ! and still make the same profit as I do on Amazon. Amazon fees are massive even without the penny pricing snag. Here's mine: [http://i3.minus.com/i0tJucuLy5zPB.jpg](http://i3.minus.com/i0tJucuLy5zPB.jpg)

When Jet opens up to small sellers I'll be the first in line. Hopefully consumers will notice the big price differences and buy a membership.

<comment><USER20> You can! [https://partner.jet.com/](https://partner.jet.com/)

</comment></comment><comment><USER21> At first it sounded like a better version of online Costco, which sounds awesome since Costco's selection is limited. But after reading how it really works I'm not so sure this will be that competitive vs. Amazon. There's a dependency on other merchants it sounds like?

<comment><USER22> over 40% of Amazon sales are from their 3rd party marketplace which relies on third party merchants. If those merchants were allowed to sell without paying Amazon 15% commissions and without competing directly with Amazon's first party sales, you would imagine they could become even more competitive on price. there is no reason Jet will not be consistently lower than Amazon on price especially since they take on no infrastructure costs.

<comment><USER21> I see. As a prime member my perspective only shows me how I use Amazon. I always use the Prime filter and try to buy things that are Shipped from and Sold from Amazon. For 3rd party merchants than this definitely sounds impactful.

I wonder if there's any room for Jet to satisfy those who seek impulse buys, convenience, and speed.

<comment><USER23> From the article, it seems like you still can, you'll just pay a higher price. If you want next day shipping on one item, you can do that; you just won't reap the benefits of their bundling idea.

</comment></comment></comment></comment><comment><USER24> They lose right off for me because the back button doesn't work on jet.com to even exit back to the previous site you were on.

</comment><comment><USER25> These "share your link to move up in line" things are a fun mechanic, and seem to work well for virality, but the way they're currently being implemented is embarrassingly easy to gamify.

In a line of curl and about ten minutes, I went from ~130,000 to #2 (proof: [https://twitter.com/cgenco/status/553651179779940352](https://twitter.com/cgenco/status/553651179779940352)). Anyone with an elementary knowledge of the Chrome web inspector and bash could do the same.

This could be halfway patched by only counting _verified_ accounts. ie: send a verification email to everyone who signs up, and only count them if they click the link. It could still be "hacked," but it would be more tedious and require sufficiently more resources. If you're thinking about doing something like this for your startup launch, _please_ at least verify email addresses.

A full solution would have to depend on something that could verify that an account has one-and-only-one real person behind it. Perhaps linking a credit card, making a purchase, or shipping to a unique address.

I'm really interested in jet as a service, and very excited for the launch, but I'd be incredibly disappointed if my ~5k fake entries aren't discovered before the end of this competition.

As an aside: this website has really confusing UX:

1\. Why does practically everything on the page flip over if I hover for ~1000ms? Things should either flip over _immediately_ on mouse hover (which still isn't fantastic - what do you do on mobile?), or after a button press.

2\. "Click to copy your unique link" doesn't work (Retina MBP OS X 10.10 Chrome 39.0.2171.95 64-bit), and only shows a pointer cursor the first time you hover over it.

3\. "Click here to check your Jet Insider rank" in the welcome email doesn't have an href attribute, so the link doesn't work.

<comment><USER26> like you say, email verification can be hacked just as easily. best answer is to use some authenticated id like facebook/twitter. regardless, why would someone bother....their terms have all sorts of stuff about securits laws, signing consulting agreements with jet etc...they must be auditing anyone in the running for stock.

agree about the ui thought....flash? 1990's much?

<comment><USER25> I'd bet that's only there to verify granting of stock options: manually going through the top ten isn't that labor intensive. There's still an advantage to getting free service for a year.

Re flash: unfortunately that's the state of the art for cross platform copying to the clipboard. Their implementation just seems broken.

</comment></comment></comment><comment><USER27> The signup process reminds me of a ponzi-style scheme.

After entering your email, you can "unlock" features or free service by referring people.

<comment><USER28> Other than having more tiers how is this any different then sign up incentives any number of other sites offer? When Uber gives you free rides for signing up other users is that a ponzi-style scheme as well?

</comment></comment><comment><USER29> slightly off topic, but what still amazes me is the variability in price over time on amazon... www.camelcamelcamel.com is mind blowing

<comment><USER30> There's quite a bit of algorithmic pricing going on @ Amazon by all parties. Sometimes it leads to hilarious results.

[http://www.michaeleisen.org/blog/?p=358](http://www.michaeleisen.org/blog/?p=358)

</comment></comment><comment><USER31> Saying that Amazon is an e-commerce provider is like saying Microsoft is a hardware company because it sells (good) keyboards. Amazon is positioned to become the biggest distributor of computing power to leverage you to sell a good that Amazon's army of distribution centers and local courier agreements can get to you in as little as a few hours.

Yet-Another-Hyperbole-Filled-Buying-Club is not something I believe Bezos would be scared of. If anyone should be scared, it should be UPS, FedEx, and the USPS. Amazon is much more likely to be coming for them.

</comment><comment><USER32> This sounds gimmicky, but I fed them an e-mail address. I found the weirdo smiley face logo to be off-putting. It's jarring somehow.</comment>


I'm the Lego Designer who turned the original MOC into this Lego set (2015) - <AUTHOR> https://np.reddit.com/r/lego/comments/29w5q7/exo_suit_side_by_side_original_submission_vs/cip86pq/ <comment><USER2> > _According to him the Red and White spacemen started as Cosmonauts and > Astronauts. Later they became red pilots and white explorers, yellow were > introduced as scientists, blue as security /soldiers, black as spies. Pete > and I decided Mech Pilots should be a new colour. Green!_

This is absolute gold dust information! I always wondered what the colour coding (beyond the original white/red) was.

<comment><USER3> "Always color code your spies." \- Sun Tzu

</comment></comment><comment><USER4> The related YouTube video, about the ExoSuit concept and launch process:

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


[60fps] Framerates do matter - <AUTHOR> http://www.significant-bits.com/framerates-do-matter

<comment><USER3> The reason TV produce smooth motion is not because of the blurring effect but because they really work at 60 frames per seconds (NTSC) or 50 fps (PAL). But the effect is achieved only with interlaced TV (CRT).

The motion on films is not smooth at all, shaky at best. That's why cameramen make sure not to move their camera too much and use a lot of tricks to avoid "motion sickness". In one hand they do use full frames (aka progressive frames) but only at 24 fps.

That's not exactly what you call "Motion blur" to be "the biggest reason TV and film get away with smaller framerates".

However, yes, to have a good motion you need to have a good framerate.

You can read a very good interview of James Cameron about it: [http://www.variety.com/article/VR1117983864.html?categoryid=...](http://www.variety.com/article/VR1117983864.html?categoryid=2868&cs=1)

It basically says: Perceived resolution = pixels x replacement rate. and the magic number is known: it's 48 fps.

The main problem is not only having the game/software logic to send the frames to the display fast enough but also having the display being able to display them!

CRT were able to do it through interlaced frames, but mainstream flat panel technologies (plasma/LCD) basically can't. OLED should do better on the near future.

That said when there is no motion, 1 fps is just fine :-)

<comment><USER4> 1 fps, 1 dpi. This is too low even for a game like "Simon."

As a musician, I consider 1/100 of a second just a bit beyond human perception. 1/48th of a second is something like "magician sleight of hand time" to me.

<comment><USER5> If you were sitting in a dark room, you would notice a flash of bright light a lot shorter than 1/100 of a second. You might find this interesting:

<http://www.100fps.com/how_many_frames_can_humans_see.htm>

Of course, for audio, the brain is very sensitive to the lag between left ear and right ear hearing the same sound, as that's part of how sound direction is determined.

<comment><USER6> >If you were sitting in a dark room, you would notice a flash of bright light a lot shorter than 1/100 of a second.

You can see cosmic rays that last a lot shorter than even that. The real test isn't a single flash of light, but how quickly we can distinguish two separate flashes covering more or less the same spot on the retina. i.e. how high do you have to turn up a strobe light before it starts being perceived like an ordinary light? Since old school fluorescent lights (in good working order) had only slight visible flicker at the edges of peripheral vision, I'd say it is around 120hz.

<comment><USER4> But measuring the duration of a tone or a light coming on for an interval -- this is of interest to me as a musician. And 1/100th of a second is way too short to notice reliably.

</comment></comment></comment></comment></comment><comment><USER7> Here is a good explanation of Persistence of vision which relates to how the Human Eye actually sees motion. In reality, your eye does not work in frames.

<http://en.wikipedia.org/wiki/Persistence_of_vision>

And here is a breakdown of Motion Perception:

<http://en.wikipedia.org/wiki/Motion_perception>

</comment><comment><USER8> To the first point, "FPS" is a different unit than "Hz". A significant number of games run their physics, logic, rendering, networking, and other processes at different update rates. Forza 3, for example, renders at 60 frames per second, but updates physics at a much higher frequency (360 hertz, IIRC)

</comment><comment><USER9> Yes, framerates do matter, but other things matter more.

There is a tradeoff of what you are going to use your computing power for - <USER2> you want pretty or smooth?

As explained in a linked article from Insomniac Games, majority of people prefer extra quality of graphics over extra smoothness of motion:

[http://www.insomniacgames.com/blogcast/blog/mike_acton/15030...](http://www.insomniacgames.com/blogcast/blog/mike_acton/1503082)

<comment><USER5> It also depends on the type of game and how well sync'd it is with the monitor refresh. There's something undeniably buttery smooth about a solid vsync'd frame rate equivalent to your monitor's frame rate, which just isn't present at lower frame rates. Smooth inputs result in slick oily outputs. And there's less lag between input and output as the frame time is smaller, while game loops are normally sync'd to the frame rate, so a higher frame rate will result in less lag between input and display.

I would also make the point that this is (to me) most visible in PC games controlled with the mouse, especially twitch-sensitive FPSes. Your link relates to console games, which need only cope with the relatively blunt instrument of a controller, and output to what's likely to be a relatively slow display. Most purists would agree that first-person shooters work best with a mouse and keyboard, rather than an analogue controller. And by slow display, I don't mean the refresh rate, but rather the combination of response rate and frame lag.

</comment></comment><comment><USER10> The blogger is completely right. I think games should always, always favor frame rates over better graphics. A game isn't a picture, a game is something that's alive, something that moves.</comment>


Ask HN: Resources for a 5yo interested in robotics/coding? - <AUTHOR> My 5yo is fascinated by robots, computers and how they talk to each other. Are there any resources you'd recommend to help her explore <comment><USER2> Scratch, the programming environment from MI, and Sphero robots.</comment>


A Threat Analysis of RFID Passports (2009) - <AUTHOR> https://queue.acm.org/detail.cfm?id=1626175

<comment><USER2> The eavesdropping attack could be defeated by shielding the reader. Make a shielded container, place the reader in it, then slide the passport through a slot to be read. Solved.

The same could (and should) be done for any short range RFID transactions. Do them within a cage, and eavesdroppers are thwarted.

I'm not sure, but I think the eavesdropping equipment can also be blocked with RF noise. Just make the vicinity of the reader very noisy, with accuracy limited to a few centimeters, and they will receive a ton of garbage.

While we're at it, let's detect live receivers and require them to be turned off. Cellphones, laptops, pacemakers, everything off within 4meters of the receiver. Well, maybe not the pacemaker.</comment>


Whats the standard practice when it comes to future patent profile? - <AUTHOR>

Hello,
I am joining a startup and has already worked out an equity agreement. However, I dont know the standard practice for future patents that I would be involved (if any). I mean if in the future the patent profile is up for sale, do I only get a portion as specified by equity (say only 10%) or can I work out a clause that would result in more shares for me in case of patent profile sale, say, 50% of it. whats the usual practice?
I am not even sure if the question is right!
Thanks in advance.
ps. I am dealing with suites here hence the sense of paranoia <comment><USER2> Usually you get nothing. Patent licensing isn't treated differently from other revenue in terms of sharing with employees.

<comment><AUTHOR> thx. I thought so, but that seems unfair. Even if a company go down or the people who'd left it must get something if they were involved in developing patents. In case of startups that may not seem significant but I wonder who got the money when Nortel sold its patent profile?!

<comment><USER2> If you want a significant stake in the company's success, either become an executive or start your own company. The fundamental tradeoff in work-for-hire is that employees are exposed to less financial risk and receive less share of profits. (Would you be willing to pay the $10,000 fees on patents that you write?)</comment></comment></comment>


The Steam Controller Update - <AUTHOR> http://store.steampowered.com/controller/update/dec15 <comment><USER2> Wait, it has Gyro? I've had it since October and didn't know this.</comment>


Ask HN: Feedback on brand/website after Kickstarter - <AUTHOR>

Hi everyone, we recently completed our Kickstarter fundraising and are now working to make/deliver the perks (handcrafted shoes). Meanwhile we've completed our updated website, though we only make 5 shoe designs.
[http://themarkhor.com]
Could you please help me by giving feedback on the design and experience of the website? Thanks in advance for your generous support.
Waqas, founder <comment><AUTHOR> Clickable link: [http://themarkhor.com](http://themarkhor.com)</comment>


Chrome to require Certificate Transparency to set EV bit - <AUTHOR> https://sites.google.com/site/certificatetransparency/ev-ct-plan

<comment><AUTHOR> Here's a quick overview of the system.

[http://www.certificate-transparency.org/what-is-ct](http://www.certificate- transparency.org/what-is-ct)</comment>


What Is the Difference Between Vibrato and Tremolo Effects? - <AUTHOR> These 2 different effects are probably the most confused effects with musicians and manufactures alike. What effects do is vary the outputted sound in some fashion, as for example the over-drive pedal which is excessively used in heavy metal bands. These effects both operate with the modulation or by changing the modulation of the sound waves. Sounds waves can be altered by natural means, or by a musicians technique or by using electronic devices to digitally distort and/or enhance the sound. https://www.nextbigwhat.com <comment><USER2> I am unsure what you want. But I can clear up your question.

On an electric guitar, and some acoustics, you will see a bar that they.call the whammy bar. This is often a tremolo bar by name. The truth of it is it is a vibratto bar

Vibrato modifies music by changing the pitch.It bends wires.

For reasons unknown, tremolo adjust by moving the volume. The real tremolo is inside your amp or in a pedal.

Where the confusion came from is still unknown. But, your tremolo is probably in an amp or pedal. Vibrato is by the bar they sometimes call a whammy bar.</comment>


If TypeScript is so great, how come all notable ReactJS projects use Babel? - <AUTHOR> https://discuss.reactjs.org/t/if-typescript-is-so-great-how-come-all-notable-reactjs-projects-use-babel/4887/2?u=spicyj <comment><USER3> Speaking as the person who implemented JSX support for TypeScript, I question the premise! JSX support (and implementation of React semantics for typechecking that JSX) was a very popular feature request. I can tell you just from how quickly people notice when something JSX-related changes in the nightly build that there are a lot of people using TypeScript with React.

Also, since this seem to be a popular misconception, JSX support in TypeScript is _not_ wedded to React. The default JSX target is React, but you can set JSX to "preserve" and get very vanilla semantics as well as keeping the JSX in the emitted code so you can pipe it through a custom transformer.

The question also points out that the reader is looking at lots of tutorials -- it should be unsurprising that these don't use TypeScript as it's an optional thing that would only increase the concept count in an educational setting where you want to only show the thing you're trying to explain.

If you need a notable React + TypeScript project, see the Delve team's write- up of their use of TypeScript - [https://medium.com/@delveeng/why-we-love- typescript-bec2df88...](https://medium.com/@delveeng/why-we-love-typescript- bec2df88d6c2#.uvwtenu64)

<comment><USER4> > It would only increase the concept count in an educational setting where you > want to only show the thing you're trying to explain.

As someone who has written a long tutorial, this makes total sense. When I was first looking at the react ecosystem, it was very frustrating because of the high cost of picking pieces to work together. I really liked [http://teropa.info/blog/2015/09/10/full-stack-redux- tutorial...](http://teropa.info/blog/2015/09/10/full-stack-redux- tutorial.html) because it showed how to use mocha _in the context_ of we webpack and react and redux.

It would be nice to see more tutorials for curated toolchains, but they take a lot of work.

<comment><USER5> This is basically my frustration with the whole trend toward smaller pieces over big monoliths. I don't need a best-in-class every tiny little thing; I just want reasonable tools I can expect to work together well.

<comment><USER6> The JS build system ecosystem could definitely use some help along the whole "reasonable tools I can expect to work together well" front. I swear, 30% of my time is spent fighting the build systems and their plugins that hate each other.

EDIT: to add, I think the TS team has done such a bangup job on Typescript that I would love it if they could create a build system as well. Some things that would be nice to have:

* Build-time loading of static resources (.json into js objects, html into strings, etc.)

* File watching and processing for more than just .ts/.js files

* Optimization. Not just tree-shaking and minification, but you could actually get a little more advanced due to the static types and ES6 modules.

* Environment-dependent compilation (compile _these_ files in _this_ way, inserting _these_ static values where ENV variables are used in the source, etc.)

* Target capabilities analysis (ie. for this set of browsers and versions, what is the Lowest Common Denominator for browser capabilities, and ergo, what babel transforms and browser shims should be included?)

* Integrated contracts testing with test elision (ie. run these tests in these (karma? selenium?) environments and if failing, throw a compilation error or warning, and if passing, strip the tests from the compiled source).

* Source packaging (gzipping, etc.), and deployment plugins (ie. deploy compiled assets to S3, package for NPM, etc.).

All of these are pain points in Typescript projects, and all of them touch TS projects in such a way that it makes it even more painful in existing build systems.

<comment><USER7> I find webpack to be quite a 'holistic' solution I got pretty much everything out of the box or with minimal googling.

I agree though over-fragmentation is a huge problem for JS, we need the big players (either foundations or companies) to put their weight behind one or two solutions and just get on with it :-)

<comment><USER8> Google sort of already has one, and has for a long time.

Now that their Closure Compiler supports ES6 quite well, I've had a decent amount of success writing my app using straightforward ES6 and referencing the extensive Closure Library for functionality I would've previously pulled in npm packages for.

And the nice thing is that the whole library is written in such a way that all of the compiler's advanced optimizations and branch pruning, and dead code elimination work nicely on it so your compiled JS ends up containing only the code you need, and none of the code your don't need. If you want to use JSX in React projects, you can still zip the code through Babel or Typescript before feeding it to Closure.

It certainly won't work for every project, but it's one way to write modern JS without having to deal with the node/npm ecosystem too much...at least until things settle down a bit.

</comment></comment></comment></comment></comment></comment><comment><USER9> Anecdotally, at Bloomberg we're in the middle of ramping up TypeScript support in our core server-side stack. Our custom IDE is Windows based, so it was very straightforward to integrate the tserver into the workflow to give developers the choice of writing vanilla JS or TS with additional annotations we send down to the IDE for the core stack. We have the largest single collection of JS I'm aware of and we're eager to see TS take off as we iron out a few corner cases and really get 2,000+ devs using it daily. This isn't the web or Node, so make of it what you will -- but the tserver integration and ease of layering on top of the existing vanilla JS in a progressive manner made it a simple decision.

<comment><USER10> That sounds really interesting. Could you give more details about your adoption plan? Which version of TS are you using? Are you planning to migrate to TS 2.0, when it comes out? In your experience so far, have the conversion done until now caught any bugs?

<comment><USER9> If I'm remembering correctly it first went live to some early adopters with 1.6.1 and it is using 1.8 now. We obviously want to track the latest releases as fast as we can because they bring new features we're interested in.

I would need to ask some of the teams that tried converting larger projects specifically what they found that they felt was important. I'm certain TS would find _some_ bugs in any sufficiently large project, but I'd have to go dig up data to know roughly how many or how serious they were. Just because there was a technical quality issue with the code doesn't mean that the vanilla JS version of it wasn't producing the actual desired result. It's hard to gather numbers for that type of thing. It's very similar to the let-down a lot of people feel with using static analyzers on mature, battle-tested C++ code for the first time. It will certainly find some nits, but most likely they were not that important to begin with.

</comment></comment></comment><comment><USER11> I don't feel the posts answer the question, they are more ads to Typescript or Flow. Unsurprisingly the people who answer are the one who use TS or Flow.

So I tried a little to convert a big React project to Flow or Typescript. The Flow was a non-starter because of the absence of Windows support at the time, and we use like 40 (non dev) dependencies, and Typescript has a way better support for typings, I tried Flow on a mac it was chocking on the size of the node_modules or couldn't find the app modules because we use a webpack root dir (i don't tried hard to make it work).

When the app was started Typescript didn't support React so it wasn't written in a "static" way, and accumulated a lot of dynamic idioms, also the backbone of the app is a dynamically generated schema based on XSD and that would be hard to make it compatible with TS type system, also React ecosystem doesn't really use it, leading to a chicken/egg problem, and React.PropTypes is already a form of type checking (but dynamic) so it probably lessen the feeling of a need of static typing in React ecosystem.

</comment><comment><USER12> I've been using React + Redux + Typescript stack and I've been quite happy with it (It's hard for me to image how you could do big refactoring without TS).

The fact that components props are verified by compiler instantly when I type is a big win. I believe with PropTypes you can't specifically describe what is the shape of your data, for example object with property of such name and the value of this property is object with other concrete properties. Or array of objects with specific property. In pure react you only have "React.PropTypes.object" and "React.PropTypes.array" in TypeScript you can say "{ foo: string, bar : { fieldNum : number}}" or "{foo: string}[]".

Some other observations:

\- I use Typescript 2.0 RC, because it has union types [0] and it works great with Redux reducers. It's super cool!

\- I don't miss spread object operator that much, it would be nice but I'm fine with some utils function that can even verify that I "override" property that exist is source object[1] (I mean creating new object with changed properties)

\- What I really miss is the ability to say that what is the return type of the method. There is "typeof" operator in typescript for telling what is the type of particular object, I would like something like "returntypeof". Because now I always need to write the type of an action and very often it could be inferred from action creator function. Or I need to write type to describe what will be returned by Redux's "mapStateToProps" function, and sometimes this object can be big.

[0] [https://github.com/Microsoft/TypeScript/wiki/What's-new- in-T...](https://github.com/Microsoft/TypeScript/wiki/What's-new-in- TypeScript#tagged-union-types) [1] [https://github.com/Microsoft/TypeScript/wiki/What's-new- in-T...](https://github.com/Microsoft/TypeScript/wiki/What's-new-in- TypeScript#example-21)

<comment><USER13> Don't you have

      React.PropTypes.shape({
        foo: React.PropTypes.string,
        bar: React.PropTypes.shape({
          fieldNum: React.PropTypes.number
        })
      })

? I'm not saying it isn't verbose, but I'm pretty sure that as of a few months ago, this existed in React natively.

<comment><USER14> PropType support is pretty iffy, see e.g. [https://github.com/facebook/react/issues/1833#issuecomment-1...](https://github.com/facebook/react/issues/1833#issuecomment-148297807)

</comment></comment></comment><comment><USER15> Edit: Misleading charts, figures and conclusions ahead, see @nathancahill's reply

[https://npm-stat.com/charts.html?package=babel&package=types...](https://npm- stat.com/charts.html?package=babel&package=typescript&package=flow- bin&from=2013-09-19&to=2016-09-19)

Babel has faltered since the V6 release, TypeScript is still growing fast, so I'd expect the React world to follow suite, even if Facebook itself pushes Flow...

NPM downloads in August (rounded):

        typescript: 2,000,000

        babel:        620,000 (down from 890,000 in November 2015)

        flow-bin:     120,000

<comment><USER16> Well, the V6 release made babel modular, so the babel package is no longer the right one to compare against. Look at babel-runtime: 4,600,000 or babel-core: 4,300,000 vs typescript: 2,100,000.

<comment><USER17> Good call, that's a very different chart.

[https://npm-stat.com/charts.html?package=babel-core&package=...](https://npm- stat.com/charts.html?package=babel-core&package=typescript&package=flow- bin&from=2013-09-19&to=2016-09-19)

<comment><USER16> It's irrationally irritating that September's incomplete stats are graphed incorrectly. Guess I need more coffee before dealing with JS in the morning.

</comment></comment></comment></comment><comment><USER18> TypeScript works very well with React, less so with Redux/ImmutableJS.

We just moved our app from Redux and ImmutableJS to mobx and it's been a treat: we now get full typing and it's much less verbose. We don't need to repeat the payload definition at every point, we have a store where we call a method and that's it. Highly recommend checking out mobx if you use TS.

<comment><USER19> I've been using Typescript, React, and mobx and absolutely in love with how they all work together. For me the high-level summary is that the vast majority of my logic is moved out of React views and into stores / controllers / whatever, with almost no boilerplate to make them play nicely together. The way its coming along reminds me of Ember quite a bit, but I get to use React and POJO's.

<comment><USER20> I definitely want to look into mobx now. Just thought I would throw out there that I've been using Nuclear-js/Immutable.js and it has a lot of the benefits you mentioned. All the data manipulation logic is encapsulated nicely, and merely appears as state to your components. You can observe memoized transforms in your components so that they only need to listen for the data they need, rather than a single change event on an entire store.

</comment></comment></comment><comment><USER21> Because a lot of notable ReactJS projects are irritatingly enamored with all the latest ES6/ES7/ESCloudCuckooLand features, not all of which are supported by TypeScript.

I've noticed this a lot in the Redux realm. For every possible problem there seems to be a solution that harnesses one particular new/proposed bell & whistle.

<comment><USER22> As far as I've seen, it's really only Object spread (likely ES2017 feature) that's commonly used that is not yet supported by TypeScript. Microsoft has promised support for it in TS 2.1, and generally stays on top of ECMAScript proposals that have gained enough traction that they seem likely to ship.

<comment><USER17> On the other hand, Flow is removed from the code transformation, so it doesn't have to bother with keeping up with the spec. That's a pretty strong point in Flow's favor in my opinion, single responsibility principle and all that :)

<comment><USER23> You can do that in TypeScript too: just target ES6, use all the features like spread/rest and async/await, then compile the result with Babel.

<comment><USER22> But The TS parser will see object spread as a syntax error.

</comment></comment></comment></comment></comment><comment><USER24> I've been very happy using Typescript with React, and have found the productivity and code quality gains to be remarkable compared to the relatively small amount of change required to use it vs. plain JS.

Indeed there are some pain points as mentioned in the article, e.g. typing Redux actions can be a bit boilerplatey, and there's currently no object spread operator; but I feel it's worth the trade off - you can always opt out of typing something (e.g. with the "any" type), but I've always found that the places where you do this are the places where the bugs creep in!

Obligatory plug for my Typescript 1.9 + React project set up guide - I need to update this for v2.0, but I think it should pretty much work as is: [http://blog.tomduncalf.com/posts/setting-up-typescript- and-r...](http://blog.tomduncalf.com/posts/setting-up-typescript-and-react/)

I actually prefer Flow's approach of being just annotations which can be stripped out, rather than a new language (albeit a superset of Javascript) with its own features and compiler - for one, I find this makes it an easier sell to teams worried about "lock in". However, there is a bit of FUD around this IMO, as you can use just the subset of Typescript which adds types to JS and avoid stuff like "enum" and the "class" enhancements - in my experience, TS's types can be stripped by Babel in the same way as it strips Flow's, so actually if you ignore the `.ts` extension, there's not such a big difference.

The problem is that every time I've tried Flow (including very recently spending several days trying to convert an existing medium size React project to it), I've hit so many random undocumented issues, and ended up feeling that the benefits of it were outweighed by the amount of effort required to get it working properly. This is especially true because the editor experience offered by Nuclide is (again, in my experience) sub-par and buggy compared to VS Code (or the Typescript Sublime plugin), and I've always felt the editor support is actually one of the big selling points of working with "typed JS".

I am really looking forward to seeing how Flow progresses, as in an ideal world it is what I would use, but for now (in a commercial situation especially), I have to go with what I feel brings the biggest productivity/code quality benefits and the best developer experience for the team, and for now I still think that is Typescript by a fair distance.

</comment><comment><USER25> I was always wondering why HN crowd is ok with TS and so prejudiced against Dart - Dart has NG2, await async in older browsers and good tooling (webstorm, vscode) and much saner package system. When doing lot of small web apps - it's easier to mantain.

<comment><USER26> At least in my view, there's a couple of big things: Dart doesn't introduce that many advantages over JS for all of its differences, and TS introduces many of them with a smaller diff; there's also the presentation of it—Dart was originally presented as a wholesale replacement of Dart, to ship in all browsers, the language more or less as a fait accompli, which rubs plenty of people the wrong way.

<comment><USER27> > Dart doesn't introduce that many advantages over JS for all of its > differences

As someone with experience in both languages, I could not disagree more.

> Dart was originally presented as a wholesale replacement of Dart

I think you meant replacement of JS here. I guess it depends entirely on what you think of JS as a language. I, for one, would rather a language that fixes core issues with JS, instead of just being a superset of JS.

<comment><USER26> > I think you meant replacement of JS here. I guess it depends entirely on > what you think of JS as a language. I, for one, would rather a language that > fixes core issues with JS, instead of just being a superset of JS.

If I were aiming to replace JS, I'd fix what Dart does, but I wouldn't stop with merely fixing what Dart does.

Dart, despite being an entirely new language, has a less expressive type system than TS. It's transpiler (and it's VM) also does no optimisation based on the type system, instead heavily relying on the JIT to infer what the types already imply (e.g., it would be nice to do things like LICM at compile-time).

<comment><USER27> > has a less expressive type system than TS

Care to elaborate on that?

As for the rest of your comment, I'm with ya. I guess they're reasoning behind that was they thought a lot of development would start out untyped with additional types added as development progressed. I think that assumption didn't pan out, at least that's not how I do it.

Official answer from [https://www.dartlang.org/faq](https://www.dartlang.org/faq):

"Q. But don't you need sound typing information to get high performance?

Sound types can help with performance but aren't essential. What we need are uniform, simple semantics. Modern VMs can use actual runtime behavior as a valuable signal for optimizations."

<comment><USER28> >Care to elaborate on that?

I'm not the OP, but TypeScript supports union types (A | B ; a type that can be either type A or type B) and intersection types (A & B ; a type that is both A and B), while Dart doesn't. [https://www.typescriptlang.org/docs/handbook/advanced- types....](https://www.typescriptlang.org/docs/handbook/advanced-types.html)

Typescript also has structural types, like Go and OCaml, which many people find nicer than nominal types. Structural types mean if I have an interface Blaz with two methods Foo and Bar, if I have an object MyObject with Foo and Bar methods of the same types then my object counts as a Blaz, while nominal types mean I have to write something like MyObject extends Blaz.

</comment></comment></comment></comment></comment></comment><comment><USER29> I do TypeScript every day for work, and honestly I don't see the point of it. I'm also of the opinion that the iterator pattern nonsense has ruined generated code quality for ES6 transpilers, and that ES5 getters and setters have made it considerably harder for JS engines to do high level optimizations (dead store elimination, invariant hoisting, load merging, etc.).

The sky is falling.

Anyway, you're not going to dissuade anyone. TypeScript looks visually similar to Java and C# enough that managers will think they can adapt Java and C# teams to it in a couple of days; and they won't know how wrong they are until a month or two have passed.

<comment><USER30> > I do TypeScript every day for work, and honestly I don't see the point of > it.

really? I'm assuming you never refactor anything.

<comment><USER31> Perhaps menu-driven refactoring is overrated?

(much like IDE generated getter/setter code, which is solving the wrong problem)

<comment><USER32> What do you mean? It's the typescript compiler that catches your errors. The IDE stuff is nice to have, but it's not the main benefit typescript adds to refactoring. Typescript doesn't rely on an IDE.

<comment><USER31> Apologies, as I am going to make a few assumptions.

If you write fewer classes and class hierarchies, and use higher order functions (see also - partial function application), you will have much less "refactoring" to do - often, simply small changes such as to increase the visible scope of a function you now want to reuse elsewhere, or to "pre bind" another argument to a function so the caller(s) don't need to know a particular detail.

This probably has a lot to do with why the static OOP people think the dynamic FP people are insane: they have no idea how we really work.

We have garbage collectors and closures now. Stop writing code as if in some crippled version of Simula 67 :-)

</comment></comment></comment></comment></comment><comment><USER33> From personal experience, you probably want Babel anyway even with TS to deal with some weird edge cases.

I think this has been fixed now. But a couple of weeks ago, I had a case where TS compiler output has to be ES6 (since the code base were using something like constructor.name which isn't in ES5), but then Jest (the test framework) doesn't like ES6 syntax, so Babel is needed to compile whatever Jest didn't like down to just ES5 syntax.

<comment><USER34> webassembly can't come soon enough. as a developer who doesn't deal with browser frontends what i read in this thread is madness. (3 comments at the time of writing this...)

<comment><USER23> WASM doesn't have DOM access or GC. It's not the answer.

<comment><USER35> Is that correct? WASM has no DOM access? (I'm asking, not advocating anything.) How does code that runs in a browser do UI I/O without DOM access? Is the intent that you go on writing all of your I/O and DOM-manipulating code with JavaScript and call WASM-implemented helper functions from JS code?

<comment><USER27> No DOM access for the MVP. They do plan on eventually supporting it though: [https://github.com/WebAssembly/design/blob/master/FutureFeat...](https://github.com/WebAssembly/design/blob/master/FutureFeatures.md)

<comment><USER36> I think we can hack a reverse js proxy before it gets native DOM access.

</comment></comment></comment></comment></comment></comment><comment><USER37> I'm not sure if this not a sophisticated trolling :) Imagine the question with random technologies:

If ___________ is so great, how come all notable ________ projects use __________?

Classic troll magnet :)

<comment><USER38> If Apache Spark is so great, how come do all notable JS projects use jQuery?

</comment></comment><comment><USER39> The main reason for using Babel was async/await. However, the lastest TypeScript verion (typescript@next) can compile async/await for older browsers, so there is no reason for me to use Babel anymore.

<comment><USER40> OT: When will 2.0 finally released?

I saw that they have a completed 2.0.3 milestone in Github, but just a RC release at the moment.

<comment><USER39> No, I mean nightly build 2.1.0: npm install typescript@next

<comment><USER40> I know.

I just wanted to know when 2.0 will be officially released and it seems like never, since they already at 2.1, lol

<comment><USER41> They might be waiting for VS2015 tooling support, because VS2015 support for TypeScript is still hilariously atrocious.

It feels like the TypeScript team and VS team do not communicate and are set on completely different workflows.

The VS Code team gets it though, but that's probably because they use TS to write their very product.

</comment></comment></comment></comment></comment><comment><USER42> TypeScript with JSPM and VS.NET works great, IMO even better than Babel since it doesn't require additional configuration for Babel or managing a separate watcher process since VS.NET compiles on save - providing an optimal dev experience. The additional complexity TypeScript requires is typings for each library which is designed to add value over time through typing feedback, but sometimes the typings can deviate from the implementation which is currently the only friction I hit when using TypeScript.

If you're interested in this combination, I've published a step-by-step guide showing how all pieces fit together in:

[https://github.com/ServiceStackApps/typescript- redux](https://github.com/ServiceStackApps/typescript-redux)

For a decent sized TypeScript + React code-base checkout [https://github.com/ServiceStack/Gistlyn](https://github.com/ServiceStack/Gistlyn) \- a C# Gist IDE written in TypeScript + React and Redux - a large enough project that would've been painful to write without React or TypeScript. A Live demo is available at: [http://gistlyn.com](http://gistlyn.com)

</comment><comment><USER43> TypeScript is a PITA when working with typed immutable records, I don't think there will be a happy solution to that. React stack encourages stuff like immutable.js. In general TS React feels bolted on rather than designed with TS in mind like Angular 2.

I love TS and using ng2 at work. If I was using React I would probably also skip on TS.

<comment><USER44> I recently started using TypeScript for my React projects and I am actually pretty happy.

I am not actually sure what you mean by typed immutable records in this context, can you explain in more detail?

<comment><USER45> Immutable.js ([https://facebook.github.io/immutable- js/](https://facebook.github.io/immutable-js/)) doesn't have the greatest typescript type annotations. Due to limitations of TypeScript, there is no way to write types for immutable.js heterogenous maps (homogenous Maps and Vectors are fine though). Since immutable.js collections are recommended to be used with redux, and no one wants to bother using IMJS records instead of just maps, the types end up being kinda useless.

A nice typescript-friendly alternative to redux+immutablejs is MobX ([https://mobxjs.github.io/mobx/getting- started.html](https://mobxjs.github.io/mobx/getting-started.html)). It does go a bit against the latest cool and hip trends (immutability, functional programming), but IMO its quite brilliant

<comment><USER46> I feel like TypeScript needs some work in areas around typing methods - <USER2> example, I ran into type issues when trying to go more functional via ramda.js ([http://ramdajs.com/](http://ramdajs.com/)) using stuff like compose, and ultimately it felt like a limitation of TypeScript.

<comment><USER45> To properly type Ramda, you need higher kinded types, which are not yet a feature of TypeScript.

Though I find that Ramda's curried style isn't that useful now that we have arrow functions...

<comment><USER31> Hmm. I find that classes and subclasses aren't all that useful, now that I can use higher order functions :-)

(I still use classes/objects for services with multiple related operations or polymorphism, but not for one trick pony "Executioners" for which Java would use a lambda -- which is what ES6 arrow funcs look like)

I wish I could vote the grandparent post up more.

<comment><USER45> What I meant is that pointfree style (which is what Ramda implements) isn't that great in JS:

* JavaScript is not suited for it (no composition operator, no interop with existing multi-argument functions)

* It doesn't improve readability over arrow syntax.

      compose(f, flip(g)(y), h)

vs

      x => f(g(h(x), y))

</comment></comment></comment></comment></comment></comment></comment><comment><USER47> I am using TypeScript in a middle sized app (around 200 react components) and its help is invaluable for collaborating and sharing APIs.

Currently it is based on redux, but I have a feeling I have to write too much code, I am looking into MobX as an alternative.

I think TypeScript is the best thing that happened to the JS community in a long time.

<comment><USER6> Don't hesitate to jump ship to Mobx. No regrets at all, it was like trading in a Lada for a Toyota. And being written in typescript, the TS support is impeccable.

<comment><USER47> I wonder if such comments: [http://disq.us/p/1bpl2ua](http://disq.us/p/1bpl2ua) are actually based on reality or just a plain rant.

I worked with SproutCore, Angular and others that tried to be "smart", and while it was awesome at first, in the long run it was hard to maintain.

<comment><USER45> In this video:

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

The author of MobX explains how MobX works and implements a 50 line version of it (a fast and functional one too, except without the sugary decorator syntax)

You can see the presentation and decide for yourself.

</comment></comment></comment></comment><comment><USER48> Why waste your time with half-baked type systems that try to achieve some compromise over JS idiosyncrasies.

Go all in with purescript[0] :D

Simple, elegant, strong typed and compiles to JS.

[0]: [http://www.purescript.org/](http://www.purescript.org/)

<comment><USER49> Because freedom? Typescript is a superset of JavaScript, which means all JavaScript is valid typescript. So you're never faced with the difficult choice of locking yourself to one language/platform. JavaScript is awesome, it just doesn't scale to large projects because you cannot efficiently refactor it. Typescript solves this problem beautifully. You can easily add whatever type information you need to effectively work with the codebase, whilst being compatible with all JavaScript libraries and the ecosystem.

<comment><USER48> Does that include ES6 ? What parts of JS do they consider a subset of typescript ? Can i keep my type declarations in a different file than my .js code like flow does ? (thus ensuring compatibility while keeping the functionality of typescript)

How far can i go with typescript until i need to use babel ?

<comment><USER50> > Does that include ES6 ?

Yes.

> What parts of JS do they consider a subset of typescript ?

Everything that's standardized.

> Can i keep my type declarations in a different file than my .js code like > flow does ?

Yes.

> How far can i go with typescript until i need to use babel ?

Pretty much as far as you want, although you may have to wait a little bit longer.

BTW, stop inserting spaces before your punctuation. It's super aggravating.

</comment></comment></comment></comment><comment><USER51> I like to use TypeScript with ReactJS. And I was surprised to see some mainstream libraries using it: mobx, apollo stack. And it is also a surprise to see really well updated typings for a lot of things in the react world.

</comment><comment><USER52> I got a link to these articles from HN a couple of weeks ago.

[https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/...](https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/designing- for-correctness.html)

What I loved about them is they show how a different type system and language design can massively reduce code size and errors.

After reading them I felt frustrated back in JavaScript or C# or any other language I use regularly.

Are Typescript and Flow missing the forest for the trees?

</comment><comment><USER53> Why not both? I just installed flow and checked the JavaScript output of my TypeScript project (~2000 lines) and was a little disappointed it didn't turn up any errors.

<comment><USER54> Flow only type-checks files that have opted into it with the //@flow comment. It will have some trouble dealing with the compiled output of another tool like Typescript. For example, it probably wouldn't understand that output of how Typescript compiles classes into ES5 represents a class.

Even if using both of them on the same code worked, Flow and Typescript are both a bit anal about certain dynamic javascript patterns, and I think any possible extra gains from having both check your code would be canceled out by having to write your code in ways to please both type-systems.

<comment><USER53> I made the necessary mods (flow doc is not very clear by the way) and thought it was funny flow complained about TypeScript emitting this:

var live_items = new Array(); ^^^^^^^^^^^ Use array literal instead of new Array(..)

</comment></comment></comment><comment><USER55> "If we descended from monkeys, how come there's still monkeys?"

</comment><comment><USER52> Isn't a large part of the win for typescript the tooling? Specifically the auto completion and documentation that pops up in various typescript enabled editors.

Does such a thing exist for Flow? Could it? If it did that would go a lot further to push me to flow than that it just catches more errors. I get huge productivity gains from my editor helping me with API completions etc...

<comment><USER56> Our team is using Flow, and most devs use Nuclide[1] for the autocompletion and type hint popups. I can't compare it to any TS IDE, I'm afraid, but I can attest it's way more comfortable than doing without.

[1]: [https://nuclide.io/docs/languages/flow/](https://nuclide.io/docs/languages/flow/)

</comment></comment><comment><USER57> OT: is it me or is Babel incredibly slow in translating ES6 to regular JS?

<comment><USER58> It is. Try enabling the `compact` option or using something like Buble [1].

[1]: [https://buble.surge.sh](https://buble.surge.sh)

<comment><USER59> I use buble. It transpiles ES6 to ES5 2.5 times faster than babel on average. But be aware that buble is still a work in progress and only supports a subset of ES6 features. A very usable subset, but a subset nonetheless.

<comment><USER11> And has it progress it will be slower to handle the most complex cases and follow the spec, than they will use a plugin architecture to let users develop their own language extension and modularize it, than they will only have to rename it to Babel because it won't be different.

<comment><USER59> The buble project wouldn't exist if babel ran faster and worked out of the box without setting up confusing config files. It fills a need.

</comment></comment></comment></comment></comment><comment><USER60> The ceaseless drumbeat of "why do I have to correct every breaking error in my code just to try it" just... Don't people realize how old and flawed this argument is?

And it's even stranger applied to Typescript, which is a fairly good implementation of a real-world gradual typing system.

Most modern type systems are quite good at giving you info about problems, blocking errors about the outright incorrect stuff, and otherwise get out of your way. Typescript is no different in this.

But many people (including the top reply) argue like secretly it's 2007 and we're talking about inscrutable C++ compiler errors from the last generation g++ compiler. We're not. Typescript is not only fast and friendly, but it's a heck of a lot more "batteries included" than Babel.

The funniest part is that ultimately flow desires to asymptotically approach what TypeScript already (for the most part) _is_ today.

</comment><comment><USER61> I found the comment about soundness in the linked post to be kind of an odd remark.

It didn't take me long after reading that to come up with an invalid program that is accepted by Flow's type checker. (The typechecker normally rejects doing math against strings, but accepts this.)

        let array = [1,2];
        array.pop();
        array.push('hello');
        console.log(array[1] - 3);

To be clear, being completely sound is hard! There's a lot of space in type systems and Flow must make some hard decisions itself; whether it's "sound" or not is kinda orthogonal to whether it's useful or not. And I'm sure Flow is useful. So let's not talk about soundness.

(Disclaimer: I work with TypeScript and am pretty fond of it.)

<comment><USER62> I guess they fixed it. Try it yourself. [http://www.typescriptlang.org/play/](http://www.typescriptlang.org/play/)

Argument of type 'string' is not assignable to parameter of type 'number' on line 3.

<comment><USER61> Sorry for the confusing comment -- I updated it. I was saying that it is strange for the linked post to talk about soundness being important when it's trivial to find an unsound Flow program. (This particular program is properly rejected by TypeScript but TypeScript is also unsound so there are plenty of other invalid programs that it accepts.)

<comment><USER62> I think it's a lot harder to get past TypeScript's type checker. It's probably possible, but I can't think of a way to do it off the top of my head without casting to any. It's a lot easier to show correctly executing javascript programs that would be rejected by the type checker.

<comment><USER61> Here's one that TypeScript gets wrong. It's kind of a canonical example of a program that is difficult to get right in a type system. (It's how I found the Flow example linked upthread.)

        let x: number[] = [];
        let y: Object[] = x;
        y.push('a');
        let bad = x.pop();
        // bad has type number but is actually a string.

</comment></comment></comment></comment></comment><comment><USER63> Since when are "all notable ReactJS projects" the authority on greatness?

</comment><comment><USER64> In my team we use both approaches depending on the size of the project, an inconvenience we ran into using typescript is the typings definitions, some are out of date or don't work at all, that and the fact that typing dependency management is not yet fully integrated means that you have to keep track of 2 set of dependencies.

</comment><comment><USER7> This is a bit of a false dichotomy, I use TypeScript + Babel to get full ES6 + TypeScript features - they work so seamlessly I forget that I have a Babel layer in there.

</comment><comment><USER65> All this JS and TS churn and stress makes me want to just stick to HTML

</comment><comment><USER66> because Facebook doesn't want M wins?

</comment><comment><USER67> Because the masses will always gravitate towards inferior options.

<comment><USER68> Maybe "the masses" can code without struts.

</comment></comment><comment><USER68> Typescript is a pile of crap that's why.

</comment><comment><USER69> I do not believe compilation nor a type system belong in JavaScript. It's better to have something like "Flow" that does static analysis of the code as you write.

I might even go as far as putting on a "tin foil hat" and state that Typescript is a trick to lock you into their proprietary ecosystem of expensive tools that everyone have to buy into just to communicate with you once you are locked in.

<comment><USER70> My team is 'locked' into TS on a large project. We have yet to purchase any TS related tooling, and have no plans or need to do so. Given that TS transpiles to JS, I'm unsure as to how any project can be truly 'locked' into the ecosystem. I'm really unsure what you are basing your fears upon.

<comment><USER71> It's not just that it transpiles into JS, if you target ES6 pretty much all tsc does besides validation is stripping type information, access modifiers etc. while basically preserving the code structure, including whitespace. Which means that if you ever want to migrate away from TypeScript you simply run tsc one last time and then you'll have a fairly usable JS codebase.

</comment></comment></comment><comment><USER72> I would have switched to typescript but I had to rename EVERYTHING from something to something else in order to use TypeScript. If that's how "compatible" starts, well, no thanks cause clearly that's just the start of the pain.

Compatible should be same files, new compiler = "just works".

<comment><USER73> I have not encountered this problem. Can you provide an example?

<comment><USER46> I'm guessing he/she is referring to using .ts instead of .js</comment></comment></comment>


The Remote Work Report by Zapier - <AUTHOR> https://zapier.com/blog/remote-work-report-by-zapier/ <comment><USER2> I am glad this is getting adopted by more and more companies. I'd much rather work under the shade of a tree or at the comfort of my home rather than from a cubicle.</comment>


14 Year Old Develops Top iPhone App; Dethrones Angry Birds [video] - <AUTHOR> http://techcocktail.com/14-year-old-develops-top-free-iphone-app-dethrones-angry-birds-2011-01 <comment><USER2> Wow, the article and the embedded ABC video are embarrassing to even look at. It makes me lose faith in journalism.

       1. No where is it mentioned that Bubble Ball only surpassed the
          *free* version of Angry Birds on the top *free* app chart. The
          article even links to the paid version of Angry Birds, saying
          that it was "de-throned" (spelled wrong); this is not true.
       2. They call him a "tween" in the video. He's 14 (four*teen*) years old.
       3. The video says he would have made $2 million if he had charged
          $1.00 for the app (which isn't even in possible) - I hate to break
          it, but I'm not sure if even a 1000 of them would have still
          downloaded the *Wake Up the Box* clone.

Come on journalism!

</comment><comment><USER3> The difference between a 14yr old and older devs, the older devs would have tried to monetize it (ads in the app).

Although I haven't played his app, does he have any ads? I'm assuming not after watching the video. Sounds like a pretty smart kid.

<comment><USER2> That's not entirely true. Most developers don't think about monetizing their apps until they've been on the store for quite some time and have show to be popular. It's a common mistake among many people, but it also shows that the developers are thinking about the users first (and not money). It's easier to monetize an already successful free product than to turn a monetizing product into something successful.</comment></comment>