Google Will Become an AI Company - <AUTHOR> http://mattmaroon.com/2011/01/03/google-will-become-an-ai-company/ <comment><USER2> I was very impressed when I found out Google was running a free 411 phone information service _just_ so that they could gather a ton of data to train new voice-recognition algorithms. That's real long-term thinking, and definitely makes them an AI company in my book.

<comment><USER3> Sadly now that it has served its purpose, it has been shut down. Granted I hardly ever need it now that I have a smartphone but it was very useful when I didn't!

<comment><USER4> 1-800-BING-411 is still operational.

<http://www.discoverbing.com/mobile/411/>

<comment><USER5> I wonder if Microsoft is running that service for the same reason or simply because Google had a 411 a product Microsoft thought they needed one too.

<comment><USER6> I'm pretty sure it's the latter. Microsoft's MO lately has been to rip off anything that makes their primary competitors unique, so they can go on being a one-stop shop in any industry they believe themselves to be a part of. And since Google is both a big competitor _and_ lacking any central concept to its business, Microsoft will pretty much rip off anything they do.

<comment><USER7> yet, microsoft has deployed voice recognition to some hundred millions users over time, so they could have copied that idea to improve something they were already selling.

</comment></comment></comment></comment></comment></comment><comment><USER8> Google has ALWAYS been an AI company. From the beginning, pagerank indexed information, made meaning out of this information, and could predict the most relevant url better than anything else in the market. Search was simply the first application.

AI is not a market - AI is a tool. Google is NOT poor at product development. However, it does seem that they have failed to build some products around AI tools (like Google Wave).

Sure Google (and others) will continue to make products by applying AI to market problems.. but they've been doing this their entire existence.

<comment><USER9> I'm not that familiar with Wave (other than using it for a bit), but can you expand on the connection between Wave and AI?

<comment><USER8> Basically the Wave protocol modeled real-time communication in a way that Google Wave Bots & Gadgets could be deployed to add value to conversations among groups. Google Wave was intended to be a playground where humans and AI algorithms could meaningfully share information.

<comment><USER10> Can you point out the way in which the "Google Wave Bots & Gadgets" had meaningful elements of AI?

</comment></comment></comment></comment><comment><USER11> This is a great article. Every now and then Matt can really knock one out of the park.

Of all the tech that we talk about on here, there are only a few items that really catch my attention. Christmas tree machines are one of them. Auto-drive cars is the other.

These two inventions, when complete, will massively change things. Good luck guessing when they'll be complete, though. Could be a decade. Could be a couple of hundred years.

If cars could become more like rooms that automatically go places, instead of complex machines that require constant care and oversight, vast amounts of productivity and leisure opportunities would open up.

<comment><USER12> What is a Christmas tree machine?

<comment><USER13> Scifi. Imagine you had nano-scale robots where, given a substrate to work with, they would assemble whatever the local environment needed to look like, then assemble two child bots coming from them like twigs on the branch of a Christmas tree. This is supposed to allow arbitrarily complex construction at prices which are rounding error next to current ones, solving scarcity, reshaping the world, and generally making for a nice backdrop for your novel of choice.

[Edit: Hmm, Daniel and I seem to have different etymologies for the word...]

[Edit the second: Engrish is hard.]

<comment><USER14> Oh you mean Kalpavriksha! <http://en.wikipedia.org/wiki/Kalpavriksha>

</comment></comment></comment></comment><comment><USER15> _2\. Children could own cars. Don't feel like schlepping your kid to soccer practice? Just buy them a car

6\. ... Make my car driverless (freeing me up to watch TV, read a book, catch up on emails, etc.) and able to travel at twice the speed, and spend the entire trip at top speed (rather than slowing down and speeding up on the highway) and I could feasibly live as far as 100 mph away.

7\. Urbanization will reverse. Why pay $3,000/month for a flat in Manhattan when you can get from 100 miles upstate to work in 30 minutes? _

This is bascially an apocalyptic scenario in my mind. I hate what the automobile has done to US cities, making everything the same vanilla spread and causing the car to become necessary to participate in modern life. I'm sad this blogger doesn't even think twice about the advantages of public transit (see: 6.) or more clever urban planning to reduce travel distances.

I like his basic thesis but I'm horrified by this example he puts forth. We should be moving away from the car, not towards it.

<comment><USER6> _Why_ should we be moving away from the car? You seem to take this as an a priori fact. I see no advantages to public transit aside from less energy waste, unless you just occasionally long for the scent of hobos.

And urban planning is not a solution. It's shutting the barn doors after horses got out. Most urban areas have already been not only planned but fully executed and there isn't public will to tear the whole thing down and start over.

<comment><USER15> Assuming we would have driverless cars, you don't have to worry about a gigantic shell of metal that is expensive, will break down at inopportune times, requires constant maintenance, copious parking space at any destination of your choosing, insurance, contributes to crappy air quality (thankfully reduced/solved by using electric power), and for which you have to spend hours shoveling snow if you are in a colder climate. There are tons of other problems if you focus on human-driven cars: drunk drivers, the need for designated drivers, comparatively high risk of being killed or maimed, having your kids nag you or someone else if they want to experience the world outside of their neighborhood, driving course costs (oh wait, in America we don't have to pay... in Europe, well, I hope you have several thousand euros). There are so many issues that they greatly outweigh the ones in a properly-made public transit system. I see cars as being useful for out-of-city excursions (but not inter-city, just take the train) or for hauling things, but these situations are not common enough that every single adult needs to own a car.

We don't actually have to tear down and start over, and I think you underestimate the North American will to destroy old buildings. We just need to use existing buildings more intelligently, turn asphalt seas into courtyards, allocate green spaces and keep residental and commercial buildings close together. I don't expect people to actually do any of this, particularly in the US where it would be seen as a communist plot, but I'm happy there are many places in the world where there is no need for urban replanning/reorganization on a grand scale.

<comment><USER6> With regards to public transportation, all I know is, after five years trying to make do with it, I am _never_ going back to that hell. It's only barely cheaper than owning a car, and the trips took 2–10 times as long. (The city where I work has property very close to the businesses, but that property is ridiculously expensive.)

<comment><USER15> Most US public transit is abysmal, particularly if it's bus-only. Spend some time in Europe.

</comment></comment></comment></comment></comment><comment><USER16> What's the point of owning a driverless car? Apart from luxury/status, it should be far cheaper to rent one as you go, in the driverless cab fashion.

Also, I can't help but cringe inside when people act as if the only benefit of living in the city is less commute time. As far as my life goes, I'd trade more commute time to live inside an urban centre with all the facilities at a walkable distance plus all the nice benefits of density.

<comment><USER17> For many people, whatever nice benefits of density there are (and I'm struggling to think of more than one or two... choice of places to go for fun, maybe?) seem offset by the harms of density, which are manifold. However, lower commute time is something nearly everyone wants, even if it's currently only 10 minutes, so it's an easy point to make.

<comment><USER18> _For many people, whatever nice benefits of density there are_

Here are a few that I came up with in 30sec:

Varied options on things to do (like you said)

Closer proximity to other people in general (more social opportunities)

Commuting on foot

Better access to more government services

Greater selection of goods, food and produce

<comment><USER17> Except for "Greater selection of goods, food and produce", all the ones you add seem like they could be costs rather than benefits, for many people. Closer proximity to other people in general, for example, was one of the harms I was thinking of. But I'm slightly more misanthropic than most Americans, I guess.

The one about greater selection isn't actually true, as far as I can tell. You can get pretty much anything shipped to your small town, and while you're less likely to just run across something at the store that you find you like, you'll be paying lower prices for everyday stuff. I live in the DC metro, and every time I travel to visit friends or family (who all live in far less densely populated areas), I'm struck by how much cleaner, cheaper, and open everything is, and how everyone seems friendlier and less suspicious.

An advantage neither of us mentioned, but which is pretty large, I think, is that people are less likely to have to move or change careers when changing jobs.

<comment><USER18> I also live in the DC metro area...maybe we've met at the HN meetups? Will you be there next Wednesday?

<comment><USER17> I went to the last one, but only stayed for a few minutes. I'll look into where and when this next one is.

</comment></comment></comment></comment></comment></comment><comment><USER19> I've bought some Google shares as an insurance, in case they develop true AI. I hope the robots spare me if I can prove that I financed their creation.

</comment><comment><USER20> I'd say google IS an AI company. They do doc classification, nlp, speech to text, vision, etc. They may not be great at some parts of it, but their systems are constantly being trained and getting smarter as they release more products and acquire more data.

<comment><USER21> +1

Yes, Google is a machine learning company. And any sufficiently advanced machine learning technology is indistinguishable from AI magic. :-)

</comment></comment><comment><USER22> Anyone else a little put off by the sentence, "To put that another way, if Google managed to scoop up just 2% of that industry they'd have more than doubled their revenue"?

That sounds an awful lot like the refrain from naive entrepreneurs to investors: "the market is 100 billion dollars; if we capture 1%, we're a billion dollar company!" In fact, I think we could describe it as a basic entrepreneurial fallacy.

OTOH, Chrome went from 1.5% market share in Jan 2009 to 9.9% at the end of 2010. So I'm not going to say they can't do it, but I think Matt's piece is weakened by the presence of the 2% fallacy.

I do agree with the overall gist, however.

</comment><comment><USER23> Traffic is caused by human error? I suppose flooding is caused by "water error", then?

Traffic is caused by too many vehicles attempting to use a limited resource at the same time. Driverless cars may make this more tolerable (certainly riding the bus does) but the idea that this will make traffic obsolete is laughable.

<comment><USER24> In my experience most traffic jams are caused by bad merging, not lack of capacity. A few years ago I regularly drove a stretch of road that went from 2 lanes to 3 for a few miles and then back again, without gaining a significant amount of traffic in between (I have no idea why the road was designed that way, maybe one of the side roads feeding into it got a lot of traffic at a different time of day or something). Every day there would be a traffic jam where the third lane ended. Someone waits too long to merge and traffic has to slow to let them in, or is nervous about moving over and has to be given space, or whatever, and it just compounds until traffic literally stops at that point. I see the same thing all the time at on/off ramps, turn lanes, etc.

<comment><USER25> I've read several articles pointing out that traffic seems to be an emergent behavior, and can be predicted like the flow of a gas, regardless of the individuals involved.

</comment></comment></comment><comment><USER26> Not only will children be traveling by robotic car without the need for parent or bus driver, so will that quart of milk you need from the store, that dry cleaning and your grandmother.

Oh, and cab fare from the airport will cost less than the tolls. In fact, cabs will be so cheap and numerous that most people won't bother owning a car for anything other than recreational purposes.

</comment><comment><USER27> Rename that article to "Why driverless cars would be nice."

</comment><comment><USER28> This might be the most rose-tinted article about Google I've ever read.

There are nothing but complaints about Google's lack of personal customer service in regards to their AdSense program - what makes you think that future AI projects from the company would be any better?

Just because Google's made a self-driving car doesn't mean they're automatically the front-runner in that category. What about all of those teams that compete in the DARPA robotic car competition every year?

Also, the advantages that Maroon mentions (especially the safety ones) would most likely only come to fruition once self-driving cars become ubiquitous - something that its hard to imagine happening within the near future (or at least during the current incarnation of Google as we know it).

<comment><USER29> "What about all of those teams that compete in the DARPA robotic car competition every year"

I imagine that Google is hiring them. Sebastian Thrun, leader of the team that won the first DARPA Grand Challenge, is now part of Google's driverless car project.

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

</comment></comment><comment><USER30> After reading through much of the discussion regarding Matt's many interesting points, it's somewhat troubling that nobody addresses the most obvious problem with the realization of sufficiently good AI. In both cases mentioned, in regards to cars, taxis, buses, and call centers, you displace thousands to millions of human workers. While this is all very nice in our tech fantasy lands if these scenarios come to pass you have another mass displacement of low -> middle skilled workers.

It's of my opinion (I also remember reading about a global conference regarding this issue),that our current society can't withstand another displacement event of this size, even if it does come gradually. In the United States anyway, we can already see massive unemployment due to certain jobs just not existing anymore, for example, token booth clerks, replaced by automated kiosks, cashiers replaced by automatic kiosks, conductors replaced by automated trains, etc. etc.

Furthermore, there is always less need for highly skilled workers as the top, so say you displace 1000 construction workers due to automation, you may only need 100 foremen, leaving those previously 900 workers unemployed with no prospects of employment even with sufficient education. It's a major problem in my opinion, and possibly a problem we'll have to deal with in our lifetime, especially if we see minor to significant improvements in AI and automation.

<comment><USER31> I don't see the problem; lowering scarcity lowers the _need_ for employment. A king's feast from the 1800s can be bought today with welfare money. When we eliminate the need for _all_ jobs, we can just relabel ourselves "socialist" and call it a day.

<comment><USER32> This is not the state today. the basics (housing, healthcare , education ) are pretty expensive. add to that the stigma of not working , and being unemployed is quite bad.

I think disruptive innovation for the needs of the unemployed in those fields , could be a huge and important field in the next decade.but this would probably need suport from government , because there are heavy regulations around those fields.

</comment></comment></comment><comment><USER33> Did no one stop to think about this? It is extremely far-fetched at best.

>safety regulations could be greatly relaxed.

No, at least not if the author's vision of 200mph average speeds is to be taken. When a mistake or malfunction happens at that speed, safety mechanisms will be imperative. Furthermore, having a mechanical car does not prevent: someone else running into you, a deer running in front of the car, etc.

> children could own cars

But they wouldn't, because the purchase would still be in the name of the parent. Furthermore, do you see parents sticking their 6 year olds on the subway just because they can? No. A very few do it and get ostracized by society.

> 3\. The beverage industry will go.

False assumptions without supporting data, but I have no facts to counteract it.

>4\. Speed limits will be unnecessary

Oh really? So we won't need limits for the existing drivers who aren't using driverless vehicles? How will the 200mph traveling car navigate around all the 60mph traveling ones? Furthermore, is every car going to be programmed to go slow in pedestrian zones? How do you enforce that without speed limits? The current Google Car wasn't jetting 200mph down the 101, it was driving under the speed limit in residential neighborhoods.

> The map will shrink greatly.

No. Fuel costs and traffic don't just magically disappear because of your fantasy land.

> Urbanization will reverse. Why pay $3,000/month for a flat in Manhattan when > you can get from 100 miles upstate to work in 30 minutes?

I will. Just because you can live outside the city and travel to it at a faster rate does not make it a given that one would choose to. Urbanization has been the greatest driving factor of population trends in the last century. If anything, if what is proposed came to pass, you would see increased urbanization of small towns/suburbs.

>Airlines will be devastated. Why fly from New York to Chicago?

No. It will still be faster to fly. Are you serious? I mean gee why fly from New York to London when I can take a speed boat and have it take three days? I mean, seriously?

>9\. Other forms of public transport won't fare much better. A driverless cab won't cost much more than a bus (which also will be driverless) but will be a hell of a lot nicer.

I'm sorry, I don't live in fantasy land where fuel costs suddenly become irrelevant. Fuel costs make up at least 16% of the overall cost. And there will still be a premium because people will be willing to pay it.

Yes, a driver less car will make someone a lot of money. Does this equate to the above points? No, the author's hypothesis has no basis in reality and no facts to back it up.

<comment><USER34> _do you see parents sticking their 6 year olds on the subway just because they can?_

Maybe not 6, but certainly 8 year olds are quite capable of using public transport and happily do so in many parts of the world. I know I was taking the bus to the library when I was 8 or 9 and the train into town when I was 10, and that wasn't strange in the slightest.

<comment><USER35> There's also a big difference between asking a child to navigate public transport and putting them in a trusted taxi to school, which is all an automated car is. If the trusted taxi is cheap enough, you'd only have to be confident that the child wouldn't hurt themselves en route.

</comment></comment></comment><comment><USER36> Saying Google is poor at product development is just trolling. List of well- designed, dominant Google products include:

* Search

* Gmail

* Docs

* Reader

* Images

* News

* Maps

If only other companies failed at product development so well...

<comment><USER37> Gmail, Docs, and News are not dominant in their category, Images is just another form of search, while Reader is dominant but increasingly irrelevant.

You forgot Android, which in the long run will probably prove to be their only really big hit other than search, at least that they've released so far. The others just don't matter that much.

<comment><USER38> Android is also an acquisition, FWIW.

</comment></comment></comment><comment><USER39> I find it interesting that the responses on plausibility seem to be based on technical or social feasibility. My gut instinct is that resource shortages are going to change the world in unanticipated ways, and what is currently imaginable due to the inexorable march of "progress" will no longer be economical. Hopefully the transition is smooth so we can keep the best of technology (such as the internet) without the waste and depletion of the environment that capitalism so far has failed to account for. Maybe after we figure out the sustainability thing, fully automated ad-hoc transportation could be worked out in the far future.

</comment><comment><USER40> I really like this article. Yes, if Google can pull off AI solutions like cars that drive themselves and appliances that cook for you (all are pretty straightforward problems that can be solved with programming) then they will really OWN.

The problem with the former is the huge liability risk. When a car's breaks fail, we blame the car manufacturer. Imagine if a car crashed, or caused some sort of accident -- any accident! The blame would rest solely on Google's shoulders, whereas right now it's split between the driver and the car.

</comment><comment><USER41> Trains, buses and taxis do much of this already. I met people in Japan 5 years ago that were do daily commutes of 30-45mins of much bigger distances than a car could in that time. London to Paris is quicker and easier by train than by plane already.

Public transport has long been used by the young and/or intoxicated.

</comment><comment><USER42> Self-driving cars will be important in 10-20 years that is obvious. You can look into that certain future by watching how far R&D has come in recent years.

But I strongly doubt that cars as we know them today will still be around. Todays car design - fast & heavy - is absurd and only serves to satisfy the image we have of a car. 'Sensible cars' are often not perceived as cars at all <[http://www.google.at/images?q=smart>](http://www.google.at/images?q=smart>).

Making cars slower triggers a positive cycle of being more efficient (half speed = 1/4 energy), safer and allowing for lighter designs.

The problem of efficiency is not somehow magically solved by making cars 'electric' but only by making cars slower and lighter.

</comment><comment><USER43> > The map will shrink greatly. Right now I live about 30 miles from my office > and the commute is on the very edge of what I can stand. Make my car > driverless (freeing me up to watch TV, read a book, catch up on emails, > etc.) and able to travel at twice the speed, and spend the entire trip at > top speed (rather than slowing down and speeding up on the highway) and I > could feasibly live as far as 100 mph away.

The metro already does that for me pretty well. Granted, I live in an European city.

</comment><comment><USER44> I'm surprised that the whole AI argument made in this post centers around self-driving cars, when the fact that google can recall for you very relevant results from its multi-billion page memory in a jiffy doesn't seem AI enough.

As for self-driving cars, it seems to me that public transport can provide much of what the poster wants. I travel by bus for about 2 hours every day -- seems taxing, but I'm productive on my rides since I always get a nice seat and can hack on.

</comment><comment><USER45> This post and thread make me feel like I'm watching a 50s futurist vision of the world. I like it ;p The driver less cars need to fly too.

I hope google expands and manages to make money from more than just ads. Driverless cars would be awesome if they can pull it off soon. I just drove from Florida to Canada and back and I was thinking all trip I needed a driverless car. Most of the road could have been driven by todays AI no problem. Driving is so mindless.

</comment><comment><USER46> <http://code.google.com/apis/predict/>

this seems a perfect stepping stone... an awesome move on Google's part.

</comment><comment><USER47> I keep telling everyone that I don't need to learn to drive - we'll have automatic cars in 10 years or so thanks to Google.

<comment><USER48> If you don't want to drive, move to NYC. A significant fraction of the population there never gets a driver's license because they see no real need to.

<comment><USER49> I had an internship in NYC last summer, and that was one of the most amazing things about the city. I was _glad_ I didn't have a car with me. The subway was excellent.

</comment></comment></comment><comment><USER50> Brad Templeton delivered a superb talk on robotic cars at the Singularity Summit 2009 (<http://www.vimeo.com/7337628>). It expounds on the technology's implications, supporting Maroon's assertion that even a small slice of the market will easily eclipse Google's stake in search. Of particular interest:

* Transportation is more dangerous than we think, and this is largely due to human factors. (Driver inattention is a factor in 80% of crashes; alcohol in 40%.)

* The purchase of private vehicles forces us into a "one size fits all" model. If someone goes skiing only once a year, he will purchase an SUV; if someone spends 90% of his mileage traveling alone to work, he'll still purchase a five-person sedan so he can haul around friends occasionally. By moving to a grid-like service that provides cars to us on demand, we will be able to choose the vehicle best suited to the type of trip we're making.

* Robotic cars could eliminate our dependence on foreign oil. Energy usage would be dramatically lower due to people using a vehicle only as large as they need for a given trip. Vehicles powered by alternative energy have a chicken-and-egg problem -- no one wants to build the infrastructure to deliver energy until people buy the vehicles, but no one wants to buy the vehicles until a ubiquitous energy infrastructure is in place. Robotic cars, however, would have no qualms with traveling halfway across a city to refuel, nor with waiting two hours in a lineup before refuelling.

* The transportation infrastructure will also become substantially more efficient, as cars will be able to travel much closer together without compromising safety. As a consequence, energy usage can be reduced another 30% by having cars draft one another.

* Before robotic cars would be accepted by the public, they'd have to meet much more stringent safety standards than we apply to human drivers. No one would accept a robotic car that killed a human, even if robotic cars on the whole were twice as safe as human drivers. Templeton figures we'll need cars on the order of 100 times safer than human drivers before they will be widely accepted. To convince people of the cars' safety, Templeton proposes the "school of fish" test -- imagine walking out onto a track swarming with cars travelling at 40 miles per hour, and having every car swerve around you no matter how hard you try to make them hit you.

* Robotic vehicles will record video everywhere they go, for this will prove invaluable in determining the cause of accidents. Any modifications to the driving software will then have the ability to be tested on the "trillion mile road test" -- they will have a corpus of testing data composed of the recorded footage of every trip ever made. New software will be tested against every vehicle accident that has ever occurred.

* The privacy implications of this universal recording are disconcerting. Templeton raises the spectre of a situation like that in Minority Report, where police can remotely override your control of a vehicle, locking you inside and transporting you to a destination of their choosing.

</comment><comment><USER51> I see it as Google's role to index all information, scan all the books and so on, to make sure that the AI will see that our histories are intertwined, that man and technology evolved together and it shouldn't eliminate us.

</comment><comment><USER52> I wonder where my motorcycle will fit in this world. Oh, well, I'll be so old I probably won't be able to ride anyway, unless rejuvenation has come about as well.

</comment><comment><USER53> The Google leadership has repeatedly said that search is an AGI hard problem. The social graph is also an AGI hard problem, for what it's worth.

</comment><comment><USER54> Has Google had any successes with AI other than its search heuristic? (which I hesitate to classify as AI)

<comment><USER55> Translation. Voice recognition.

<comment><USER56> Which don't work well at all. It's a hard problem, and not nearly close to being solved.

</comment></comment></comment><comment><USER57> Perhaps during the transition we would have automated-car lanes, like we have carpool lanes today.

</comment><comment><USER58> Will become? Is.

</comment><comment><USER59> Self driving cars are 15 years away. The self driving cars will have to deal with the chaotic human drivers, and this will require Strong AI. Once we have this, driving around will be one of the small issues of the day.

<comment><USER60> I hope they are further away. For me a bus is self driving car, but driving a car is also a pleasure not only the means to get from a point A to a point B.

<comment><USER61> Presumably autonomous cars would not replace the ones on closed courses, and you could still enjoy driving a car the way you enjoy all other pleasures which require specialized equipment and facilities.

<comment><USER38> Absolutely. Cars will be the LPs of the 2050's</comment></comment></comment></comment>


Meta-noop – because a single implementation of noop() won't do - <AUTHOR> https://github.com/noniq/meta-noop <comment><AUTHOR> Inspired by the recent discussion of size and granularity of npm packages I originally planned to create a `noop` package. Then I found out that there is already one. Wait, not one, but dozens. So I created meta-noop instead.

</comment><comment><USER2> I wish I could see some of these packages. I'm too lazy to install and run meta-noop.</comment>


A Chinese Hacker's Identity Unmasked - <AUTHOR> http://mobile.businessweek.com/articles/2013-02-14/a-chinese-hackers-identity-unmasked <comment><USER2> I honestly don't know that the Chinese government is in the wrong here. If we look, historically, every developing country had to steal intellectual "property" in order to compete against the bigger players. Britain did it when they stole Dutch loom technology (and created massive tariffs in order to keep British wool for British industry), the US did it when they coaxed Samuel Slater to illegally bring British mill designs, and South Korea did it as well. While I understand the US's desire to protect their companies' interests, it seems really disingenuous to label a country an enemy for stealing IP.

The article quotes Stewart as saying: _If they did it fair and square, more power to them. But to cheat at it is wrong._

This seems really problematic to me: it's not like all US companies do it "fair and square," and as a sovereign country, it seems like China has every right to summarily ignore IP, or to establish morals that don't care about protecting foreign IP.

<comment><USER3> I don't think we would want to use the disreputable behavior of nations in the past as a model for what is acceptable today. That's why treaties and agreements are made so that we learn from our mistakes. Not playing by the rules that you have agreed to and expect others to adhere to _is_ cheating -- I have no problem with people calling China out on it. It's not like China is unfairly singled out and there isn't plenty of criticism of the US and US companies for bad behavior. Regardless of sovereignty, the Chinese don't have a right to ignore other countries' IP if they want those same countries to respect theirs.

<comment><USER4> IP is just a made up way for incumbent producers to squash competition. The Chinese have just as much right to ignore it as every other developing country in history did. Imposing developed standards on developing countries is just pulling the ladder up after ourselves.

<comment><USER3> I'm not making a moral argument about IP and whether it is good or not. I'm saying that if you've entered into agreements with other nations on the premise that you do something (in this case, protect and not steal IP) then you should honor those agreements. Whether there is some Machiavelian reason to say you're doing one thing while secretly doing something else is a different question. I also don't think that Google should use espionage to steal secrets from Microsoft and vice versa, even if there is something to be gained.

One should also note that China is not some innocent bystander in this since Chinese companies have sought and obtained patents to stifle competition as well. I also think the distinction made between "developed" and "developing" countries is not useful in this case. China has the second largest economy in the world and is very modern by many standards. They have gained great wealth from the "developed" countries least of all because the developed countries are their largest market for trade. China has a net trade surplus of hundreds of billions of dollars. They are not an underdog in this.

</comment></comment></comment></comment><comment><USER5> This article isn't about the individual unmasking of a hacker, but more about the humanistic element of unintentionally leaving clues about your identity while masquerading online.

I'm pointing this out because you're in for a highly anti-climactic read.

<comment><USER6> Yet, fairly interesting nonetheless.

</comment></comment><comment><USER7> The university this guy works for (The PLA Information Engineering University) has a military background. And in China this means the teachers and many of the students are literally military personnel.

<comment><USER8> Well, it just goes to show what most people know already: That there is a vast campaign by the Chinese government to carry out hacks on foreign (and internal sometimes I bet) targets.

Basically, the thing I took away from the article is that it's so wide at this point that no matter the hacker there that you cast your net toward, it probably leads back to the government. In most other countries I imagine that most of the hackers are either third-party actors (selling what they got for cash or simply stealing cash), or random 'kids' hacking for fun/profit.

<comment><USER9> > _In most other countries I imagine that most of the hackers are either > third-party actors [...] or random 'kids'_

Let's say this hypothesis is true; we should then deduce that the Chinese government is years (decades?) ahead of "developed" countries in terms of information warfare. It's quite a worrying thought.

Let's say that your hypothesis is actually false: this would mean that there is an ongoing similarly-sized info-warfare effort waged by the US government (at least), but we rarely hear about it. Again quite a worrying thought.

<comment><USER10> My thoughts exactly. The US probably has a just as big or more sophisticated organization of hackers and cyber warriors. It's fantastic and also overlooked when talking about Chinese cyber espionage. Much talk seems so one sided, but it's hard to objectively talk about without knowing what the American cyber warriors have been up to. I'll take it as a sign that they're doing a good job and not getting caught. Furthermore, I take comfort in the fact that there are slim chances that the US and China would actually go to physical war with each other. I want to end up working with China in the future, not necessarily against them.

<comment><USER7> China will certainly won't start a war against the US. There is actually a joke in China saying that if US wants to delay any high level government meetings they can just ask the US schools to have a mandatory parents meeting. And then many of those who in control of China will just fly over because they care about their children as much as other ordinary parents if not more.

And the US will certainly won't start the war either, because you can hardly find someone else who keep lending you money almost unconditionally.

</comment></comment></comment></comment></comment><comment><USER11> Be honest, the U.S. did for years the same and still do it. The problem is now: there is a other player, do it better. The exient would be more believably if U.S., UK, France ... would stop do the same to their "enemies" and allies

<comment><USER12> _The problem is now: there is a other player, do it better^H^H^H^H^H^H cheaper._

</comment></comment><comment><USER13> Print version: [http://www.businessweek.com/printer/articles/97042-a-chinese...](http://www.businessweek.com/printer/articles/97042-a-chinese- hackers-identity-unmasked)

Web version (3 pgs): [http://www.businessweek.com/articles/2013-02-14/a-chinese- ha...](http://www.businessweek.com/articles/2013-02-14/a-chinese-hackers- identity-unmasked)

OT sidenote: why are so many mobile versions so unreadable on web?

</comment><comment><USER14> How did this get posted? I Posted this last week.

<https://news.ycombinator.com/item?id=5221484>

<comment><USER15> The current post is the mobile version of the article you posted, which has a different subdomain in the URL.

</comment></comment><comment><USER16> Is there anything you can do about chinese hackers. I have a small site and many of the ssh requests come from those hackers. Can I send the list somewhere?

</comment><comment><USER17> Just like Tom Clancy's Threat Vector book. Eventually cybercrime will lead to sino-us warfare

</comment><comment><USER18> This is racist. If it was a US hacker nobody would care. But ooooooh it's a Chinese hacker. How evil! China soooo evil!

<comment><USER8> Wait, what? How is this racist? If the story said 'All Chinese are hackers', that would be racist. If the story said, which it did, 'A person who lives and works in China for the government spy academy is a hacker', that is not racist.

Edit: Trolling troll is a troll. I 'knew' it was a troll account, but looked just now to be sure... created 34 minutes ago :P.

<comment><USER19> It is indeed racist in a minor manner. You see, we all have become adept to such a way of journalism. you ask how?

Well, going by common sense identifying where a hacker is based, if he is not working for the government, is of no use. Do I care if the hacker, who hacked my gmail account on his accord was Indian or Chinese or even American? No I don't.

But, alternatively, I would only want to know if they are state sponsored. So it is assumed always, not just in terms of hacking, but also other criminal acts, like say terrorism.

Saying " A Muslim Terrorist " is of no use, and create un-necessary delusion and association between the words 'muslim' and 'terrorist'. Which could have been avoided otherwise by saying 'a Terrorist', because the fact is that a terrorist is a terrorist.

But the thing is, we have been hotwired like this for years, we want such unnecessary associations, which we can see through 'most' of the times (but not always, say when we experience something similar nearby).

In simple words you can say, we are used to letting journalist screw with our mind with.

'American Fraudster''Muslim Terrorist' 'Chinese Hacker' 'Japanese Pedophile' 'Hindu Extremist'

Pick a newspaper up some odd day, and you will find a lot of them.

PS: Indeed my reasons to call such articles 'slightly racist' are perhaps different for why the original poster said it was 'racist'.

<comment><USER8> You can make those associations in other contexts and I would fully agree with what you said here. A person can be a terrorist regardless of race, creed, religion, etc. The same for hackers. That said, the article is specifically discussing a Chinese GOV linked hacker, and thus he is a 'Chinese Hacker'. This can be said without being racist. That he's also of Chinese descent is inconsequential. I'm certain our spook operations have people of every race and background as long as they get the job done. If we say that someone was a 'Chinese Hacker' while they're sitting in the NSA office in Norfolk, VA... oh yeah, that's racist.

<comment><USER19> yeah, I read that. I was saying in general.

Though, one thing caught me in the article: Working on behalf of the state, and working in the state machinery is two different things.

If you are skilled, and suppose, you can really do stuff, he did in this case, and as it is, for a minute if we give him the benefit of doubt, that no he is not hacking on behalf of the state, its clear, that since to the chinese govt, itself, he is innocent. And the only thing that can be proven is his skill, through our validation. Which makes him all the very suitable to teach at a chinese IT related institute. so yeah, that might be a good reason to say that, we should introspect, that how should such articles shape our perception of the chinese.

Seriously, lets stop looking at who is building more weapons! Instead, lets compete in who is making more jobs!</comment></comment></comment></comment></comment>


The Science of Pixar's 'Inside Out' - <AUTHOR> http://www.nytimes.com/2015/07/05/opinion/sunday/the-science-of-inside-out.html <comment><USER2> As always Fresh Air's Terry Gross on NPR did an outstanding interview with the Director several weeks ago. They go fairly deep into the trade offs of making a movie and getting the science right or at least right enough to be entertaining and still meaningful to the young audience.

"It's All In Your Head: Director Pete Docter Gets Emotional In 'Inside Out'"

[http://www.npr.org/2015/06/10/413273007/its-all-in-your- head...](http://www.npr.org/2015/06/10/413273007/its-all-in-your-head- director-pete-docter-gets-emotional-in-inside-out)

<comment><USER3> This was great. Thanks for sharing.

</comment></comment><comment><USER4> This is interesting to hear from science's PoV:

> "First, emotions organize — rather than disrupt — rational thinking. > Traditionally, in the history of Western thought, the prevailing view has > been that emotions are enemies of rationality and disruptive of cooperative > social relations.

> But the truth is that emotions guide our perceptions of the world, our > memories of the past and even our moral judgments of right and wrong, most > typically in ways that enable effective responses to the current situation."

Is it generally accepted that the Logic 'vs' Emotion dichotomy is a false one?

<comment><USER5> No its not, but how do you account for feeling about something that goes against your logic? Ie quitting a job without finding another. How is emotion guiding logic in every case?

<comment><USER6> Emotions motivate you to act to improve your situation instead of do nothing. They may be illogical, but they kickstart the thinking process. Logic is useless if you don't wake up and use it. Emotions are the first past filter to bring issues to your attention.

</comment></comment></comment><comment><USER7> Another good set of comments about _Inside Out_ can be found in the Neurologica Blog maintained by Steven Novella, M.D. He likes the movie for some of the same reasons that I like it.

"Inside Out – A Neuroscience Metaphor"

[http://theness.com/neurologicablog/index.php/inside-out-a- ne...](http://theness.com/neurologicablog/index.php/inside-out-a-neuroscience- metaphor/)

<comment><USER8> Unfortunately, that article perpetuates the same (false) dichotomy between emotion and reason. It also suggests that emotions and higher-order functions are 'competing' for control.

The reality is that if the brain regions known to be involved in processing emotion are damaged/destroyed, then there are very negative consequences for your ability to make _rational_ and _well-reasoned_ choices. In other words, emotion (and emotional processing) is _critical_ for logical thought to prevail. In that sense, I really like that the movie had emotions at the 'control panel' (I've yet to see it).

</comment></comment><comment><USER9> Slightly OT, but hearing about this film instantly reminded me of a childhood comic strip called The Numskulls that appeared in various DC Thomson comics:

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

[http://www.fustar.info/2006/12/02/193/](http://www.fustar.info/2006/12/02/193/)

[https://duckduckgo.com/?q=the+numskulls+comic+strip&ia=image...](https://duckduckgo.com/?q=the+numskulls+comic+strip&ia=images)

<comment><USER10> Wow ... I hadn't thought of the Beano for god knows how long.

</comment></comment><comment><USER11> > One of us suggested that the film include the full array of emotions now > studied in science, but Mr. Docter rejected this idea for the simple reason > that the story could handle only five or six characters.

What is the full array of emotions? Having seen "Lie to Me" I know about the emotions expressed by microexpressions, but I do not know if there are more. "Joy" is not on that list. Either it is no emotion in the scientific world or expressed differently. Any good links?

<comment><USER12> Every basic emotions researcher comes up with a different list. But most of the lists include some version of fear, anger, disgust, and joy (but not sadness). "Emotional Brain" by Joseph LeDoux, chapter 5 has more info on various lists. From the same book:

James Averill, a major proponent of social constructivism, describes a behavior pattern, called "being a wild pig", that is quite unusual by Western standards, but is common and even "normal" among the Gururumba, a horticultural people living in the highlands of New Zealand. The behavior gets its name by analogy. There are no undomesticated pigs in this culture, but occasionally, and for unknown reasons, a domesticated one will go through a temporary condition in which it runs wild. But the pig can, with appropriate measures, be redomesticated and returned to the normal pig life among the villagers. And, in a similar vein, Gururumba people can act this way, becoming violent and aggressive and looting and stealing, but seldom causing harm or taking anything of importance, and eventually returning to routine life. In some instances, after several days of living in the forest, during which time the stolen objects are destroyed, the person returns to the village spontaneously with no memory of the experience and is never reminded of the event by the villagers. Others, though, have to be captured and treated like a wild pig - held over a smoking fire until the old self returns […]

Averill uses "being a wild pig" to support his claim that "most standard emotional reactions are socially constructed or institutionalized patterns of response" rather than biologically determined events.

<comment><USER13> There is another popular view that replaces 'emotions' with neurochemicals. Basically, serotonin is an actual chemical with actual biological effects which fit's closely with specific emotions.

In this view emotions are shorthand to describe an incredibly complex system and as such fit biology into a social context. However, people's responses to said emotions fall under social conventions.

EX: Hunger is something you can directly study. But, peoples responses to hunger vary widely.

PS: This also extends to things like chemical intoxication. The loss of coordination when drunk is inherent, singing drinking songs is a social response.

</comment></comment></comment><comment><USER14> It's always fascinating to see the Pixar PR machine at work. "Guys, this July 4th weekend remember that there's a great family movie called Pixar's 'Inside Out!' Pixar made it, and it's family friendly, starring an eleven year old girl and these various situations that you can relate to. Scientists think emotions are good, but sometimes when they appear bad they're also good."

It was published July 3rd, too.

<comment><USER15> The science behind the movie was very clever. What has disappointed me is that Disney/Pixar keep on pushing the sexism gambit in their movies. This movie wasn't as bad as some of their others, but they are Consistently failing to address gender in a balanced way. Does anyone male in this movie do/say anything good? What about Frozen? The stupid (Wessleton) and nasty (Hans) are only male. Brave? Same thread. The kings/Princes are all obnoxious and/or stupid. Wreck-it-Ralph : Kowalski strikes Ralph across the face as a show of might and it's meant to be funny (ie. The modern assertive woman who bashes men as "humour") Several of the tinkerbell movies where ratchet & clank are the typical stupid males (and in most of them, they are almost the only males). To be fair. They do portray the southern belle as a dimwitted hick too, which is the stupid southerner prejudice emanating from the U.S. civil war. However, they did a great job with Tangled and Princess and the frog - there's a much better gender balance in those movies. It's a shame. You take your kids to see a supposedly family friendly movie and you cringe at the sexism that is pushed by the writers and directors. Do you just shrug it off, wondering if this prejudice won't rub off on your kids - or do you highlight the sexism to your kids and ask how a large studio could be so consistent in their bias, despite their deep attention to the science. I can't help feel there is more sexism and more conscious sexism than there has ever been. It really makes me sad.

<comment><USER16> What about Toy Story, Incredibles, Cars, Up... Oh wait they completely invalidate your point, I get why you left them out.

Or are you saying the sexism bias came in after the acquisition? So it's a Disney thing? Ignoring the fact that they are a company based around a massive Princess franchise, you are wondering why they like to manufacture princesses?

Did you forget the two male leads in Frozen? (Kristof and Olaf).

Do you point out the sexism in almost every facet of life to your kids? Or does this dilemma just hit you at disney movies? If your children are daughters, do you explain to them they should expect less from the world, because historic statistics show they are going to get less? Or if they are sons, do you explain how they will get more simply by being male?

<comment><USER17> The trailer completely turned me off seeing the movie. I don't think I'm going to bother watching it, or showing it to my kids. Especially after "Up!" and "Wall-e" failed to deliver.

The trailer was ridiculously sexist in a way I don't think is helpful to anyone. The sexism was extremely negative IMHO. Surely you'd agree that the level of sexism shown isn't really necessary?

While we're at it, can hollywood _please_ stop using "they've drunk too much coffee and are now 'wired'" as a joke in kids movies. Overdosing on drugs isn't all that funny...

edit: Downvote me? Why not respond instead.

<comment><USER18> An interesting aspect in the movie (spoiler a little) is that the premise of the move from Minnesota to SF is because the dad got a new job. They touch on it a little in the movie that it is startup related (from what I remember - not necessarily a Silicon Valley startup but a new venture of sorts) and he is spending a lot of time on it. To the point where some of the girls memories in the past include all three of them and her newer memories have events with only just mom because dad is working.

Is this a stereotype of sexism or is this more accurate to real life?

Another item in the movie is that both parents were big into ice hockey, which does sort of break the stereotype about women don't do sports because they are fragile or whatever type of BS (after watching women's world cup games I think they play tougher than men's in some way - less extent of the fake-injury crap).

Trailers are meant to tease people into wanting to see the movie. If you reviewed trailers for a bunch of movies I'm sure you will see a lot of stereotypes in play. What was it in the Inside Out trailer that set off this remark?

<comment><USER17> Neither of those examples for me, are sexist. They're accurate examples of what happens in life.

The trailer shows the dad, not listening to his wife, acting dumb, daydreaming about sports, and then clumsily asserting the law with his daughter. I just thought it was lazy and not well done at all.

Maybe I'm being hypersensitive about it. It was a total turn off to bother seeing the movie though.

From the sounds of it though from reviews, it doesn't sound like a movie I'd enjoy though. It sounds like a movie created for adult movie critics rather than for enjoyment.

<comment><USER18> That part with the dad not listening is a very small part of the movie. My guess is they included it in the trailer to show some funny part that appeals to moms.

This exact scenario does happen in real life so I don't see that as sexist.

I get where you're coming from though. A lot of sitcoms have a theme around big stupid oaf of a man being the plot line.</comment></comment></comment></comment></comment></comment></comment>


A guide to threads in Node.js - <AUTHOR> https://blog.logrocket.com/a-complete-guide-to-threads-in-node-js-4fa3898fe74f <comment><USER2> > _It was only in 2009 that Ryan Dahl, creator of Node.js, made it possible > for developers to use the language to write back-end code_

Server-side JavaScript was a thing _long_ before that. In fact, Netscape used it as early as 1994 [1], predating Java as a backend language. And CommonJS (on what nodejs' modules and many APIs are based) was a community effort towards a common API by 2000s SSJS implementations (helma, v8cgi/teajs, and others).

Apart from that, a nice read for those who need a WebWorker-like API for CPU- bound nodejs tasks.

[1]: [https://en.wikipedia.org/wiki/Server- side_scripting](https://en.wikipedia.org/wiki/Server-side_scripting)

[2]: [http://wiki.commonjs.org/wiki/CommonJS](http://wiki.commonjs.org/wiki/CommonJS)

<comment><USER3> There was also Aptana Jaxer around 2008: [https://en.wikipedia.org/wiki/Aptana#Aptana_Jaxer](https://en.wikipedia.org/wiki/Aptana#Aptana_Jaxer) [http://www.jaxer.org/](http://www.jaxer.org/)

<comment><USER4> I wish Aptana had won the race, or at least if not beat Node, competed reasonably with Node.

</comment></comment></comment><comment><USER5> _> type WorkerCallback = (err: any, result?: any) => any;

export function runWorker(path: string, cb: WorkerCallback, workerData: object | null = null) { const worker = new Worker(path, { workerData });

worker.on('message', cb.bind(null, null)); worker.on('error', cb);

worker.on('exit', (exitCode) => { if (exitCode === 0) { return null; }

       return cb(new Error(`Worker has stopped with code ${exitCode}`));
     });

     return worker;

}_

For an article titled "A Guide to Threads in Node.js", I really wish the first example of writing a thread wasn't in TypeScript.

<comment><USER6> Why? Just think of it as inline documentation. It in no way changes the semantics of the javascript and efficiently communicates how the API works.

<comment><USER5> When writing a developer guide, especially to something as fundamental as "threads in Node.js", it pays to:

1) Make as few assumptions as possible regarding what the reader knows or has experience with

2) Make code samples as complete and "copy-and-pastable" as possible.

You're assuming that all developers reading this guide will effortlessly translate that TS code to JS.

Using TS creates a possible barrier to understanding, which I'm sure isn't the intent of someone publishing such a guide. Better to simply write some comments or augment the prose in the guide.

<comment><USER6> Ok, fair enough. But for anyone who has some familiarity with type systems, the _lack_ of type signatures (or needing to mentally parse them in some other non-standard format) also acts as a barrier to understanding. Perhaps either a side-by-side view or a tab switcher would be ideal.

<comment><USER5> Except this is a guide for _Node.js (JavaScript)_. The one assumption the author _can_ make is that the reader knows and is comfortable with JavsScript.

<comment><USER6> Yeah I'm not trying to disagree with you there, just pointing out that TS types are an efficient way to add important context that many (like me) will appreciate, and as a popular well-defined standard I think they are superior to some other kind of ad hoc spec that is included in comments or prose or whatever.

I think it would be great if more JS code examples started including type signatures, since they are useful whether or not you program in TS. But yes, there should probably also be a JS-only example in that case and/or a way to toggle them off.

<comment><USER7> We've been throw this game before: CoffeeScript

Until TS becomes an official standard supported by ECMAScript out of the box. Were just going along with what feels or looks good and the javascript community has proven that can change from year to year.

<comment><USER6> Well, I was huge fan of CoffeeScript, so you've got me there. I don't regret a single one of the (many) times I used it though. It made me and the teams I was part of significantly more productive and allowed us to produce more concise and maintainable code than we could have with plain JS. I feel the same about TypeScript today except honestly the productivity gains are a lot more dramatic.

<comment><USER8> As a former coffeescript fan, doesn't the extra "clutter" in typescript syntax bother you?

I like CS very much myself. While I can see the benefit of having type system (in certain projects), I just can't get over the aesthetic/syntax issue.

<comment><USER9> For me, not really. If I want to use type annotation, I need to write the types somewhere in order to communicate it to future readers.

I would much rather do it via Typescripts annotations than JSDocs.

It's not clutter as it was deemed necessary by the writer (me).

If I don't want to use type annotations, I simply don't add them and Typescript does not force you to do so unless you tell it to.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I wasn't a huge fan of the "single thread for everything" paradigm, then I helped design a single threaded cooperatively multitasked embedded OS in C/C++.

No overhead from context switches. Everyone who is running knows how long they have to run, and knows that they are NOT going to get interrupted. No need to worry about locks or how to share data. Want to pass data to another module? Just pass it through well defined interfaces and you darn well know there will never be a read/write conflict, and the next time that module's code runs, it'll have access to that data. (No queue!)

The only exception, and what made it all possible, was the interrupt routines from hardware[1]. Anyone who subscribed to hardware events (entire OS was subscription based, no polling reads ever) had to implement a "thunk pattern" to put data into a receive buffer. The design pattern to do this was the same everywhere in all modules, making code understandable across the entire project.

It is an incredibly freeing paradigm to write in. It becomes so much easier to prove[2] the correctness of code when you can read all the code straight through and not have to ever worry about someone stomping on your data.

It wasn't an RTOS, but even so, it becomes really easy to start providing performance guarantees.

Internal builds had a watchdog timer[3] that would crash the device if it wasn't 'kicked' every so often. Set that to 3ms, start working with the code, and the stack traces tell you instantly who is over their CPU budget. Rewrite code and break it apart into multiple chunks that are scheduled for later execution, repeat until everyone is under their CPU allotment.

For many tasks, single threaded code is _nice_. Getting rid of preemption is even nicer.

Preemptive multithreading is a compromise. It means that no one thread/process can bring down the system by hogging 100% of resources, but it also creates a huge overhead where important work, work that makes for a better user experience, can (will!) get interrupted for work that honestly doesn't need to be done right now.

The solution to this is just throw so much CPU at the problem that everything gets done in a reasonable amount of time. It has often been noted that "reasonable amount of time" means systems today are less responsive than a 486 running DOS from 1992.

Of course it isn't reasonable to have a modern cooperatively multithreaded consumer OS, no way would the hundreds of processes ran at any one time all cooperate with each other.

But if you ever get a chance to write code on a single threaded cooperative system, go do it. It is a lot of fun.

Now all this meant that going from embedded C to NodeJS wasn't that large of a mental leap! Not having to directly read bytes off the wire was weird (seriously, took a bit of getting use to), but it turns out that "get data, do work, schedule what needs to be done, return early" ends up being the same paradigm at both the top and the bottom of the programming stacks!

[1] All I/O was done using DMA engines, basically a fancy limited programmable piece of hardware that can read and write to all the different pieces of HW hanging off of the main chip, so for example as Bluetooth packets come in, the DMA engine shoves the packets into a buffer and when the buffer is full it raises an interrupt that lets the CPU know that data is waiting. It looks almost exactly like async I/O in any of the modern programming languages, except you have direct access to all that IO being _hardware offloaded_. Writing to the bare metal rocks.

[2] For a reasonable enough degree of "prove" that software is reliable and doesn't crash from threading issues

[3] A watchdog timer is a physical timer hooked across the power lines of your chip. If it isn't activated every so often (in the industry this is called "kicking the watchdog") it will, in debug builds it does a controlled crash of the CPU, and in retail builds it will reset the entire system. If you've ever had an embedded device reset itself before your very eyes, it is becomes the CPU got locked up and no one kicked the watchdog, so the entire system emergency reset itself.

<comment><USER11> Now and then I get to work in systems like this, and you're right. It's a joy! And thank you, I really like the idea of setting the watchdog to really small timeouts to put upper bounds on execution time in debug builds. That's a fantastically clever use of it!

For the record, I much prefer the term "pet the watchdog" :).

<comment><USER10> >For the record, I much prefer the term "pet the watchdog" :).

I think the EEs who setup the watchdog were far too grizzled. :D

<comment><USER11> Hah! I've only got a little bit of grey in my beard so far...

</comment></comment></comment></comment><comment><USER12> Honest question. Are we going to be able to pass functions with data to threads? Or are these only designed to use files? Which makes this feel like a better wrapper on the child process api that already exists.

<comment><USER13> The code to run in the worker is passed as a string or a path, so no data can be captured. Data can be sent to the worker by posting messages, but the data is never shared—only copied. A limited set of types can be transferred to a worker, after which point they will become unusable in the parent.

<comment><USER14> For sharing (byte) data, I think there is SharedArrayBuffer [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer)

But else, yes, the sent and received data is serialized (when using ipc, else you can also send raw data through streams, and handle the serialization yourself)

<comment><USER15> SharedArrayBuffer -> shared

ArrayBuffer -> ownership can be transferred around, but the data can only be owned by one thread at a time. The data itself isn't copied. Passing around ArrayBuffers back and forth is good enough for a lot of stuff. In a worker you can then put a node Buffer, TypedArray, or DataView around the ArrayBuffer again, if you want.

</comment></comment></comment></comment><comment><USER16> With the javascript community fixing most of it shortcomings, I suspect in a few years JS/TS is going to be way far ahead of any programming language in term of users.

<comment><USER17> Interesting that you say JS/TS - while Typescript of course transpile to JavaScript, the 2 languages take very different approaches to something that really divides devs - the question of static vs dynamic typing.

<comment><USER18> Exactly. Together, this pair of languages will appeal to a broader range of developers - those preferring dynamic typing, those preferring static typic, and pragmatists who start the quick prototype in JS and move to TS for better maintainability.

</comment></comment></comment><comment><USER19> A good video on parallel processing CPU bound taks with nodejs. [https://youtu.be/ZYfSe9qKaZE](https://youtu.be/ZYfSe9qKaZE)

</comment><comment><USER20> Haven't read the article but I'm assuming it's an empty page?

<ducks>

<comment><USER21> No.</comment></comment>


DC's war on rats goes digital - <AUTHOR> https://wamu.org/story/17/12/18/d-c-s-war-rats-goes-digital/ <comment><USER3> I know these are used with great success in Norway: [https://youtu.be/rfT9orf5Qrg](https://youtu.be/rfT9orf5Qrg)

Sensors detect the rat and kills it immediately. Then it's flushed out with other sewage. It also keeps count of how many rats are killed, which gives the city some numbers to use in their estimations.

<comment><USER4> Holy shit, it's the spike trap from every video game ever. :S

</comment></comment><comment><USER5> So, is calling 311 the only way to report on such an important yet simple (not really requiring verbal explanation nor personal data about the witness) subject? I would never call a telephone unless the rats or whatever were actually threatening a life and I were sure I can't manage on my own. C'mon, it's 2018, people are using apps (anonymously if possible) and texting each other, if somebody actually calls me I expect them to be either dying or trying to sell me something I don't need! Why not just make an app that lets you take a picture and send it with a timestamp and the location data (and nothing else) embedded straight to the server?

<comment><USER6> They really try pretty hard to make it easy already. "311" is available as a web app, native mobile app, and automated SMS service. I bet you could tweet photos to @dohdc as well.

</comment></comment><comment><USER7> The city is hiring exterminators. They are using technology to make the people dispatching those exterminators more efficient or effective.

If the city were serious about getting rid of rats they'd provide incentives for or otherwise subsidize behavior that helps solve the problem (which is very different from penalizing behavior that doesn't, I know those two often get confused around here). I'm not seeing any evidence of such based on this article which leads me to believe this is probably not an effective use of available resources. Efficient exterminators and other silver bullets don't usually do a good job solving big problems in the long term.

<comment><USER8> Beware the Cobra Effect! Incentives are hard, hard things to get right.

"The term cobra effect originated in an anecdote set at the time of British rule of colonial India. The British government was concerned about the number of venomous cobra snakes in Delhi. The government therefore offered bounty for every dead cobra. Initially this was a successful strategy as large numbers of snakes were killed for the reward. Eventually, however, enterprising people began to breed cobras for the income. When the government became aware of this, the reward program was scrapped, causing the cobra breeders to set the now-worthless snakes free. As a result, the wild cobra population further increased. The apparent solution for the problem made the situation even worse."

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

<comment><USER9> This very thing happened with rats in French-occupied Hanoi in 1902: all you had to do to claim a bounty was turn in a rat's tail. Rats without tails can still have babies and soon people were breeding rats for profit instead of killing them.

[https://www.atlasobscura.com/articles/hanoi-rat- massacre-190...](https://www.atlasobscura.com/articles/hanoi-rat- massacre-1902)

</comment></comment></comment><comment><USER10> > _got a new galvanized steel can, even though the trash crew won't empty it_

I don't understand this bit. Why wouldn't they empty it? It seems like metal bins would be a fine solution to rats chewing through them.

<comment><USER11> The sanitation workers would actually have to lift and dump the can, which they are not allowed to do. The plastic bins can be dumped into the truck by a mechanism. This was adopted by cities to reduce workers compensation claims from injuries caused by lifting.

<comment><USER12> Can they not make metal bins that work with the same mechanism?

<comment><USER13> You get what the city gives you. Metal would probably be more expensive in any case.

</comment></comment></comment></comment><comment><USER14> I think a simpler solution is that people and restaurants throw their trash in closed trash bins. Rats eat food which are thrown on the ground or otherwise easily accessible.

I believe that some people in big cities has lost a sense of community. Thus some throw food on the ground that the rats eat.

To get rid of rats cities need to be cleaner.

<comment><USER15> It says in the article is that most people's trash cans have been chewed through by the rats

</comment></comment><comment><USER16> elsewhere on the planet , some rats being trained to be productive members of human society :)

[https://scitechafrica.com/2016/04/16/super-rats-are- eliminat...](https://scitechafrica.com/2016/04/16/super-rats-are-eliminating- landmines-from-mozambique-and-detecting-tuberculosis-in-tanzania/)

</comment><comment><USER17> Cant believe those rats chew throw the trash bins. And don't ever want to see that happen to mine

<comment><USER18> Even mice - I discovered in a car that belonged to a family member who was diabetic, and hadn't driven for months, that mice had gotten into the glove box, where there were a bunch of insulin injection tips, plastic with needles, they had munched them to little bits, absolutely went to town on them. I have no idea why they would do that, but I guess rodents chew compulsively.

<comment><USER19> They do. Ive lived with some pet rats and you need to provide toys for them to chew and they get demolished fairly quickly. Their teeth do not stop growing and need to be constantly work down. That's true for all rodents as far as I am aware

</comment></comment></comment><comment><USER13> Why not stop using poison and just let some cats lose. My city ally has a healthy cat population most of which have been TNR'ed. The only rat I've ever seen was the severed heard of one that some kittens were devouring on the pavement.

<comment><USER20> > Why not stop using poison and just let some cats lose

Fast forward 5 years, you got yourself a healthy plague of feral cats - <USER2> complaints from regular cat owners that the ferals pick fights with their cats. In addition introducing mass numbers of cats causes a rapid uptick in bird deaths (cats can eat islands virtually birdfree) and they're a considerable risk for accidents with vehicles or small kids.

<comment><USER4> The cat population can be simply and easily controlled with the introduction of some eagles...

</comment></comment></comment><comment><USER21> There are rats in my neighborhood of DC, but I haven't seen cans chewed into. The so-called "Supercans" were supposed to have been harder for rats to get into.

</comment><comment><USER22> It seems to me that "continually kill large numbers of X" is an inherently broken solution to "I don't want X to live here".

If you have large numbers of X, it's because you're creating a very favorable habitat for it. If you don't address that issue and just keep killing them, you'll have both large numbers of X and large numbers of X corpses.

There are also arguably ethical issues with killing huge numbers of intelligent, social animals simply because we don't like their presence.

<comment><USER23> A traditional and effective measure against urban rat populations is stray cats. But for whatever reason people in the west won't allow that anymore.

<comment><USER24> I've seen rats in DC that would eat a cat for breakfast. Those suckers are huge!

<comment><USER25> So you need coyotes instead?

They can likely deal with any size rat.

<comment><USER26> Or rat terriers, controlling rats since 1545 [https://en.wikipedia.org/wiki/Rat_Terrier](https://en.wikipedia.org/wiki/Rat_Terrier)

</comment></comment></comment></comment></comment><comment> Jam-B If rats are chewing through plastic garbage bins, make the bins toxic.

<comment><USER27> You don't even have to go that far, just lace them with rat birth control drugs like NYC does with the subways.

<comment><USER28> That's actually not a bad idea. Only problem is that one rat's going to get birth control drugs and get his fill of trash. All of the other rats don't need to chew through the can after the first one's made the hole for them.

<comment><USER29> Make a bin filled with birth control then.

<comment><USER28> Require everyone to fill their trashcans with rat birth control pills?

</comment></comment></comment></comment></comment><comment><USER30> Why do we always declare war on things we know we can't possibly beat? Drugs... rats... terror... might as well declare war on entropy and human nature. Rats will be here long after we're gone, and until then we'll never be far from them; such is life.

<comment><USER31> I hate the war metaphor too. You'll never get rid of rats entirely. Controlling rat populations in cities is really about food sources. The number of rats is limited by the amount of continuous non seasonal food sources available. In this case it seems like the city needs better garbage cans.

Proper maintenance to keep rats out of housing helps with the nuisance aspect. Because rats are destructive.

One wonders, if you got rid of rats, what would take their place? No idea, might be worse. I think the current brown rats aren't actually a disease vector[1]. I've read speculation that the decline of the plague was due to brown rats displacing black rats in cities. Maybe brown rats are doing us a favor.

[1] Rat lung worm in Hawaii though is a zoonotic nuisance. Also a friend got rat lice once.

<comment><USER11> > One wonders, if you got rid of rats, what would take their place? No idea, > might be worse.

Many cities don't have a significant rat problem and they don't seem to have anything worse as a consequence.

<comment><USER31> Friend of mine had a large hedge that ran the length of his property in a nice suburban neighborhood. Thing was a rat highway. Meaning if you think there aren't any rats in your neighborhood, you're mistaken. Probably as many rats as people. The urban forest provides.</comment></comment></comment></comment>


NHPL : The No Hate Public License - <AUTHOR> https://gist.github.com/1756187

<comment><USER2> What a horrible plan! I mean, I support the basic idea of not wanting your work to be used by, say, the Westboro group. But how could you possibly define "communication that disparages or discriminates" in any meaningful way? Some cases are obvious (see the above example), but what about someone who's disparaging a repressive government? Last year's Arab Spring protestors wouldn't think that they're being discriminatory or hate-driven, but the local authorities had a different view of the matter. For a (possibly) closer-to- home example, consider the opposing sides of the pro-life/pro-choice debate. Either group would be very likely to accuse the other of disparaging or discriminating against their own "religion, or other characteristic".

Furthermore, some overly-sensitive people interpret anything that doesn't actively support them as opposing them. Who gets/has to decide whether a particular instance of communication "disparages or discriminates": the speaker, the listener, or you?

Also, remember that a license is actually a legal document. Do you really want to have to defend these vague terms in court?

The GNU folks considered such things when crafting the GPL. According to their rationale at <http://www.gnu.org/philosophy/free-sw.html> , the very first requirement of a free software licence (freedom 0) is:

      The freedom to run the program means the freedom for any kind of person or
      organization to use it on any kind of computer system, for any kind of overall
      job and purpose, without being required to communicate about it with the developer
      or any other specific entity. In this freedom, it is the user's purpose that
      matters, not the developer's purpose; you as a user are free to run the program for
      your purposes, and if you distribute it to someone else, she is then free to run it
      for her purposes, but you are not entitled to impose your purposes on her.

While many people disagree with the GNU authors on many finer points, this is a pretty fundamental freedom that many or most free software authors support.

Basically, while I sympathize with the motivation, this just can't work in reality. Nor should it! It sets a very bad example of attempting to impose behaviors on end users and that never ends well.

<comment><AUTHOR> Thanks for the politely written, well argued criticism!

My goal in writing+submitting this was more to ignite interesting conversations like yours rather than to provide a legal document ready to use.

That being said, I have to say that in the light of what you said, I would tend to agree with everything that you said. But it still bothers me that it is possible to use free software for "hate" driven causes.

If a homophobic/xenophobic/etc. group used my work to efficiently promote their ideals, it would bother me on a deep level. I don't think there's a straight solution to that, but I still feel like it's a problem at some level- despite the fact that yes, attempting to impose behaviors on end users is a very slippery slope.

<comment><USER2> Thanks for taking it in the friendly spirit I intended it. Parts may have come across a little more harshly than I planned, but I meant well. :)

Again, I totally understand the motivation. I'd hate to think that someone was taking the software that I poured so much hard work into and using it to mistreat others! I think that's just something we have to learn to accept. You can use a rifle to shoot a wild animal or assassinate a political opponent. A knife can open a box or hijack an airplane. Virus manipulation can end a disease or end a country. The best you can do is make sure your own motives are good and hope for the best from others.

</comment></comment></comment><comment><AUTHOR> I had the idea for this when seeing the following website:

<http://www.debbiespenditnow.com/>

which heavily uses jQuery for blatant racism. As an open source developer, I want a way to prevent people or companies to use my work for such things.

It also reminds me of Gnutella's license, which is modified version of the GPL made to prevent military use.

It might be a bit idealistic, but it's better than nothing. I am also not a lawyer, so feel free to comment/fork the gist.

<comment><USER3> Well done for seeing a problem and trying to fix it.

But ...

Could I use an NHPL-licenced editor to criticise the Church of Scientology?

Could I use an NHPL-licenced bulletin board system to post content critical of the Westboro Baptists or Wahhabi Islam?

Could I use an NHPL-licenced chat program to criticise National Front neo- NAZIs?

<comment><AUTHOR> These are some interesting examples. In all of them, we are talking about disparaging intellectual positions, which I don't think belong to the same set of characteristics like the ones mentioned in the text (race, disability, gender, etc.) and therefore would be acceptable.

Maybe adding a recursion clause? "This software can be used to disparage or discriminate on characteristics which inherently disparage or discriminate characteristics such as gender, disability, [...], etc." ;)

<comment><USER3> Don't forget religion: that's an intellectual position that is (in most countries) freely chosen.

</comment></comment></comment></comment><comment><USER4> I'll just suggest that you need to be far more explicit about what you mean by "hate speech". Take, for example, this comment of mine:

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

According to me, it's just a data-driven counterpoint to a claim made about the Finnish education system. However, according to at least two people in that thread, it was an expression of white supremecism.

Would I be forbidden from using NHPL software if I were creating a site visualizing the TIMSS/PISA data I cited?

How can I determine this without actually getting sued and going to court? (Compare to the GPL or most commercial licenses - where it's pretty clear whether I'm violating it or not.)

</comment><comment><USER5> Nice. This is pretty standard practice for larger companies (TOS's), and I look forward to seeing how this idea grows.</comment>


Ask HN: Best way of having a phone number? - <AUTHOR>

A lot of people have hit this problem. I'd like a landline phone number for a product we're launching, but we're not able to man a phone all the time (often in meetings, flights etc).<p>Does anyone have any suggestions on how they deal with it? <comment><USER2> -Forward landline to cell -Hire a receptionist -Use voicemail -Ignore the call

I think voicemail would work for most situations.

</comment><comment><USER3> Most landlines come with call forwarding features now, you could simply use that. There's also things like [http://kall8.com](http://kall8.com) that allow for time of day based routing.

<comment><USER4> +1 for kall8, set up to route if no answer to phonetag.com aka simulscribe with its impeccable transcriptions.

</comment></comment><comment><USER5> I have a Skype In number. Most of the time I am able to take the call on one of Skype clients - on the desktop, laptop or mobile. For the case this still doesn't work, this gets forwarded to a Skype Out number - in this case my mobile. Finally if I still don't respond or decide to ignore the call, this goes to my Skype voicemail.

</comment><comment><USER6> We use phonebooth.com which gives you a phone number, call tree, voice mail etc. We just have the dial-by-name directory forward to mobile phones and forget the voice mail feature.

They have a free version (which is what we use) but seem to have slowed down invitations (you used to be able to simply sign up). But the nonfree version doesn't look that expensive.

</comment><comment><USER7> I have an Ooma VOIP phone. I like it because I only had to buy the converter box & pay for it once. It's free forever after that. Includes voicemail I can check from a web interface, & unlimited local & long distance calls. The only caveat- no license for business usage.

<comment><USER8> Isn't "pay once for lifetime service" by definition a Ponzi scheme?

<comment><USER9> ponzi schemes are pyramid schemes where you use the investments of future clients to pay dividends to existing clients, giving the illusion of "work" \-- not sure how this applies to a service that actually does something for you

<comment><USER10> I think he may have been misusing the term, and simply trying to ask how they could possibly guarantee to provide that "for life", instead of "for however long the company still exists".

That being said, Ooma tends to sound terrible anyway.

</comment></comment></comment></comment><comment><USER11> Many VoIP numbers can be either forwarded to any otehr number for a small fee, or routed to any SIP endpoint, or Voicemail. Cheaper and more flexible than paying for PSTN infrastructure too.

</comment><comment><USER12> grasshopper: [http://grasshopper.com/](http://grasshopper.com/) \-- you can get a phone line and voicemail service to take calls and forward to a number of phones as needed or go direct to voicemail -- relatively inexpensive, not free

</comment><comment><USER13> never tried this, but: [http://matt.might.net/articles/switching-to-skype-to- save-mo...](http://matt.might.net/articles/switching-to-skype-to-save-money- on-cell-phone-bills/)</comment>


How 'Hoverboards' Epitomize Our Broken Patent System - <AUTHOR> http://www.wsj.com/articles/how-hoverboards-epitomize-our-broken-patent-system-1450674060 <comment><USER2> Article has nothing to do with a "broken" patent system. The author is just relating a few, not-really-connected anecdotes.

Inventor patents device. Cheap knockoffs with production issues flood nascent market. Inventor licenses patent to company with more resources. Owners of another device resolve patent dispute by selling rights to another manufacturer. Author guesses that they will enter market too.

Where's the broken patent system here? Even if the US patent system is broken, this article does nothing to address it or even point it out.

The author mentions Xiaomi above the fold and notes how surprising it is that they are involved. Except that they are barely involved at this point. He only mentions them because they are Chinese and he tries to contrast the US and Chinese patent systems later.

</comment><comment><USER3> Can we quit calling these hoverboards?</comment>


Ask HN: Do you educate new hires on how to use terminal? - <AUTHOR> <comment><USER2> If they can't use the terminal you shouldn't be hiring them.

</comment><comment><USER3> This being HN, I'm a bit surprised by the question. I assumed everyone here used terminals for all sort of stuff.</comment>


A 24 Puzzle - <AUTHOR> http://www.aaronsw.com/weblog/24copies <comment><USER2> Reminds me of an old Japanese story about the three blind men playing a game of Paper Scissors Stone. They'll never be sure they're doing it right.

I think he is talking about an activist panic button for data. Too many cops smashing cameras.

It's very tough without a confederate. Once you get it into friendly hands, even for a few minutes, they can spread it from there. Those international forces of evil probably have a server or two down in the old volcano lair. This "confederate" can be some service that copies data to many places like Freenet, CoralCache, etc.

If you don't have confederates the game is very different. You are then trying to get a piece of data into the hands of many many people who are not previously expecting it, on the hopes that a few will read it and act. That's pretty much the definition of spam, no?

</comment><comment><USER3> Two of the most workable suggestions there seem to be getting it onto 4chan, and getting it to the pirate bay guys (via irc). Whatever your views on the pirate bay (pirates!) and 4chan (pedos!), it seems to me that they provide an important service.

There would seem to be a vested interest for the powers that be to shut these venues down. I think for this reason alone the rest of us ought to support them, even if we don't agree with _everything_ they stand for, or do, or enable.

ThePirateBay is in a position to make a fight for this (4chan woudn't last 10 minutes, Tor doesn't have the profile, resources or users), and I stand by them.

</comment><comment><USER4> Maybe a good reason to always have a small virus on a USB stick with you at all times, that could be used to spread the information quickly.

</comment><comment><USER5> the enemy of my enemy is my friend.

with damaging info in your hands, you will have new-found friends. you just need to plan ahead, instead of reacting.

also, in the real world, your enemies will try to sever your connectivity; the last mile is the weakest link, so don't use something they expect.</comment>


BMW, Intel and Mobileye Team Up to Bring Fully Autonomous Driving by 2021 - <AUTHOR> https://www.press.bmwgroup.com/deutschland/article/detail/T0261586EN/bmw-group-intel-and-mobileye-team-up-to-bring-fully-autonomous-driving-to-streets-by-2021 <comment><USER2> Oh, of course. Yes. <:</comment>


Making AJAX Applications Crawlable - <AUTHOR> http://code.google.com/intl/sv-SE/web/ajaxcrawling/docs/getting-started.html

<comment><USER2> This kind of rubs me wrong, in that it is nakedly making Google's engineering problems into the Internets' engineering problems, there isn't even a scintilla of the usual "You're just making it better for your end users and our crawler just happens to benefit" fig leaf, and compliance will be about as optional as complying with HTTP because Google _is_ navigation on the Internet.

<comment><USER3> "making Google's engineering problems into the Internets' engineering problems" -- indeed, and more specifically, saying that because Google can't/won't embed a JS engine in their crawler, publishers should embed one in their webserver. For which they suggest you use Java or, alternatively, Java.

<comment><USER4> Is that right? I have been wondering to what extent the Google crawler renders js. Given that it's Google, I was imagining that they probably do pretty much full DOM rendering of pages, as so many pages are now rendered dynamically. Of course, it's difficult to simulate human-interaction with the page, so I guess this is their solution to that - the web designer leaving a signpost.

</comment></comment></comment><comment><USER5> I don't get it. They're requiring authors to provide HTML content that lives behind a URL. How is this different than just requiring the application gracefully degrade to a plain HTML mode that's usable without JavaScript, and crawling that?

<comment><USER6> It's similar in effort required, but this more clearly tells Google to display as target URLs (and send searchers directly to) a site's #!fragment-ed pages, rather than their degraded/simple pages.

(Of course, the site could accept visits to degraded pages, detect AJAX- capable browsers, then redirect the users to the preferred AJAXy URLs... but perhaps they don't even want the non-AJAX URLs to appear in normal use.)

<comment><USER7> It shouldn't require a redirect to "grow" the context around the fragment, though -- which is kind of the point of progressive enhancement.

<comment><USER6> You can see a problem that the Google convention handles better than 'degrade to simple pages with distinct URLs' with the 'Noloh' site touted elsewhere in this thread.

Consider one of their AJAXy-#fragment pages:

<http://www.noloh.com/#/features/>

Search for a phrase on that page: ["NOLOH generates only the absolutely necessary concise"]

Google finds and sends you to their 'simplified' version of the same page:

<http://www.noloh.com/?features/>

...which upon visit "grows" itself with a fragment to...

<http://www.noloh.com/?features/#/features/>

Ugh! Does the site really want people on that URL, possibly bookmarking and sharing it? Probably not; they could be using a redirect on first Google- visit.

Try clicking to another page from the double-feature page, like FAQs. You wind up at:

[http://www.noloh.com/?features/#/features/&faqs%2F=](http://www.noloh.com/?features/#/features/&faqs%2F=)

Ugh, it just keeps getting worse.

Using the Google #!fragment convention, the initial URL appearing in the index could be the simple/direct:

<http://www.noloh.com/#/features/>

Some sites will want that. One canonical #fragment-filled URL collects all the inbound traffic/linkjuice.

<comment><USER8> Fair enough, but you have to remember that we needed this to work on all servers and browsers since 2007. This Google implementation was just released. Surely we could've done a URL rewrite for our specific server, but we try our best to showcase how NOLOH will operate without the need for any tweaks, as many of our users operate on shared servers without any access to rewrites.

Oddly, you don't make any mention that we effectively solved this issue automatically for our users and that they've been able to have their full websites searchable by Google. You were able to do a search for our content, and guess what we didn't need to do ANYTHING from a site development standpoint for that to work. Sure, without a rewrite it can be ugly, but the content was fully searchable.

Frankly, have you seen some of the URLs that major websites such as amazon.com, or other generate? Criticizing us for showing how the URL would look without rewrites is really nitpicking our site, however we do want to thank you for pointing out a minor issue, we should not have the &faqs%2f you saw above, coming from a search engine and navigating. It should be <http://www.noloh.com/?features/#/faqs>.

Sure enough we'll be implementing the Google style approach in NOLOH, and best of all NOLOH developers need not change anything. Their apps were searchable since 2007, and will continue to be searchable with newer and better methods for the forseeable future.

</comment></comment></comment></comment></comment><comment><USER8> Interestingly enough NOLOH (<http://www.noloh.com>) made AJAX applications crawlable years ago. If you're interested in the specifics, see <http://dev.noloh.com/#/articles/Search-Engine-Friendly/>

Disclaimer: I'm a co-founder of NOLOH.

<comment><USER9> I took a look. Your approach is to detect requests from spiders and respond with plain HTML content rather than the content wrapped in Javascript, etc., that a normal user would get. You address the obvious question, "But isn't that cloaking?" by saying no, the _content_ itself is the same, so nobody should object. Fair enough, I happen to agree with you, but _our_ opinion is irrelevant; what matters is whether _Google_ consider this practice legitimate. Can you (or any HNer) tell me definitively whether they do or not? And has their policy changed recently with the introduction of this new crawlability spec?

</comment></comment><comment><USER10> Has google actually started doing this? I thought this was still in an exploratory stage.

</comment><comment><USER11> Facebook started using this style of URL a little while ago but I can't get it to serve the static equivalent up yet. My bet is that they'll be the first big name to ship this in production.

</comment><comment><USER12> Wouldn't it be a lot easier for Google to build a JS parser, and just examine the requests and follow it through as a normal browser would?

</comment><comment><USER13> Google has to do this, it's an existential threat to their money maker PageRank. Imagine a few years out, after most of the web is no longer organized as static documents linked together(nice for crawling!), but transforms into a real-time evolving mish-mash of web API's, re-re- aggregators, and interconnected web services. i.e. the top 10 social networking sites will account for 90%+ of user activity, and it's their APIs & data we'll all be using.

You can't crawl that.

Anyone else worry that Google's inevitable grand "evil" act will ironically be them holding back the web from transforming into this? Microsoft could have totally killed Google by hitting the fast-forward button on Ajax in 2004, by leveraging IE to make the whole web into the "Deep Web." You can't sell ads on what you can't crawl—just see what Apple is doing with iAd to carve out mobile.

</comment><comment><USER14> thats a cloackers wet dream.</comment>


Ask HN: When do you use Chrome's Javascript console? - <AUTHOR>

I'm just getting started with Javascript programming, and curious about how to set up a development cycle (development being too big a word in this case...), in particular when to use tools such as Chrome's Javascript console.
The autocompletion and syntax coloring look very good (and fast!), but I'm a bit lost. After all, a nice editor or IDE also has these features, minus the interactive aspect.
Any pointers will be welcome. Do you know of any screencasts on this development cycle?
Thank you in advance. <comment><USER2> Javascript, like html, is all client side so its easy enough to code in with a simple text editor and refresh. Chrome is now my default browser so I use the js console for all my debugging. I just code changes, hit refresh and watch the console. No errors generally mean the app works as intended. Syntax errors bring up a red x and the line number. The console is also very useful for debugging and verifying asynchronous requests. Logging to the console is also very helpful using console.log();. Lastly the debugger helps you track down 404 requests like old paths to images and does general asset speed optimization.

A common example would be attaching handlers to some links via jquery. I usually start with asserting that a jquery click handle is executing. I would console.log('works'); and refresh the page. If nothing logs, then I look if any errors were reporting, has the jquery file loaded (the console tells you all this).

Second thing I use a lot if ajax so I have to know if I'm getting a response back, and what the response is. A lot of times the response can cause a 500 error and you won't see any updates from the browser side. Using the console you can see whether or not the request was made, check headers, and response output. An error response is conveniently reported with bold red dot to indicate a problem.

<comment><AUTHOR> Thank you for such a detailed answer! Would you recommend any articles/books/blogs that walk you through these (and more) tricks of the trade?

</comment></comment><comment><USER3> I find Firebug generally more useful for JS debugging.

Try the Chrome PageSpeed plugin - I like the "sluggishness" chart. Its Very cool!

<comment><AUTHOR> OK, same question under Firefox. When do you launch the Javascript console? Could you give a brief example? Thanks!

<comment><USER4> When something is not working properly I put a breapoint on the suspect area (you can do this in the script viewer or by code writing debugger;) then I will use the console script to inspect some variables or test the outcomes of certain bits of the code. It's a must.</comment></comment></comment>