In Manhattan Pizza War, Price of Slice Keeps Dropping - <AUTHOR> http://www.nytimes.com/2012/03/31/nyregion/in-manhattan-pizza-war-price-of-slice-keeps-dropping.html?hp=&pagewanted=all <comment><USER2> I work at Parse.ly, who's office is literally right next door to these pizza shops. Last week, when they changed their prices, I asked the owner of the Indian shop how low he'd go, and he said two very interesting things:

1\. He hates two bros and wants to go low enough to make them leave the area.

2\. He didn't make money from pizza even when it was priced at one dollar. The pizza barely pays for the cost of the labor to make it. So why do it at all? Because it acts as lead gen for his Indian food which has a much higher margin. He has essentially a freemium model that works to beat his competitor!

<comment><USER3> interesting logic, but honestly just doesnt seem very prudent [not saying that you are defending them]. doing something out of emotion, while old school isnt a reason on its own. and for the freemium model, it just doesnt make a ton of sense. if somebody is going in for cheap pizza, are they really going to pick up some indian food in the same order? if they want indian food, are they going to go to a place they consider a cheap pizza shop, or are they going to pick an "actual" indian restaurant?

the whole article just sorta reminded me of old school business practices that arent well thought out, are based on emotion and not metrics and dont seem to work out in the end except in rare cases of luck.

<comment><USER2> I'd give the guy the benefit of the doubt. He's been running this joint for a while now, and I bet he actually is making decisions based on metrics he has. Though I agree that conversions from pizza to indian food is probably pretty low, it may just be that the margins are high enough that it warrants selling the pizza. I don't think he would do the pizza business unless it had promise in one way or another.

<comment><USER4> You are right. The guy is there everyday. If he's like a typical small business owner (I've dealt with thousands) he knows exactly what he is doing and has it all in his head.

</comment></comment></comment></comment><comment><USER5> What they need to realize is that price isn't everything. Or doesn't have to be. There are more ways to compete:

* Better pizza

* Better customer service

* Better facilities

* More variety in ingredients

* Fresher ingredients

Just like people pay more for Apples computers for equal reasons in the computer-world, even though the competition is cheaper, I wouldn't mind paying a (much) higher price than the one mentioned in the article if the points mentioned above stood out against the other restaurants.

<comment><USER6> I can say only for myself, but I suspect it will work the same way for many many others out there.

For me price is something easily measurable, where everything you described - hard to measure.

For me model of discounts/groupons/etc work pretty well. If I see I can try something new without paying over what I would pay in other place - I would do it. And if it is really good - I would stick to them even with higher price.

<comment><USER7> > where everything you described - hard to measure.

Quality isn't hard to measure. Where I live, in terms of pizza, there's the chains Dominoes and Pizza Pizza. I haven't bought from Pizza Pizza in over two years, because in their peak times they just crank their ovens and burn their pizzas.

I'm sorry, but when I'm dropping $50 on an order burning/=cooking. When the bottom is so black and charred and the cheese barely melted, you haven't cooked it.

Of the smaller stores, it's mostly a matter of they can't deliver in a reasonable time. One that does I refuse to order from because their delivery guys try to rip you off when you're drunk (order came to ~$75, I had two fiftys and a twenty and wanted to give him eighty. After about 5 minutes of juggling money and change between him an me I realised he had both fifty's and I just said 'I've got it', took the money back off him, gave him 70 and told him to fuck off and slammed the door - I think at one point he was getting a tip of $15 because I grabbed a 20 from a friend. The next time we ordered from there they tried it again by 'not having change').

Every time, I end up back at dominoes because their stuff is fresher, properly cooked and not overly greasy.

<comment><USER8> I think you made the other posters point. You had a bad experience once and still bought from the same pizza joint, possibly a couple more times to have further bad experiences. Maybe it was price that drove you to continue in your effort to get a bad business to give you a good product? Maybe you wanted a change and thought the previous experiences were anomalous? Regardless it took you some time to figure out that the business was bad. Now repeat that for every pizza joint in NYC, not so easy...

Customers don't have access to the kitchen, the ingredient supply chain or background checks on the employees. Looking at a coupon flyer doesn't tell you that the staff is rude, the pizzas are bland and the employees don't wash their hands. Some companies work by pumping out a poor, low cost product and wait for the suckers to bite or the previous suckers to forget or think it was a one-off. There are also a lot of people who will put up with crap so long as they think they're getting a deal.

</comment></comment></comment></comment><comment><USER9> "Mr. Kumar said he was contemplating checking with a lawyer to see if there might be a city law that somehow prohibits a business from selling pizza at outlandishly cheap prices."

This thought is sickening.

<comment><USER10> Predatory Pricing is illegal in many countries <http://en.wikipedia.org/wiki/Predatory_pricing>

<comment><USER11> There are notable opponents of predatory pricing regulation as well. (e.g. Milton Friedman <http://www.youtube.com/watch?v=j0pl_FXt0eM>)

<comment><USER12> Well, that's to be expected; Friedman's philosophy basically consisted of "If an action is taken by a government, then that action is morally evil".

<comment><USER11> He was indeed in favor of free markets. However, your statement is factually wrong on two counts.

1) He was in favor of some government action, most notably monetary policy.[0]

2) His arguments were consequentialist and had little to do with morality. For instance, he once described Ayn Rand as "an utterly intolerant and dogmatic person who did a great deal of good.".[1]

[0] <http://en.wikipedia.org/wiki/Monetary_policy>

[1] <http://en.wikipedia.org/wiki/Libertarianism_and_Objectivism>

<comment><USER13> > 1) He was in favor of some government action, most notably monetary > policy.[0]

Not really, he actually was in favor of privately issued competing currencies, but he was a realist and realized this was not politically possible, so he advocated monetary policies that did the least harm given the current system.

But always stressed he didn't believe all government actions were evil, he thought national defense and law enforcement for example were best accomplished by government.

On the other hand his son David Friedman is a well known anarcho-capitalist that considered the privatization of all government functions.

</comment></comment></comment></comment></comment></comment><comment><USER14> I'm just amused that people make decisions on where to buy pizza slices on a 25 cent difference. Even the slightest difference in quality and I'll pay a quarter more.

<comment><USER15> 25 cents is a lot. If the difference in location/quality/texture/etc. isn't enough to favor the $1 pizza, I'll buy the cheaper pizza. And I'm different than you, a slight difference in quality isn't enough to shift me one way or another, I need a reasonably significant difference. Anyway, if I eat only 200 slices in a year (not unreasonable) at the cheaper place, I can buy a video game (or something else for $50) that I couldn't have otherwise gotten (all else equal) if I bought the more expensive pizza every time.

I don't see what's so amusing to you about saving money, even if $50 is a trifling sum for a programmer...

<comment><USER16> How does your body feel about all this?

<comment><USER15> Somewhere between <http://www.youtube.com/watch?v=a6tSyDHXViM> and <http://www.youtube.com/watch?v=HUll5SnavOw> Pizza rules.

</comment></comment></comment></comment><comment><USER17> This is the better advertisement than what either of the two pizza joints could have bought. A little bit of neighborhood rivalry, costing each of them probably a few hundred dollars per day got them in NYT.

<comment><AUTHOR> 2 Bros is pretty known and established. They have a network of numerous (I believe the article says 11) restaurants, so I doubt they need the publicity, if anything it can cause issues as customers may demand lower prices in their other stores.

Personally, I believe 2 Bros is likely the better $1 pizza as they have enough stores to buy more quantity, thus they can probably use better ingredients. I find their slices to be comparable, of not better than your average run of the mill pizza place that charge $2,25 to $2.50 a piece. They make money on quantity, thus can sacrifice a bit on the price.

</comment></comment><comment><USER18> And I thought the $2.75 slice at that place at 16th and valencia was a good deal.

<comment><USER19> If you're from were I think you're from you should be eating Zante's Indian Pizza.

<comment><USER20> I really like that 16th & Valencia slice too. Super cheap and tastes like NYC.

I'll check out Zante's this weekend. Serrano's (21st & valencia) is cheap; Pizzeria (17th & mission, looks like a front) is delicious. The one across from Zeitgeist at 14th and Valencia delivers past 2am, but tastes uncannily like Domino's.

<comment><USER21> Is there any delivery pizza in SF that doesn't use low-fat cheese? Every pizza I've ever ordered for delivery in this city does not survive being refrigerated and reheated. I've been told it's because of low-fat cheese. If I go back to visit my parents in MA, get some pizza there, and reheat it, the cheese melts beautifully and tastes divine. But any delivery pizza in SF, when reheated the cheese doesn't even melt, I have to touch it to tell if it's hot, and it tastes terrible.

</comment></comment></comment></comment><comment><USER22> Here's an article claiming the best dollar slice in Manhattan is at Percy's in Greenwich Village, which I haven't tried yet:

[http://www.nypost.com/p/entertainment/food/the_best_slice_in...](http://www.nypost.com/p/entertainment/food/the_best_slice_in_new_york_lg8MCiB8RW6O30afQMnQ6N)

I think the most interesting point is that all pizzerias in New York City will soon be either the <$1 places or the higher end places like Artichoke, with not a lot in between. A $1 slice place moved into my neighborhood, and then there were 2, and it's clear that some of the other pizza places are getting hammered - one sent their daughter out on the street handing out leaflets. Of course, that place isn't very good, either, so it's hard to cry them a river.

</comment><comment><USER23> The moral of this article was pretty well summed up in the conclusion:

 _"While the pizza parlors insult one another, the eating public couldn't be happier."_

...and that's what it's all about, Charlie Brown. After all: "It is the customer who pays the wages." - Henry Ford

</comment><comment><USER24> I guess this isn't true anymore then: [http://www.observer.com/2010/10/with- subway-fare-upped-to-25...](http://www.observer.com/2010/10/with-subway-fare- upped-to-250-will-pizza-slice-prices-follow-suit/)

<comment><USER25> I cannot find good data on it, but on what I read on Wikipedia, I doubt the correlation is that strong. Wikipedia states:

 _"In 2005,[8] and again in 2007,[9] Haberman noted the price of a slice was again rising, and, citing the Pizza Connection, worried that the subway fare might soon rise again. The fare did indeed rise to $2.25 in June 2009, and again in 2011 to $2.50.[10]"_

So, the subway prize increase that "matched" a 2005 pizza slice price increase was in June 2009?

I bet you can find similar correlations between many pairs of products. If you pick a simple model that states the price of an item is "x liters of oil and y hours of unskilled labour", products with the same y/x ratio will correlate highly in price. Pizza slices and subways fares might be such a pair, with four years of inflation correcting for the difference in absolute values.

</comment></comment><comment><USER26> Sounds like an iterated prisoner's dilemma.

[http://en.wikipedia.org/wiki/Prisoners_dilemma#Strategy_for_...](http://en.wikipedia.org/wiki/Prisoners_dilemma#Strategy_for_the_iterated_prisoners.27_dilemma)

Apparently successful strategies should be "forgiving", meaning they can retreat from this price war, and "non-envious", meaning they can live with the next-door shop earning more.

Maybe they can get some publicity and get that area known as the pizza part of town, so they can both raise their prices and win.

<comment><USER27> ... and start getting in trouble for price fixing once they start cooperating?

<comment><USER28> There can be emergent, uncoordinated cooperation between competitors. If two both adopt similar policies of price matching, one can raise prices without consequence and the other will soon follow. It has come up on HN before... google really needs an ability to limit the search to a range of years.

</comment></comment></comment><comment><USER29> > _We have enough power to wait them out_

Always a great way to do business...

</comment><comment><USER30> Seriously, if I saw two places next to each other, one selling for 0.75 the other for 1, I'd go to the slightly more expensive one. Its almost no difference in price, but at least I know that the owners don't have to sacrifice the quality of their ingredients and well-being of their staff in order to make a profit.

<comment><USER31> Exactly, the key point about good pizza is good quality of ingredients, (and a wood oven, no good pizza is possible with electric oven in my opinion). How many pizza can you eat every month, considering it's full of carbohydrates? Not enough for 0.75, 1.00, or 1.50 to be that different after all. Quality is the first feature one should search in food.

<comment><USER32> Price, sadly, may not reflect quality of ingredients used. It probably depends on country culture, but at least here you can go to an expensive place and get stale cheese buns. And vice-versa, large networks are in position to sell better quality for lower price due to economic factors. I'd say that having paid more you can't be less alert about what you eat.

That said, I agree with your point (considering that I'm from Russia and you're from Italy, my positions in a pizza argument would be fairly weak anyway =)), my objections mostly apply to grandparent post.

<comment><USER33> I've always found with a sufficiently large organization if they had the choice between using their clout to purchase cheap but inferior goods or slightly less cheap but better quality goods 90% of the time they choose the former.

Invariably there are exceptions to the rule when competitors want to differentiate themselves. Walmart is cheap quality cheap, Target is better quality cheap.

Acer was trying to get out the cheap computer business and the CEO got fired for it. No one ever gets fired for squeezing a few more cents out of the system.

</comment></comment></comment></comment><comment><USER34> Non-paywalled article: <http://mobile.seattletimes.com/story/today/2017878041>

This sounds like typical business and economics in action. One company is selling a comparable product for less than their competitor. What's the story here?

<comment><USER35> slow news and he said/she said?

My immediate thought was 'Hotelling's Law'[1], but apparently price is a special case and called the 'Bertrand Paradox'[2]

[1] <https://en.wikipedia.org/wiki/Hotelling%27s_law>

[2] [https://en.wikipedia.org/wiki/Bertrand_paradox_%28economics%...](https://en.wikipedia.org/wiki/Bertrand_paradox_%28economics%29)

</comment></comment><comment><USER36> Race to the bottom, no one wins.

What I don't understand is why this doesn't work in the gas industry.

It only costs them $3 per barrel (unless it's from deep sea drilling( but yet every corporate owned station next to each other has nearly the same price and never "race to the bottom" like the pizza wars.

<comment><USER37> sometimes there is.

i.e. there is an intersection by me that has 3 gas stations on it. They used to have identical pricing. Then one station started charging the same amount for credit card transactions as it did for cash(other stations had cc transactions cost 10 cents more per gallon)

result? that station is always packed...there is a line to actually get gas...while the other stations barely have any business.

So it costs them 10 cents out of $3.70 a gallon or 2.7%(you know the actual cost of cc transactions..that every business in the world pays without a second thought) to get market penetration.

And since now the cost of gas is pretty high, they are getting a ton of money, since every fill up gets them $40-80

<comment><USER38> _And since now the cost of gas is pretty high, they are getting a ton of money_

How much of that do they keep?

<comment><USER37> not much, the profit margin after they pay their bills is about 3-5%

</comment></comment></comment></comment><comment><USER39> The 99cent place on 8th and 41st is great. The turnover is high so the pizza is always fresh out of the oven.

</comment><comment> lost-theory This episode of Internets Celebrities is entertaining and relevant: <http://www.youtube.com/watch?v=2QE96FAWX4M> :)

</comment><comment><USER40> At those prices, and with the locations being right next to each other, I would buy 1 slice from each! Best of both worlds (or less bad from any single world).

A worthy slice is $4 here!

</comment><comment><USER41> Price wars: a way to transfer money from producers to consumers. If you're a business owner, avoid at all costs (no pun intended).

</comment><comment><USER42> Why are even lousy cheap cheese pizza slices $2.50 in Portland?

</comment><comment><USER43> It's interesting to see this occuring. Both of these firms are going to get hurt by this, or worse both will go bankrupt. Even if one firm survives, when they raise their prices, who's to say that their customers won't go to another of the numerous pizza places that are nearby?

I think it's a real lesson for startups - don't let your pride and pig- headedness rule your head, or else that will be the end of your company!

<comment><USER44> There's more to these things than meets the eye.

Where I live petrol stations make relatively little profit on fuel sales, the bulk of their profit comes from "also bought" items - milk, newspapers, ... , they're essentially high markup mini malls.

The two advantages to cheap cheap pizza are firstly in can get the crowds in and secure the sales of "also bought" items with better profit margins, further it leeches the crowd away from the competitor.

I was witness to a price war in geophysical surveying, over a decade in which fuel and manpower costs rose and inflation occurred the per line/km cost of flying aircraft with state of the instrumentation onboard dropped from $17 to $7 and effectively eliminating any profit in taking on million+ dollar survey jobs with risks.

Why the hell would the companies do that?

I would hazard a guess that the owners, being part of a much larger business that profited from resource extraction, weighed the benefits of having lead information on deposits potentially worth billions over the drawbacks of having losses of several tens of thousands.

</comment></comment><comment><USER45> Sooner or later we'll see a groupon deal for the 99c pizza!

What we effectively have is an arms race in not just pizza, but one can argue that it's happening in all of NYC value to 3 star restaurants and spas and other commodity services via various promotions created to get traffic through the door. The jury is still out there to see if traffic can be converted into loyal customers (which I argue NO for NYC) whether that's groupon vendors or 99c pizza.

What's the difference between a restaurant that charges 99c cheese pizza but 2.00 for pepperoni pizza v. a spa that gives 70% off of a $100 spa service through lifebooker or groupon deal sites? (btw, if you look at the way these coupon site's business model works, $100 70% off that you buy for $30 doesn't mean vendor gave only 70% off. Groupon take ~30% of that $30 so vendor really only get $21 in return for value of $100. Furthermore, groupon squeezes net working capital by giving that cash to the spa after 15-20-45 days from when Groupon received the money).

Both type of businesses should be near break-even profitability at best UNLESS THEY HAVE THE ABILITY TO UPSELL their services/products or they do it to drive in traffic in hopes of converting them into return customers (marketing cost of doing business). However, in NYC where there are 10,000+ restaurants and hundreds of groupon-esque deals daily and in every corner there's a 99c pizzeria, this traffic is worthless traffic and it's permanently creating a lower RONA (return on net assets) for the entire industry. These pricing schemes get played out in the convenience stores as well in the boonies (w/r/t cigarette and beer pricing).

Maybe these local vendors are smarter than I think and have figured out a way to upsell people into purchasing 100% premium pizza for 1 additional topping or restaurants make up the discount and stay profitable through selling higher margins products in conjunction with the coupon (alcohol for instance is 100% margin product) -- so then at spas, I would hypothesize that the upsell potential to be much lower than restaurants so they're just f'd. But to say that we can last longer than the other vendor is completely moronic and naive view of their customer base - why don't they ask abercrombie and fitch and every other u.s. retailer what happens when they turned promotional in 2008 and now they've tried to curb heavy promoting. Price Stickiness is very hard to get rid of for the consumer especially on the value end of the spectrum.

Regardless of all these pricing wars, one can't imply that all pizzeria's margins are toast or all restaurants are toast. Jean George has no problems filling his seats at his michelin star rated restaurants offering no groupon just like Artichoke Basil, a late night pizzeria, in NY doesn't have any problems selling great artisan pizza at an overpriced price to clubbers coming out of the Avenue and 1-oak (2 super-exclusive bottle service only high-end nightclub in NYC) at 2am. That's just smart business and superior product -> turning a commodity business into a sought after premium charged product. If you're spending $500 for 1 bottle of grey goose to get into a club, you're completely fine coming out drunk and spending $10-$12 for a small pan pizza as long as it looks like high-end.

</comment><comment><USER46> That Indian's indignant attitude and desire to have a law to protect him is infuriating.

<comment><USER47> Is there a good reason why you pointed out the "Indian" part? It doesn't seem relevant to the rest of the sentence.

<comment><USER46> Because there was one Indian in the story and I forgot his restaurant's name. Was it unclear who I was talking about?

</comment></comment></comment><comment><USER48> Idiots! Raise the price but do it together.

<comment><USER49> My guess is that this would cause customers to move to altogether different pizza shops that have focused on (or maintained) higher quality under a more reasonable price constraint.

<comment><USER48> My initial comment was made with an implied *wink, which apparently should not have been so thoughtlessly omitted, given the unfair amount of insight it then required of readers to detect my humorous intentions. After all, if both pizza vendors would simply raise the price to a reasonable $1.00 or $1.25 or w/e, they could both "afford the rent" and thus coexist happily instead of shooting themselves in the foot. Not realizing this of course, is why I called them idiots, not in a cynical, but a face-palming type of way. Comprendes? It may also be worthy to note that this reply was compelled by the presumptuousness with which my intelligence was addressed.

</comment></comment></comment><comment><USER50> This shit has to stop. In my current neighborhood, their are a dozen 99c shops (midtown), and no proper slice-a-rias. $1 pizza is a slap in the face to new yorkers. The shit is disrespectful to the city and its residents. It offends me to the core. I do respect the need for people to get a cheap lunch, so I undersand these businesses, but they should be relegated to alleyways. The thought that some tourist may buy a slice at a 99c joint and think it is a proper NY slice just breaks my heart.

Edit: Holy christ, this is my most hated comment ever. I am personally an offensive human being, but I'd love to know why this comment was so hated.

<comment><USER51> As an outsider, I prefer the $1 slice to Grimaldi's, not sure if that's one of the better places but it was the only other pizza I've had in NYC

<comment><USER52> To a fan of New York-style pizza this statement is pretty close to sacrilege - close enough that I half-suspect you're intentionally trying to troll jcampbell1.

Grimaldi's isn't the absolute best pizza in the city, but it's a very good example of a thin-crust coal-fired New York pie.

But to each their own. I still have a soft spot in my heart for doughy-crust over-cheesed death-on-a-plate small-town Canada pizza since that's what I grew up with.</comment></comment></comment>


Gmail: Introducing Actions in the Inbox - <AUTHOR> http://googleappsdeveloper.blogspot.co.uk/2013/05/introducing-actions-in-inbox-powered-by.html

<comment><USER2> Hmm.

Making a universal email message have bespoke instructions for a specific mail provider. Call me old fashioned but I don't like that. Infact I still like to read my e-mails in plain text.

Also, I dare say, not so useful for the many of us accessing gmail via Mac devices' mail clients.

<comment><USER3> > Making a universal email message have bespoke instructions for a specific > mail provider. Call me old fashioned but I don't like that.

Its all using open standard formats, and the specific schemas are open standards or proposed for standardization (and Google has said that its schema support may change if the schemas change in the standardization process.) Other providers could use it as well. This is how progress happens in open systems. The alternative is either abandoning the open system for new functionality, or just never getting new functionality at all. And its not the provider that is key here, but the _client_ (the fact that for many gmail users the supplier of both the mail service and the mail client is the same makes it easy to confuse the issue.)

> Also, I dare say, not so useful for the many of us accessing gmail via Mac > devices' mail clients.

Yes, features in the Gmail client that aren't included in other clients aren't useful to people using the other clients. I'm not sure why this is noteworthy.

<comment><USER4> They may be open formats, but you can't just throw Microdata and JSON-LD into an email and expect Gmail to display your actions. You have to register with Google:

[https://developers.google.com/gmail/schemas/registering- with...](https://developers.google.com/gmail/schemas/registering-with-google)

</comment></comment></comment><comment><USER5> The fact that this was posted on the Google Apps blog is telling- I imagine that Google wants to roll this out to Apps users before general Gmail users.

I'm surprised by the reaction in here- yes, it's an addition to the standard e-mail system. Do we really want that system to stand absolutely still? If that's the case, why are we cheering so much web browser development? Surely a browser from 1997 should be good enough for anyone?

<comment><USER6> > I imagine that Google wants to roll this out to Apps users before general > Gmail users.

That'll be a first. Historically, Google has deeply neglected Apps users. My Apps account didn't get G+ until almost a year after it became generally available.

<comment><USER7> > Google has deeply neglected Apps users.

That's a funny way of looking at it. I pay Google money for my account so that I have, above all, a reliable system to use for my business.

No beta bullshit. And with Google Apps, that's what I get.

Regular users are the guinea pigs and once a feature has proven itself year(s) later, it's added to Apps. As someone who runs a business, I'm quite happy with that approach.

I get all the latest and greatest on my personal GMail account, I don't need it on my business account.

<comment><USER8> Good point. I think in the days before Google starting charging for Apps, many of the users were the tech-head-early-adopter crowd. Which is why many were so disappointed that they got all the new innovations last.

I think everyone would be happier if Apps users could signal to Google they would like to be a 'new features beta tester'.

</comment></comment></comment></comment><comment><USER9> Lots of strangely negative reactions here. We (<http://inky.com>) think this is a positive development and plan to support it as well. We're happy Google has promoted open standards in doing this.

<comment><USER2> I don't think the reactions are strange at all. Google have a bad track record in implementing things and then abandoning them for one.

I want my email to be a consistent experience - not to get some different behavior if I access through a certain device. Email and its simplicity was universal - I saw the same text on my phone, tablet, laptop and desktop. Will every mail sender who makes use of this, include the JSON and an alternative link to achieve the same result. I think this could get very inconsistent very quickly. Fragmenting email is not something I like the idea of.

For Google Apps customers' internal mails I think this is useful. For the wider Internet I don't like it.

<comment><USER9> I see your point, but consistency of email display went out the window with HTML email. We (and Google, and hopefully everybody else providing mail readers) put a ton of work into sanitizing HTML before rendering it in the preview pane. This makes mail display a delicate balance between safety and preserving the sender's intent. It's already a far from trivial problem, and is one of the hundred or so non-obvious reasons why making a mail client isn't easy.

What's nice about what they've done here is that they've required an additional (but now standard) level of authentication for the senders who want to include this richer, more actionable content. And they haven't hardwired this into Google Plus or some other walled garden. That's welcome, IMO.

<comment><USER10> Has there been any effort to create a standard subset of HTML that is safe for email? Seems like a problem worth solving once for everybody.

<comment><USER9> Not that I know of, and in fact real-live HTML emails often contain complete gibberish (made-up tags, etc.) that doesn't even validate; we have a bunch of fix-up rules for this stuff.

CSS is a complicating factor as well: some CSS is unsafe and must be stripped, which requires a real (error-tolerant) CSS parser to go along with your real HTML parser.

And identifying remote images: you'd think that was easy right? But do you know how many ways there are to reference a .png image in HTML and CSS?

At one point Facebook emails were even hiding web bugs in BGSOUND tags -- sneaky!

<comment><USER10> Huh. I would think that the only ones benefiting from the current state of affairs are scammers and spammers, strange that the big players haven't gotten together and done something about it.

</comment></comment></comment></comment></comment></comment><comment><USER11> I'm expecting "this email designed for gmail" badges soon.

<comment><USER12> Both Microdata and JSON-LD are open formats.

<comment><USER13> The format may be open, the ability to use it isn't - you need to register with Google[1] or they won't display actions on your e-mail. This appears to be necessary for security reasons. Imagine if every e-mail provider did the same thing!

[1] [https://developers.google.com/gmail/schemas/registering- with...](https://developers.google.com/gmail/schemas/registering-with-google)

<comment><USER14> And even if they implement the "open standard" in outlook, who says Google won't bait and switch (oh the irony) then, like they did with their youtube apps on windows mobile?

<comment><USER15> Give me a break. How is requesting they remove a non-compliant youtube app a "bait and switch". Is this going to be the new "cool" thing to post now every time a submission involves google?

</comment></comment></comment></comment></comment><comment><USER16> Whatever happened to the Unix philosphy? 'Write programs that do one thing and do it well'. Last thing I want in my inbox. Call me a purist but email is for emailing people.

<comment><USER3> > Whatever happened to the Unix philosphy? 'Write programs that do one thing > and do it well'.

Its still a valid and important way of constructing software systems. But users mostly don't want a separate UI for each of those components, they want them strung together in a way which provides a simple experience that allows them to get the things they want to do done.

<comment><USER16> Then write a dashboard facility without polluting your existing applications by bolting barely related features onto them.

<comment><USER3> > Then write a dashboard facility without polluting your existing applications > by bolting barely related features onto them.

How is automatically recognizing meaning and surfacing action requests from email a "barely related" feature to an existing email client?

</comment></comment></comment></comment><comment><USER17> I tried to email the following two examples with a simple SMTP python script:

[https://developers.google.com/gmail/schemas/actions/end- to-e...](https://developers.google.com/gmail/schemas/actions/end-to-end- example) (The html with my own link) [https://developers.google.com/gmail/schemas/embedding- schema...](https://developers.google.com/gmail/schemas/embedding-schemas-in- emails)

From my account to the same account but it did not render any actions in my gmail inbox. Did any of you guys succeed in making the buttons appear?

<comment><USER18> Maybe you need to register first?

[https://developers.google.com/gmail/schemas/registering- with...](https://developers.google.com/gmail/schemas/registering-with-google)

<comment><USER3> The post you responded to addressed sending an email from one Gmail account to the same Gmail account. If you read the first paragraph [1] of the page you link, you will note that this does not require registration, so that does not appear to be the issue.

[1] _We are excited to see how you plan to use schemas in email. You can start testing your own integration today. All schemas you send to yourself (from firstname.lastname@example.com to email@example.com) will be displayed in Google products. So go ahead and try it out now!_

</comment></comment></comment><comment><USER19> We were one of the companies to support this during the launch announcement today, and we've been playing with it for the past month or so. It's an awesome feature for transactional emails that require a quick action to be performed - we use it for task notification emails where you can check off a task as complete right within the email client. It's based on an open standard, and plain old HTTP POST so not specifically tied to Gmail.

<comment><USER20> Again, what is the difference between this and clicking a link? Instead of showing a link , they show a button is it? Adding a bunch of crap into email body is worth that?

This is right out of Microsoft's embrace/extend playbook.

<comment><USER21> Here's a use case:

1\. I book a flight, and get a flight confirmation email from the airline. It includes a machine-readable version of my flight info in the metadata.

2\. I press a button, and the flight gets added to Google Calendar, or a flight-status tracking app, or a shared travel calendar service for people who fly a lot. Note that this stuff doesn't need to be written by Google; it's an open format.

Sound potentially useful?

</comment></comment></comment><comment><USER22> Why don't they support a mechanism which works with plain text emails? E.g. put the JSON stuff into a header field.

Btw how would one suggest something like this officially? There seems to be no issue tracker or anything for gmail.

<comment><USER9> Statistically speaking, nobody sends plain text email any more.

<comment><USER22> Even if you take the spam out of the statistics?

</comment></comment></comment><comment><USER23> new tool for phishing. perfect.

<comment><USER24> I guess that's the negativity Larry Page was talking about yesterday, sad indeed.

<comment><USER25> Yeah. There are so many positive possibilities yet a large group of people still choose to focus on the negative side. I hope this can change one day

<comment><USER26> So many possibilities? There is nothing here that couldn't be achieved by having the user click on a link.

And he's right, it does make phishing easier.

<comment><USER3> > So many possibilities? There is nothing here that couldn't be achieved by > having the user click on a link.

Because its machine parseable, it makes a lot of presentation options available that aren't available when you rely on a standard hyperlink without a data format with a standardized identification of the requested action.

> And he's right, it does make phishing easier.

Well, that depends on what the requirements are to have the client present the actions from the schemas: the current Google requirements, I would say, do not make phishing easier. You must _register_ with Google for the schemas in the email you send to be recognized in Google products (e.g., Gmail) [1], and the registration is per-set-of-emails, and fairly specific as to the content, and appears to be manually reviewed [2].

[1] [https://developers.google.com/gmail/schemas/registering- with...](https://developers.google.com/gmail/schemas/registering-with-google) [2] [https://docs.google.com/forms/d/1PA- vjjk3yJF7MLPOVKbIz3MBfhy...](https://docs.google.com/forms/d/1PA- vjjk3yJF7MLPOVKbIz3MBfhyma2obS8NIZ0JYx8I/viewform?pli=1)

<comment><USER27> >Because its machine parseable, it makes a lot of presentation options available that aren't available when you rely on a standard hyperlink without a data format with a standardized identification of the requested action.

You're right: this addition turns email into a data or event queue of sorts with standardized actions that can be performed on it. I like it. Given that email is one of the few non vendor-locked communication technologies we have and we already have a lot of infrastructure to deliver it reliably, this seems a promising evolution path.

I'd like to see something similar for IM: currently SMS is the only open standard for instant messaging, and any other option locks you into either a platform or a specific client, which the other person will probably not use.

<comment><USER3> > currently SMS is the only open standard for instant messaging

XMPP is an open standard (through IETF RFCs and related standards) for messaging and presence whose motivating use case was instant messaging: <http://en.wikipedia.org/wiki/XMPP>

<comment><USER27> Right. My comment is more on the adoption rather than availability of open standards.

<comment><USER21> XMPP is also used, behind the scenes, with Google Chat and Facebook Chat. It has a fair amount of adoption; you just don't really hear about it much.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> I don't get it, wouldn't an html email with a form element do the same thing?

<comment><USER29> Some html elements (like forms, form elements, ...) won't work in emails/get stripped by (web-)mail clients. The same goes for JavaScript and a lot of CSS features.

Probably would be a security nightmare.

</comment></comment><comment><USER30> super cool. we are doing something similar with Birdseye Mail's Smart Actions <http://www.birdseyemail.com/developers> ... we opted to reuse open graph tags in favor of creating a new JSON / JavaScript syntax

Still really great that Google signed up partners for the rollout. It's a bit of a chicken vs. the egg problem for technologies like this and it seems they have some cool email providers on board to help with the adoption.

Regardless of the outcome, this is great for consumption of emails and for users who have trouble dealing with their high volume of email.

</comment><comment><USER31> How long till gmail us turned into a hybrid private messaging/gmail system tightly integrated with G+ (more so than now)? Gmail as we know it seems to be on its last legs. Too bad, because it is a good product.

<comment><USER21> That's a remarkably dramatic response to Google announcing that (a) you can add structured event metadata to emails in a straightforward open format, and (b) G+ will use this metadata.

</comment></comment><comment><USER32> Is there any way to compose them in Gmail?

</comment><comment><USER33> Just need to make sure I am getting this. Actions will make things happen once you open the email right? I am rather confused by this whole concept. Furthermore when will Google give me more control over my inbox like a builtin ifttt system? I mean filters does alot but I want more and not just for gmail but for all Google services. Example certain days I go to the gym but I only go if it is not raining. I wish I could tell calendar schedule gym if not raining. Is that what actions is?

</comment><comment><USER34> How about an "action" to let me archive/delete a message with just one click without opening it?

<comment><USER35> You can accomplish both of those with keyboard shortcuts. "e" archives it, "#" trashes it. They also work in the list view if you select the messages you're concerned with ("x" to select).

</comment></comment><comment><USER36> Can the response include who is clicking the action? For example, if you want to take a quick poll from within an email that is sent to multiple people, can you identify who is voting for what?

<comment><USER37> This is usually done by generating different URLs for different emails. The URLs need to carry access token parameters. See [https://developers.google.com/gmail/schemas/actions/limited-...](https://developers.google.com/gmail/schemas/actions/limited- use-access-tokens).

</comment></comment><comment><USER38> awesome!

so how many other clients will support this? Gmail is pretty big, but if functionality is limited to Gmail it won't take off

<comment><USER39> It's cool for companies using Google Apps.

<comment><USER38> yep, thought that too. As Exchange has an easy way to send calendar invites

</comment></comment></comment><comment><USER40> To be removed in 3..2..

</comment><comment><USER41> It was very nice interface !

</comment><comment><USER42> can we expect this data to start feeding into Google Now?

<comment><USER3> You can expect it to feed Google Now [1] and Google Search [2]. That's a rather major part of the point.

[1] <https://developers.google.com/gmail/schemas/google-now> [2] <https://developers.google.com/gmail/schemas/google-search>

</comment></comment><comment><USER43> Sounds like Google's response to Facebook messenger & open graph.

Definitely agree with most of the commenter's. Sounds like a huge helper for google apps and the SaaS apps built on there.</comment>


The extra-territoriality of American law is a weapon of economic war - <AUTHOR> https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fwww.lemonde.fr%2Fidees%2Farticle%2F2019%2F12%2F30%2Fsous-couvert-de-lutte-contre-la-corruption-et-le-terrorisme-l-extraterritorialite-du-droit-americain-est-une-arme-de-guerre-economique_6024359_3232.html <comment><USER2> Devil's advocate: USA does what this guy says and regulates only US companies. So Boeing cannot pay bribes or jail, fines and all. Say, it's legal in EU for Airbus to bribe (or the law is no enforced.) How is this fair competition? Letting them all bribe we know how it ends</comment>


Cubli: Building cubes that can jump up and balance - <AUTHOR> http://www.idsc.ethz.ch/Research_DAndrea/Cubli

<comment><USER2> It's kind of a neat thing, for sure, but what are we thinking are its practical applications? Possible use as an assistive device for the disabled, perhaps?

</comment><comment><USER3> Now make a trillion trillion of them at nanometer scales.

</comment><comment><USER4> Showing up soon in magic tricks...

</comment><comment><USER5> Is there any value in linking to 17 (or so) previous submissions going back some 14 months or so? Very little discussion, surprisingly few up-votes. It's a cute device, very clever, very surprising, nicely conceived, well executed.

Wouldn't mind playing with one, if only I had the time.</comment>


Ask HN: How do you outsource remote engineering talent? - <AUTHOR> Howdy HackerNews!
I hear lots of stuff and nightmare stories about outsourcing dev and design teams, but anyone had a good experience while outsourcing? Where do you usually look for them? What is the criteria or resources that you use to make you decide which ones to hire? Which parts of your product you usually outsource?
Thanks for the advice in advance
Cheers <comment><USER2> I use Upwork. Communication is really important, so talk to people before you hire them to make sure they speak your language fluently (and I really mean _fluently_ ). There are a lot of companies pretending to be single devs on Upwork, so ask them directly before you begin the contract if they're a company or a single person.

I've had some good experiences with accidentally hiring companies, but most people prefer single devs because of the risk of paying for overhead rather than quality work.

Once they're working for you, check in with them twice a day and ask to see progress. If you can't see it, it hasn't happened yet.

Always, _always_ do fixed-fee contracts (never hourly). Put the money in escrow.

<comment><AUTHOR> Hi!

Thanks for the tips!</comment></comment>


Growing a Window-Management App for Mac to $1,500/mo - <AUTHOR> https://www.indiehackers.com/forum/growing-a-window-management-app-for-mac-to-1-500-mo-f015f66d95 <comment><AUTHOR> [Spoiler Alert] It didn't grow to $1,500/mo.

Still, I've learned a lot!</comment>


An affordable Git repository hosting service - <AUTHOR> http://repositoryhosting.com/

<comment><USER2> I think that positioning could be better. Sure, it's cheaper than GitHub, but is it cheaper that Gitorious?

Maybe add adjectives like "professional" and "high-volume" to your positioning so that you don't seem to be competing on price only.

</comment><comment><USER3> This looks to be exactly what I needed, thanks. I've signed up for a demo account, had some hiccups getting going but generally so far so good.

</comment><comment><USER4> Does it include the Trac hosting as well? I couldn't tell with certainty.

<comment><USER3> It does</comment></comment>


Startup Fundraising Calculator - <AUTHOR> https://ledgy.com/calculator/ <comment><USER2> The Startup Fundraising Calculator has been part of the Ledgy core product for 2 years and has already been used by hundreds of companies to model their financing round. I am very proud to release it today as an easy-to-use standalone tool for everyone to double-check their spreadsheets, understand convertibles, and how a pool can influence your financing round.

</comment><comment><USER3> Rad - I've been looking for a better way to handle fundraising, other than excel

</comment><comment><USER4> Super sweet - congrats to the team!</comment>


Add a graphic designer to your Facebook Messenger - <AUTHOR> http://www.designabl.com <comment><USER2> Website could do with a spell check.</comment>


ThoughtWorks's Technology Radar for Nov 2015 has just been published - <AUTHOR> https://www.thoughtworks.com/radar <comment><USER2> "JavaScript Tooling Settles to Merely Chaotic" \- haha, well put</comment>


The State of Employee Engagement in Tech - <AUTHOR> https://www.tinypulse.com/resources/the-state-of-employee-engagement-in-tech

<comment><USER2> These people do not how to make proper or consistent bar graphs. 19% vs 22% (difference of 3%) = huuuuuge gap between the two, in the next graph they have 36% vs 50% (difference of 14%) = tiny gap between the two. It's pretty much like this the whole article. Pretty hard to take it seriously if the graphs are so bad.</comment>


Why do corporations speak the way they do? - <AUTHOR> https://www.thecut.com/2020/02/spread-of-corporate-speak.html <comment><USER2> Dupe? from [https://www.vulture.com/2020/02/spread-of-corporate- speak.ht...](https://www.vulture.com/2020/02/spread-of-corporate-speak.html)</comment>


SourMint: Malicious code, ad fraud, and data leak in iOS - <AUTHOR> https://snyk.io/blog/sourmint-malicious-code-ad-fraud-and-data-leak-in-ios/ <comment><USER2> Amazing that this has been going for a year now - Let's see how Apple deal with the existing apps on the AppStore.

</comment><comment><USER3> This is why developers need to be careful when choosing which SDKs they use for developing apps.

<comment><USER2> Totally - Sounds like they started as a legitimate Ad SDK too!</comment></comment>


Ask HN: Am I paranoid or is Mailchimp lax about API security? - <AUTHOR>

I'm using Mailchimp's API and found that the api key is transmitted over HTTP for many accounts. For example, the accounts that use the WordPress plugin Mailchimp distributes.
The api key gives you access to all mailing lists in that account.
I mentioned this to Mailchimp as a security concern, but their representative didn't seem worried.
I'll be using SSL, however am I being paranoid, is this just not something to lose sleep over?
For more background, here's the discussion I had with Mailchimp support: http://groups.google.com/group/mailchimp-api-discuss/browse_thread/thread/a868a0f48e309930/7886904dd01ad640 <comment><USER2> The API Key/Access Information should be kept secret. At a minimum I can get some account, campaign information, etc. No private information like Credit Card numbers is available.

<comment><AUTHOR> With the API key, my understanding is you can use the API to access all the email addresses and customer names on that accounts mailing list(s), which for some companies is one of their most prized assets.

</comment></comment><comment><AUTHOR> Clickable, shortened link: <http://bit.ly/cvck2Z>

</comment><comment><USER3> I wouldn't worry about it.

Traffic sniffing is mostly a concern for computers connected to public wireless networks. A linux machine, in a datacenter, connected via an ethernet cable doesn't have much to worry about.

<comment><USER4> This is incredibly bad advice. Do you know who has access to your datacenter? Who has access to plug devices into the switch that your server lives on? Does your network provider regularly audit their gear to make sure it hasn't been compromised? How do you know?

If you think traffic sniffing is "just for wifi", you're out of your mind.

<comment><AUTHOR> Thanks for providing an alternative view, I'm going to be using SSL for sure. The more I think about it, the more I'm amazed that Mailchimp don't make a bigger deal of getting people to use SSL.</comment></comment></comment>


Ask HN: "Just Works" Solution for MIT OpenCourseWare? - <AUTHOR>

I was looking at the MIT OpenCourseware and it's not very easy to use, or learn from. It's not presented in a particularly intuitive way. What about a "just works" front-end for MIT OpenCourseware that would help people learn from home?
For example, if you wanted to get a solid understanding of Computer Science through MIT's OpenCourseware, but didn't know where to start this would help you find your way.
In other words, Blackboard for OpenCourseware that doesn't suck
What do you guys think? <comment><USER2> You miss the point of OpenCourseware. It is to help other professors put together high quality classes, not for self learning. That is why they have lecture notes and not much else.

The only thing I would think you could do would be to provide better organization maybe based on MIT's degree plans, and forums so people could interact. Maybe "register" for classes so you feel like you have deadlines when homework is due and the like.

<comment><AUTHOR> Most of the classes on there have lecture notes, videos, assignments, and projects. They basically have the entire participating classes online. If there was an educational medium that combined all of the OpenCourseware's with other free online educational content providers like Khan Academy, it could be really helpful.</comment></comment>


Finally a Solar-Powered Air Conditioner: 6 Tons of A/C Using 4 Solar Panels - <AUTHOR> http://www.treehugger.com/files/2009/02/solar-powered-air-conditioner-ac-coolerado.php

<comment><USER2> This is an evaporative system, and will need quite a bit of water to operate. I'm not sure what the cost of water / electricity are in the target area for this AC unit, but here the cost of the water would offset the energy gains.

It's still a neat accomplishment, and if you have access to a stream then it might be the thing to do.

A neat alternative to evaporative systems are double-stirling cycle systems, one engine driven by the sun, the other driven by the first to cool air using it in reverse.</comment>


Tell HN: Cloudflare DNS doesn't resolve videolan.org - <AUTHOR> Cloudflare DNS, aka 220.127.116.11 and 126.96.36.199, doesn't seem to resolve videolan.org right now, or any of its subdomains. Google DNS (22.214.171.124) seems to work fine, and ns[01].videolan.org resolves it fine as well. Because of this, I can no longer access the VLC site without switching my entire DNS.
Anyone know why this is happening? Queries for videolan.org are also taking >1900 msec occasionally.
EDIT: This appears to be a Toronto issue. <comment><USER2> It resolves just fine for me on 22.214.171.124:

        nslookup videolan.org
        Server:  188.8.131.52
        Address: 220.127.116.11#53

        Non-authoritative answer:
        Name: videolan.org
        Address: 220.127.116.11

<comment><USER3> You and makeworld are not likely in the same AnyCast zone and are likely hitting different datacenters and clusters. The cluster they are hitting may have a temporary problem. They should contact CF support and provide their IP and the output.

<comment><AUTHOR> Yes, seems like a Toronto issue. Where can I contact CF?

<comment><USER4>
        dig @184.108.40.206 videolan.org
        dig @18.104.22.168 videolan.org

resolve fine for me now in T.

<comment><AUTHOR> Still having the issue, weird.</comment></comment></comment></comment></comment>


A Symbolic Analysis of Relay and Switching Circuits (1936) [pdf] - <AUTHOR> https://dspace.mit.edu/bitstream/handle/1721.1/11173/34541425-MIT.pdf <comment><USER2> And thus the boolean algebra entered digital circuit design. Shannon was such a boss.

<comment><USER3> Yeah, I'd say Shannon's master thesis was the start of the modern computing era.

<comment><USER4> or herald of a dark age of network technology (in no way am I insulting Shannon)

there are problems that come up in web development that were solved by electrical engineers 100 years ago

<comment><USER5> Examples, if you please? I am very interested, as computer science (broadly speaking) seems to be a field in which, with higher incidence than might be expected, the ancients knew certain things better (or knew fewer worse things) than the present.

<comment><USER6> Not web development per se, but Clos Networks[0] were originally designed for telephone systems and re-emerged in large datacenter networks[1].

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

[1] [http://research.google.com/pubs/pub43837.html](http://research.google.com/pubs/pub43837.html)

</comment></comment></comment></comment></comment><comment><AUTHOR> Robert Gallager ([https://en.wikipedia.org/wiki/Robert_G._Gallager](https://en.wikipedia.org/wiki/Robert_G._Gallager)) talk at MIT on Claude Shannon, "the most important master's thesis ever written": [https://www.youtube.com/watch?v=neA0NJNUEfM](https://www.youtube.com/watch?v=neA0NJNUEfM)

</comment><comment><USER7> Imagine the pain this guy went through when typesetting this thesis. All Hail TeX!</comment>


Colorado Weighs Replacing Obama's Health Policy with Universal Coverage - <AUTHOR> http://www.nytimes.com/2016/04/29/us/colorado-weighs-replacing-obamas-health-policy-with-universal-coverage.html <comment><USER2> 10% tax on the self-employed? That is devestating, especially when you consider that 1099's also pay 100% of of their own payroll tax.

Why is it that those who have managed to escape from the slavery of employment always get thrown under the bus by those who haven't?</comment>


Introducing O.W.L.S. - <AUTHOR> http://www.waterstones.com/blog/2013/12/introducing-o-w-l-s/

<comment><USER2>
      Q: But owls aren't robots, they're birds.
      A: That's the end of the questions, thank you.

Ha, nice to companies having a bit of fun. Worth the quick read.

I'd rather have companies release occasional posts like this throughout the year, rather than everyone trying to cram theirs into the 1st April.

<comment><AUTHOR> Bookshops (at least here in the UK) have been almost totally eradicated by Amazon (especially on the high street) so it's nice to see Waterstones (pretty-much the last survivor) poking a little fun at its exterminator.

<comment><USER3> Doesn't Amazon now own a stake in Waterstones?

<comment><AUTHOR> I don't think so. They seem to have an agreement where Waterstones sells kindles & e-books but that's about it.

[http://en.wikipedia.org/wiki/Waterstones](http://en.wikipedia.org/wiki/Waterstones)

</comment></comment></comment></comment><comment><USER4> Site is farked. Relevant YouTube: [http://www.youtube.com/watch?v=agpB5FVMkOg](http://www.youtube.com/watch?v=agpB5FVMkOg)

</comment><comment><USER5> When reading about Amazon developing air service for parcel delivery, I was at a loss as to how to take it. Obviously this wasn't anything that was going to happen soon. Obviously this was a big PR win for Amazon. Obviously my fellow HN'ers would love such a suggestion. And obviously who even knew if it would ever happen?

It's not that I didn't believe Amazon, or Google. It's that there seems to be a trend of early release of nerd-candy for R&D projects that may or may not see the light of day. I'm a huge Elon Musk fan, and that's exactly what happened with the hyperloop. The hyperloop may become a reality -- or it may not. In either case, Musk got a great deal of PR for stringing us all along and then making the announcement. I don't feel tricked, but I'm definitely starting to feel manipulated.

Since this is such a tricky issue, humor looks like the best way forward. Nobody need go to extremes and call anybody out. I think everybody is acting in good faith. But it's also easy to generate a lot of hoopla over _ideas_. Execution is a different matter entirely. And the best way to show that is to spoof it.

tl;dr I liked this post. Made a similar tweet this morning. [https://twitter.com/danielbmarkham/status/407526820784140288](https://twitter.com/danielbmarkham/status/407526820784140288)</comment>


Antibiotic-resistant superbugs could be worse than Covid-19, writes professor - <AUTHOR> https://onezero.medium.com/antibiotic-resistant-superbugs-could-be-worse-than-covid-19-a732bc3b944c <comment><USER2> It takes a crisis to cause big change in policy, I'm going to bet that we're not going to be ready for this either. Until then antibiotics will be overused because of how convenient they are. No way feeding of millions of livestock is going to stop any time soon for example, that would cost too much. Until it costs us everything as is happening now.</comment>


The brain learns completely differently than we've assumed - <AUTHOR> https://medicalxpress.com/news/2018-03-brain-differently-weve-assumed-20th.html <comment><USER2> The Nature paper is open access, looking into it. It seems just adding another layer of activation function. Input to hidden layer 1 is called synaptic and Hidden layer 1 to output is called dendritic. Can someone explain what how the update rules, are different from backprop?</comment>


Wi-Fi signals enable gesture recognition throughout entire home - <AUTHOR> http://www.washington.edu/news/2013/06/04/wi-fi-signals-enable-gesture-recognition-throughout-entire-home/

<comment><USER2> _> A standard Wi-Fi router could be adapted to function as a receiver._

The article and the embedded video do not make it entirely clear but if this technology could be deployed in existing Wi-Fi routers with relative ease [1] then it could have far-going implications for both privacy and the physical security of anywhere where there's Wi-Fi. Once it's easy enough to deploy on a hacked device that a hired script kiddie can do it even simple burglars could take an interest in residential routers to know when nobody's home.

I wonder if this will affect the market for embedded Linux security consulting in a major way.

[1] I.e., without modifying the hardware and with no need for manual calibration.

<comment><USER3> From the paper [1]

 _The WiSee proof-of-concept is implemented in GNURadio using the USRP-N210 hardware._

 _Each USRP is equipped with a XCVR2450 daughterboard, and communicates on a 10 MHz channel at 5 GHz. Since USRPN210 boards cannot support multiple daughterboards, we built a MIMO receiver by combining multiple USRP-N210s using an external clock. In our evaluation, we use MIMO receivers that have up to five antennas. We use single antenna USRP-N210s as transmitters._

So basically, they are using 6+ USRPs at $1400+ each to do these experiments. However, since each USRP is communicating on a 10MHz channel at 5GHz, someone with between two and five MIMO 802.11n Wi-Fi devices could theoretically do the same.

[1] <http://wisee.cs.washington.edu/wisee_paper.pdf>

<comment><USER4> I think you'd still have to hack the routers to provide the external clock, as the whole scheme depends on accurate sensor fusion between multiple antennas.

<comment><USER5> Not only you have to hack the routers, once inside the router you'll have to flash a custom wireless firmware, or "radio" firmware. And also the Chipset must be flexible enough to allow all the iFFT shenanigans. I think it's a stretch to say you could do this with a common wifi device, maybe with a very specific wifi chipset you could, and maybe you could make it work with bluetooth or wireless phone chipsets aswell.

That said, it's an excellent paper about a soft-based radar.

</comment></comment></comment></comment><comment><USER6> This sounds a lot like the mobile phone sonar that Batman used in the Dark Knight which seemed utterly ridiculous to me and many others at the time:

[http://sfblunders.wordpress.com/2008/08/07/dark-knight- sonar...](http://sfblunders.wordpress.com/2008/08/07/dark-knight-sonar- phones/)

</comment><comment><USER7> Ok DD-WRT folks, get to it :-) More seriously though, this is a pretty cool thing, using your motion which is blocking wireless signals to detect motion. In hindsight its kind of obvious since people are 'giant waterbags of attenuation' as my RF buddy calls them. This also means you can probably add something of a burglar alarm/motion sensor system to these things, and if you were careful you might be able to see the movement of people inside a house by looking at the WiFi signal leaving the house. Certainly if you're carrying around and active phone/tablet that would be trivial to do from outside (and by trivial I mean you would have lots of signal to work with and the math would be straight-forward, not that it would be simple)

<comment><USER8> We can track people, cool! And probably kids too! What about dogs and cats? Rats, mice, and cockroaches?

What's the range on this technology, and what happens if we move the router around with us? Maybe we take it to a new building and plug it in there? Or maybe we can use the wifi modules on phones to do this also? It sounds like a great scanning device. And how long before we can also see huge chunks of metal or strong magnets with this technology, based on how radio waves interact with them?

<comment><USER9> 6cm is the wavelength at 5GHz and most sensing devices have issues with sub- wavelength objects. If you're paranoid you can hang a bunch of strips of aluminum foil that are 3cm long all around your house, which could confuse the sensor. (see <http://en.wikipedia.org/wiki/Chaff_(countermeasure)>)

<comment><USER10> Work is underway on 60Ghz Wifi, which has wavelengths of only a few millimeters.

[http://www.pcworld.com/article/2030041/meet-60ghz-wi-fi- the-...](http://www.pcworld.com/article/2030041/meet-60ghz-wi-fi-the-insanely- fast-future-of-wireless-networking.html)

In a few years we could have tri-band routers covering 2.4Ghz, 5Ghz and 60Ghz. Correlating the info from all these frequencies should provide a much better picture.

</comment></comment></comment></comment><comment><USER11> Oh the possibilities of this - may be with enough data \- you can just wander around a suburb and figure out which houses are currently occupied and which ones are not. \- improve aged care by monitoring walking patterns \- combine it with some more ingenious technology for localised sound -- you can beam music as I walk around the house (or block out sounds)? \- a bit more sensitivity and we can even probably pick up a person while they are having or just about to have a heart attack?

I am sure the privacy folk out there are having multiple heart palpitations.

All I want to say is "bring it on"

<comment><USER12> And maybe predict domestic violence before it happens.

I'm not sure if I qualify as one of the "privacy folk" or not, but I would say "As long as the police cannot compel you to install the thing and switch it on, or have an AI system issue search warrants in seconds based on what the machine reports." Unfortunately I think we will have both of those things 20 years from now.

<comment><USER13> There is no need to force anybody to install and turn on anything - they could just passively monitor the signal of your wireless router, our that of your neighbor or of your cellphone. Or they could actively send such a signal and analyze it if they don't care about being detected. In the end it is some kind of (passive) radar and you will probably have to actively jam or block it in order to prevent someone from monitoring you.

</comment></comment></comment><comment><USER14> Look out for lots of <img/> tags pointing to <http://192.168.1.100/epic_firmware_fail.cgi?sploit=PAYLOAD>!

</comment><comment><USER15> > Neighbor: Why do you always wave your hands around?

> Me: It's the preamble to the spell where I invoke the deamons

> Neighbor: Why the stick?

> Me: Improves gain

</comment><comment><USER16> I've often wondered is to what extent existing RF noise as "illumination" could be leveraged to effect some kind of passively acquired representation of objects. Resolution would of course be limited by wavelength but improved if the antenna array was physically moving in a describable manner. We had useful SAR during the cold war and orders of magnitude more compute power today. If you know of more efforts along these lines from hacker to research level, please post a link.

</comment><comment><USER17> Can this differentiate between multiple humans gesturing at the same time (intentional or otherwise)?

What about pets moving around or turning the shower on?

<comment><USER18> Your pet turns the shower on? That sounds like a real problem

<comment><USER19> I think he refers to having a system that, using this approach, turns on his shower when he enters it. If this cannot distinguish humans from cats, it would turn on the shower when a cat entered it.

I think that's a bad example. The typical cat would soon learn not to enter the shower.

<comment><USER20> > I think that's a bad example. The typical cat would soon learn not to enter > the shower.

My black lab, however, would enter the shower every time I forgot to close the door.

</comment></comment></comment></comment><comment><USER21> So this was basically an S-band radar with a home wifi router? Can we make a mosquito zapper lazer with it?

<comment><USER22> You could probably, it wouldn't work very well. Either way, Nathan Myhrvold, evildoer and all-around asshole, would sue you for patent infringement. I recommend making a Myhrvold zapper laser first.

</comment></comment><comment><USER23> Love this idea. However 94% accuracy is not good enough. You need to be able to trust your action will lead to the desired result. 94% is like Siri getting your whole text message right, but getting the recipient wrong.

<comment><USER24> A lot depends on what happens the 6% of the time it fails. If failure just means that it fails to recognize that there was a gesture, then 94% is probably fine. It's not that big of a deal to have to gesture twice 6% of the time to turn off a light or skip to the next track.

Failures where the gesture is recognized as another gesture would be a lot more annoying.

</comment></comment><comment><USER25> Just wondering, do standard wi-fi chipsets provide the raw signals needed to implement things depending on spectrum-analysis like this? Some super-raw mode? How about Bluetooth chips? Sound chips (for supersonic)?

<comment><USER25> it should have been "ultrasound" instead of "supersonic" ;)

</comment></comment><comment><USER26> Great; so next time I sneeze, I'll accidentally turn on the garbage disposal?

Seriously, though, it reminds me of the "house of the future" from one of those ubiquitous films they showed us in elementary school way back in the day.

</comment><comment><USER27> Honestly, the most exciting aspect of this would be in being able to just have a passive scanning system that can identify where in the house my kids are.

</comment><comment><USER28> Could be useful in prisons to keep tabs on the general population without having to use cameras.

</comment><comment><USER29> This may not be something we want.

<comment><USER30> It's going to happen anyway.

<comment><USER31> probably not, home automation has been "right around the corner" for 60 years.

<comment><USER32> Home automation exists and is cheap. There's a huge niche industry built around it. The problem is that people don't actually want it as much as they say they do. That doesn't mean it doesn't exist.

<comment><USER33> I think they are still a bit too expensive for people. You can either get a whole system for several dozen kUSD, or single elements (e.g. smart outlets) for ~$100 each. The former is a significant expense people might not want to pay at once when buying homes, and the latter is a bit too expensive to buy one by one, because you require to have at least few of those devices before the system starts to get useful.

<comment><USER32> It's not nearly that expensive, though. A light socket is in the neighborhood of $15. A wall socket is less than $25. A transceiver is $30. For just over $100 you can get the controlling software, two wall switches, two light sockets, and a transceiver.

[http://www.thehomeautomationstore.com/x10-home- automation.ht...](http://www.thehomeautomationstore.com/x10-home- automation.html)

<comment><USER17> Oh, but don't use CFL bulbs with those wall switches or light sockets.

...and good luck determining whether the device is on or off.

<comment><USER32> That's not the point, and there are units which address those concerns. The point is, home automation is not "right around the corner", it's here today and it doesn't take a millionaire to have a smart home. The sticking point is not technology nor is it money, it's that people have realized they don't really want that.

<comment><USER17> The technology you refer to has not changed since 1975.

It is a stretch to call this smarthome technology considering the ban on incandescent bulbs, which completely eliminate X10s ability to dim or fade bulbs (because you are using CFL, and if you use a x10 dimmer on a CFL, you can burn down a house), and writing any sort of logic based on whether the device is on or off is not possible.

Now Insteon supports bi-directional communication and you can determine state, but you are looking at $45 per outlet or switch versus the $8 X10 stuff.

So, yeah, still out of most people's price range, unless you want to settle for over 30 year old technology.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER34> I'm nowhere near to be techno-apocalyptic, but I just thought that from a "1984" point of view it could be a tool to monitor activities without no permission at all.

<comment><USER35> And wearing a tin foil hat just makes you a better reflector!

Anyway, if you look up through-wall radar detection, most of the implementations use S-band radar, and it is probably safe to assume that it's already been figured out how to use wifi stations and devices already in place emitting signals to each other, rather than always needing to bring additional equipment.

With regard to privacy though, it seems like it would be data and computationally intensive to track the movements of people in a large number of houses.

Let's say that a hypothetical application could only detect velocities away from or toward the base station, but no directional information. With each movement you make it would build a set of hypotheses about your location. Then when you make another movement, it would need to branch out, and create an entire set of hypotheses for each hypothesis in the previous set, and so on with each movement. While the program could abandon entire branches when they showed you walking through a wall, it would still grow very quickly.

Though it is possible to mine data of cell phone locations and CC television cameras after the fact, it seems like (if my understanding of how the technology would work is anything near reality) it is simply too difficult to collect a lot of information about people's movements in their homes without a specific prior reason to justify the expense.

Anyway, perhaps rather than tinfoil hats, people worried about surveillance should hang lots of mobile sculptures in their houses to create confounding noise instead.

</comment></comment><comment><USER36> This strongly reminds me of A Deepness in the Sky, albeit the implementation is different and the resolution is probably nowhere near the fictional stuff.

</comment><comment><USER37> If used right, this would disrupt home security industry so hard. It would be possible to get rid of any motion detectors, if I am not mistaken.

<comment><USER38> If I understand this correctly, you would really be replacing one sort of motion detector with another.

The article is talking about phased array stuff, stuff you can't do with stock wifi equipment. All the regular wifi equipment is just providing the "light" the special receiver needs to see.

<comment><USER39> So really, it would make it _im_ possible to get rid of motion detectors. You could never really be sure that one isn't nearby.

</comment></comment></comment><comment><USER40> This is so cool!! I wonder how far off it is to commercial deployment and what licensing plans they may have.

</comment><comment><USER41> How would you get started with this technology or stay updated with this project? I'm keen on its prospects.

</comment><comment><USER42> Bye bye Kinect. Guess we won't be needing you now.

</comment><comment><USER43> They are tracking all our movements via Wi-Fi

</comment><comment><USER44> Damn, I posted this on hacker news before you.

</comment><comment><USER45> It is now on Techmeme, too: <http://www.techmeme.com/130605/p19#a130605p19>

<comment><USER46> What is is, why do I care?

Or are you just spamming?</comment></comment>


Ask HN: Why is it acceptable for a employers to (think they) own my free time? - <AUTHOR>

This is something I've been quietly getting stressed out about for quite some time. I'm currently unemployed, but reading posts on HN and reddit has me concerned about my future as a developer.
I've seen a lot of posts concerning non-compete agreements, and the concept that anything you work on belongs to your employer, not you. As someone who likes to tinker, this scares me.
I'm not saying I'm going to create something that becomes the next Facebook, or even the next Bingo Card Creator. I'm unlike most people here in that I'm risk averse (and self-conscious) to the point of being afraid to start my own business, but I do like to tinker. I've had a number of ideas, ones that mostly don't finish because I get enchanted by my next idea and move on too soon, but I do have the goal of publicly releasing things if they ever finish. I just like to play with code.
I worry, after reading certain posts, that just playing with code, and especially releasing things in public, is playing with fire in this industry. I worry about starting anything because I don't want to get a job and have to kill my project because I hate the idea of some other company being able to swoop in and claim my IP. Maybe these sorts of agreements aren't as popular as I've been led to believe, but the idea still scares me.
What finally led to this post was a comment thread on reddit[1], where someone wanted advice about taking a job with PayPal. One piece of advice was to be wary of these sorts of NCAs, and I commented on it, basically stating there what I'm stating now - these sorts of agreements scare me. I got one reply[2] which said (paraphrased), "if you're working outside the job, then you're not fully committed to me". Statements like this make me want to go dig ditches for a living so that I can keep coding as a hobby without fear.
I'm young and naive, so I definitely assume I'm overthinking and overcomplicating this whole deal, but I don't understand why anyone would give up their every thought to a company.
Can someone shed some light on this? Are these agreements common? Why does anyone agree to them? How can I get a job without being worried about writing an answer on StackOverflow and not getting fired/sued for it?
[1] http://www.reddit.com/r/PHP/comments/mwnva/just_got_a_job_offer_out_of_the_blue_from_paypal/
[2] http://www.reddit.com/r/PHP/comments/mwnva/just_got_a_job_offer_out_of_the_blue_from_paypal/c34in7o?context=3 <comment><USER2> "if you're working outside the job, then you're not fully committed to me".

And if you're not working outside the job, then you're not fully committed to your career.

And for that matter, why should anyone be fully committed to a job? Life is more than a job, and most lives last longer than most jobs.

</comment><comment><USER3> I also enjoy creating small projects and would not enjoy being in the position of not being able to work on them or not being able to to release them. Even though nobody else may really care about what I do, I enjoy the ability to talk about or write about my projects without worry of losing writes to them or being fired.

I'm still a student so I haven't held many jobs yet, but of the ones that I have I have always been able to work on my own projects without worry. What I work on while at work or in the time I say that I will be working becomes the property of my employer and otherwise I can work on what I please (as long as I don't disclose confidential information).

From what I have observed, it comes down to the values of the company and how they wish to handle this issue. It is possible to find work at a company that is fine with you working on other projects on your own time (open source or otherwise). You may also be able to negotiate it in the terms of your employment or even be able to find a company willing to pay you to work on open source projects.

On the other hand, there are companies that really don't want you working on your own projects. I suppose that there are people that are okay with this or want to work at these companies enough that they are willing to sacrifice that freedom.

These are mainly observations of both of my personal experiences and those of people I know for whatever they're worth but I do believe you can find a job where your projects are not an issue.

</comment><comment><USER4> Everything can be negotiated, and non-competes are no exception. A non-compete can be more or less restrictive. Everytime I sign one I try to make sure it's reasonable. That means that you should agree not to compete in the same space you're working on. Everything broader than that you should try to negotiate.

So for any non-compete that reads "anything you do on your free time belongs to the company" you should try your best not to sign it. Negotiate! It makes sense. If you work for facebook and you're building an alternative social network on your spare time, it's reasonable for facebook to claim ownership (because you're likely using inside information). If you're developing a new music distribution software, then you should be ok.

The commitment discussion is secondary. Either you perform according to expectations or you don't. If you don't, the company can fire you. Non- competes are not tools to measure your performance. That's my understanding and the argument I'd use to negotiate non-competes. Non-competes regulate IP. Labor law regulates performance (i.e. commitment).

</comment><comment><USER5> They are less common if you get a job where development or software isn't their main business.

I was the lead developer at a company where I primarily worked on their e-commerce site.

The only NDA I signed was related to their core business. They didn't care about any of my side projects as long as it wasn't in direct competition.

But, these sorts of jobs are usually less fulfilling/interesting.

</comment><comment><USER6> Any employer would have to sue you first and win a judgement, and that would only happen if you became super wealthy. The other thing that is on your side is that anyone vindictive enough is going to be too stupid to pull it off or even understand what your side project is or does. If it's an unenforceable non-compete, who cares? If it's a moonlighting agreement, don't talk about your hobby at work. Above all, realize that people who say stuff like "you're not fully committed to me" are unprofessional idiots. As far as code you create is concerned, it's worthless. Give it away freely. If you give a physics book to a five year old are they going to build a particle accelerator? The real value is the developer as knowledge can't be given away and slavery is illegal.

<comment><AUTHOR> That makes sense to a point, but it's still scary to have that sort of thing hanging over you. This will sound silly, but just thinking about this stuff has my stomach in knots right now - I actually feel physically ill.

After posting this, I found a post on answers.onstartups[1], written by Joel Spolsky, which outlined the reasons why employers make you sign this sort of thing. I understand the reasons he gave, but it also makes me realize that this is just the way the world works for our profession, and I feel trapped and scared by it.

I know I'm never going to make anything in my spare time that amounts to anything, but I still like the idea of throwing stuff (pet projects) at the wall (the internet) to see what sticks (gains me notoriety and/or profit). I get the feeling that it's in my own best interest to just keep my toys to myself, keep my head down, and pound out line of business apps for $50k a year (or the post-inflation equivalent of it) for the rest of my life. I feel dead inside.

[1] <http://answers.onstartups.com/q/19422/14789>

<comment><USER7> More than anything else, you're suffering from a lack of self-confidence.

Try to be _really_ good at what you do, and use that knowledge to build your confidence and assertiveness. This is the subject of countless books, and several past threads on HN.

On a more interesting note, it's surprising/shocking to realize how far one can get with controlled arrogance. An archetypal character to study is the protagonist of the TV series 'House'. (But I'm not at all suggesting that you should behave like him!)

</comment></comment></comment><comment><USER8> my understanding of the matter is that companies do this so that you can't turn around and say "hey, I thought of this main idea of one of your major components in my off time. $$, please.", especially after you've left the company. even companies that have draconian sounding policies often have reasonable procedures for release and common sense policies around commenting on the Internet.

if you're concerned, just make sure you ask at your interview. it will make you sound good and stands as a reasonable bozo filter with regard to the company, for your sake.

</comment><comment><AUTHOR> I just realized I messed up the title. That's what I get for changing it around so much.

Also, here are the clickable versions of my links:

[1] [http://www.reddit.com/r/PHP/comments/mwnva/just_got_a_job_of...](http://www.reddit.com/r/PHP/comments/mwnva/just_got_a_job_offer_out_of_the_blue_from_paypal/)

[2] [http://www.reddit.com/r/PHP/comments/mwnva/just_got_a_job_of...](http://www.reddit.com/r/PHP/comments/mwnva/just_got_a_job_offer_out_of_the_blue_from_paypal/c34in7o?context=3)

</comment><comment> bjelkeman-again Which is one of many reasons I personally really like working with an organisation which releases everything it does open source.

<comment><USER9> Its an idealistic goal but not practical in the cases of companies who have specific niche web applications, etc as obviously then anyone wouldn't have to pay for use of the application

<comment> bjelkeman-again We develop a very specific niche web app which we charge for running even if it free and open software. We live of it, all 15 of us who work with it. So for us it is practical.

</comment></comment></comment><comment><USER10> I can understand not having the drive to try.

But 'Risk averse' and 'unemployed' in Software don't make much sense to me. What risk are you talking about exactly. The risk of failure?</comment>


Yelp for Noise: Soundprint helps noise-averse diners find the quiet restaurants - <AUTHOR> https://www.newyorker.com/magazine/2018/10/01/yelp-for-noise <comment><AUTHOR> I'm sure many of you read "Why restaurants became so loud — and how to fight back:" [https://www.vox.com/2018/4/18/17168504/restaurants-noise- lev...](https://www.vox.com/2018/4/18/17168504/restaurants-noise-levels-loud- decibels). It's a great piece, but I'd not thought about concrete ways of finding consistently quieter restaurants and bars. The _New Yorker_ article feels targeted straight at me.</comment>


Bandit - <AUTHOR> https://granta.com/bandit/ <comment><USER2> A beautiful read, thank you.

</comment><comment><USER3> Interesting read, nicely written.

</comment><comment><USER4> Absolutely beautiful writing.</comment>


Ask HN: Is there a web service where I can ask for stuff? Items, not services. - <AUTHOR>

<comment><USER2> Listia, Jig, Craigslist

</comment><comment><USER3> zaarly</comment>


The Myers diff algorithm: part 1 - <AUTHOR> https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1/ <comment><USER2> There's also patience diff[1], which does a better job in some situations[2] (you might not normally see these inferior diffs because the diffs are massaged after the LCS algorithm).

[1]: [http://alfedenzo.livejournal.com/170301.html](http://alfedenzo.livejournal.com/170301.html) [2]: [http://bramcohen.livejournal.com/73318.html](http://bramcohen.livejournal.com/73318.html)

</comment><comment><USER3> Fyi... a related wiki page about LCS (Longest Common Subsequence) with more diagrams and pseudocode: [https://en.wikipedia.org/wiki/Longest_common_subsequence_pro...](https://en.wikipedia.org/wiki/Longest_common_subsequence_problem)

</comment><comment><USER4> I strongly encourage people to read about the lesser-known Tichy diff algorithm too: [https://bryanpendleton.blogspot.com/2010/04/more-study-of- di...](https://bryanpendleton.blogspot.com/2010/04/more-study-of-diff-walter- tichys-papers.html)

</comment><comment><USER5> I don't understand why there isn't a better code-aware diff tool available, like an AST diff. When I split a method up, or add an if statement, can't we detect that most of the code didn't change, it was just moved around?

This is the biggest frustration to me when doing and sending code reviews, having to explain "I know it's a 5 thousand line change, but I really didn't change any of the logic, I just moved the class into a subclass which caused an indentation change."

<comment><USER6> I get your point, but for the indentation case in particular you can use `git diff -w` or append `?w=1` to a github PR url.

<comment><USER5> Except in Python where indentation changes are meaningful.

        def coalesce(*args):
          while args:
            next = args.pop()
            if next is not None:
              return next
          return None

        def coalesce(*args):
          while args:
            next = args.pop()
            if next is not None:
              return next
            return None

</comment></comment></comment><comment><USER7> This is part of the Elixir standard library

[https://hexdocs.pm/elixir/List.html#myers_difference/2](https://hexdocs.pm/elixir/List.html#myers_difference/2)

[https://github.com/elixir- lang/elixir/blob/master/lib/elixir...](https://github.com/elixir- lang/elixir/blob/master/lib/elixir/lib/list.ex#L772)

</comment><comment><USER8> Does anyone know a way to modify this algorithm to list out all the possible solutions? I asked something similar in stack overflow: [http://softwareengineering.stackexchange.com/questions/34298...](http://softwareengineering.stackexchange.com/questions/342985/how- can-i-modify-the-myers-diff-algorithm-to-choose-between-different-answers)

</comment><comment><USER9> Any in-depth article on string diffs should mention alignment algorithms such as Smith Waterman [1]

[1] [https://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorit...](https://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorithm)

<comment><USER10> All string diff algorithms in alignment derive from previous innovations on raw strings. SW is a derivative of NW, which itself (although the paper does not admit it) derives from the work done on edit distance in the mid 60s). It's actually interesting that this algorithm was rediscovered independently multiple times within a short time frame.

Also, the "Myers" in the article has worked a bit with sequence alignment. He helped design the BLAST algorithm (with Altschul) as well as suffix arrays (with Manber), the algorithms that reassembled the human genome for Celera, and finally, dropped the ultimate bomb: [https://academic.oup.com/bioinformatics/article/21/suppl_2/i...](https://academic.oup.com/bioinformatics/article/21/suppl_2/ii79/227189/The- fragment-assembly-string-graph)

<comment><USER11> _All string diff algorithms in alignment derive from previous innovations on raw strings._

For some applications, it's more useful to just take the hash of each line and compute line diffs from an array of hashes. Diff algorithms which ignore whitespace changes sometimes do this.

Few algorithms recognize text re-ordering. This is a problem with Wikipedia diffs, where rearranging text is commonplace. Displaying the changes might require big arrows, but there's no problem with that today.

<comment><USER12> _Few algorithms recognize text re-ordering._

WinMerge[1] does. Unfortunately it's no longer under development. (I've been looking for an equally-capable tool for Macs but have found nothing...)

Do you know which algorithms recognize reordering?

[1] [http://winmerge.org/](http://winmerge.org/)</comment></comment></comment></comment>


Closures for Java - <AUTHOR> http://blogs.sun.com/mr/entry/closures

<comment><USER2> In the absence of the ability to capture non-final variables, the proposal does not add closures to Java, only 'function-literal syntax' for specific use cases, or for the java community 'anonymous-function' is lieu of more verbose 'anonymous-classes'

</comment><comment><USER3> The is a positive step, but the lack of control abstraction is a terrible shame. With control abstraction I could really cut down the boilerplate code.

</comment><comment><USER4> Too little, too late.

<comment><USER5> Why, There a lot of organizations that have allot of invested time, training and code-base in Java. Even if no new features where added to another Java application, adding closures to ease the maintenance of existing code is justifiable enough.

Like it or not Java is the enterprise language and Ruby, Scala, Haskel et.al. are not going to take that crown any time soon, just as it took Java a long time to supplant COBOL, one of them will have to grind it's way in inch by inch. The fact of the matter is that for what Java is intended for, it does a very good job so it is not in the same seat that COBOL was.

I dislike Java (from a personal enrichment perspective) as much as the next guy, but it is never too late to improve a language with such a useful feature, especially a language that is going to be the dominate language for the foreseeable future.

<comment><USER6> _it is never too late to improve a language with such a useful feature_

I have a different hypothesis. Every feature you bolt on decreases the learnability of your language, decreases the navigability of your documentation (the books are now 20% thicker, and the old books and web pages are now useless), and decreases the odds that two programmers who "know Java" can actually read each other's code.

It is also very hard indeed to introduce a new feature while preserving the functionality of existing code. The gyrations and compromises that are required are often enough to destroy most of the value of the new feature. Better to build a new system around the feature and let it shine, not struggle to fold a bastardized version of it into the old system.

The time to tinker with your system is when it is young. When the system is old, and people have already built their lives around it, it is too late to remodel the foundation. You can take this principle too far [1] -- it is important to enjoy your youth fully, not settle into premature senescence -- but any system which becomes popular will sooner or later reach maturity.

Eventually your codebase, installed base, community, and documentation reach the point where every time you change something important, you lose more in coherency than you gain in power. [2] At that point your system is mature. The best thing you can do at that point is to accept the facts of life and let the system settle into its role -- preserve the value of the work you've already done, the books and lectures you've already written, the people you've already trained; then build on that work by calling its APIs -- while working on a new system on the side. Because it is, in fact, often better to have two or three smaller, comprehensible systems with fundamentally different features and maturity levels -- Erlang for the telephone exchange, Lisp for the airline- schedule AI, PHP for the three-line CRUD web page -- than a gigantic system that is constantly remodeling to add more corner cases, like the Winchester Mystery House.

Of course, Java's designers have never believed this hypothesis, or they would have left well enough alone years ago.

\---

[1] As in the legend of the "make" syntax, which supposedly remains broken because, by the time the designers realized it was broken, they already had ten users and felt it was too late to fix. Don't worry about the first ten users. By the time you have a million users, however, it might be time to start thinking about stability.

[2] Think: _Windows_. It's mature. It no longer seems to be possible to make major changes in the fundamental structure of that operating system. And that's not necessarily a bad thing, unless Microsoft insists on trying, spending billions of dollars and most of a decade and breaking a lot of existing infrastructure in the process.

<comment><USER7> I somewhat agree with you in that Java should have made bolder moves earlier on to provide some of these features and not lash itself to a bunch of backwards-compatibility cruft.

And maybe a bunch of language changes right now will muddy the water a bit - but as far as I can tell, most of the new language features in Java 7 will cut down considerably on boilerplate and unnecessary verbosity, which should go a long way toward making code _more_ understandable, which will be a breath of fresh air.

If a little bit of altered syntax like what's being proposed is enough to make anyone's head explode, maybe they should reevaluate whether software development is really for them. And if your enterprise's codebase and culture isn't ready for language changes, nobody is going to force you to switch to Java 7.</comment></comment></comment></comment>