Amazon Is Hiring More Developers for Alexa Than Google Is Hiring for Everything - <AUTHOR> https://www.forbes.com/sites/johnkoetsier/2018/03/13/amazon-is-hiring-more-developers-for-alexa-than-google-is-hiring-for-everything/#e8ee25d1985a <comment><USER2> This comes down to the fact that each Amazon team manages its own hiring (and so has its own job postings), whereas Google has one top-level posting per role.

<comment><USER3> Good observation. If true, this story is a complete waste of time. Apples/Oranges.

<comment><USER4> Isn't it a good observation _if_ it's true?

<comment><USER3> Urgh. Okay. I thought it was an insightful comment but didn't invest the time to vet it fully. Was trying to highlight the comment because (again, if true) it basically invalidates the whole story. That doesn't happen often. The notable part is that one short comment (could) make the story shit.

If google does indeed limit, for example, "SRE II/ Location" to one posting, and Amazon expands that to, say, 100 postings, then the premise is worthless. I don't know how to confirm that.

</comment></comment></comment></comment><comment><USER5> Disclosure: I work at Google.

As others said, there's no data on how many people Google or Alphabet are going to hire (postings are not 1:1 with individuals). Alphabet apparently hired 8,057 people in FY 2017 [1]. Note that while HTC had ~2000 people come over [2], that was not closed within FY 17.

[1] [https://abc.xyz/investor/pdf/2017Q4_alphabet_earnings_releas...](https://abc.xyz/investor/pdf/2017Q4_alphabet_earnings_release.pdf)

[2] [http://www.businessinsider.com/google-htc-employees- acquisit...](http://www.businessinsider.com/google-htc-employees-acquisition- risky-2017-9)

</comment><comment><USER6> How do they determine the number of open requisitions? Seems like number of job postings is misleading since one posting could be used to hire multiple people.

<comment><USER7> Seems like they don't.

A quick Google search (ha) seems to indicate that Alphabet's growing by about 10,000 people per year or so. Let's be fairly conservative and say 20% of those folks are programmers. That's still much more than 1,147 people.

Besides that, the sentence "Amazon is hiring 1,147 people for its Alexa business unit alone" is very different than the headline, which is "Amazon Is Hiring More Developers." Not everyone working on Alexa is going to be a developer.

Maybe I'm misunderstanding, but as stated, this whole article fails the sniff test to me.

<comment><USER8> Check the link on the second page of the article about what kinds of jobs are open in the Alexa division. Pretty solidly development/technical/product/research jobs

</comment></comment></comment><comment><USER9> Great! Maybe in the future it'll be able to understand, at 10pm, "Alexa wake me up at 7" without asking if I mean "In the morning, or in the evening?".

Considering the time this has been out and the apparent resources, so much of the basic functionality is locked behind formal command patterns rather than anything natural (and every "new features" email I get seems to just be variants of "tell me a joke/fortune cookie/fact")

<comment><USER10> Wow, how hard is it to say 7am?

This is new tech, I think your expectations are a little too high. Remember windows 3?

<comment><USER11> The thing is, ALL other voice assistants I have tested get this right. I have submitted three reports to Alexa support about this very thing and they don't care. It's ridiculous that doing something that is so common would be so ingratiating.

</comment></comment></comment><comment><USER12> Please tell me one of those new hires will help to release an Echo/Alexa Bluetooth Low Energy developer SDK.

For years many developers of BLE hardware have been waiting for a BLE capable smarthome hub to win the market. Amazon has won but whenever I ask about the BLE SDK, I am told to "stay tuned". They have used that answer for years now.

That means my company will reluctantly release a Wifi Bridge this year. I say reluctant because we aren't motivated to collect $50 per customer on a bridge that will become instant garbage if Amazon does finally release the SDK. We are motivated by how much value we offer our customers, not by how much money we can collect from them.

Does anyone know if Amazon is actively working on a BLE SDK for Echo ?

<comment><USER13> I really hope that you work for a dallas based smart lighting company.

</comment></comment><comment><USER14> They must have high hopes. Alexa is not something I can ever imagine using. I like Amazon's web store, but Alexa doesn't seem to offer anything I would ever want. Do others find it useful?

<comment><USER15> > Do others find it useful?

They have sold tens of millions of Alexa devices, is it really surprising that people find them useful?

<comment><USER16> That logic could also apply to fidget spinners.

<comment><USER17> > That logic could also apply to fidget spinners.

Or stamps. Or shoelaces. Or umbrellas. Or wallets. Or lipstick.

All useful things to millions of people.

One fundamental difference with fidget spinners: they have already peaked and faded in popularity, Alexa continues to grow year by year. That's the true difference between something tens of millions of people (soon to be hundreds of millions of people) find _useful_ , and something people temporarily find amusing.

<comment><USER16> ... You write as if Alexa wont also 'have already peaked and faded in popularity' in a couple of years. Growth doesn't mean shit. Retention does.

The example of fidget spinner is to highlight a counter example to the belief that selling well is an indicator for usefulness. It isn't.

</comment></comment></comment></comment></comment><comment><USER18> Amazon is also laying off a lot more developers than Google is.

<comment><USER19> Not laying off- just reducing headcount totals. I believe I am in the org being effected.

People keep moving to Alexa and not being back-filled.

</comment></comment><comment><USER20> I know Google's overall headcount numbers for the next year, and while I can't disclose them, I'll just say this article is silly uniformed nonsense. In previous years, the reports they have produced have been off by a factor of 10 off what Google later reports in their SEC filings. So I'd take it all with a large grain of salt.

</comment><comment><USER21> Any insight on why Facebook hiring is surging? (13% of workforce). Is it mostly on the AR/VR side?

</comment><comment><USER22> How many will be there in 2 years or how many have left in the past 12 months? They have insane churn, something like avg tenure is 16 months for an engineer. Between burnout and pip I wonder if this is just hedging bets.

</comment><comment><USER23> "Amazon is hiring 1,147 people for its Alexa business unit alone,..."

I'm sure Google is not going let Amazon run away with the voice assistant market.

There's nothing like an arm's race between tech titans to move the needle.

With the additional efforts of Apple and Microsoft, voice as a user interface will soon be a solved problem.

<comment><USER24> 70% of people have bought alexa.

[http://www.businessinsider.com/amazon-echo-vs-google-home- sa...](http://www.businessinsider.com/amazon-echo-vs-google-home-sales- estimates-chart-2017-5)

I think amazon has a pretty big lead in the voice assistance market.

I know you can use google assistant on your phone, but if you have your phone it might easier to just type it in.

<comment><USER25> > 70% of people have bought alexa.

No, the claim in the source that that article is based on is that 70% of people who interact with a "voice enabled speaker" at least once a month do so with an Alexa.

<comment><USER24> Lets supposed the true sales were 50/50\. That would indicate a majority of google people are just buying the equipment and not ever using it.

<comment><USER25> The true sales of "voice enabled speakers" could be 100% Amazon, and they could still not lead the "voice assistance" marketplace, or reach the claimed 70% of _people_. The big issue isn't confusing usage rates with market position (those probably are close, though in theory they could be divergent), it's confusing the voice assistance market with the voice-enabled speaker market (and then also confusing the current market for those products with the whole population.) Voice assistance isn't about selling dedicated voice devices, it's about voice-enabled services, for which dedicated devices are simply one gateway. Dedicated devices are a small share of voice assistant usage, far behind smartphones, and even behind the combined category of tablets and general purpose computers [0].

[0] [https://www.voicebot.ai/2017/12/12/46-percent-americans- use-...](https://www.voicebot.ai/2017/12/12/46-percent-americans-use-voice- assistants-pew-research/)

</comment></comment></comment></comment></comment><comment><USER26> Makes sense as the Echo has some catching up to do. We started with the Echo but since switched to the Google Home as it is far more capable and also you can use natural language for most things versus the Echo requires much more rigid language.

</comment><comment><USER27> I've just hired an extra 8 women, since me and the wife want a baby next month. /s

<comment><USER28> The Mythical Man Month doesn't mean "don't ever hire". It just means "hiring is not a short term silver bullet," and I have a feeling Amazon is thinking about the long term. (Bezos talks a lot about how he's currently planning 3 years out.)</comment></comment>


The Razor Blade Business Model - <AUTHOR> http://thehopkinsonreport.com/2009/05/20/episode-57-has-gillette-taken-the-razorrazor-blade-model-too-far/

<comment><USER2> Surely at some price point people will just move back to old fashioned safety razors.

Mine costs me a few cents per blade and gives a very close shave.

<comment><USER3> Yeah I do that too. Even then I shave as rarely as I can bare to, both to save blades and time. The old safety razors take some getting use to and practise but I consider that part of the fun.

<comment><USER4> I got pretty obsessed with safety razors and wetshaving a little while ago. The blade is unquestionably less forgiving than your standard 3-5 blade Shave System™, and you have to unlearn some sloppy technique that pivoting-head razors promote. I.e. you have to pay attention to the angle at which you're placing the blade against your skin.

But I pretty quickly got to a point where cuts were even less common than they were before I started using the safety razor, and I think my experience is pretty much the norm for anyone who sticks with it for 5-10 shaves. It takes a bit longer, but it's a better shave with less irritation, and the ritual of it is a lot of fun.

And some of the shaving creams that you apply with a brush (I'm thinking specifically of Taylor of Old Bond Street's rose-scented one) smell absolutely incredible.

<comment><USER5> I am very obsessed with safety razors. Been hooked on it for about 2 years now and haven't gone back: 1) save a ton of money 2) feel like I have that "best shave of my life" at least once a week. 3) local product I use is much better for the face.

It is definitely an adjustment, I'd venture to say it took me about 3 months of experimenting (shaving 3-4 times a week) before I was getting extremely close shaves. The best analogy I've heard is that using a safety razor is like driving a manual sports car. It's a lost art of being a man.

I started with a basic $20 razor and common mekur blades... But about a year ago I upgraded to Markur Futur, and more recently switched to Feather (japanese) blades. If you haven't tried the Feather blades, definitely encourage you to do so.

[http://www.truefittandhill.com/catImages/large_MerkurFuturSa...](http://www.truefittandhill.com/catImages/large_MerkurFuturSatin.jpg)

<http://www.fendrihan.com/images/feather_10.jpg>

<comment><USER6> I personally like the Derby blades I picked up off of Amazon, they still get just as close as anything else I've used, but they somehow feel 'softer' than all the others. Perhaps more forgiving is a better phrase. What's so great about the Feathers?

<comment><USER7> Feathers are made by a Japanese surgical tool company. They are considered by many to be _the sharpest_ blade you can purchase.

That said, practice with Merkur or Derby's before you graduate to feathers.

I bought the Derbys on Amazon as well (100 pack for 15 bucks! Two year supply, basically, instead of a stretched 2 month supply for 30 dollar Gillettes) but I have to say I prefer the feeling of the Merkurs. Still, the price is right for the Derbys, though I do want to try feathers in the future.

</comment></comment></comment></comment></comment></comment><comment><USER8> I guess I'm one of the few dupes here :). I recently switched to using Fusion blades (not the power ones where you also have to worry about the battery) because I forgot to bring my shaving kit when traveling.

I have to say I was pretty pleased by how quickly and consistent the shave was relative to Mach 3. Being accident prone and generally impatient in the morning, it's resulted in no blood loss so far (it's been about 2 months since I started using them). I've used 2 blades in this time which to me is worth the cost relative to the time I save and the quality of the shave I get.

</comment><comment><USER9> The software equivalent of this model is probably Freemium. You give away part of the package for free, but then you charge a "subscription" for the rest. Razors are the free, Blades are the "subscription."

</comment><comment><USER3> This sort of reminds me of the HP printer cartridges (cheap printer, expensive cartridges). I saw a TV interview with a HP executive who was asked to justify why the cartridges were so expensive. He said that it was because the most sophisticated technology was in the cartridge.

Of course this business model is quite immoral in a world where disposable, non-recycleable things are known to be unsustainable.

</comment><comment><USER10> I use the Gilette Fusion and have a heavy beard, but one cartridge lasts me two weeks. Here's how: I shake the water off my razor and then use a blow dryer to completely dry the blades after each shave. Supposedly it's not the cutting of hair that really dulls the blades, but rather the corrosion that occurs on the wet edges after you put it up.

<comment><USER11> That's a big surprise to me, the same as some thing the article says.

For more than thirty years, I've used disposable Blue II (dirty cheap, they last one or two months each), cream (not sure if that's the word in English... 2€, it lasts a whole year, no kidding) and a brush (natural weasel hair, they last an average of twenty years). I make the whole thing in three minutes, no cuts, no pain, very close.

I've tried electrical shavers, gel, more than two razors and all sorts of novelties, but nothing was a real improvement. I think they can insult us, cheaper customers because we really couldn't care less. While they keep making the cheap stuff, they can bark all they want :-)

</comment></comment><comment><USER12> I think I read somewhere that Mach 3 refills are the most shoplifted item ever. Gillette's marketing is a truly incredible machine. I finally gave up on their extortionate cost about 5 years ago and bought myself a Merkur Futur. Blades cost £3 for 10, and cut as close as you want but require a little more of a delicate touch. So I still keep a Mach 3 on standby for my hung-over mornings.

</comment><comment><USER13> Razor and Blade?!? They're freaks!</comment>


DNA used as rewritable data storage in cells - <AUTHOR> http://www.sciencenews.org/view/generic/id/340900/title/DNA_used_as_rewritable_data_storage_in_cells

<comment><USER2> is there any evidence or possibility that this is actually done in biology already? If DNA is writable, then cells have a Von Neumann architecture!

<comment><USER3> This is somewhat like the way antibodies are formed. There are genetic changes (recombination) at the DNA level in the antibody hyper-variable regions. This is how we produce antibodies for everything based on a single gene (somewhat).

However, antibody VDJ recombination is more akin to write-only memory. Once it is produced, it doesn't change.

</comment></comment><comment><USER4> So, if I understand this correctly, it's like Johnny Mnemonic, but you don't have to store the data only in your brain. I bet if you used your entire skin instead of just your brain, you could store a whopping 500 gigabytes!

</comment><comment><USER5> Joe Davis has been encoding data into DNA for some time.

[http://www.viewingspace.com/genetics_culture/pages_genetics_...](http://www.viewingspace.com/genetics_culture/pages_genetics_culture/gc_w03/davis_j_ars_elec.htm) <http://en.wikipedia.org/wiki/Joe_Davis_(artist)>

</comment><comment><USER6> I wonder what the equivalent of "rm -rf /" is in that environment? :)

<comment><USER7> Probably <http://en.wikipedia.org/wiki/Apoptosis>

<comment><USER8> That's more like taking a hammer to your hard disk. What we want is more of a virus that rewrites your genome with a single base.

</comment></comment></comment><comment><USER9> Obligatory Dresden Codak link: <http://dresdencodak.com/2009/07/12/fabulous- prizes/></comment>


The Apple Braille Crisis. It's Got to be Fixed for the Kids - <AUTHOR> http://mosen.org/index.php/the-apple-braille-crisis-its-got-to-be-fixed-for-the-kids/

<comment><AUTHOR> The technical solution to at least one of the problems described here is straightforward, if somewhat inefficient: back-translate the whole string every time a change is made. On newer iOS devices, at least, the processor should be up to the task.</comment>


MailChimp taps Unbabel to offer translations in more than 20 languages - <AUTHOR> http://thenextweb.com/insider/2014/10/29/unbabel-integrates-mailchimp-offer-translation-service-promotional-emails/

<comment><AUTHOR> This is a very cool integration that allows you to easily translate your content marketing newsletter with minimum disruption from the normal Mailchimp workflow.</comment>


How China Fooled the World [video] - <AUTHOR> http://www.bbc.co.uk/programmes/b03w7gxt <comment><USER2> An American ex-pat in China here. I came to China during the economic crash in 2009 and have seen it all progress the last 5 years.

Yes there are random empty apartment buildings and a few absurdities like --> [http://en.wikipedia.org/wiki/New_South_China_Mall](http://en.wikipedia.org/wiki/New_South_China_Mall).

However, overall the infrastructure they have built has put this country in a position to achieve dominant superpower status over the next century.

For example, within 5 more years the entire of Guangdong Province will be connected by high speed rail and subway - meaning 100 million people and businesses will be connected by public transit with no more than a 2 hour ride. There is already a critical mass of manufacturing capability here, and with that added layer of network infrastructure, even if labor costs rise 100% YOY to match USA and Germany in a decade, Guangdong China will still be the worlds factory.

Furthermore, the internal consumption machine of 1.3B people is undeniably ramping up now. They are spending money, the largest middle class on the planet is clearly taking shape, and lives are measurably improving all around me.

There may be a few bumps in the road but there will be no collapse.

<comment><USER3> _overall the infrastructure they have built has put this country in a position to achieve dominant superpower status_

the claim that infrastructure spending leads to economic prosperity/dominance sounds pretty extraordinary to me.

<comment><USER4> > the claim that infrastructure spending leads to economic > prosperity/dominance sounds pretty extraordinary to me.

Isn't it what the US has been claiming all the time? With the FDR New Deal theory ?

<comment><USER5> This is what Japan has been doing since their dominance in the 1980's fizzled out. In both the US/FDR case and Japan's, I believe the infrastructure spending was seen as a way to re-ignite growth while also creating something long lasting.

There certainly is some truth to the long lasting piece. A country with poor infrastructure will have a very difficult time growing. What is controversial is building things either few people use or are far more expensive than they should be. On the flip side, infrastructure has to be serviced to remain viable. In addition to using money that is "borrowed" one way or the other, the maintenance cost is created as well. Easy to get carried away.

<comment><USER4> Oh, I'm not saying that I embrace the theory (I actually am against such policies - most of the times they are used to get people re-elected), but I was just mentioning it's still being regarded as a valid way of creating jobs and stimulating the Economy by numerous economists.

</comment></comment></comment></comment></comment><comment><USER6> How many of the people commenting here read the Chinese-language press? (I mean, publications in the Chinese language from either inside or outside the region where the Communist Party of China exercises prior restraint on publication.) The one thing I've learned from studying the language, history, and culture of China since 1975 is that almost everyone who doesn't know the language is full of crazy ideas about China, even if they live there.

<comment><USER7> Native Chinese here. I guess the best way is to apply those better tools for thinking to the Chinese context. To be honest, I don't think there is much information in Chinese politics and economy worth reading. The tools we use are outdated. The information(meta data) we can get is actually very limited and very distorted. The knowledge and how people perceive the world are far behind those in developed countries. When cheap labour becomes less and less competitive, things will go south. Domestic consumer market growth does have a chance to save us, that was what I thought the best way out when I was younger. But that would never happen, when you have some understanding how the nation's stakeholders operate. This is a topic that is too big to discuss here. I do believe, sadly, there is a long dark road ahead for most of people in my country. I wish not but from where I can see I'm quite pessimistic on this. Just my 2 cents.

<comment><USER4> > Domestic consumer market growth does have a chance to save us, that was what > I thought the best way out when I was younger. But that would never happen, > when you have some understanding how the nation's stakeholders operate. This > is a topic that is too big to discuss here.

I understand you do not want to discuss it here, but can you briefly explain why this would never happen ? This is a very interesting point.

<comment><USER7> One dimension you can look into is the percentage the county's administrators get from average people's income and their consumption. I don't know if there is anything public in English. But I can tell you it's very very high. And the social safe net is not reliable in the long run. That's why people need savings in the bank.

Another key dimension is to have some knowledge about the party that rules China. As an organization, it is quite efficient in some straightforward tasks. However, sometimes there are tasks that require more advanced way to organize people. Any organization has its limitation. And most organizations have very limited capability to adapt/evolve. The way to form the organization is the biggest obstacle. Once this is understood, everything becomes clear.

Sorry that I have not given a clear answer but some clues. The tools I recommend are some basic understanding of concepts in organization behavior, complex system(such as complexity theory), Austrian school economics and, of course, some history of the party, how it operated economically from its early days.

No need to get deep in the tools I listed, just have some ideas of how they perceive the world. These tools are not perfect. But with them, we may have a better view of the thing we want to know. Hope this helps.

</comment></comment></comment></comment><comment><USER8> It seems as though China is undergoing a Keynesian expansion. So I'm probably wrong about that. I'm going to watch to see if I can figure out the difference between what they seem to trying to say is a problem due to massive government spending and Keynesism.

Or are they saying "too much" Keynesism is a bad thing?

Okay, these seem to be the main differences and concerns I am getting from this vid.

      1. Many loans eventually come via a shadow banking system
         and so are not transparent, ie, no one know how much is
         loaned and regulation is poor, this could lead to a
         huge credit crunch, and China's own too big to fail
      2. Some large amount of housing is speculative in nature
         and kept empty as an investment and hence could be
         causing an enormous bubble
      3. This real estate bubble brings benefits to rich but
         doesn't improve the economy for the poor
      4. The boom has made the local authorities very rich and
         powerful (political corruption, crony capitalism, ...)
      5. The sheer size of it is unprecedented in modern
         financial history
      6. Citizens save too much (1/3rd of earnings). So economy
         is dangerously unbalanced, fueled by debt spending and
         not enough by consumer spending or shopping (41:10)
      7. Investment is 50% of economy, consumption 30%, so when
         investment slows down, it can't be replaced with
         consumption. Credit is at a level of twice the size
         of the economy.
      8. State owned companies are filled with inefficiencies.
         "Shaking" them up would leave huge numbers of people
         unemployed.
      9. There is beginning to be a fear of collapse (that
         could lead to collapse.)
     10. Punk Rock pointing out corruption in the system
         and how the rich are getting richer.
     11. Hard to see further economic reform without political
         reform, yet it seems that Chinese are intent on
         not reforming their political system further.

Recommendations to balance economy:

      1. China needs to become more like us and consume more
         themselves.

</comment><comment><USER9> Full Episode on YouTube: [http://www.youtube.com/watch?v=YW3h4wv8_ko](http://www.youtube.com/watch?v=YW3h4wv8_ko)

Edit: see subsequent comments for a better quality video

<comment><USER10> The aspect ratio on that link seems a bit off. This one showed up in the suggested videos and has the correct aspect ratio. [https://www.youtube.com/watch?v=HUSjMnmS5lI](https://www.youtube.com/watch?v=HUSjMnmS5lI)

</comment></comment><comment><USER11> My interpretation is that China did the heavy lifting of pulling the world out of the last crisis. Neither the US nor Germany had the political wherewithal to do large scale stimulus and/or structural reform. The Chinese also had the most to loose.

The cost of propping up the global economy had been highly damaging to China's weak institutions if we are lucky it will recover in 20 years. If we are unlucky there will be a partial collapse.

<comment><USER12> Not sure what you're talking about. The exact opposite is true. The US _massively_ stimulated, including running up about $10 trillion in new federal public debt alone, which was a form of deficit stimulus. The Fed of course has been running hundreds of billions in annual stimulus.

I'd roughly estimate that the total US stimulus in all forms, from the treasury to the fed, totaled $15 to $20 trillion (some of which was repaid, eg loans to european banks, or the AIG and Fannie bailouts, or GM etc). That's two to three times the size of the entire Chinese economy.

That new federal debt paid federal salaries, contractors, welfare, social security, you name it. Those people then purchased hundreds of billions of dollars worth of Chinese goods.

"U.S. Bailout, Stimulus Pledges Total $11.6 Trillion"

[http://www.bloomberg.com/apps/news?pid=newsarchive&sid=aZchK...](http://www.bloomberg.com/apps/news?pid=newsarchive&sid=aZchK__XUF84)

The Fed kept the entire global financial system solvent during the crash. They lent huge sums to European banks.

"the central bank lent billions to foreign banks that operate in the U.S., including Germany's Deutsche Bank Securities, which got $290 billion in mortgage securities; London-based Barclay's, which received a $47.9 billion loan; France's BNP Paribas Securities, Switzerland's UBS Securities LLC and Daiwa Securities America, a subsidiary of one of Japan's largest brokerage houses."

[http://www.foxnews.com/politics/2010/12/02/federal- reserve-l...](http://www.foxnews.com/politics/2010/12/02/federal-reserve- loaning-trillions-foreign-banks-financial-crisis/)

<comment><USER11> Quantitative Easing has been large but it drove investment mostly in emerging markets and not in the US.

Neither fiscal or monetary stimulus is effective in a post industrial economy like the US.

Structural reform like patents, immigration, occupational licensing, taxes etc are where the big stimulus lies unfortunately.

<comment><USER12> You're contradicting your own statement then.

You said China did the heavy lifting regarding pull the global economy out of the crash, then you say that Fed QE drove growth in emerging markets.

All that stimulus drives massive consumption, which bolsters global manufacturing. And you ignored the part where the Fed kept the entire first world solvent during the crash, that alone is more than China did.

And the US is hardly post-industrial. It's the world's largest manufacturer (yes, larger than China).

</comment></comment></comment></comment><comment><USER13> I have lived in Shanghai for the past 3 years but I also lived here from 2001-2002. Back then, there were buildings constructed that were totally empty and it seemed ridiculous to think anyone would live in those distant undeveloped areas. Fast forward a decade and now Shanghai has 20 metro lines instead of two, with each metro station under a sprouting mini-city, complete with its own H&M, Burger King and Starbucks. It seems like the urban planners strategically placed them all perfectly close to each other, like settlements in Civ. The condos that stood empty 12 years ago are now at full capacity and people are moving even further out into the exurbs where more empty buildings await them. The energy and buzz in Shanghai is just as palpable as it was 12 years ago and although there are some ghost cities and failed projects across greater China, the megalopolises will easily compensate for them. The United States has its share of empty, abandoned cities (Detroit, anyone?) but when you visit San Francisco or Manhattan, you would not know it.

</comment><comment><USER14> About time for an HN China meetup? Who wants to come visit Yunnan for some clean air and nature? :)

<comment><USER15> The last time I was in Kunming, the air wasn't exactly clean.

<comment><USER14> Sure, Kunming is the provincial capital so a worst case example. The rest of the province is pretty damn clean, and being semi-rural to outright wilderness much cleaner in most cases than western cities. Personally I'm on the next lake over... [https://en.wikipedia.org/wiki/Lake_Fuxian](https://en.wikipedia.org/wiki/Lake_Fuxian) ... it's like Kunming 15 years ago. We still have horse-drawn carts, and you can go fishing, horseriding, or paragliding with ease. We also have some of the oldest fossils in the world, a submerged neolithic village and a not-so- secret Chinese navy submarine testing base.

<comment><USER15> What kind of tech work can you do in Lake Fuxian? Or are you doing remote? If remote, then ya, there are a lot of nice places in China to hang out in, though personally I would pick Bali or Thailand.

Kunming was ok 12 years ago. I'm getting old though.

<comment><USER14> I work remotely for Silly-Valley and change bases frequently. This is just one of them. Bali is too crazy-drinking or hooneymooner for my meetup tastes, and Thailand while safe enough does still mean a new visa run for a lot of people, which is why keeping any potential meetup in China might be nice. I too was in Kunming from ~2001, however I am definitely not getting any older!

<comment><USER15> China has been cracking down on visas lately also...I'm not sure I would pick China if I could go anywhere, it is more expensive than the alternatives, and I still feel like I'm crossing into the developed world when I fly to Thailand or even the Philippines. And still no Chai Tea Lattes at starbucks (though Indonesia doesn't have them either).

I'm dreaming about moving to India, but I like my current job too much, and my next move is probably back to the states to settle down.

</comment></comment></comment></comment></comment></comment><comment><USER16> It's probably a good idea to try to quantify the actual _scale_ of what is happening.

[http://www.zerohedge.com/news/2013-11-26/chart-day-how- five-...](http://www.zerohedge.com/news/2013-11-26/chart-day-how-five-short- years-breakneck-liquification-china-humiliated-worlds-centr)

</comment><comment><USER17> China owns part of many industries, Governments that start having issues start selling their stakes and come up with plenty of money. Like everyone I am fascinated with China building new cities where no one lives, but they are going to totally get away with it and come out the other side unharmed.

<comment><USER18> I saw an explanation somewhere for the ghost cities. The CCP realizes that construction labor there is currently very cheap, land is cheap (in terms of political capital to displace people --- wealthier citizens will make it more expensive to displace them), and materials are relatively cheap. As they develop further, all three cost inputs will only get more expensive. So the CCP is deliberately allowing the rapid development of these projects in anticipation of the massive shift from rural to urban population migrations over the next several decades. If the CCP is trying to stem catastrophic inflation when the mass migration hits a peak, then these ghost cities can in retrospect appear a prudent, long-range measure.

There are also also quirks of the Chinese property market [1] and mass media's penchant for sensationalism that might more reasonably explain the ghost city phenomena.

[1] [http://blogs.wsj.com/chinarealtime/2013/09/24/chinas- ghost-c...](http://blogs.wsj.com/chinarealtime/2013/09/24/chinas-ghost-cities- may-not-be-so-spooky/)

<comment><USER15> A lot of this opportunistic construction isn't done very well, and often its just a form of money laundering (build this, charge a lot, do a very crappy job, lots of pockets are padded). Many of these buildings will be torn down before they are ever used; every few months there is a scandal where this actually happens.

<comment><USER5> Are there any statistics of buildings collapsing? I've seen the "tipped over building" picture, and heard some other sketchy stories but its all anecdotal.

<comment><USER15> If statistics exist, I'm sure they are covered under the state secrets law.

</comment></comment></comment></comment></comment><comment><USER19> [http://en.wikipedia.org/wiki/Superdollar](http://en.wikipedia.org/wiki/Superdollar)

</comment><comment><USER20> isn't chinas foreign debt still net negative? if so, wouldn't be the obvious strategy be to start outsourcing the debt as the US did? we possibly have a few more years and as poulson said, there are quite capable people steering the ship.

</comment><comment><USER21> China is too big to collapse, but maybe four years later!

</comment><comment><USER22> Yeah, yeah, pee pee in the coke, we know already.

</comment><comment><USER23> Every year , for the last 20 years, many articles say that we can be sure of the imminent Chinese economy collapse. Then every year they are proven wrong. This is just one more of these articles. The guys have no idea what they are talking about. The education effort is as huge as the infrastructure building effort, and it will bring its benefits. At some point the growing will slow down; at some point it will be 1% yearly growth; but a political collapse is very unlikely, and economic collapse is even more unlikely.

<comment><USER15> Hey, back in 2007 someone wrote:

Every year, for the last 20 years, many articles say that we can be sure of an imminent housing crash. Then every year they are proven wrong. This is just one more of these articles.

... Bubbles are bubbles until they pop. A lot of infrastructure in China is under utilized, and let's not even get started on empty shopping malls and apartment buildings, even here in Beijing!

Whether the government can pull off a soft landing is up for debate, but every year with people, local governments, and companies become more leveraged, not less, I think a hard landing is more likely.

Now, if that happens, this doesn't necessarily mean that the government collapses, but many of the bandits who are making out on this have gotten their money out of the country, and a correction is more likely to negative effect those who didn't really benefit in the gorging. And if that happens, the CCP (many whose relatives have already fled abroad) is going to be facing a lot of pissed off nongming.

<comment><USER23> chinese dont live on credit like americans, they live for saving. The financial market is slightly more regulated than the american financial market, aswell.

<comment><USER15> Exactly. Most of the money is kept in saving accounts with interest rates that are far below inflation. And what do you think the banks are doing with that money?</comment></comment></comment></comment>


New London Underground wi-fi put to the test - <AUTHOR> http://www.bbc.co.uk/news/technology-18278943 <comment><USER2> More interesting: rush hour. Security?</comment>


Engineering Windows 7: Windows Desktop Search - <AUTHOR> http://blogs.msdn.com/e7/archive/2008/10/13/windows-desktop-search.aspx <comment><USER2> While the article is interesting, the title is misleading: it offers no specifics _at all_ about how Windows 7 search improves, the entire thing is about how Windows search currently works in Vista or XP.

The only mention of Windows 7 is at the end with the highly useless statement "And we've done even more to improve performance and reliability for the indexer in Windows 7 which you'll soon see at the PDC.". What is "even more"?</comment>


#RobotLaunch has great prizes for startups, but you can't win if you don't enter - <AUTHOR> http://robohub.org/great-prizes-for-robot-launch-startups-but-you-cant-win-if-you-dont-enter/

<comment><USER2> Good prizes for robotics startups.</comment>


I only have a HackerNews cred of (10), does it make a difference to have more? - <AUTHOR>

I've submitted a few links and comments on HackerNews but like more users, I don't ever make it to the front page. Actually, most of my stuff usually gets 2, maybe 3, total ^ on HN.
So, here's my question. Does it really matter? Is my (10) cred number with HackerNews just a vanity metric or does HackerNews actually improve my experience or sharing ability as I get a higher cred number?
Thoughts? <comment><USER2> You get some secret powers like flagging, downvoting, and the ability to initiate polls. But mainly it's a vanity metric.

By the way I had the exact same experience, and most submissions I make die with 1 or 2 points even after several years. Then other times I'll get hundreds of points for some whimsical thing that I didn't think was important at all. I rarely pay attention to people's karma scores unless I think they're whoring for points, like persistently making 'me too' posts on popular issues or posting every single thing from a popular blog.

Just post what you think is interesting, think your opinions through before expressing them, don't be afraid to say that you were wrong or have changed your mind even if you feel momentarily foolish. Same as life really.

</comment><comment><USER3> Some moderator-type abilities are tied to your points. I have 50-60ish credit, so I can flag posts, but I can't downvote anything.

That's all from comments, if it matters, I don't post. I don't think HN keeps track of the two separately, though.

<comment><AUTHOR> What sort of flagging abilities do you have?

</comment></comment><comment><USER4> At a certain level (500 I think) you can downvote comments. No one can downvote submissions though. There is some evidence that your score affects how quickly your comments "sink" on a discussion page, but they never disappear or anything.

<comment><AUTHOR> Super interesting. I wonder if we could get a 500-er to confirm this?

<comment><USER5> Yes, the level is 500. I don't know about the "sinking" though since I don't comment a lot and those are mostly answers to older comments.

</comment></comment></comment><comment><USER6> After a few hundred points you can change the color of the orange bar at the top. I really like this. Mine is set to F6F6EF, the same as the tan background behind all the content.

Flagging powers are also a nice thing to have if you spend any time at all in New.

<comment><USER7> Hey, I do that too! It's an easy way of telling if I'm logged in.

</comment></comment><comment><USER8> link submissions net a lot more points them comments, and for a lot less investment. I wish I could have the option only look at points people got for comments, or to split the two, or to show a ratio.</comment>


Snake Vim Trainer - <AUTHOR> http://www.vimsnake.com/ <comment><USER2> When I was learning vikeys, I just disabled arrowkeys in my .vimrc :)

        inoremap  <Up>     <NOP>
        inoremap  <Down>   <NOP>
        inoremap  <Left>   <NOP>
        inoremap  <Right>  <NOP>
        noremap   <Up>     <NOP>
        noremap   <Down>   <NOP>
        noremap   <Left>   <NOP>
        noremap   <Right>  <NOP>

I know it sounds masochistic, but it really isn't; I actually had to check after a while whether I really set it, because I didn't remember any issues with navigation. Try it!

</comment><comment><USER3> I was about to say that the keyboard controls didn't work for me until I remembered that I had Vimium installed with Chrome.

<comment><USER4> Same for me, too. Also disable Vimium if you have RES installed.

</comment></comment><comment><USER5> I certainly like VIM, it's my default editor on non-Windows operating systems, but I really don't care one bit about the h,j,k,l keymapping; I can use my arrow keys, which I find to be lots easier. So I TOTALLY suck at this game because it doesn't support the arrow keys like VIM does! :P

<comment><AUTHOR> This should get you comfortable with using the h,j,k,l mapping then. I actually turn arrow keys off in my vimrc, I can definitively say it is one of the things that has made me faster.

<comment><USER6> Do not turn them off; remap them! That is valuable keyboard real estate.

I use them for buffer switching, since I do that frequently. Left and right change to the next and previous buffers, respectively. Down to quickly swap to the previously focused buffer. Up to bring up a buffer switch menu. Here are the .vimrc lines:

        " Arrow keys for buffer switching
        nnoremap <left> :bprev<cr>
        nnoremap <right> :bnext<cr>
        nnoremap <down> :buffer #<cr>
        nnoremap <up> :buffers<cr>:buffer<space>

<comment><AUTHOR> Such a good call! I don't use buffers enough :)

</comment></comment></comment></comment><comment><USER7> The game is fun, but perhaps a bit misleading regarding what 'mastering vim movement' amounts to. As I am sure many of you know, vim has tons of constructs for efficient navigation: Using b or w for word-wise jumping, special markers like $ and 0, Ctrl-D and Ctrl-U etc. A good overview of movement commands can be found here: [http://vim.wikia.com/wiki/Moving_around](http://vim.wikia.com/wiki/Moving_around)

<comment><USER8> Right. For it to really feel like vim movement, I'd push two keys and the snake would jump to the next food pellet in insert mode...

</comment></comment><comment><USER9> I made this site at Dev Bootcamp Chicago. It's super simple, but if it brings someone any amount of entertainment, it'll make my day.

The snake part is a HTML5 canvas, and the back end is Ruby/Sinatra.

Enjoy!

</comment><comment><USER10> This is awesome! You should add ctrl+[ as an alias for escape as vim does. I've used that for a while now, and actually reaching up for escape feels unnatural now.

<comment><USER11> I aliased jk to ESC. Can that be added in?

<comment><USER12> Out of habit I used _jj_ to escape. A touch of inoremap would help this game :)

</comment></comment></comment><comment><USER13> I find I'm having a mental conflict between Vim's hjkl controls and WASD-style gaming controls, despite having very little experience using the latter with my right hand. This is made worse since it happens to be 'i' that my right- hand middle finger hits when I think "go up".

Very neat though, regardless!

<comment><USER14> This is what is preventing me from learning Vim. I play games every day using WASD movement and if I have to switch to hjkl my brain goes haywire.

I have been waiting for someone to create a Vim control scheme that relies on WASD movement and maybe also brings in other common gaming related keys (E for insert?, space for escape?) To me this seems more logical than hjkl/i/esc.

Until then though it just feels like more work that it needs to be for me to personally learn Vim. Which is a shame because I can recognize how useful it can be, especially after watching Destroy all Software screencasts.

<comment> Stealth- I do both regularly. They are different hands and the different movements actually become very different feeling. When my right hand is on the mouse, WASD feels natural. Otherwise, I naturally hold my left hand near the ESC key and my right hand over HJKL.

Because it's the home row, it also feels more natural when you are getting ready to type. The mental separation between "gaming" and "typing" is not hard to get a hold of really quick. Give it a try! I guarantee you'll be completely used to it within a week.

Also, keep in mind all of these keys can be remapped in Vim anyways :)

<comment><USER14> It seems like that person I have been waiting for to create that mapping is me!

</comment></comment></comment></comment><comment><USER15> This is awesome. I thought I was pretty good at vim, but the added pressure of needing to switch modes and directions at the same time without thinking about the keys was a great learning experience! (and fun game too!)

</comment><comment><USER16> In light of the recent comments about mods editing article titles, I gotta say that when I saw this earlier today I didn't think it sounded interesting. After the rename, I clicked on it, and man, it's awesome.

</comment><comment> guard-of-terra vim and BSDs default configurations insisting on inexistance of arrow keys is a "tradition" not completely unlike clitoridectomy. Come on guys (and gals), we've been over this already.

<comment><USER17> What? The arrow keys work fine. They're just waaaaay over there. Why do you want to use them?

<comment> guard-of-terra They're rather waaay on my keyboard where my right hand is.

What I'm talking about is deliberate crippled default configurations.

</comment></comment></comment><comment><USER18> On Firefox, It just goes right through the "food"

<comment><USER9> You have to be in INSERT mode (press i) to eat the food. That catch is that you can't change direction in INSERT mode. Press 'esc' to get out of INSERT mode.

</comment></comment><comment><USER19> A good way for me to learn movement is to think of direction as:

walking up stairs: kl kl kl kl kl kl kl walking down stairs: jh jh jh jh jh jh jh jh jh

</comment><comment><USER20> I played Nethack on a MacBook Pro (with no number-pad) to get used to the vim movement keys.

</comment><comment><USER21> I use vim everyday and I don't find this game easy to play.

</comment><comment><USER8> robots, and later nethack, served this purpose for me as a child... likely less effectively.

</comment><comment><USER22> topscore never seems to update.

Try `$.post('/newtop', {score: 16000})`

</comment><comment><USER23> leaderboard doesn't appear to update (at least in real time).

</comment><comment><USER24> you just had to go with something different than WASD didntcha?

</comment><comment><USER25> That game is impossible</comment>


How Does setState Know What to Do? - <AUTHOR> https://overreacted.io/how-does-setstate-know-what-to-do/ <comment><USER2> > But as we have seen today, the base class setState() implementation has been > an illusion all along. It doesn't do anything except forwarding the call to > the current renderer. And useState Hook does exactly the same thing.

This is worded a bit weirdly. The fact that there is some indirection and the meat of the `setState` is in the renderer and not in the component doesn't really make `setState` an illusion. A call to `setState` still does exactly what we thought it did.

<comment><AUTHOR> Maybe I need to rephrase. I meant that many people imagine Component class as being the meat of the codebase, heavily operating on `this` and updating things on it.

Similarly folks often imagine `this.state` being the source of truth (and thus Hooks seem too ephemeral).

But both of them are indirections to the same place elsewhere. And state for both of them is kept in the renderer. For classes it's synced to `this.state` at the last moment so you can read it but `this` is not the source of truth.

<comment><USER2> > I meant that many people imagine Component class as being the meat of the > codebase, heavily operating on `this` and updating things on it.

Yeah maybe. Even when it's not true it is still a valid way of looking at it I think. In the abstract sense that's what's being modelled here with the API, right? The fact that the internals are different is an implementation detail. Of course, it might be an interesting detail, hence your blogpost.

> Similarly folks often imagine `this.state` being the source of truth (and > thus Hooks seem too ephemeral).

I still don't understand why this is though. In some of my projects I actually manage my own local state on the component class (without this.state/setState) and auto `forceRender` when something changes. In those cases my state is super sync and everything works fine. With the additional benefit of my local domain logic being modular: I can read my state after having updated it and it works like expected. So know I can write multiple methods dealing with my local state and compose them freely — like actual OO.

I understand the hooks world is a different story, but in the compat component world it all seemed just fine. Why doesn't react use `this.state` as the source of truth, or update it more aggressively so it at least looks like the source of truth to me? Perf reasons? Is it worth it?

</comment></comment></comment><comment><USER3> FYI, this is Dan Abramov's blog. He's one of the developers working on the React team. I'd highly suggest checking out his other posts if you use React, they're all superb.

<comment><USER4> I do the DevRel* for Chrome DevTools. Dan is remarkably good at DevRel. I've pinged him on a few occasions, and to my recollection he's always replied very promptly, always with a helpful answer. My impression is that he's like that with anyone who has a reasonably well-thought-out question. Which, if true, is amazing considering the size of the React community. Aside from React's own merits, I would wager that Dan's DevRel superpowers have been a non-trivial factor in React's success.

* Developer relations, on the off chance anyone is unfamiliar with the term. A DevRel team for a developer product like React would be in charge of communicating new features, changes, best practices, etc. to the React developer community, answering technical questions on how to use React, and relaying community feedback to the React team.

<comment><USER5> I just learned that DevRel is a thing, I just thought it is a non-trivial part of a normal project but not that it was categorized separately (or I'd call it tech advocate). Not only that, I think that DevRel is the best indicator of success of any project! Basic design, documentation, etc are _needed_ , but once those are covered it's DevRel what sets projects success apart.

Famous DevRel I know and what they've been promoting to great success:

\- Dan Abramov, Redux and React.

\- Evan You, Vue.js

\- Lea Verou, Prism, Bliss and CSS in general.

\- "@dhh", Ruby on Rails.

\- Sindre Sorhus, npm and indie JS.

Note: I just say they have _greatly helped_ to the success, no that these are their projects.

On the other hand, we all know some projects that succeed _despite_ their founders being really bad at DevRel... but those are _so rare_ and basically just put a lot of efforts in something related but not the same (marketing, first to the market, 10x better technically, etc).

My main focus right now is learning how to get better at this since I'd love to do OSS fulltime. Any tip on how to get there would be greatly appreciated. I'm trying to learn mainly from Dan and Evan since IMHO they _are_ next-level in this specific area :)

PS, since you work for Chrome DevTools, I imagine you are in Google. I think, besides the issues of Angular 1->2, the real reason Angular stayed behind is that there were no highly visible DevRels.

<comment><AUTHOR> FWIW my job role is just software developer. I try to help people because I like being a part of the community and like explaining things to others that somebody explained to me. But I'm not officially a DevRel. Although I guess I fit the shoes.

<comment><USER4> Right, didn't mean to imply that you only did DevRel. I think most React users know that you're on the core team. Just wanted to suggest to the general HN community that your consistent efforts around helping the React community might be a factor of React's success. Whenever there's a post here on HN about why framework A is a success whereas framework B is a flop, the focus is usually on technical factors or developer ergonomics.

</comment></comment></comment></comment></comment><comment><USER6> I love these posts but despite the warning I'm sure some of the things here will end-up in React junior positions interviews.

</comment><comment><USER7> ״However, this has always led to obscure bugs so Hooks force you to solve the package duplication before it costs you."

So basically the fact hooks doesn't support multiple react instances isn't a but but a feature :D?

<comment><USER8> More like "this tool wasn't designed to work that way, so to use this part of the tool, you'll have to conform to the way it was intended to be used."

</comment></comment><comment><USER9> Those working on projects. What do you prefer? Should i choose React or Vue?

<comment><USER10> Try both, and see which one you prefer.

Vue first though, as it's easier to get started with it and it will get a sense of what minimal setup you should expect. Then try to match that with react.

If you start by following most react tutorials, they will make you begin with something way more complicated that it needs to be and you will get discouragedd.

Both have a "cli" tool. Everybody tell you to start with it. I strongly advise against it, as it's the best way to not understand a thing about what you are doing and make bad decisions.

Find a tutorial that starts with the bare lib (no webpack, no transpilation, nothing but a script tag), for both vue and react. Then when you know how this work, find a minimal webpack based tutorial.

Then when you know those basics, use the cli tool, but immediatly use the eject feature. Read the result to understand the whole shebang.

Once you have done that, you can start any project using the cli without eject, and be confident you know what's going on. It will make you not only very productive, but also will let you take decision based on what you know, and not what other people wants you to know.

Now, I personnaly prefer Vue as I find the lib easier to work with, the community saner and the documentation is one of the best I've read, even including non JS projects. But again, make an educated choice.

<comment><USER11> > If you start by following most react tutorials, they will make you begin > with something way more complicated that it needs to be and you will get > discouraged.

Can't agree more with this. There are quite a few reasons I think those starter-kits and tutorials are very harmful especially to new developers. Figuring out how your tsconfig/webpack/babelrcs/state-handlers/etc all fit together should be something that should certainly be done and learned incrementally.

Perhaps the issue is the amount of boilerplate you need to start a simple app. There should be a flask[1] like starter for react/vue apps. Parcel seems like the closest thing but its still not obvious to me why they demo 4 files to get started [2] -- we already dynamically transforming and compiling everything why not just have a single `index.js` with a Index/Main entrypoint?

Is there anything out there to do something as simple as:

        import * as React from "react"
        import {Html, Body, Title} from "parcel"

        const Index = () => {
            return (

                <Title>MySite</Title>

Hello world!

            )
        }

with a `cmd {run,build} index.{jsx,tsx}`

[1] [https://github.com/pallets/flask/#a-simple- example](https://github.com/pallets/flask/#a-simple-example)

[2] [https://parceljs.org](https://parceljs.org)

<comment><USER12> Create React App does pretty much with all the complexity hidden behind 'react-scripts' you can optionally eject out of if needed sometime in the future.

The steps are pretty much

npx create-react-app && yarn start and finally yarn build for a production ready build.

<comment><USER10> Using "Create React App" as a beginer is the best way to have no idea of what you are doing, and make terrible decisions for what follows next.

<comment><USER12> I'd love if you would elaborate on that so the Create React App documentation[0] and the official recommended tutorial[1] could be improved on

[0]: [https://facebook.github.io/create-react- app/](https://facebook.github.io/create-react-app/) [1]: [https://reactjs.org/tutorial/tutorial.html](https://reactjs.org/tutorial/tutorial.html)

edit: Saw your points above and while I do not agree I can understand your point of view.

<comment><USER10> I already contribute to the python community. No time for another one, sorry.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Great Stuff

</comment><comment><USER14> Doesn't answer the question.

</comment><comment><USER15> These posts are cool. I'm planning on writing a set of react interview questions based on them.

<comment><USER16> Given this disclaimer at the top of every article, that sounds a bit inappropriate:

> _Disclaimer: Just like most other posts on this blog, you don't actually > need to know any of that to be productive with React. This post is for those > who like to see what's behind the curtain. Completely optional!_

<comment><USER15> I only want my team to be composed of those who like to see what's behind the curtain.

<comment><USER17> Everyone knows the best teams are homogeneous, and everyone knows that if a candidate hasn't looked behind the curtain of React, then they probably don't look behind the curtains of _anything._

</comment></comment></comment></comment><comment><USER18> React is a bit less hot today than it was a few weeks ago. What changed is that FireFox released support for Shadow DOM. Also Microsoft is moving to Chromium. Which means Shadow DOM is suddenly hot and technologies that don't support Shadow DOM, including React, became a bit cold.

<comment><USER19> No technology becomes more/less hot in a period of a couple weeks, not even JS frameworks.

<comment><USER20> I want to believe this. However, I also feel bewildered when I check the news of what all has happened in js frameworks in the past 3 years. Especially true, if I consider how different the big frameworks of today are, compared to the same frameworks 2 years ago.

<comment><USER21> Really, if you're talking three years ago, React was already widespread. The main change is that Angular.js back then was still widespread as well, and that Vue wasn't really.

Sure, things have changed (e.g. TypeScript is far more accessible today), but if you've been doing React for the past few years, the changes haven't been that drastic, and primarily for the better (e.g. Create React App, that mainly allowed you to forget things, rather than having to learn new things).</comment></comment></comment></comment>


Show HN: Msngr.js, a messaging library for JavaScript - <AUTHOR> https://github.com/KrisSiegel/msngr.js

<comment><AUTHOR> I started working on this small library some time ago and use it in many of my personal projects. It's not meant to replace any existing libraries (though you could certainly use it to replace some things here and there) but to augment by using messaging. I use this quite frequently when I work with web components where I try to make my messages as generic as possible so I can separate my UI from my business logic completely.

Not sure if others will find it useful but figured I'd see what feedback hacker news would have, if any :)

<comment><USER2> Hi, thanks for sharing. I'm fairly inexperienced with using any kind of message-based event management so my question may reveal a deficit in understanding on my part: Would something like this be a javascript-runtime environment translation of message brokering libraries like ZeroMQ and RabbitMQ? If so, does that mean an application that already utilizes a messaging library such as those two could plug in msngr.js on the client or server-side (if using node) and use messages received from the message broker more directly, instead of having to translate them into emitted events?

<comment><AUTHOR> So msngr.js currently only works within your current process (so a web page or a node app) and is meant to help organize code and interface with internally, and externally, developed components. I do hope to eventually interface it with other brokering libraries but since it's a small, pet project of mine that's a bit far off I think.

</comment></comment></comment><comment><USER3> What is the benefit of msngr compared to other pub/sub libraries like AmplifyJS ([https://github.com/appendto/amplify](https://github.com/appendto/amplify)) or Postal ([https://github.com/postaljs/postal.js](https://github.com/postaljs/postal.js)).

Both of them are battle tested and have a big community.

<comment><USER4> We moved away from the pub/sub model in our app. It became too difficult to manage all the pub subs happening across modules, especially in a large project with many team members. We're restructuring our app to be better organized and to use a live-binding library.

<comment><USER5> I'm really interested in how this model scales, so could you please explain a bit what was difficult to manage in pub/sub ? I would imagine that if your topics and channels are well-defined and documented in one place, and the modules also declare what topics they pub/sub, one would get clear boundaries for maintenance.

Also, what do you mean by live-binding ?

<comment><USER4> > if your topics and channels are well-defined and documented in one place

That's the problem. It's hard to get this done. Developers like to develop, it's like pulling teeth to get us to document things. I've found its much easier and faster to have a codebase that speaks-for-itself, in a way.

Don't get me wrong, we definitely _do_ document things. But the miniscule things like implementation details are just too small to be worth spending time on.

We've been in production for about 7 years now. Our team has pretty much completely turned over in that time. Knowledge and conventions get lost, much better to have the codebase dictate how things should be done. A developer will read the code+comments before they read the documentation.

Hmm how to explain live-binding... Angular's $scope and CanJS' Observables are examples of live-binding. Basically, you can pass around a live-binding object and changes made to it in one module are immediately reflected in another. Whereas with a pub/sub model, you publish messages out to a hub and it is up to the module to decide how to react to the message.

A good example of how we use live-binding is with sessions. We have a global live-bound object that holds the session data. Each module that needs to use session info simply refers to this global object. If we perform an API call that returns 401 and kills the session, our API module kills the session object and all our modules immediately respond to this change. We don't have to declare any listeners, or subscribe to any pubs; we just use the object.

<comment><USER6> > Basically, you can pass around a live-binding object and changes made to it > in one module are immediately reflected in another.

This can work pretty good up to certain level but after that this can go out of hand pretty quickly. The cascading effect will become hard to debug.

> Whereas with a pub/sub model, you publish messages out to a hub and it is up > to the module to decide how to react to the message.

At least it is at one place to modify and debug. This is loosely coupled. You can easily decide how to react based upon messages. Very easy to introduce new workflows or use cases.

> We have a global live-bound object that holds the session data.

Looks like you are sitting on something that is waiting to explode soon. Global objects are evil

<comment><USER4> > This can work pretty good up to certain level but after that this can go out > of hand pretty quickly. The cascading effect will become hard to debug.

Totally agree, we recognized this before we began using them. They are used for common elements between modules, and we don't hold a lot of data with them.

>At least it is at one place to modify and debug. This is loosely coupled. You can easily decide how to react based upon messages. Very easy to introduce new workflows or use cases.

Maybe. With pub/subs you still need to go hunting for a rogue publish.

With my session example, we use the session object to display the user's name in various places. It's easy to use the session object to do this; I can just stick it in the view. With pub/subs, I would have to listen for the publish and then update the view, and I would have to do this in many modules. Turns a 0 line operation into a 5-line one.

> Global objects are evil

Not true at all! A session is a global thing, isn't it? Why wouldn't it belong in the global context? Edicts like "global objects are evil" end up paralyzing your development and you will sometimes have to do even more evil things to get around them.

<comment><USER6> Looks like you know what you are doing. Good.

>With my session example, we use the session object to display the user's name in various places. It's easy to use the session object to do this; I can just stick it in the view.

Correct. No need for pub\sub here since data is coming from server and we are not manipulating it. Pub\sub is required in scenarios where actions are taking place on client side like user registration, forgot pwd or ordering a product etc

> A session is a global thing, isn't it? Why wouldn't it belong in the global > context?

Absolutely. Session is more of a read-only object after once set on the server. I know some people use it to store objects and that is not right.

A bad example of a global object would be

var settings =

{ showCheckoutbutton: false, Ordertotal: 200, calculatedtax: false, showOffers: true, ShowTopbar: false }

I constructed this hypothetical object just to give an idea about an evil entity. Some developers would set certain properties in certain functions. It would definitely show zombie behaviour at certain times.

I enjoyed our conversation. Thanks for being so nice with your response.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> What problem does this solve? Can't you just simply declare the "loosely coupled" methods as functions and call them wherever needed in vanilla javascript? Perhaps I'm missing something but judging by the examples, and assuming the messages are local to a particular process, I don't see why would you do this:

        msngr.register({ topic: "Save", category: "Profile", dataType: "application/json" }, function (payload) {
            console.log("Save profile information here");
        });

        msngr.emit({ topic: "Save", category: "Profile", dataType: "application/json" }, {
            name: "Kris",
            country: "United States"
        });

Rather than:

        function saveProfile(payload) {
            console.log("Save profile information here");
        }

        saveProfile({
            name: "Kris",
            country: "United States"
        });

<comment><USER8> The examples don't illustrate this very well, but the benefit of message passing is flexibility/decentralization of events. To use your example, if when you saved the profile you wanted to also pass it to an internal analytics database, makes more organizational sense to have that database just register a listener for a save profile event, rather than having to add a very auxiliary step within the saveProfile function. This gets more and more helpful the more listeners you have, and while I haven't looked at this library in depth, can also be a very natural way of writing async code.</comment></comment>


Qatar now so hot it has started air-conditioning the outdoors - <AUTHOR> https://www.independent.co.uk/news/world/middle-east/qatar-air-conditioning-temperature-weather-heat-climate-change-athletics-world-cup-a9160751.html <comment><USER2> The irony is that the big winners of fossil fuels, which are all the arabic countries, will be the ones who get hit by the climate change the worse.

<comment><USER3> The country hit worst by climate change is India by sheer population which depends on agriculture which is becoming unsustainable due to uncertainty and very high temperatures in summer (as high as 50 C in some places).

Uncertainty in Weather + Water problems + Inefficient agriculture + biggest population (in 5 years i think)

<comment><USER4> Also, the richer countries will have ways to mitigate the effects of climate change - such as running air conditioning on the streets, or just staying 99% of their day in offices and houses. While the people in poor countries can only escape. So unfortunately, it will be the poor countries that will get hit the hardest. India, South-east Asia, central and south Africa.

<comment><USER3> A country like Qatar is so rich it can easily buy a piece of land in a place like Russia and fly bulk of its population there routinely if needed.

Sounds crazy today, but it might actually be an easy way for countries like Russia or Canada with so much surplus land to monetize it.

</comment></comment></comment></comment><comment><USER5> On a related note "Last year in Beijing, during a heatwave, 50% of the power capacity was going to air conditioning"

[https://www.theguardian.com/environment/2019/aug/29/the- air-...](https://www.theguardian.com/environment/2019/aug/29/the-air- conditioning-trap-how-cold-air-is-heating-the-world)

<comment><USER6> In the article it's mentioned that " Qatar, which is the largest per-capita emitter country of greenhouse gases, according to the World Bank — nearly three times as much as America and almost six times as much as China – uses about 60 percent of its electricity for cooling."

" Air conditioning accounts for less than 10 per cent of China's or India's electricity use."

</comment></comment><comment><USER7> How much of Qatar's 2°C increase is due to urban heat island and how much is believed to be climate change? TFA says it's a combination of both but does not elaborate.

I was thinking why not just mist water, but with the high humidity that's not going to work.

Sounds like a good market for personal cooling devices. Cooling certain areas of the skin like your wrists is good at helping shift the apparent ambient temperature. Much more efficient than cooling the streets. There are also those devices you can wear around your neck.

I also wouldn't be surprised if it was possible to create a specially insulated shirt that has a personal chiller (perhaps backpack size) piping cool air down your back to bring down core temperature.

200Wh in a 1kg battery can probably provide a decent amount of personal cooling, particularly if it's built to interface intelligently with specialty clothing using performance fabrics. You need a system than can intelligently disperse the heat in a compact format, even in 50°C ambient, which is probably the hardest part.

It's not like this place wasn't always blisteringly hot, if you live in the desert you're going to want good tech to stay cool.

<comment><USER8> _I also wouldn't be surprised if it was possible to create a specially insulated shirt that has a personal chiller (perhaps backpack size) piping cool air down your back to bring down core temperature._

I'm not going to bother digging up a link, but such things exist, some of my less heat-tolerant motorcycle buddies have them. One system I know of has a cooling unit that one would have to strap to the rear seat (probably six-pack cooler sized), but I believe self-contained, don't-have-to-drag-a-box-with-me units are available now.

</comment></comment><comment><USER9> Would planting trees and a lot of irrigation not help make a difference? Money doesn't appear to be a big issue there.

<comment><USER10> Actually, trees have lower albedo than sand meaning, they reflect less sun energy back to space.

Also, trees do not help if you get hit by a wave of 50C desert air.

Also, the drynes of air in arabic countries is actually their saving. The only way for a human being to be able to survive outside in air hotter than 35C is if the air is dry so it is possible to cool by sweat evaporating.

<comment><USER11> > The only way for a human being to be able to survive outside in air hotter > than 35C is if the air dry

You're exaggerating.

Where I and other 12 million people live it's often 35C+ and ~60% humidity.

<comment><USER10> Above 35C air temperature human body cannot remove heat any other way than through evaporation of sweat.

At 46C you need air that is less than 50 percent humid to even survive. And this means you can only lie flat in shade and breath, any more exertion and you cook from inside.

For anybody to survive outside in 46C air and additionally you want to exert yourself in any way like walking the air must be very dry.

If you are still not convinced just read up a little bit, [https://www.google.com/url?sa=t&source=web&rct=j&url=https:/...](https://www.google.com/url?sa=t&source=web&rct=j&url=https://insideclimatenews.org/news/02082017/heatwaves- deadly-heat-humidity-wet-bulb-human-survivability- threshold%3Famp&ved=2ahUKEwi616frlqblAhXqkIsKHTDfDvsQFjAKegQIBRAB&usg=AOvVaw0LHK8xKmhTzGiTiw8gl_Vs&ampcf=1)

</comment></comment></comment></comment><comment><USER12> Fun fact: the 2022 World Cup is being held in Qatar.

<comment><USER13> I wonder if the ACs from the stadium in Doha can keep the temp on the field an even 25C. Not sure about the fans leaving the stadiums though. They could die.

</comment></comment><comment><USER4> And the hot side of the unit goes where?

<comment><USER14> They might be swamp coolers, which blows the air over water, evaporating the water and cooling the air.

<comment><USER15> They have high humidity and temperatures. Swamp coolers wouldn't be terribly effective in that environment. These are probably conventional chillers pumping out cold air.

</comment></comment></comment><comment><USER16> Climate change, scarcity of drinking water, oil losing its intrinsic value, endless conflicts. The Middle East is in for a wild ride.

<comment><USER17> Maybe "oil losing its value" isn't as big a deal for the rest of the world but the other 3 are definitely issues on a global scale.

<comment><USER16> For the Middle East it's the biggest issue though, because the others could be solved, or at least alleviated, with money. But Middle Eastern economies heavily rely on oil (90% of Saudi exports, 94% of Iraqi exports, 72% of Iranian exports, etc). Take that money out and this entire house of cards comes down.

</comment></comment></comment><comment><USER18> Why aren't they using solar? Is it because oil is so cheap and abundant?

<comment><USER19> Also because sand and dirt buildup on solar panels is a major issue for Saharan countries.

Wash it off = waste precious water

Mechanical device = Jams in sandstorms

Maintenance personnel = Expensive and remote locations

There's at least a few startups trying to tackle this problem.

<comment><USER20> A friend of mine who worked for an energy company also mentioned that some of their solar panels got stolen often enough they had to factor that into their costs.

</comment></comment></comment><comment><USER21> I wonder if as climate change worsens we'll end up with infrastructure to support air conditioning, like we have for water, electricity and internet.

</comment><comment><USER6> Goodness, that heat with humidity, I can't imagine how bad it must be.

</comment><comment><USER22> Why not just cool the sun?</comment>


Hospitals 'Waste More Money' After Hiring Management Consultants - <AUTHOR> https://www.telegraph.co.uk/news/2018/02/21/hospitals-waste-money-hiring-management-consultants/ <comment><USER2> Eventually we as a society will finally learn that the whole outside Management Consultant/Efficiency Expert trend in business and government is a racket. Consultants don't care about your firm in the long term. If you want to save money, audit from _within_ your company/agency.

If you're going to bring people in from the outside, you may as well just set your money on fire.

<comment><USER3> I couldn't get budget for a tool that I ended up telling an outside consultant about.

They were able to get a PO for the tool, no problem.

They then spent the next few months using said tool at what I'm sure was a very high hourly rate.

Management never blinked. And they were apparently quite happy with the results the tool enabled. But respecting and approving an internal request for same? Forgetaboutit.

Of course, they were "restructuring" the company. Internal employees had all become "cost centers" and doubtless, behind closed doors, "the enemy".

Something important to understand: Much senior management has become a step or two away from -- akin to -- outside consultants. They come onboard to arbitrage short-term financial gains, often of a constrained nature. Then they move on.

Paying expensive consultants is just fine -- preferable, even -- if it is part and parcel of making an end-run around employees towards said short-term goal and exit.

They are birds of a feather. (And they will shit all over you.)

</comment></comment><comment><USER4> Similar thing is happening to my wife's hospital stateside. Management consultants have gone as far recommending the removal of snacks from all levels including those serving children. Which then in turn has operational employees battling management on expense reports. The whole thing is amazing considering some of the consultants have no medical background.</comment>


The Secret To Rails OO Design - <AUTHOR> http://blog.steveklabnik.com/2011/09/06/the-secret-to-rails-oo-design.html

<comment><USER2> I don't know, Steve, it looks like you're creating classes with long scary names just to "encapsulate" Ruby one-liners; your whole DictionaryPresenter class (for instance) boils down to:

      Post.all.inject(Hash.new {|h, k| h[k] = []})
        {|hash, post| hash[post.name[0]] = post; hash }

You might be right that the forest of classes you're creating will be useful in the long run. But this is exactly the slippery slope that the Gang of Four disciples fell down in Java.

I think using the phrase "Plain Old $X Object" might be a warning sign.

Any time you write a post talking about learning OO, and your example class hierarchy includes classes that do nothing but wrap things that are already idiomatic in the language, expect your friends and those who care to jump on you to find and squash the radioactive object bees that are trying to burrow their way into your spinal column.

<comment><USER3> It's true: There is nothing less fun than chasing injected dependencies around from place to place in the code, only to discover that they all boil down to one line that you could have just... _read_.

Skimming through this essay, it looked as if the second half might be more convincing than the first, because there the logic being refactored was significantly hairier than one line.

<comment><USER2> The second half of this post made me think about _Style: Toward Clarity And Grace_, the (geekiest ever) writing book Richard Gabriel recommends (and it is great). The first fifth of the book does little else but rail against "nominalization", which is the bad writing habit of turning verbs into nouns, which abets flabby passive voice writing.

Isn't that exactly what Steve's doing here?

 _Combining the flexibility of Ruby with one of my favorite patterns from "Working Effectively with Legacy Code," we can take complex computations and turn them into objects._

AAAGH! BEES!

Look at Norvig code. I'm struck by how he just _gets to the point_. "Here's how I'm modeling my data. Here's a few functions that work with the model: whack, whack, whack! Here's 'main'. Boom, I solved Soduku."

"TurnaroundCalculator" doesn't even need state. Why is it a class with a bunch of private methods? Sure, this code doesn't belong in an AR model. So stick it in a function!

<comment><USER3> Yeah, I'm convinced. The passive-voice metaphor alone is difficult to resist.

</comment></comment></comment></comment><comment><USER4> What's not mentioned here is how you decide _not_ to extract something.

I think it's true that there is a class of novice programmers who will always just use whatever frameworks they are given, and write things out inline, never searching for a better way because they just don't have the natural curiosity (or they've never been shown the light) to seek out the better ways.

It's also true that to master a programming language you have to practice using all its abstractions. Ruby has a very pleasing and simple way to break down concerns, and clearly this is a tool you need in your box to write great Ruby code.

The true level of mastery is when you understand the cost-benefit of all this. For instance, breaking everything down into one-line methods is only of benefit if those methods are a non-leaky abstraction and make conceptual sense on their own. It's not inherently true that a 10-line method is harder to read—one ten-line method is much shorter than 10 one-line methods.

The effect is even more powerful with classes. Every class file you add is adding to the overhead of understanding the program. In order for that to be beneficial, you have a greater-than-linear improvement in program power and flexibility. Even if some extraction seems reusable, it might require tweaks every time you attempt to make a new use of it, or it might be a leaky abstraction that introduces bugs that cost you time down the line. What makes the true master are not principles about how long methods and classes should be, but rather how to factor the logic in such a way as to maximize re-use and conceptual integrity.

Finally, you must always be cognizant of the YAGNI principle. In a Rails app, you are writing code for a discrete problem domain where reusability may be limited. Taking the time to factor things truly beautifully is more worth it at the Gem/Framework level than the application level because there is much greater opportunity for reuse.

</comment><comment><USER5> To those who are attacking this article. I think, Steve unfortunately has chosen a somewhat bad example to illustrate a very good point.

I have seen countless examples of complex payment logic shoved down into User model (or CreditCard model), because developer did not had the foresight to see that Payment logic does not belong in User or in CreditCard model.

About functional or using higher order functions - yeah go for it. The great thing about Ruby I think is - you can still use best of OO patterns with minimum amount of heavy lifting and sprinkle blocks and lambdas - resulting in pretty neat design overall.

Also, functional code != good code sometimes ([http://www.drmaciver.com/2008/08/functional-code-not- equal-g...](http://www.drmaciver.com/2008/08/functional-code-not-equal-good- code/))

<comment><USER2> Steve isn't talking about which model code belongs to. Nobody is attacking the idea of factoring code out of models. But I'm attacking the idea that the place for any refactored code to go is into its own class.

<comment><USER5> But I am not talking about which model code belongs to either. I sm saying, the Payment logic probably does not belong in either of the models (User or CreditCard) and should be in its own class and should have an well defined interface - independent of how User is stored or how CreditCard is stored. And I think, thats exactly what steve is talking about.

<comment><USER2> I think there may be object bees on you. Just because "logic" doesn't belong in a model class doesn't mean it needs _its own class_. In Rails, you already have three good places to move code like this to:

* The controller class, to generate a populated instance variable used by a view

* The helper class, to transform a general-purpose instance variable into the variable you need in your view

* As a free function or static method anywhere in lib/, particularly if you could conceivably re-use the code in another project.

The issue here is nominalizing all the logic in your code; besides creating unnecessary indirection (indirection is the coin of the realm; spend it wisely), it also creates One More Thing everyone has to remember to use your code: how to instantiate your object.

Just write functions. People have built and maintained things far more amazing than blog software in C using nothing but well-named functions. What Would Norvig Do?

</comment></comment></comment></comment><comment><USER6> Helpers.

Enjoyed the post, but Rails also provides helpers to 'help' you with view specific logic. Granted, this might not be as fun as a plain Ruby class, but I've used helpers extensively on various projects and whenever I join an existing project, it's one of the first places I look with dealing with the view layer.

One of the nice Rails conventions.

<comment><USER7> Perfect response. My thoughts exactly. The only thing I would add is if its reusuable, document the method! If this is part of the apps "framework", document it! I can't count how many times I've run into basic app helpers with undocumented option hashes. Want your code to be reused? Make using it easier than rewriting it.

</comment></comment><comment><USER8> This code he calls good:

        DictionaryPresenter.new(PostCategorizationPolicy, Post.all).as_dictionary

Well, it smells like typical java overengineering. Why stop at that, let's go full way to:

        DictionaryPresenterFactory.new(PostCategorizationPolicyStrategy, Post.collect(CollectionStrategy::All)).present

</comment><comment><USER9> In this blog post, the author is reifying concepts and improving separation of concerns(1). This is basic software development. Which makes me wonder why the OP got the impression this kind of thing was "secret"?

(1)The usual warnings about premature optimization apply.

</comment><comment><USER10> One thing that people seem to forget about object orientation: when you're not actually using an object to represent state, but you still want to inherit and/or separate functionality, there is a simple way to do it while avoiding the creation of a bunch of junk objects that do nothing besides waste heap space and get garbage collected on the next cycle:

STATIC/CLASS METHODS.

</comment><comment><USER11> A minor tangent, but do db tables whose models use `include` instead of inheriting a base class count as POROs?

</comment><comment><USER12> from an organizational pov, where do these poros go in the structure. Would you put them in the model folder ?

</comment><comment><USER13> I always liked the term PORC (Plain Old Ruby Classes) for the Ruby analogue of a POJO

<comment><USER2> Doesn't it worry you that you're working in an environment that dedicates so much time to filing code away into objects that it needs a name for the idea of an object that doesn't derive from one of the framework classes?

An antidote to this mentality:

<http://norvig.com/design-patterns/></comment></comment>


How the Facebook IPO could help the Boston Phoenix - <AUTHOR> http://www.universalhub.com/2012/how-facebook-ipo-could-help-boston-phoenix

<comment><USER2> I'm sure they're suing Facebook because that's where the cash is, but shouldn't they be suing every other website that's doing something similar as well, world wide...?</comment>


NY to safeguard net neutrality by withholding state contracts from violators - <AUTHOR> https://9to5mac.com/2017/12/29/net-neutrality-new-york-response/ <comment><USER2> What a great idea! I hope my state (California) and others follow suit.</comment>


#2 startup city: Austin, Boulder, or San Diego? - <AUTHOR>

Each city advertises, but what does/is your network/experience? <comment><USER2> I may be biased, but I'd second the nominations for Portland, Oregon. A lot of interesting things are happening. Acquisitions and funding have been intense. Check out the list: <http://aaronparecki.com/Portland_Funding_and_Acquisitions>

<comment><AUTHOR> I've actually been surprised by Portland. I received four emails (from my profile here) from strangers recommending Portland.

</comment></comment><comment><USER3> I currently run a startup here in Boulder. It's a wonderful community with the backing of TechStars (even get to work out of their offices sometimes). I'd recommend it if you'd like to get your feet wet in a smaller, closer knit community.

Can't speak for Austin yet, headed there in a month.

<comment><AUTHOR> Do you have link?

</comment></comment><comment><USER4> City count from Crunchbase:

NYC: 2407

London: 1807

Austin: 576

Paris: 549

San Diego: 499

Boston: 405

Vancouver: 288

Berlin: 284

Portland: 247

Washington: 200

Boulder: 163

<comment><AUTHOR> That's helpful...thanks! Do you have a link for that?

<comment><USER4> No sorry, I've scraped Crunchbase and built my own analytics tool for the data for my own analyses hence me being able to pull the city counts.

</comment></comment></comment><comment><USER5> New York City

<comment><AUTHOR> I have friends in NY that say they can never get enough talent to move there (Paul Graham actually says that as well)....if anyone lives there confirm???

PG <http://paulgraham.com/siliconvalley.html>

"Nerds are a distinct subset of the creative class, with different tastes from the rest. You can see this most clearly in New York, which attracts a lot of creative people, but few nerds. [5]

</comment></comment><comment><USER6> I'd suggest putting "Ask HN:" at the front of this. May get you more traction.

<comment><AUTHOR> Should have thought of that! good point

</comment></comment><comment><USER7> Virginia Beach! Never underestimate the allure of cheap living and a beach...

<comment><AUTHOR> Is there an active startup community there?

I don't know any hacker there...but I will check the cost of living. Thxs

</comment></comment><comment><AUTHOR> Nominate: portland, boston, Washington DC, in that order

</comment><comment><USER8> RTP area of North Carolina</comment>


Laravel Valet is the next generation development environment for Mac minimalists - <AUTHOR> https://laravel-news.com/2016/05/announcing-laravel-valet/ <comment><USER2> "... then it utilizes DnsMasq to proxy all requests to the .dev TLD to sites on your local machine"

This seems a poor choice as local TLD given that .dev is now an actual, real world TLD.

A far better choice, that would have served as a constant reminder of the Valet name, would have been .val

</comment><comment><AUTHOR> I love the simplicity in this. No more using Vagrant or Mamp for a local dev environment.</comment>


Engineers create fingernail-size chip that holds 1TB of data - <AUTHOR> http://www.computerworld.com/s/article/9139716/Engineers_create_fingernail_size_chip_that_holds_1TB_of_data

<comment><USER2> Not a very useful article. It doesn't even say what method is used to store the data. They mention spintronics, so perhaps it's STT MRAM.

Anyone know more?

</comment><comment><USER3> I'm continually frustrated by these reports. I can tell you about a fun algorithm I came up with in my sleep and maybe even prototyped, but a large- scale app it doesn't not make.

How realistic is it that this will become mainstream? How often do chip makers license these types of technologies? How do they determine when to invest in a technology like this?

Sometimes I'd rather just read about a manufacturer who has announced a product using a specific technology, at least we know someone is risking their money to turn it into a consumer-grade product.

</comment><comment><USER4> I think they created a material that would be suitable for a chip of such density. The author seems to have take "with this you could" a little literally.

<comment><USER5> That's correct. According to the press release, they just made a sample in the lab.

<http://news.ncsu.edu/releases/degraffnarayan09/>

And then some reporter saw it and started making stuff up.</comment></comment>


Mobile Websites DreamSoft - <AUTHOR> We would encourage a separate Mobile Website which will be only meant for viewing on Mobile Phones and Tablets by your Clients. When on Mobile your client visits your main website like http://www.mydomain.com ; it will automatically redirect them to http://m.mydomain.com ; on this, a separate interface (GUI) will be there with the data clearly visible for Mobile Devices. Mobile Display will have no Menu Links and it will be with Bigger Fonts and display suitable for viewing on Mobiles. Having a Responsive website which is mobile compatible is not all the time view able comfortably on  Mobile Devices. In times of Mobiles, more then 90% of the Visitors on your website come through Handheld devices rather then Laptops or Desktops. DreamSoft specializes designs most suitable for Mobile Devices and can turn around the readability and usability of your website in positive results. Go with DreamSoft in assisting you to get a new Mobile Website today...visit : https://www.dreamsoftindia.com #mobile #mobileappdevelopment #appdevelopment #mobileapps #mobileapp #mobiledevices #mobilesecurity  #android #business <comment><USER2> HN is not a marketing site, hashtags don't work here btw.</comment>


Ask HN: US-based hosting or local country? - <AUTHOR> I run an Aussie flight search site.  It's currently hosted with a cheap US hosting company (hostgator) I chose when I set it up because, well, cheap.
What I'm wondering, as my hosting subscription is coming up for renewal:
1 - does having a server based in Australia make much difference to speed? 2 - does Google penalise slower sites? 3 - does Google take into account that if you have a .au domain, it should speed test for Aussies?
Basically, trying to get advice on whether it's worth moving hosts - the few website I've found discussing it try hard to push you in a particular host's direction, and then you see their affiliate code, which makes it harder to validate :/ <comment><USER2> If I were you, I'd start with Cloudflare + Argo, and setting some good caching rules, and see if that helps at all.

Yes, in general, your server should be as close to your customers . . . but if you're calling into a lot of backend services to do flight searches, you may also want your server to be closer to your backend services (maybe they're in the US).

<comment><AUTHOR> Good point, a lot of my data actually comes from Russia. Singapore is looking like a better option at present, half way between the two...

</comment></comment><comment><USER3> Go with a good US based host. Your current provider is absolutely one of the worst in the industry. This is my personal opinion of course, but their support, hardware, and networking have gone awful. Look for cloud VPS providers. Even their cheapest $5 can easily outperform shared hosts.

Second, choosing an AU provider might help to bring the the TCP round trip time, but in most cases, it is your application itself that is the bottleneck. You can test the pin times yourself, and I am think providers in US West coast and Singapore can give a reasonable sub 150ms ping time.

<comment><AUTHOR> Yup, I've done the research on hostgator, I know the awful rep, which is another reason I want to switch. Thanks, hadn't considered cloud VPS.</comment></comment>