Intel made a huge mistake 10 years ago - <AUTHOR> http://www.vox.com/2016/4/20/11463818/intel-iphone-mobile-revolution <comment><USER2> TL;DR: Intel turned down the opportunity to make the iPhone's chip and gain a foothold in the mobile market.

A more direct source, from Intel's own CEO (at the time): [http://www.theinquirer.net/inquirer/news/2268985/outgoing- in...](http://www.theinquirer.net/inquirer/news/2268985/outgoing-intel-ceo- paul-otellini-says-he-turned-down-apples-iphone-business)

        Otellini said Intel passed on the opportunity to supply Apple because the economics did not make sense at the time given the forecast product cost and expected volume. He told The Atlantic,     "The thing you have to remember is that this was before the iPhone was introduced and no one knew what the iPhone would do... At the end of the day, there was a chip that they were interested in that they wanted to pay a certain price for and not a nickel more and that price was below our forecasted cost. I couldn't see it.
        "It wasn't one of these things you can make up on volume. And in hindsight, the forecasted cost was wrong and the volume was 100x what anyone thought."

But the thing I don't understand is why Intel gave up on XScale, their ARM- compatible effort (they held one of the few expensive ARM licenses that allowed them to expand the core architecture). How's Atom doing nowadays? Last I heard, Intel had partnered with Dell to make the Atom-powered Venue android tablets. Can't say they're grabbing headlines with them...

<comment><USER3> They don't need Atom, as far as mobile devices go they are bringing Core to ARM's power envelope. You can get Core M CPU's today with 3W power envelope with considerable performance lead over most ARM SOC's.

Intel has made a bet that it would take just as much time for ARM to reach x86 level of performance as it would take Intel to bring x86 power consumption down to SOC levels. Now Intel can play on both sides with their low power x86 parts, Xeon-D with upto 16 cores and Core-M in 2c/4t configuration.

<comment><USER4> Single core Atom (2012 Z2480 on Razr I) at 2GHz has significant perceived performance advantage even compared to processors released after. It's way snappier than the Moto G quadcore ARM cpu from 2013. I don't know how much battery life is sacrificed for this though. But I'd be very eager to try a Core M smartphone, since Atom has always been the low-end of Intel cpu architecture. That said I lost track of Intel marketing, maybe Core M is just a rebranding of the same or similar arch.

<comment><USER5> There's a very large difference between a Cortex-A7 in a Moto G and a Cortex-A57 or Cortex a72. The latter are about 3x faster.

Atom has barely increased its single-threaded performance from like 300 pts in Passmark to about 540 right now (in Pentiums, in PCs, which cost $160 a pop).

Intel is not competitive on price. That's why Atom didn't pan out in mobile. They tried to do it by heavily subsidizing its _high-end_ mobile chips, which typically cost close to $50, to compete against a $15 mid-range Qualcomm chip. That's why some people were "impressed" by what an Asus Zenfone could do for instance, for its mid-range price overall.

And if Intel can't compete with Atom on price, then there's NO CHANCE it will ever compete with Core M in mobile. The only reason it even exists in so called "tablets" that go for $1000 right now, is because Microsoft failed to make a good case for ARM-based Windows machines with its poor app support. But that will always remain a niche.

<comment><USER6> > And if Intel can't compete with Atom on price, then there's NO CHANCE it > will ever compete with Core M in mobile. The only reason it even exists in > so called "tablets" that go for $1000 right now, is because Microsoft failed > to make a good case for ARM-based Windows machines with its poor app > support. But that will always remain a niche.

And outside the Surface those aren't selling well either.

(IMO rightfully so, the Venue 11 Pro is the worst device I've seen in years – hypothetical hardware dickwaving aside, even a $50 OEM Android tablet has better UX and usability than Windows 10 without mouse/keyboard.)

<comment><USER7> Asus T-100 TA series work pretty well as Windows 8/10 tablets.

<comment><USER6> Yes, because they ship a keyboard and touchpad. But you wouldn't buy the Asus ZenPad instead and try to use Windows 8/10 solely with touchscreen, would you?

It's the complete opposite of how iOS/Android tablets operate.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> For the past decade plus, Intel has been their own biggest competitor. Atom processors aren't weak and built on an old process because Intel can't make them better, but rather because Intel's greatest fear is undercutting their more lucrative markets. Their very high profit markets.

So if you go back ten years and say "what if Intel did _this_ " (which in that case was making a processor for Apple that Apple was paying maybe $20 each for, estimating on the very high side), it is over simplified to just imagine that it's additive. Intel has been rolling on profit margins that the hyper- competitive ARM market can only dream about. It may be time for them to adapt (and arguably they have been), but those 12,000 didn't lose their job because Intel didn't do something different ten years ago. They, and thousands others, might never have had an Intel job in the first place if Intel made different choices.

</comment><comment><USER9> It's not just intel's (and ipads) fault that pc sales are down.

I think the big mistake PC makers are making right now, is that the PCs they make aren't improving from generation to generation for their mass market products. Sure the processors aren't doubling in MHz like they used to, but the rest of the machine isn't improving either. If I go into a shop with $3-400 today and buy a laptop, the machine I get is the same as I would have gotten 3 years ago:

1\. 768 line display

2\. 5400 rpm hdd

3\. 2 GB of ram (4 if I'm lucky)

4\. Similar weight

5\. Similar poor battery life

6\. loads of crapware.

The pc manufacturers aren't pushing hardware manufacturers to improve the cheapest spec. Why don't cheap new laptops have greater DPI on their LCDs than 3 years ago? Because manufacturers haven't changed their main production lines. They are saving money on retooling, but on the other hand their product isn't improving, and now they're paying the price. Apple is doing the same thing with their Air line, which is only improving the processor generation, it has the same body and screen as years ago.

If manufacturers improved their cheapest line every 3 years, people would see enough of an improvement in their price range to buy a new machine every 3 years like they used to.

<comment><USER10> Exactly the same complaints could be made about the bottom of the smartphone market ($100-200 range). Higher end smartphones may have improved more than high end laptops over the past few years, but mid-range to high end laptops are definitely nicer than they were 3 years ago.

You're also a bit disingenuous on your laptop complaints, the best selling laptop on Amazon in that price range has a 1080P screen, 4GB RAM, a decent i3 Broadwell (which is faster and uses less power than its equivalent Sandy/Ivy Bridge processor you would have gotten 3 years ago). Crapware is only a valid complaint if you choose to use Windows and are incapable of taking an hour to install a clean copy when you unbox it.

<comment><USER11> > Crapware is only a valid complaint if you choose to use Windows and are > incapable of taking an hour to install a clean copy when you unbox it.

Assuming you get a Laptop that actually works with GNU/Linux.

The only laptop that I still run with GNU/Linux on is an Asus netbook, which was explicitly sold with Linux support.

Guess what, it took more than one year for Ubuntu to properly support its WiFi chipset and I was forced to use a network cable if I wanted any form of networking.

My first GNU/Linux kernel was 1.0.9 with Slackware 2.0, so it is not I am that dumb in GNU/Linux land.

Nowadays I stop bothering and use Windows on all other laptops that I have.

<comment><USER12> My 2014 X1 Carbon runs perfectly fine on Debian Wheezy, Jessie, and Testing. Also ran Linux Mint on it (forgot version, circa late 2014). Not a single problem, from touchpad to sleep mode to wifi. Even saw better battery life.

</comment></comment></comment></comment><comment><USER13> Beware, for this article includes a gem like this:

 _Instead, these companies turned to a standard called ARM. Created by a once- obscure British company, it was designed from the ground up for low-power mobile uses._

Nope, their price budget required plastic instead of ceramic packaging, which had a 1 watt power budget. They were sufficiently conservative that it ended up dissipating 1/10 of a watt. The usefulness for mobile applications came later.

On the other hand, if Intel turned down an offer from Apple to supply the iPhone CPU, well, that sounds like a mistake. Then again, it's such a different business that it's not clear it would have worked for them, especially given the opportunity cost. So different, their FPGA aquisition Alteria is still having their lower end more price sensitive chips fabricated by TSMC, apparently because Intel is just too expensive for that market.

And Apple could well have changed to ARM later, Macs are now on their third CPU architecture.

<comment><USER14> > The usefulness for mobile applications came later.

True, but not quite the whole story.

Some enterprising engineers wrote a cellular protocol stack in ARM assembly language that let everybody use a far cheaper core than anything else.

Very quickly, ARM became entrenched in the feature phones. Then, the evolution occurred to smartphones, and ARM was already _in the phone_.

</comment></comment><comment><USER15> Waaaaay back when I worked at Intel it was pretty clear they didn't stop doing things that worked. And when the going got tough they stuck with what worked. In the 80's Intel had a really remarkable set of of computing products, from high integration "soc" type x86 chips (80186), high end graphics chips, (8276x), embedded chips (8051), and "server" chips (431 series). Plus a memory business and a whole passel of support chips.

But the chips in the PC had the best margin _by far_. So the more of those they made, the more profitable they became, and when the chip recession was in full swing in the late 80's and early 90's that is what they kept, shedding all the rest.

In the early 2000's when Moore's law ran right smack into the power wall, Intel was betting they could have an "enterprise" line (Itanium) and a "desktop" line (Pentium), and an embedded line (8051). They guessed wrong and for a brief time AMD's Opteron was kicking their butt. But once they realized the writing on the wall they realigned around 64 bit in the Pentium line and got back on track.

The problem with the ARM assault is that unlike AMD, which could be killed by messing with other users of the chipset and patent attacks and contract shennanigans, killing off someone making an ARM chip does nothing but make the other ARM chip vendors stronger. And they can't kill all of them at once. And worse, to compete with them they have to sacrifice margin on their x86 line and that is something they have never done, it breaks their business model.

Its a real conundrum for them, they don't have a low power, reasonable performance SOC architecture to compete with these guys. And that is driving volumes these days. Further, the A53 (ARM 64 bit) killed off the chance of trying to use 32 bit only ATOM microarchitecture chips in that niche without impacting the value of the higher end Pentiums.

One of the things Web2.0 taught us was that it doesn't matter how "big" the implementation of a node is if your going to put 50,000 of them in a data center to run your "cloud." Ethernet as an interconnect is fast enough for a lot of things.

It definitely makes for an interesting future.

<comment><USER16> _The problem with the ARM assault is that unlike AMD, which could be killed by messing with other users of the chipset and patent attacks and contract shennanigans, killing off someone making an ARM chip does nothing but make the other ARM chip vendors stronger. And they can 't kill all of them at once. And worse, to compete with them they have to sacrifice margin on their x86 line and that is something they have never done, it breaks their business model._

Someone who was in IT before MS and Intel showed up said MS and Intel got big even though they did not have the best technologies. They got big essentially with smart alliances and good business practices (which included messing with competitors, some practices that can be called dirty).

<comment><USER17> Recently I talked to a 20 year old kid who didn't know that Apple existed before the iPhone...

Microsoft and Intel got big for one and only one reason: IBM chose them as suppliers for the IBM PC. Had IBM used their own in-house chip or licensed CP/M as operating system computer history would have been different (the Kildall link is especially interesting, Microsoft got really lucky here):

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

For much of the 80s the Intel chips were inferior to other designs like the Motorola 68K. That is why the Macintosh, Atari (today only known for Pac-Man, but yes, Atari made computers rivaling Apple) and Commodore Amiga used more powerful Motorolas.

[http://www.skepticfiles.org/cowtext/comput~1/486vs040.htm](http://www.skepticfiles.org/cowtext/comput~1/486vs040.htm)

But the "IBM-compatible" architecture won despite its inferiority through path dependency and the clones driving price down.

<comment><USER18> Sadly, Motorola came out with the expensive part (16 bit bus 68k) late. Had they shipped the 8 bit bus version earlier, I think things would have looked a lot different. Had they followed up with the 68000 and 020 earlier, things would be a whole lot different.

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

<comment><USER19> Motorola did have an inexpensive next-gen 8/16-bit chip. It was called the mc6809. That said, the whole _point_ of the 68000 was that it's 16-bits wide, so I'm not sure a cheaper, narrow bus version would have made any difference.

</comment></comment></comment></comment></comment><comment><USER20> The most important part of the article is easily missed unless you've read _The Innovator 's Solution_. Which is the follow up book and spends a lot of time looking inside of organizations to see why it is so darned hard to catch the disruptive train.

A company with a profitable niche and a profitable technology will wind up with high internal costs. That's fine in their main business because they have a profit margin to play with. But it is surprisingly hard to trim back that "fat" to go after much lower margin revenue with a cheaper technology. (Fat is in quotes because it isn't really fat. It is necessary for the high margin business.) It is common to try, and to conclude that it is a failure.

That is why Intel made this mistake.

<comment><USER14> Until Intel isn't producing chips with _way_ more profit margin than an ARM at 100% capacity, it's not a mistake.

ARM has volume, but x86 has _profit_.

<comment><USER20> It can be a good business decision to run a business for maximum profit and a quick exit. However when you do that with a major corporation like Intel, it tends to make people unhappy.

Intel will continue with the high profit margin right until the chips don't sell. And then Intel gets to go out of business.

<comment><USER21> So, just like Apple, with the same "high margin" strategy, their 19th year of record revenues and $600 billion in store?

And how exactly would them (Intel in this case) selling commoditized, low margin, products make it better for them?

Isn't it even worse, even quicker, for low margin players when their stuff doesn't sell?

<comment><USER20> The challenge of disruption is when you have a clear value proposition that everyone agrees on. The genius of Steve Jobs is that every year or three he'd introduce a new product line with a new value proposition and cannibalize his existing products in the process.

He's gone, and Apple has stopped doing that. Apple is now losing marketshare. (Android is estimated at 82%.) Their app store is globally under half of the market. They are projecting a year over year decline this quarter.

It probably won't be visible to the untrained eye in the next 5 years. It won't be missable by anyone in the next 10. But Apple's best days are behind it.

<comment><USER21> > _He 's gone, and Apple has stopped doing that_

Actually they did just that with the Apple Watch -- which added ~6 billions to their revenues, and even as an early v1.0 eclipsed all "wearables" to date. [http://www.cnet.com/news/thanks-to-apple-watch-smartwatch- sa...](http://www.cnet.com/news/thanks-to-apple-watch-smartwatch-sales-could- hit-11-5-billion-this-year/) [http://www.macrumors.com/2016/01/26/apple-watch- apple-tv-rec...](http://www.macrumors.com/2016/01/26/apple-watch-apple-tv- record-sales/)

And their services dept doesn't do that bad either: [http://appleinsider.com/articles/16/04/20/as-a-standalone- co...](http://appleinsider.com/articles/16/04/20/as-a-standalone-company- apples-services-business-could-be-worth-as-much-as-260b-piper-jaffray-says)

They've also keep improving the Apple TV (people who haven't followed Apple forget how slow and incremental the rise of the iPod was -- from 2002 to 2007 people gathered at Keynotes to cheer if it got silly features like Wifi or a color screen or some smaller sibling), working on a car, and other things besides.

> _Apple is now losing marketshare._

Barely -- from April 2015 to now, they've gone up and down, some quarters winning over Android, others losing. [http://www.comscore.com/Insights/Market- Rankings/comScore-Re...](http://www.comscore.com/Insights/Market- Rankings/comScore-Reports-June-2015-US-Smartphone-Subscriber-Market-Share)

Besides I've never understood this "let's pin Apple, a single company, against the whole of the industry put together". They've never had the "most" market share -- just the most of the most lucrative (higher end, high margins) segment of the market.

> _It probably won 't be visible to the untrained eye in the next 5 years. It > won't be missable by anyone in the next 10. But Apple's best days are behind > it._

I think I've read that again, in 1997, 2000, 2002, 2004, 2006, 2007, 2009, 2012, 2015 etc. A.k.a "Apple is doomed".

<comment><USER22> The iPhone meant you no longer needed an iPod. The iPad meant grandma no longer needed a Mac. The Apple Watch requires an iPhone.

<comment><USER21> What kind of bizarro metric is that?

The iPod never meant you don't need a Mac.

The iPad never meant you don't need an iPhone (and hardly ever meant you don't need a Mac/PC).

The idea that a device should replace previous devices was never much of a concern. The only thing that qualifies 100% in that story is that the iPhone was by nature also a portable music player -- and if you had one obviously you didn't need the iPod. Apart from that, all were individual lines, with their own strengths and limitations -- not supposed to replace one another.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> I would agree with the analysis, but I think it's missing an interesting fact: The ARM threat was non-existant until DEC Alpha engineers created StrongARM and showed the world that you could make a fast ARM. StrongARM was effectively renamed XScale around the time Intel got hold of the IP.

<comment><USER24> > and showed the world that you could make a fast ARM.

My memory may be a bit hazy, but wasn't one of the demonstrations of the original ARM a program in interpreted BASIC that did in twenty seconds something for which a compiled C program on a 80386 needed thirty seconds? Or something like that?

<comment><USER23> That's demonstrating you can make a fast BASIC on an ARM. What I'm talking about is making a faster ARM cpu. According to Wikipedia, StrongArm debuted at 233 MHz. I can't remember how fast the contemporary implementations were at the time, but I remember that 233 MHz was a _lot_ faster. (For the record: I'm neither fan of ARM nor x86).

<comment><USER25> It seems to have been introduced the same year as Pentium 2 which had clock rates of 233-300 MHz. I don't know about the architectural differences at that time, but at least currently Intel processors smoke ARMs with same clock rate. The difference was probably a lot less pronounced at that time as the architectures were simpler.

<comment><USER26> The Pentium 2 was an out-of-order CPU, StrongARM was in-order.

</comment></comment></comment></comment></comment><comment><USER27> " The PC era was about to end."

Not bothering to read the rest. This is entirely 100% wrong. The PC era has not "ended". It's just that we only upgrade every few years instead of every year. And grandma now reads her email on a tablet instead but that was never what PCs were really for.

PCs are still just as much used as ever. We just use other things too, and don't buy a new one every year.

If they can't get this basic fact right then I have no hope for the rest of the article.

<comment><USER28> I disagree. The PC era ended when the PC was no longer the _dominant_ computing platform. We can argue on dates specific markets etc.

Eras are ill-defined, but if you can assert that we once were in a PC era, you must also accept a definition that allows, in principle, for an end to an era.

The dominant platform of its era is the one with the greatest user and developer person hours, sales volume, zeitgeist and so on.

We are in the mobile era.

<comment><USER29> PCs are still _used_ more than mobile. It's just that the average person had bought a Pentium 4 PC running XP a decade ago and is not going to upgrade it until it breaks.

PCs are now a mature technology, just like cars, and have the resulting long lifecycle.

Smartphones are also getting into this stage.

</comment></comment></comment><comment><USER30> >Now 12,000 workers are paying the price

I guess there are 12,000 other workers somewhere else in the world that now have a job because they get to create what Intel doesn't. BTW, according to past statistics, most of the workers that are now "paying the price", wasn't even Intel's employees 10 years ago.

</comment><comment><USER31> Sigh, the author forgets that Intel tried to leave x86 with Itanium, which was an expensive disaster, and they vowed to never make that mistake again.

</comment><comment><USER32> Ugh, in 2005 AMD X2's were wiping the floor with any desktop processor Intel had. The only reason Intel stayed in business was that being much, much bigger company than AMD, so they could 1) outsell AMD on availability basis and 2) ditch NetBurst and come up with newer architecture (which was a glorified version of their mobile/older architecture).

<comment><USER33> Don't forget the giant (possibly illegal) payouts to keep big customers (Dell in particular) Intel-only. $4.3 __billion __to Dell between 2003 and 2006.

[http://money.cnn.com/2010/07/23/technology/dell_intel/](http://money.cnn.com/2010/07/23/technology/dell_intel/)

</comment></comment><comment><USER34> The article uses Clayton Christensen's theory of disruption to explain why Intel missed the mobile phone market and gave it away to ARM. I would just add that I think the same is happening in the Internet of Things.

<comment><USER35> Would be interested in hearing your analysis on IoT.

<comment><USER34> What I meant is I think that Intel is focused on producing high-profit margin chips, so it is missing the boat on IoT because its chips cost too much, and ARM is dominant. But I'm not an expert in this area, so I might be wrong.

</comment></comment></comment><comment><USER36> According to the article, back in the 1990s DEC was forced out of business because they underestimated the imapact that PCs would later make on the market, leaving Intel as a leader.

In the 2000s smartphones and mobile devices outnumber PCs. Intel missed that and so ARM dominates the business.

Maybe that same pattern will repeat again with the rising of IoT and wearables, where smaller and cheaper chips become ubiquitous.

The development of Edison and Curie processors might indicate that Intel is betting on this, gearing up for the next "disruptive innovation".

<comment><USER37> In which case we should all buy shares in Broadcom and learn to program Raspberry Pis.

Or possibly more likely - the next transition which will be much messier, with no single winner.

The mainframe -> mini -> desktop -> laptop -> mobile -> SBC path was about miniaturisation. The devices all provide general computing facilities, but they get smaller and faster and use less power, while the UI becomes more accessible to non-expert users.

I'm not seeing how that translates into wearables, because IoT and wearables aren't general purpose computing devices. They're more like embedded hardware and/or thin network clients.

So I don't think that's where the disruption will happen. It's maybe more likely the disruption will happen in consumer AI, where the UI gets simpler still through speech recognition and NLP, and the screen/mouse/keyboard start to disappear.

My guess is traditional processors will become front-ends and glue for hardware AI systems, and the companies to bet on are the ones producing the subsystems. The hardware will follow the same path as general purpose processors, but they'll move from "mainframe" to "SBC" much more quickly.

</comment></comment><comment><USER38> Ironic, given that Intel's long-time leader famously said "Success breeds complacency. Complacency breeds failure. Only the paranoid survive."

</comment><comment><USER39> Doesn't this mean Qualcomm should be doing splendidly? But its not[1] :(. What gives?

[1] [http://www.sandiegouniontribune.com/news/2015/sep/17/Qualcom...](http://www.sandiegouniontribune.com/news/2015/sep/17/Qualcomm- layoffs-workers-samsung-cost-cutting/)

<comment><USER5> Qualcomm did poorly last year, because of its failed Snapdragon 810 chip. It lost a ton of sales. Otherwise Qualcomm was and still is dominant in the mobile chip market with close to 50% market share.

<comment><USER40> Yep, those things were throttling like mad due to heat issues and performance was not on par with its competition, the A9 and the Exynos processors.

</comment></comment></comment><comment><USER41> Early on, Microsoft missed the internet revolution but were big enough and good enough to survive that early misstep. Intel is big enough and good enough to survive their mobile blunder (though, admittedly, they're taking more time than MS did to get back on the horse).

<comment><USER42> _Early on, Microsoft missed the internet revolution but were big enough and good enough to survive that early misstep._

This has become popular myth, but I don't think it's true. Sure, Microsoft wasn't far ahead of the curve on the internet, or they wouldn't have been developing proprietary online services designed to compete with AOL and CompuServe.

But the Bill Gates "Tidal Wave" internet memo was sent in May of 1995! Netscape's IPO was still months in the future, Amazon had maybe a few million $ worth of revenue, and essentially every other web-based company still in business today hadn't been founded yet.

IMHO, billg's memo should be seen as an example of great prescience, rather than a belated corrective maneuver.

<comment><USER41> I guess I'm looking at it from where I was back then (a spotty young teenager). I remember Windows 3.1 needed Trumpet Winsock, then came IE 1,2,3 and they were awful, when IIS appeared it took about a decade to become any good versus Apache. From my point of view things started changing with IE4 and then Windows 98 getting automatic updates. For me that's when MS turned it around (i.e. ~4 years after Mosaic).

</comment></comment></comment><comment><USER43> everyone is a pundit with the benefit of hindsight. Intel made the best decision with the available best information. Moreover, Apple is a notoriously difficult partner that will extract every penny from its suppliers. What if Intel did invest few billions to support Apple and then Apple went ahead and did their own chip, like they do now, leaving Intel with costs that cannot be recouped. Same pundit will say "Intel was stupid to spend so much on Apple."

Love it or hate it, Intel still has the right technology and products to appeal to a broad market and make good money. One cannot expect to win every market, you can try if it makes sense and you should know when to walk away.

</comment><comment><USER44> $2 billion in profits is a lot. 12K jobs cut is a lot. I can't help but find it a bit crazy that 12K people who helped make $2 billion in profits are suddenly extraneous. Are that many people really redundant within Intel?

</comment><comment><USER45> I think the culture of Intel is such that they'll turn this around - sadly it had to come to job losses first. But it was the same (if less severe) in the late 90s when AMD nearly stole their lunch.

</comment><comment><USER46> don't forget that Intel also made a big bet at a critical time on a partnership with Nokia. that was another couple of years wasted .. further behind Intel fell.

<comment><USER47> Intel? What about Nokia making miserable 'smartphones' running 24MHz i386???

</comment></comment><comment><USER48> I don't think 10000 people have problems finding jobs..if you worked at Intel, I'm pretty sure that sounds good in your resumé

</comment><comment><USER49> I think in the long run this is one of those mistakes that we will all benefit from.

"Monopolist Missteps and Loses Monopoly Position"

</comment><comment><USER50> A very long-winded article with a clickbait title saying… nothing more than that they missed the mobile revolution.

<comment><USER51> I disagree. This is an interesting article explaining what is happening to Intel and why. But you're not the target audience if you know this already; every piece of information in this article would be novel and interesting to someone outside of tech.

</comment></comment><comment><USER52> Is there any new information on the 3DXP technology?

<comment><USER53> Do you mean this -> [http://www.anandtech.com/show/9470/intel-and-micron- announce...](http://www.anandtech.com/show/9470/intel-and-micron- announce-3d-xpoint-nonvolatile-memory-technology-1000x-higher-performance- endurance-than-nand) ?

<comment><USER52> yes, I know it is a bit OT, but there were other Intel related discussions, saw no harm in asking.

</comment></comment></comment><comment><USER54> Intel's largest mistake was integrating graphics on their CPU. This cost them more than the entire cellphone CPU market is worth.

This ate up valuable chip real estate, RAM bandwidth, thermal overhead etc. Worse it cemented the idea that Intel was crap at graphics while slowing down the PC upgrade cycle.

<comment><USER55> What the hell else do you think Intel should put on those chips?

Note that ~15% of Steam Players are gaming on Intel iGPUs, as awful as they are.

[http://store.steampowered.com/hwsurvey/](http://store.steampowered.com/hwsurvey/)

<comment><USER54> A pure blank space would work as they save on manufacturing costs and get faster CPU's due to heat limits and more RAM bandwidth.

<comment><USER56> No, that's not how it works.

Intel had the ability to put more transistors on the same die size with the same power requirements. This was long after they reached thermal/clockspeed limits (with the P4). They started putting additional cores in there and bumped up the L2 and L3 caches, but there was still space left on the die.

What do you do with those extra transistors? It would be absurd to "leave them blank" as you are basically throwing money down the drain.

<comment><USER57> Even more cores?

<comment><USER58> Most non-server systems are barely able to use 2 cores let alone 4, what would they do with 8 or 16? More efficient & powerful graphics built-in are a much better use of the die space. Even more so considering the rise of GPGPU and hardware decoding.</comment></comment></comment></comment></comment></comment>


Ask HN: Web app hosting...fast, reliable, affordable vendors? - <AUTHOR>

We're currently using Bluehost for our start-up, Page99Test.com. It's got a decent control panel for file management and links to phpMyAdmin, server-side plugins, etc. but our site performance (i.e., response times) seems pretty crappy to me.
We're on a shoestring budget... looking to keep hosting fees well below $100 per month.
Hoping the community here can share its recommendations and experiences.
Many thanks, Lance Jones <comment><USER2> I ran a managed hosting company (dedicated servers and colo) for 6 years.

Because of that, I'm pretty picky about where I host.

I currently have my sites at ServInt on 2 VPSes (a Signature VPS for my production sites and an Essential VPS for testing my new startup company.)

The primary VPS serves about 2,000 pageviews per day with no complaints.

My advice, having been in the industry for many years:

1) NEVER use shared hosting for a startup company. I would always budget and start with a VPS...even a small one. Shared hosting is likely to fall over at random times and it often fails at the worst times--when you launch a product and get a ton of visitors, for instance.

Shared hosting is fine for things like small company blogs, etc. But not for a scalable business.

2) Go managed, unless you want to wear a sysadmin hat as well as a developer hat (hint: you probably don't.) I recommend letting the hosting company do updates while you focus on writing code and testing.

3) DON'T cheap out! Hosting is not a place to save money. $50/month for a managed VPS is completely reasonable and is well worth the extra $40 over shared hosting if you need to scale. You do not want to have to move your hosting when you're in the middle of a really good run with clients.

I picked ServInt because they have been in business since 1995 and they host some pretty large sites. Their reviews are overwhelmingly good and their prices are reasonable. Their support responds quickly. I recently put in a ticket asking for server monitoring to be installed. I know this would have taken 1 hour+ of my time (and I used to admin servers for a living!) They not only responded to the ticket within a few minutes, but had monitoring installed quickly.

I cannot stress enough that it is worth the extra money to go with a higher- end hosting solution. Yes, inevitably there will be "But shared hosting works for me!" replies. It works...until it doesn't. You get an Alexa top 10,000 site, and even with good caching, your site doesn't work so well with shared hosting--then you have to scramble around and muck with switching providers when you should be working with your new customers and working on your product. That's why I don't even recommend starting with shared.

</comment><comment><USER3> Linode is popular. Heroku or Google's thing seem like popular choices as well, depending on what platform/language you're using.

<comment><USER4> I am currently using a Linode right now and it is great. You get full root access to your virtual server which is great. If don't have any server running experience they have great documentation to help you get started. If you get the 512MB plan for $20/mo you should be good to go until you get a whole ton of users.

</comment></comment><comment><USER5> I've used Dreamhost's $10/mo. shared hosting (one of the few shared hosting providers with shell access) for the past four years, and I can confirm that when it works, it works -- but there have been at least two outages during my time with them that have lasted upwards of 24 hours.

Obviously, that's unacceptable for most businesses, but if you think your business won't get sunk by that type of outage ... then I'd say Dreamhost might work well for you. For me, it's handled occasional heavy bursts of traffic without crashing, and I bet its resources are enough to handle most startups' demands. Once you hit the point at which it can't keep up with your demands, you should probably be able to afford something better -- assuming you have a viable business model.

</comment><comment><USER6> I was looking at a few reliable hosting options recently; here's a few options you can consider too;

\- VPS; a few good men are Linode, Slicehost, ServInt.

\- Dedicated Server.

\- Cloud Computing with Amazon Cloud or Rackspace.

One of my consideration is not to overpay what I dun need. First I look at the bandwidth I am using currently utilizing, do a rough estimate how much it will cost on Amazon Cloud/Rackspace/VPS. Also consider yr long terms options, do you want to go dedicated or in the cloud later on. Cause it can be quite challenging to move the DB and files around later on.

</comment><comment><USER7> Level 3 VPS at Hostgator is great for a startup and only around $40/month.

I've been using Hostgator for ~2 years and I can only imagine leaving if I plan to run my own servers.

<comment><USER8> I'll second that. I've used HostGator in the past and they are very reliable for the price.

</comment></comment><comment><USER9> I gave Dreamhost a whirl a whirl based on a few suggestions off here and though I've only been a customer for a month, I'm _very_ impressed so far. A friend of mine is paying £100pm for a 'reseller' account that has less than I pay $7pm for.

No idea how it scales with the "unlimited" bandwidth/disk space but it's more than enough for me now.

This is a genuine response btw - I'm not gonna give you a referral code :)

<comment><USER10> I had a terrible experience years back (no longer with them now). If it works, it works well, but when it's down, it goes down for almost 24 hours!

</comment></comment><comment><USER11> Amazon ec2 is extremely popular. I use it for my current client, and my side project. I know lots of other startups use it. However, it is lacking in the control panel department.

</comment><comment><USER10> Check out the folks at Storm on Demand and Liquid Web. They fit your budget range and provide fully managed hosting. I've very happy with them.</comment>


Amid heavy competition, Relativity Space secures $140M in funding - <AUTHOR> https://arstechnica.com/science/2019/10/amidst-heavy-competition-relatively-space-secures-140-million-in-funding/ <comment><USER2> Wondering if a complex machine like an orbital rocket could be 3D printed as a whole and not just the components separately...

<comment><USER3> Sintering (the most popular industrial 3D printing process) typically involves a substantial manual/machining component after the print. Also any precision elements or bearings rule out 3D printing. So, no.

<comment><USER4> Not only that, but sintering is also (generally) a lot less sturdy than a completely machined part.

<comment><USER5> The new sintering processes and alloys have gotten amazingly close for most purposes to be indistinguishable in application. Like any additive process, it still often requires machine work where precision is important.

Tht said... I am sad to see that lately, casting being overlooked often when it is still the best choice in many projects just because '3d printed' sounds better in the marketing. I have in front of me a 1960s magnesium alloy casting from the early 60s and the quality would make most sinterig operaters beyond jealous. Not to mention the material properties.

<comment><USER3> Yes, diecast components can be very precise. At the same time diescast process is cheap enough that 3D printing has no edge there.

Where 3d printing really helps is replacing wax or investment casting necessary for high melting point materials. You end up having quicker turnaround, better part quality and sometimes even lower price.

</comment></comment></comment></comment></comment><comment><USER6> This is probably the most expensive way to make a rocket body I can think of.

<comment><USER7> Furthermore, it will give inferior material properties and potentially have more quality/repeatability issues.

They must believe that more complex designs can more than make up for the disadvantages of 3d printing. That is hard to fathom for a thin walled pressure vessel like a rocket body, but I'm sure they know things that I don't.

<comment><AUTHOR> The main advantage of additive is automation. You can 3D print a lunar habitat with a Fresnel lens, a remotely operated robot, and sunlight well before humans install and inflate an internal pressure vessel. If you could do that with metals on the moon or, better, on an asteroid, you'd have a lot of parts that'd need minimal human intervention before being used.

Even if not as practical, or high quality, or light, it means huge savings.

<comment><USER6> That's the "freshman's dream" of additive manufacturing. In reality, additive manufacturing is often _more_ labor intensive than conventional manufacturing, particularly if you're building multiple items or are using the process where it doesn't make sense.

The "minimal human intervention" thing is just not true.

It's nice to not have to make tooling. But post-processing is super labor- intensive. Often post-machining is also needed. And certification of additive parts for aerospace is a _nightmare_.

<comment><AUTHOR> These are all limitations of the process itself, but we can design around them. If the printed material is not rigid enough, we make it thicker or add support structures. If the surface is not as smooth as we need, we can machine it or use a thicker gasket. A lot of our tech and tooling is built around subtractive processes and their characteristics, but that's not a hard boundary of the design and process space.</comment></comment></comment></comment></comment>


We Got Hacked, Here's What We Found - <AUTHOR> http://thenextweb.com/insider/2012/04/05/we-got-hacked-for-seo-as-did-other-major-technology-sites/ <comment><USER2> Wow. SEO hacking. Very scary stuff, and if he hadn't been greedy, sounds like he would have gotten away with it.

SEO continues to both amaze and frustrate me. The more money that gets traded hands based on search, the more brutal and intricate the cheaters are going to become. A lot of the black hat stuff we see now is heavy-handed bullshit, but something like this, if done very carefully, would both be extremely difficult to detect and very lucrative. The canonical thing is smart as hell. You could make that change and, unless site owners specifically went looking for it, nobody would ever see. I could imagine hackers breaking into dozens or hundreds of domains and then auctioning off as very small number of SEO links. This would provide the maximum value for the minimal footprint on the site. Heck, take it up another notch and rent out the space.

<comment><USER3> It's very common and very old. Someone did this to a site I ran back in 2005. He made the mistake of creating a new account using his gmail address and his gmail password.

I logged back into his gmail account using this information [this was before the time that Google started to flag logins from unusual IP addresses] and found out that he was doing this as contract work for several legitimate companies.

There in the email were messages back and forth between himself and various marketing managers at those companies about sites he'd attacked and placed spam links in.

<comment><USER4> Have to ask what software you were using, that it was so easy to get his password from out of his login account. This must have been in the days before passwords were hashed or something?

<comment><USER3> Passwords were not hashed in the database, because it made no sense for me (as the site administrator) to do that. As the site admin it's entirely beneficial for me (not for you) to see your password.

Of course if you're the sort of _user_ who uses the same password on every site, then it benefits you a little bit if the site hashes the password. The site admin or an attacker can still easily steal your password when you log in, so the benefit is small. But by doing this you're trusting every site, which is stupid.

Users should use a completely different, randomly generated password for every site, then whether or not the site hashes the password doesn't matter.

</comment></comment></comment></comment><comment><USER5> If anyone is interested in the other places their links were placed, you can see SEOMoz's backlink data - <http://www.opensiteexplorer.org/links?site=seonix.org>.

<comment><USER6> I would've liked to see an exact explanation of how the editor's account was compromised, because it's important to know whether or not thenextweb and other sites were compromised through a default-account-setting or because all of these sites happened to have an account with the same vulnerable password. Or did the hacker just attempt a brute attack against a huge swath of sites, and thenextweb and others were just a few that fell to it?

<comment><USER7> His password was simple enough to be brute-forced.

<comment><USER8> or he might have been writing an article in a Starbucks working on an open wifi. Anybody who has Wireshark installed can go fish for passwords and other log in credentials in your local Starbucks!

When will people learn that an open Wifi is not secure!

(not claiming this is what actually happened here!)

</comment></comment></comment></comment><comment><USER9> Am I right in observing that this would be felony hacking in the US, the sort of thing that brings prison time? And he did it with links to his own site, so it's clear his identity as well. That doesn't seem too bright.

<comment><USER10> If you follow the trail he left, you will notice that the spammer is from Eastern Europe. Good luck getting him extradited.

<comment><USER11> Disclaimer: I consider this act a crime and think the responsible person should be punished.

That said: Can we please stop this idea of dragging people into other countries (I guess there's one particularly eager doing so)? As long as we're not all on the same page about laws around the globe and while we still don't know what 'hosted in the US' means for a business, for example, I'd rather prefer sticking to local laws. These apply without a discussion. Laws of another country by default don't and I'd have a hard time understanding why this should change (a global nation with one book of law would change my mind here).

<comment><USER12> This is exactly the problem that is solved by an extradition treaty.

More often than not the alleged crime is a crime in _both_ countries and so extradition is a reasonable approach to the problem.

I do agree that the Internet has created jurisdiction issues and criminal issues that aren't well covered by existing law/treaties.

I don't think the local/international dichomtomy you describe is as clear cut as you are asserting. Whenever you have international commerce you are going to have all sorts of activities that raise criminal or civil issues that can only be adjudicated via bi-lateral treaties. These issues exist whether the commerce is conducted in-person, by phone, by fax, by email, via HTTP, etc.

I think a 'global national with one book of laws' would create way more problems than it would solve and in any case isn't going to happen anytime soon.

<comment><USER13> > _I do agree that the Internet has created jurisdiction issues and criminal > issues that aren't well covered by existing law/treaties._

A big problem is that the US only needs "reasonable suspicion" when asking to extradite someone from England. But the UK needs "probable cause" when asking to extradite someone from the US. That means that in the UK the evidence is not tested before a Judge agrees to extradition, yet a US Judge tests the evidence before agreeing the extradition.

Babar Ahmed: (<http://www.bbc.co.uk/news/uk-17606337>)

Babar Ahmed, held for 7 years in a UK prison without a trial, has asked to be tried in the UK. He ran a website that was (supposedly) pro-terrorist. The site was hosted in the US. The US wants to extradite him and try him in America.

This case is interesting because he's not a sympathetic character, yet he claims all he wants is a trial (in a UK court) and a sentence. And also because he's not free, he's been in prison for 7 years already, so it's not as if the UK is an easy option for him.

</comment></comment></comment></comment></comment><comment><USER14> And yet a site like this (the site that traffic was being directed to) has adsense on it without any issues.

<comment><USER15> I wonder if he'd still have adsense if someone "gifted" him 10k hits from an adult network + some run of site adult themed links?

Guessing it wouldn't take long, algorithms being what they are.

<comment><USER16> so your solution is to waste a bunch of legitimate ad spend from a legitimate advertiser by sending illegitimate traffic and clicks to a hacker's site? What if the person dropping those links in those hacked sites wasn't actually the owner of the target site and he did that so someone like you would screw over all of the innocent parties who happen to involved?

This is a problem Google needs to fix, hackers aren't going anywhere and god knows teaching them a "lesson" isn't really a good solution most of the time, black hat morals being what they are.

<comment><USER15> My tongue-in-cheek idea was to buy him the traffic, not steal it from a legit campaign - Once G thinks you're a porn destination, I doubt very much you will index.

You're right, tho no serious solution there. It's more of a poke at a broken system that automatically ban-hammers good guys with the bad based on signals that totally miss bad actors like this guy.

Clearly the 'hacker' here has invested enough time to understand the system better than legitimate sites that have "wasted" their time trying to generate value for their users.

</comment></comment></comment></comment><comment><USER17> Based on the "Don't Be Evil: How Google Screwed a Startup" thread, the simple fix is to just start clicking on all his ads until Google bans his account lol. No need to extradite anyone.

<comment><USER18> Do it using TorBrowser. That really angers big G.

</comment></comment><comment><USER19> We are seeing many of those attacks (via brute force) on WP-bases sites:

[http://blog.sucuri.net/2012/03/brute-force-attacks- against-w...](http://blog.sucuri.net/2012/03/brute-force-attacks-against- wordpress-sites.html)

So not a vulnerability in WordPress, just bad password usage...

<comment><USER20> Wpscan is an incredibly easy tool to use for both good and bad. It makes it very easy to brute force logins.

</comment></comment><comment><USER21> This website overloads the left and right keys to move between articles, never mind that if the page is wider than the browser window you might want to scroll with the keyboard. Ew.

</comment><comment><USER22> Hmm, however unlikely, it seems that the hacker is aware of a 0-day in wordpress. Almost all of the websites compromised were using WordPress. Weird.

</comment><comment><USER23> Is there some way of reporting the spammer to get his website de-indexed from Google?

</comment><comment><USER24> were they hacked or was a user account just compromised?

<comment><USER25> They were hacked because the "hacker" managed to modify the content of the web site. Using a compromised account to get into the machine.</comment></comment>


D 2.065 released with 396 fixes and improvements - <AUTHOR> http://dlang.org/changelog.html?2.065 <comment><USER2> I've been hearing good things about the D community, but I've yet to see what makes it a better choice than Rust or Go. Anyone care to enlighten me?

<comment><USER3> It's more of an attempt to provide a better C++, whereas I'd frame Rust or Go as attempts to avoid the need for a C++.

D might be for you if you're heavily into C++ template metaprogramming and wish it was neater and more expressive and all around more powerful.

<comment><USER4> I would classify both D and Rust as modern languages for systems programming, for those developers that care about expressive languages with meta- programming capabilities and modern type systems.

Go is rather what Java 1.0 should have been, 20 years later.

<comment><USER5> > modern type systems

I would dispute the fact that the type system is the a big draw to D. Whilst it is an improvement on C++, it is still hampered by the fact that it is ultimately descended from the ALGOL lineage. Advanced type systems lie with the MLs and Haskell, languages that Rust's type system is inspired by. What D has over Rust however is its expressive template metaprogramming. Templates have their shortcomings, but they are still a powerful form of static code generation that can really empower library developers.

<comment><USER4> Sure, I wasn't putting one against the other, as I like both languages and feel both will appeal to different types of audiences anyway.

My main point was that they follow the school that you need expressive type systems, even if as you noted, each has different strengths.

And both, each with a different set of mechanisms, allow for some sort of compile meta-programming.

</comment></comment></comment></comment></comment><comment><USER6> >> Goto jumps now cannot skip variable declarations

I'm surprised that D lang even has a goto statement.

<comment><USER7> goto is common in C and C++ code as a clean way to consolidate cleanup code without using exceptions. I imagine that's the main use case they wanted to preserve.

<comment><USER6> Still, though, goto is considered so harmful that it's inspiration for "considered harmful" phrasing. Apple's goto-related SSL vulnerability this week is a blatant, high-profile reminder of how harmful it is.

<comment><USER8> Apple's goto-related SSL vulnerability this week is a blatant, high-profile reminder of how harmful _unbraced conditionals_ are. The same bug could have happened with two return statements in a row.

<comment><USER5> I'm really thankful Rust does away with them. Static analysis can catch these things, but it should be prevented in the grammar from the start.

<comment><USER9> I'm not sure, I get your point: Rust has return..

<comment><USER5> I meant re. unbraced conditionals.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Are there any plans to cut a new version of Andrei's book at some point? I keep meaning to find some time to work thorugh it, but it's getting quite out of date (Was current with 2.010 or something, I think)

<comment><USER11> I don't think the language has really changed enough to warrant a new version of The D Programming Language[1]. I highly recommend reading Andrei's book even for people who have no intention of actually using D. It's just a really good read for anyone that has even the slightest interest in programming language design because its filled with the rationale behind every design decision and Andrei is a good writer.

I'm doing a technical review of an upcoming book on D that I believe should be coming out the latter half of this year.

1\. Jonathan Davis' list of changes since TDPL came out: [http://forum.dlang.org/post/mailman.647.1327135415.16222.dig...](http://forum.dlang.org/post/mailman.647.1327135415.16222.digitalmars- email@example.com)

<comment><USER10> I think that link rather proves rather than disproves my point...the erratta list is almost one per page, and the mailing list post you linked to is from over 2 years ago.

<comment><USER11> A new run to fix mistakes would be nice but I don't think the publisher would jump at that since there isn't much motivation for current owners of the book to buy a version that is largely the same but with typos and other mistakes fixed.</comment></comment></comment></comment>


Rust – memcpy is backwards (silent breaking change) - <AUTHOR> http://internals.rust-lang.org/t/memcpy-is-backwards/1797

<comment><USER2> I don't have much to add to this argument since I think that someone will simply make it the way _they_ think it should be regardless of anyone else.

However, I will point out that by closing the revert request with the rationale "I'm going to suggest that discussion on the next step happen in the ongoing discuss thread", aturon is moving the status quo. Now instead of having a discussion about _why this breaking change should be made_ , they're having a discussion about _why this breaking change should [not] be reverted_ thus further breaking code which has been updated.</comment>


Ask HN: What's the next big thing after deep learning? - <AUTHOR> <comment><USER2> skynet</comment>


GraphQL Fragments Are the Best Match for UI Components - <AUTHOR> https://blog.manifold.co/graphql-fragments-are-the-best-match-for-ui-components-72b8f61c20fe <comment><USER2> One thing I keep running into is that for a few of my app ideas, I'm not really interested in just having static queries known at build time, like Relay and Apollo are designed for. I specifically want them to be dynamic and actually based on what components get rendered.

Consider this query from the article:

        query ProfilePageData {
          user(handle: "manifoldco") {
            ...HeaderData
            ...SidebarData
            ...TweetListData
          }
        }

That's great if the ProfilePage component knows that it only contains the Header, Sidebar, and TweetList components. Since they're designed for static queries, both Relay and Apollo suffer from this shortcoming: the parent query needs to know about every component that could possibly add fragments ahead of time, and pull them all in. In my opinion, this really fails at fulfilling the promise of components – the parent shouldn't need to know what all its descendants do.

What if the rendered components are more dynamic? Putting @skip directives on every field is not really an option (and then you need a matching query $variable for every directive.)

If you think of the query as more of a template, then you could have portions of the query that are like "template blocks" that other components could extend, e.g.:

        query ProfilePageData {
          user(handle: "manifoldco") {
            ${userFragments}
          }
        }

...then descendant components could have access to `userFragments` as an extension point. I'm not yet sure if it's a terrible idea, but I started a project just the other day to experiment with it: [https://github.com/exogen/apollo-dynamic- queries](https://github.com/exogen/apollo-dynamic-queries)

<comment><USER3> It sounds like your child components should be fetching their own data via their own graphql queries rather than consuming it as props from the parent that's rendering them.

That way the parent can just render whatever components it wants without having to worry about what data they require.

<comment><USER2> I've considered that, but it's extremely annoying (and still not really possible with Relay or Apollo). Not only would I be relying on Apollo's query batching/merging in order to not make 100 different queries over the network, but each child component would need to duplicate the base query _and variables_ , meaning they'd need the props that correspond to query variables passed all the way down the component tree to them.

Consider the Artist.Name and Artist.Disambiguation components in my GitHub example. Notice how they don't need the `mbid` prop that the ancestor component provides. I want a component like that for every single field in my Artist schema. If every one of those components duplicated the artist query, they'd all need to be passed the `mbid`, because that's how it determines what artist to retrieve. It's possible to do some tricks with `context` like I'm doing now, but I don't really trust that it's a better solution than having one query execution point with an extendable query.

<comment><USER4> You can have child components that get some data from props and some from their own query. Just inject the props into the relay renderer.

<comment><USER2> Yes, I'm saying that getting those props to those children in the first place is annoying to do and I'd still have to build a bunch of `context` helpers on top of Relay and Apollo to make doing that nice.

This is the API I want:

        <Artist mbid="abc-123">
          <Artist.Name />
          <Artist.Disambiguation />
          <SomeOtherComponentThatHasArtistFieldDescendants />
        </Artist>

This is the API you're saying I would have to use with vanilla Relay and Apollo:

        <Artist mbid="abc-123">
          <Artist.Name mbid="abc-123" />
          <Artist.Disambiguation mbid="abc-123" />
          <SomeOtherComponentThatHasArtistFieldDescendants mbid="abc-123" />
        </Artist>

<comment><USER2> Assuming I did build HOCs for doing so, the difference boils down to this: in your approach, query variable props would magically be passed _down_ the component tree via `context` and used by descendant components in duplicated queries. The way I've built it, query fragments are magically passed _up_ the component tree via `context` and used in a single query.

Considering neither are possible with vanilla Relay and Apollo and I need to build these helper HOCs either way, I don't really see why what you're proposing is better. I had already considered them both and deliberately did _not_ do it that way.

</comment></comment></comment></comment></comment></comment><comment><USER5> I really love this approach, I have been thinking about it for some time now... However, as much as I like it, it seems that implementing a GraphQL server is not an easy task, and getting an in-depth understanding of how GraphQL works seems quite challenging.

I can devote a few days to read the JSON-API spec ([http://jsonapi.org/](http://jsonapi.org/)) and get a pretty good understanding of it. I wish there were a way to consume JSON-API based APIs in the same declarative way GraphQL provides.

I'm thinking that a library that "translates" GraphQL queries to JSON-API requests will be a great solution.

<comment><USER6> GraphQL is something that's relatively simple (and brilliant) but is one of those things that you just need to try properly first for it to click, especially if you have a background of implementing tons of REST based services.

The GraphQL related tools are top notch and implementing GraphQL server isn't any harder than a REST based server would be (one could even argue that it would be simpler). Even if you don't want to implement everything from scratch, tools like Postgraph[0] exists that pretty much automate it for you.

I made a simple tutorial[1] on wrapping an existing API with GraphQL here which goes through basics of settings up too.

[0] [https://github.com/postgraphql/postgraphql](https://github.com/postgraphql/postgraphql) [1] [https://github.com/motleyagency/devday- tutorials/blob/master...](https://github.com/motleyagency/devday- tutorials/blob/master/docs/02_graphqlify.md)

<comment><USER5> Thank you, I will be checking on Postgraph and your tutorial, I'm really interested in adding GraphQL to my development stack.

</comment></comment></comment><comment><USER7> Sure, but you're asking your server to support a full query language. Even with data-fetch on a js-impl (or ... a hell of a lot of by-hand tooling in Python with Graphene), this overhead really hurts your qps.

To be honest, I sort of wonder if the right place to implement the GQL interpretation and scheduling layer is in a service-worker.

That way, the client devs who love this complex query language can also support the queries they need and ensure their calling conventions don't violate performance boundaries in the gql server implementation.

<comment><USER8> It's really not that hard to build a relatively optimal GraphQL server. Obviously it requires paying careful attention to performance, and to take steps to mitigate abuse (query whitelists, complexity caps etc). If you were to move the implementation off the server and into the client you'd use a lot of the benefits of GraphQL in the first place (performance being a major one).

<comment><USER9> _Obviously it requires paying careful attention to performance, and to take steps to mitigate abuse (query whitelists, complexity caps etc)_

Are these also "not that hard?"

<comment><USER10> "Query whitelists" sounds like sending to the server something like `{"query_id": 4, "variables": ...}` instead of `{"query": ..., "variables": ...}` which are straightforward to implement using any kind of server side key-value store and a middleware that maps the `query_id` back to the corresponding `query`, a tool that can help you with this is Apollo's PersistGraphQL [1]

I have no idea how I would go about implementing complexity caps though, but I guess I would do something like what GitHub has done for their own GraphQL API [2], which they explain better than I can.

[1]: [https://github.com/apollographql/persistgraphql](https://github.com/apollographql/persistgraphql) [2]: [https://developer.github.com/v4/guides/resource- limitations/](https://developer.github.com/v4/guides/resource-limitations/)

<comment><USER2> Another simple option for limiting complexity (I've considered implementing this in my GraphBrainz project): in the `context` provided to the GraphQL query resolver, increment a counter whenever a resolver requires fetching from an external API/database/etc. (whatever "too much of" would constitute abuse or just take a long time). Fail if the counter reaches some threshold. This would be really easy.

Also, instead of multiplying node counts like GitHub does (which is pretty clever!), another simple option would be to look at the depth of the query (how many levels down is the deepest leaf), and fail if it's over some maximum. This is also very easy to do as you get the query AST in the `info` field of the resolver. (This one is less effective than the one above since depth doesn't totally match up with resource usage, fields can be aliased, etc. but you get the idea.)

<comment><USER7> > Another simple option for limiting complexity

Okay but... I guess my question is: why are you denying a client the right to make a complex query? Is it because all your queries are kinda slow and so you must hand-optimize them, leading to a combinatoric explosion of codepaths?

Or is it because your clients cannot judge how complex the queries they're making are? If so, isn't this actually a gap in the GQL spec? Lots of other query language implementations offer query description and estimation commands in their code.

Your proposed solution seems to me like it's brutal for your consumers. There's minimal indication of how quickly your complexity metric will rise in the query. You'd need to add ad-hoc per query&mutation arguments to push that query complexity cap up for legitimate uses.

<comment><USER2> > Okay but... I guess my question is: why are you denying a client the right > to make a complex query? Is it because all your queries are kinda slow and > so you must hand-optimize them, leading to a combinatoric explosion of > codepaths?

No, it's because:

(1) This is a feature of literally every API, most of them just use the extremely blunt instrument of rate limiting (even if requesting the same simple scalar value field over and over again does not add any strain on the server, you'll be rate limited just the same). Why aren't you asking this same question about REST queries?

and

(2) The 'Graph' part of 'GraphQL' means that queries can theoretically request connected nested objects of nearly infinite depth. This doesn't require that anything about the query code be slow or needs to be hand-optimized, or that there be any complex codepaths, just that MORE JOINS == MORE WORK and MORE PAYLOAD, no matter how perfectly optimized it is. Why aren't you asking "why does REST deny clients the right to make as deeply nested queries as they need?"

<comment><USER7> > This is a feature of literally every API... Why aren't you asking this same > question about REST queries?

Combinatoric explosions of complexity via a single query path are not a feature of every API.

> The 'Graph' part of 'GraphQL' means that queries can theoretically request > connected nested objects of nearly infinite depth.

Thanks for this.

> just that MORE JOINS == MORE WORK and MORE PAYLOAD

So like SQL but without all the excellent query complexity tools or clarity around what precipitates a join?

> Why aren't you asking "why does REST deny clients the right to make as > deeply nested queries as they need?"

Because RESTful APIs tend not to allow ad hoc graph traversal. When they do, it's because they're tunneling a graph query language. When they do (e.g., ElasticSearch) I (and we, as in the community at large)_DO ask these questions.

<comment><USER2> > Combinatoric explosions of complexity via a single query path are not a > feature of every API.

> Because RESTful APIs tend not to allow ad hoc graph traversal.

I think you're taking this graph part too literally. Almost every API has a "graph" of connected objects. GraphQL just makes it so that you can traverse them with a single query. REST endpoints tend to force you to make multiple queries to go back and fetch information about the entities whose IDs or URLs you received in earlier requests – thus the rate limiting. In both cases, combinoratic explosions (and infinite depth) are possible – REST just forces you to explode into more round-trips (and the server is likely doing even more duplicated work than it needs to to fulfill those subsequent requests).

If you wanted to simulate the ease-off aspect of REST requiring clients to return for multiple rate-limited round trips to get the query data they want, you could simply add a timeout in the nested object's GraphQL resolvers that perform self-rate-limiting. Same result but the clients don't need to know about it, they can just wait the same amount of time they'd have had to wait for all the data anyway.

<comment><USER7> > GraphQL just makes it so that you can traverse them with a single query.

Yes. This is what I'm saying. GQL allows for a combinatoric explosion of potentially required queries (and in extreme cases, data providers) to fufill any request. And every GQL endpoint needs to be able to service all of them unless your request routing proxy can peek into body contents, which is more expensive than URL routing.

> REST endpoints tend to force you to make multiple queries to go back and > fetch information about the entities whose IDs you received in earlier > requests

A problem we can solve elegantly with HTTP/2 push using nearly identical underlying API servicing models. What's great about that approach is that it's totally transparent to the client; they just get better performance with less resources.

Instead, folks have decided to discard a lot of really positive aspects of the REST model to make a client-facing DSL realized in the server.

> In both cases, combinoratic explosions (and infinite depth) are possible

But in the classical rest case, the client is aware they're doing this, as well as the server. In the GraphQL case, we've obfuscated this and said, "We reserve the right to reject your quest for any reason, and we've also made it harder for us to service your query (unless we go back to mandating every valid query as in rest), and we've also made scaling harder because it's more difficult to factor endpoints into different scaling groups."

But hey, that DSL is great. It's like JSON without tall that predictability or syntactic validation.

I cannot see any positive outcomes to adopting graphql other than that, "Client-side developers love it". If ya'll love it so much, why not maintain it on your side via service-worker query interception?

I ask facetiously. The answer is: because that would be really hard, and we'd rather push it off to API endpoint devs. Devs who promptly put restrictions that basically render the best part of GraphQL (that it is a query language) impotent for performance reasons.

<comment><USER2> > I cannot see any positive outcomes to adopting graphql

How about one HTTP request often being faster than multiple requests? How about only retrieving the payload you requested rather than all the extra data the API developers decided to expose in the endpoint – bandwidth isn't free? How about not having to add new custom bespoke API endpoints because some new part of the website just needs a few little different pieces of data that would normally require several round trips, pretty please? These are just normal everyday issues that people put up with when using REST APIs.

> A problem we can solve elegantly with HTTP/2 push using nearly identical > underlying API servicing models. What's great about that approach is that > it's totally transparent to the client; they just get better performance > with less resources.

Shouldn't you use push when you know the client will ask for the resources? How would you know whether the client will ask for certain connected objects in this case? Would you just always be pushing every connected object over the wire?

I don't really see why you're giving such special distinction to one HTTP request vs. multiple HTTP requests. That is an arbitrary distinction to make. You shouldn't be asking "how much strain can a client put on my server with a single request? but oh, they can make multiple requests…" but "how much strain is a client going to put on my server to get all the data they need, whether it happens across one request or multiple?"

<comment><USER7> > How about one HTTP request often being faster than multiple requests?

Http/2 push.

But also: would it actually be more dev hours to write out the custom RESTful queries? If you're whitelisting individual queries. What's the difference then? You've just got a more awkward, uncachable, less split-routable protocol for exactly the same data.

> Shouldn't you use push when you know the client will ask for the resources?

Yes. If I know they intend to join data in, I can push it. I can even do this somewhat speculatively based on statistical patterns in clients. I can tune those values based on real data which can be refined over time.

<comment><USER2> > Yes. If I know they intend to join data in, I can push it.

Right, so if you don't have the full "query", which you don't with multiple REST round-trips, then you won't push it...

> I can even do this somewhat speculatively based on statistical patterns in > clients. I can tune those values based on real data which can be refined > over time.

Cool, so guessing. That's exactly what I want my API's performance profile to be based on. Sounds like a lot of work man, why don't you just use GraphQL instead? ;)

<comment><USER7> > Right, so if you don't have the full "query", which you don't with multiple > REST round-trips, then you won't push it... well.

Yes. But of course, GraphQL ad hoc extensions are discussing limiting this arbitrarily as well.

> Cool, so guessing. That's exactly what I want my API's performance profile > to be based on.

No. For example, if I can say that a banking customer wants to see a second page of transactions 90% of the time, then I should push the next page every time. If I can say they want to see the third page of transactions 10% of the time, then it makes sense to defer the cost.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Question for someone with experience with graphql. I have a data heavy react application I'm working on that would benefit from something like this, but almost every single component has the ability to refetch it's data individually. If you have all of these fragments being passed up to the single query being called, how do you handle a situation where you want the explicitness of refetching only one of those fragments, but getting it on in one initial call?

<comment><USER12> It's less about component-level refetching (though you can), it's more about the strong data specificity and composition that is the point of this article. That said, it's up to your query builder to figure out intelligent refreshing / refetching. I use Relay, and it's pretty good at this.

</comment></comment><comment><USER13> I don't understand... doesn't GraphQL encourage embedding full queries into the client app? It's not SQL but it's equivalent. Isn't this a road of pain for any project that is long-lived or scaled.

I guess I can see it sitting between a data cache — that is filled by a set of relatively large-granularity fixed queries that can have a decent cache validation mechanism — and the client UI. Maybe that's how it's actually implemented? But then it seems like that would often be better (at least much of the time) for that data cache to be client-side.

You do want a way to pass _user_ filter conditions back through the data access pipeline (but not business logic where-clause conditions) all the way back to the data store, but those should still be constrained.

</comment><comment><USER14> The one thing I never got with GraphQL is what do you query if you don't know what to query for??? Can someone answer this for me.

I don't know what I need. Server tells me I need {allthedogs}. Now I know to query for {allthedogs}... what's the point of GraphQL?

<comment><USER2> The schema should still be documented somewhere, like any API. But even if it's not: GraphQL supports a special "introspection query" that will tell you the entire schema that you can query. Pointing a tool like GraphiQL ([https://github.com/graphql/graphiql](https://github.com/graphql/graphiql)) at a GraphQL endpoint will even run the introspection query automatically and turn the result into rendered explorable documentation. That's how you figure out what to query.

</comment></comment><comment><USER15> I dont use fragments, I feel if I need a fragment, the jsx file is too bloated just make more components and higher order components that connect with a small slice of your graphl queries. This is probably causes more duplication but I'll copy and paste if it makes things easier to read

</comment><comment><USER16> This is why Om Next (in cljs) with datomic backend is so powerful!

<comment><USER17> I was curious if anyone was going to mention this. We had been looking at GraphQL for our latest project, but realized datomic + pull patterns + re- frame was a more integrated fit.

I hate jacking threads pointing out X instead of Y, but in this case it feels warranted.

<comment><USER18> That's exactly right. GraphQL is a contract between backend and frontend. I tend to think of the GraphQL schema as documentation that is always up to date.

</comment></comment></comment><comment><USER19> om.next does a similar thing

</comment><comment><USER20> Add some ML to extract common UX patterns and generate highly personalized websites/apps.

The only job of the future will be AI-assisted design.

<comment><USER21> Machine learning is not pixie dust.

<comment><USER22> But what if you added some ML to extract common UX patterns to it hmm?

<comment><USER23> Sounds like the perfect place to use a cryptocurrency as a distributed query ledger.</comment></comment></comment></comment>


Wordpress Action Hooks - <AUTHOR> http://webrambo.com/wordpress-action-hooks/

<comment><USER2> It remembers me the ASP.NET life cycle. Doing so is a clever workaround for lacking of function override in PHP.</comment>


Polypill 'Halves Heart disease and Stroke Risk' - <AUTHOR> http://blog.methuselahfoundation.org/2011/06/post_1.html <comment><USER2> [http://www.sciencedaily.com/releases/2011/05/110525181418.ht...](http://www.sciencedaily.com/releases/2011/05/110525181418.htm)

"The authors noted that the benefits, while large, were not as massive as previous researchers have suggested, and the side effects were also not as rare as first thought. In the short-term about 1 in 6 people experienced a side effect. Most were mild but about 1 in 20 overall stopped treatment due to side effects, indicating that treatment is best targeted to those at raised risk of disease."

British Medical Journal publications on the issue:

<http://www.bmj.com/content/342/bmj.d3355.short?rss=1></comment>


Have 4 minutes to help startup visa? - <AUTHOR> https://sites.google.com/site/iamelgringo/have-4-mintues-to-help-startup-visa

<comment><USER2> Please take a few minutes to do this. If you need a first-hand non-sentimental story with a possible solution, here's mine: [http://crazyviraj.blogspot.com/2011/06/capitalistic-fix- for-...](http://crazyviraj.blogspot.com/2011/06/capitalistic-fix-for- americans-broken.html)

<comment><USER3> Viraj, encourage you to look at this piece of legislation which may affect your wait time: [http://www.sltrib.com/sltrib/politics/52799052-90/chaffetz-b...](http://www.sltrib.com/sltrib/politics/52799052-90/chaffetz- bill-legislation-immigration.html.csp)

Thanks for sharing!

</comment></comment><comment><USER4> As a foreign (British) entrepreneur looking to make the move next year I appreciate both this movement and those in the US pushing this. I don't see why this hasn't passed yet. Especially because this is beneficial for the US economy.

<comment><USER3> Left and right politics in DC. Left wants low-skilled immigration reform. Right wants high-skilled immigration reform. Result is gridlock.

We're trying to thread a thin needle.

<comment><USER5> I'd have to respectfully disagree, or at least suggest the situation is a lot more nuanced than that.

Dems (well, Obama) 'clarified' _(read: changed the law slightly in a way that didn't need new legislation)_ the USCIS guidelines for self-sponsored H1Bs for startup founders and also the requirements for EB2 visas for entrepreneurs. They've also been very attentive to the Startup Visa movement.

The GOP continue to pursue a blocking stance across the board on all legislation in Congress _(essentially as a punitive measure for electing Barack Obama)_ and they don't seem willing to support any real immigration reform - high or low skilled - that I can see.

<comment><USER3> Hell, I'll respectfully disagree with me that there's nuance :) But from a first-order analysis perspective, that's it. I didn't think this was the audience to go much farther beyond that.

However, if you want more...

The Obama administration was the same administration that advanced the Neufeld memo in 2010 strictly restricting H1-B to founders by making the 'employer work certification' a hard requirement. With the H1-B/EB-2 and EB-5 liberalization this past August, the Neufeld memo is all but overturned, but it could come back at any time, which is why we need Startup Visa legislation. All the same, the big positive in that the Obama administration is willing to consider it a jobs bill and not an immigration bill, which we've got from Valerie Jarrett after sending a briefing off to the White House.

The administration been pretty attentive to Startup Visa (Facebook and Twitter town hall mentions and vague reference in the El Paso immigration reform speech in May), but the lack of mention in the LinkedIn speech last month pissed off Conway and has made it much harder to pull in VC attention since. Conway's now focusing his time and effort on the Ed Lee campaign for SF Mayor, such as with the 2Legit 2Quit video.

However, Senate Dems, specifically Sen. Menendez of NJ, are much more hard line on the "nothing but comprehensive immigration reform" than the President. While we have the support of 6 Senate Dems—lead sponsors being John Kerry and moderate Republican Richard Lugar of Indiana—we haven't yet come up with any strategy to overcome the comprehensive roadblock.

The Chamber of Commerce and Bloomberg administration has 'nudged' the Republican position sufficiently that rumbles are coming out that horribly anti-immigration Judiciary Chairman Lamar Smith is said to be putting together an extremely watered down STEM green cards bill: [http://www.vdare.com/articles/national-data-by-edwin-s- ruben...](http://www.vdare.com/articles/national-data-by-edwin-s-rubenstein- why-more-immigrant-science-technology-engineering-math-)

Interestingly, Utah is also a big driver of high-skilled immigration reform, according to friends in the Bloomberg administration. Rep. Chaffetz's bill rebalancing H1-B visas to change the flat per-country % changing the status quo of China and Luxembourg having the same number of H1-Bs available is advancing with Smith's support. It has just passed Smith's Judiciary Committee and awaits action on the House floor: <http://thomas.loc.gov/cgi- bin/bdquery/z?d112:HR03012:@@@C>

Finally, also note the Obama administration's recent effort to set up a 'Tiger Team' or Skunkworks to cut through red tape in USCIS to make more administrative changes to make the immigration process easier: [http://www.uscis.gov/portal/site/uscis/menuitem.5af9bb95919f...](http://www.uscis.gov/portal/site/uscis/menuitem.5af9bb95919f35e66f614176543f6d1a/?vgnextoid=bd537158910e2310VgnVCM100000082ca60aRCRD&vgnextchannel=68439c7755cb9010VgnVCM10000045f3d6a1RCRD)

</comment></comment></comment></comment><comment><USER6> As someone moving from New Zealand all the way to the states for my business, I'm just starting my research on visas. What's the problem you guys are actually trying to tackle?

<comment><USER7> I'm a British national in NYC right now on an H1B visa. It locks me down to one employer, and the process for transferring the visa between employers is an absolute nightmare (that I am currently in the middle of).

I'm very happy at my startup employer, but you can't be surrounded by startup culture without wanting to do it for yourself. I've got tech skills, ideas and business-minded friends and a couple of potential investors- but I can't act on any of this because I can't start and work for my own company.

So, I'm here for now. But I don't see a career path ahead of me, just a ton of dead ends. So as it stands right now, if I ever want to get serious about an idea I'll have to take it to London. Arguably, that's not in my interests (I'll have to rebuild a network from scratch) and it's not in the interests of the US for me to leave.

The Startup Visa would allow me to form my own company, work for it and hire local employees. Maybe I'm biased, but it seems like a win-win to me.

<comment><USER8> I'm a foreigner in the UK on the UK equivalent of an H1B visa (the tier 2 killed migrant visa). I'm also tied to my employer, though it's a consultancy and I'm based at different clients on different projects so it doesn't get too dull. That said, I'm also frustrated that I can't start a business here. There is an entrepreneur visa, but you need either £250,000 of cash that's under your control (no loans) or £50,000 from a UK based VC, and even with that it's not easy to get.

I doubt, politically, that it will become easier to get startup visas in the US and the UK. People actually don't want entrepeneurs from foreign cultures in their country. They don't want people from the Middle East and Asia open restaurants, take-aways, tailors, mechanics and other small businesses that employ them and their relatives. They don't want these people to have lifestyle businesses. People are racist and xenophobic. This is why they set the bar either high, so it's someone who will set up a large business that is likely to employ a lot of local people (or pay a lot of taxes) or they limit it to VC funded companies since these invest in certain more desirable types of businesses from a cultural perspective, like hi-tech.

<comment><USER9> It's not racist or xenophobic to give priority to your own citizens over others. We're not racists or xenophobes just because our great-great-great- great-grandparents did a better job at setting up a country than yours. We're not obliged to fix the world just for you, we just want to live our own lives. Our unemployment is high enough to need to give priority to the children of the people who paid for it all, because that was the promise of the struggle.

Start a business in your own country. If it's such a crap country, work on fixing it for the next generation. That responsibility's fallen to your generation, stop moaning and stand up.

<comment><USER10> >> We're not racists or xenophobes just because (...)

Still xenophobic, though. I've lost count of how many strawmen you raised here:

\- No one is asking for you to "fix the world" for me or other immigrants. Like you, I just want "live my own life", without having to be artificially tied to one piece of land.

\- Who says that immigrants do not pay taxes? They pay just like you, and one could argue that they are actually subsidizing _your_ welfare. Undocumented immigrants with jobs pay taxes like everyone else, yet they are not eligible for benefits. For example, I paid two years of Social Security here, and there is _zero chance_ that I will see this money back.

\- Skilled immigrants are more likely to _solve_ the problem of unemployment in your country. "They are taking our jobs" is a ridiculous fallacy.

<comment><USER9> _Xenophobia is defined as "an unreasonable fear of foreigners or strangers or of that which is foreign or strange_

Don't ever call someone you don't know a xenophobe, you know absolutely nothing about me. I fear UK white trash more than I ever have johnny foreigner.

To be clear, I'd be deeply hurt and insulted by this, but you don't actually seem to know what it means.

From the BBC:

 _The unemployment total for 16-24 year olds hit a record high of 991,000 in the quarter, a jobless rate of 21.3%._

They are the ones our government should be caring about, not you. Sorry. It's just that there aren't enough opportunities to go around and in the end a Government should be helping its citizens, not someone else's.

That's the point of them.

The original comment I replied to is calling his hosts vile names, as you are, just because you can't get that you're not entitled to anything in this world. You've been given an opportunity in this country and just because our citizens are naturally prioritized over you, why are you complaining and throwing names?

My point about taxes is that your _parents_ didn't pay any. Do you think all this infrastructure appeared yesterday? All this case law was invented last week? That the freedoms afforded were given willingly by kings or queens? It's all been invested in generation to generation. All those unemployed kids? Their parents worked here, paying towards a future for their children. An unwritten contract of pay it forward. Go back a generation or two and you find parents dying, blood, fear, struggle to give their children and their childrens children this opportunity. To ask the Government to give the same opportunities to someone who just turned up is naive at best.

Calling them racists or xenophobes? Total lies and totally out of order. Britain is a liberal and tolerant country compared to many I've been to. There are bad eggs, no denying that, but we're one of the most progressive countries in the world.

I fully admit our forefathers are to thank for this and I feel very lucky to have had the random luck to have been born here, but on the other hand your totally unrealistic sense of entitlement doesn't make everyone else a xenophobe or a racist.

Xenophobia and racism are specific, vile states of mind. Every country in the world prioritizes their citizens. Twisting those words to mean that is, frankly, pathetic.

<comment><USER10> It may not be conscious for you, but until you are dividing things between "your country" and "someone else's", I will consider your statements xenophobic. We are both in agreement about honoring one social contract, the main difference is that you don't think that others should have any choice of which contract to establish in the first place.

Also, it strikes me as odd for you to defend all the progress made by your ancestors in bringing freedom to people, but not realizing that there is more that could be done. My "complaining and throwing names" about immigration law today would be equivalent to your ancestors complaining about them being exploited by some feudal lord.

More importantly, you don't realize that isolating people based on their country of origin (instead of their potential to contribute to society) is the opposite of progress.

You may think that Britain is one of the most progressive countries, but oddly it has been surpassed in many indicators of quality of life by Canada and Australia. These countries have far saner immigration policies. What's stopping your generation to try to bring this level of progress to Britain? The unwritten contract of "pay it forward" also applies to you, doesn't it?

I'm sorry if you feel offended by any of what I said, I just wish there was a way to disabuse the notion that "country of birth" is some valid parameter to assess an individual. It _could_ have been true a couple of generations ago, but the world of today can (and should) get away from these physical barriers.

P.S: I just realized my bad wording on the original comment. I'm not in the US as an undocumented immigrant. I wanted to say that even being in the US with a H1B visa, I still will not get access to what I paid to Social Security.

<comment><USER9> Please invent another word. That's not the meaning of xenophobic.

If you gave every single person a choice over which social contract they could choose do you think they'd all be living in Iran, the Congo or the US? Do you think the US could cope with 5 or 6 billion people living there? Or Switzerland or whoever's topping the quality of life list atm.

You're calling people xenophobic because you want the US or the UK to suddenly turn into a meritocracy, but not a real one where we kick out the failures out and let more deserving in. No just the one where you get let in but most other people don't.

But you're not xenophobic or racist? Because it's based on a criteria of merit that you qualify for but the starving child in Africa doesn't.

Is that hypocrisy?

The world today _can't_ get away from those physical barriers. There's not enough money in the world to pay for the UK's social security system for every person in the world. A worldwide NHS? A dream many years from being realised. There's not enough schools spaces in the world for every child. There's not enough houses or roads or cars or yachts or lear jets or iPhones or big screen TVs to go around.

We're nowhere near that point, not even vaguely close. There's not enough. And you're complaining that you've almost managed to break through to the top 5% but they won't let you be a full member of the club. And by Jove you deserve it, and the guy who got me riled in the first place deserves it because you say so. There's enough for _you_ , but only if they let that magical door open a teeny-tiny bit more.

I was lucky in my birth, you were almost as lucky as you've obviously landed on your feet. You got opportunities denied to most of the world. I got, and probably wasted, more. But are either of us xenophobes for benefiting from that luck or wanting to keep that situation for ourselves and our families?

Step back and reflect, really reflect if your desire for this 'sane' immigration isn't totally selfish. Why are you deserving more than any other being on the planet? Because you ticked some boxes? Passed some exams? Dream of starting a business? And why should I even be allowed to stay in the UK?

<comment><USER10> The term "xenophobic" might be overloaded, much the same way that "homophobic" is. You don't need to actively hate homosexuals to actually hold homophobic views. I still stand by the point that discriminating someone based on their nationality or citizenship is holding a xenophobic point of view. But let's agree that the term might be confusing.

 _> >If you gave every single person a choice (...) they'd all be living in Iran, the Congo or the US?_

As if the only thing to factor in when choosing where to live is the "social contract". There are many people that are allowed to live in Canada and Australia, and yet they don't.

You'd be surprised by how averse to change most people are. Even in places where people have more opportunities to come and go, they still prefer to stay where they are over risking for better opportunities elsewhere. Not all Americans from flyover states want to move out, no matter how bad the environment might be. The same applies to Europeans in the EU, or South Americans in the Mercosul.

 _> > (...) There's not enough money in the world to pay for the UK's social security system for every person in the world(...)_

I can see that we hold many different values about other things, and these might be contaminating the main topic of discussion. I don't want "government benefits". What I want is "free flow of people and services, so that they don't grow up to be dependent on these government benefits in the first place".

 _> > Why are you deserving more than any other being on the planet?_

I am not more deserving to anything, neither I am any _less_ deserving to anything.

 _> > And why should I even be allowed to stay in the UK?_

Why _shouldn't_ you? Are you dangerous? Are you denying someone to their freedoms? It doesn't seem to be the case.

In my value system, you should be allowed to stay _anywhere_ where your presence (or your actions) do not cause direct harm to society. In yours, the country of origin takes precedence over the individual.

<comment><USER8> To me the irony of this argument is that my ancestors were European, I have already spent well over £150k on taxes in the UK, and the business I would like to start would be employing 19-24 year olds.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I have a number of visa complaints, but they have nothing to do with start- ups.

Fiancee visa:

{% for profanity in all_profanities %} {{ profanity }} USCIS {% endfor %}

I feel better now.

<comment><USER3> I'm not sure how you could apply a greased weasel to USCIS, but I'm sure they would not appreciate it.

</comment></comment><comment><USER12> Canadian here, your help is appreciated!

<comment><USER13> As a Canadian, I have to say it's not very hard for Canadians to get VISAs in the U.S.

<comment><USER12> If you're technical, yeah. Always tons of demand for engineers. But if you're not a software engineer, much harder I believe.

<comment><USER14> You don't have to be a software engineer, or even technical, you just have to be a "professional".

</comment></comment></comment></comment><comment><USER15> Okay, a bit off topic, but I'm hoping I wasn't the only one who clicked this title after sight reading "Have 4 minutes to help startup vista?"

<comment><USER16> or "Have 4 Mintues to Help startup Visa?"</comment></comment>