Google AMP – A 70% drop in our conversion rate - <AUTHOR> https://medium.com/the-set-list/google-amp-a-70-drop-in-our-conversion-rate-35fe3cb69c59 <comment><USER2> Question: If what makes AMP fast is the restrictions on size, JS, and CSS, and you know this and want to conform to this, why do you need to use AMP? Why not just develop your site like this anyways? Is the lightning bolt really that worth it? I'm not convinced that (any more) Google prioritizes AMP pages beyond the coincidence that they prioritize faster ones and they are faster.

Also, I wonder if I'm the only one that avoids AMP-based sites out of principle. I highly doubt it affects your conversions (I'm not really the easily "convertible" type), but makes one wonder if there can be effective web tech boycotts.

<comment><USER3> AMP's innovation isn't a way to make pages fast. AMP is a way to sell other stakeholders on implementing technologies that make your website fast. All the stuff AMP does is stuff you could do yourself without the extra request to amp.js and the extra work to amp-ify your pages.

But imagine you've got an advertising department that wants three different ad networks, a couple different managers that want to see stats from a couple different analytics platforms, and and the designer wants to load a font from fontsquirrel and another one from typekit and another one from google web fonts, and as a developer who wants to keep the site fast you have to fight them every single time they want to add something else that slows your site down. Having the same fight every time, with everybody else saying "oh, it's just one request. and this one is really critical" it's hard to keep fighting that fight.

It's a lot easier to say "i can't do that, it doesn't work in AMP". If you can find a better way to convince large organizations that page load speed is a valuable metric, and more important that whatever other resource they want to load today, I'd love to hear it. But from what i've seen, AMP is the only thing that's had any success in tackling this problem.

<comment><USER4> This. AMP was a blessing for me honestly. I can now maintain a version of our new site that isn't bogged down with tracking and flavor-of-the-month JS feature garbage.

I've been fighting against adding additional tracking forever, but constantly get railroaded by marketing because "they're the ones that know how to make us profitable."

Fundamentally I hate what it means for the internet, but I finally have a little power to say "no we can't do that."

<comment><USER5> It is astonishing how hard it can be to internally sell any kind of web quality features to management in both for profit and non-profit organizations.

There is also a real herd effect. Many people will do whatever Matt Cutts tells them because they think it will be good for their SEO. Yeah right. Some of the people who are good at SEO either went to work for huge brands or quasi-competitors of Google (like about.com) that might have some ability to bring Google to anti-trust court; most of the others switched to paid advertising once they figured out that Google won't let you win at SEO.

Certainly people who write for Spamium (aka Tedium) are the ones who try herd- following methods of getting traffic and they tend to be impressed when they get 100 hits on their blog.

<comment><USER6> Why not provide the bottom / top line impact of page optimization? Your business's profitability is the most important thing to your bosses. They do not care about making the web good, nor should they IMHO. Your job is to show why both parties' incentives are actually aligned, not opposed.

<comment><USER7> Death by a thousand cuts. Everyone wants to add _just one little resource_ , until you end up with 8MB pages with 20 seconds time to interactive. They can all make a plausible argument for how their _one little resource_ will improve the bottom line, even considering the performance impact. If you have one person or one team responsible for performance, they're constantly fighting on all fronts just to stand still. You need a business-wide performance-oriented culture, which is very difficult to develop and maintain.

<comment><USER8> "You can add your just one little resource, but unfortunately the loading time goes over the limit - you need to identify other resource(s) that can be removed first."

<comment><USER7> Hard performance targets can work, but only if you have full buy-in from management. If you don't, someone is going to persuade a higher-up to make an exception _just this one time_ and the whole thing falls apart.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm a contributor to AMP and also work on Google Search. We're currently investigating the issue of the blank page that's mentioned in the article. So far we've been able to reproduce the issue using the Chrome emulator; however, we haven't been able to repro on an actual device, either Android or iOS. So we'll keep digging into this.

The article also mentions the impact on conversion rate. We're interested to learn more details surrounding this. Blank pages loading for many users would explain a lower conversion rate but we'd like to figure out if there's any other possible cause since it doesn't currently seem like most users hit a blank page in actual usage. I'll get in touch with the article author to see if there's openness to digging in further.

<comment><USER10> It's great that you guys are receptive to these issues but I can't help but wonder if, instead of solving this with what is clearly unpopular technology, we all would have been better off if Google had encouraged better practices?

If, as the article implies, Google will give me the same rankings if I do things to get the same performance as an AMP page then I would rather do that.

<comment><USER11> > if Google had encouraged better practices?

Google has been using indicators like page performance in their ranking algorithm for quite a while now, so to be fair, it doesn't look like it helped that much. A single label and clear prioritisation apparently make it a far easier sell within companies.

<comment><USER12> That might be a more believable explanation of why they did it if they weren't hijacking the content and hosting it on their own domain with left-right swipes that take users off of your site. Users don't actually visit your site, but they visit a restricted shell of it on google.com.

<comment><USER11> I'm not a fan of AMP either; just wanted to point out that it's unfair to say Google should have encouraged better practises when they did just that.

(Not that I'm a fan of Google/any single company having to be that warden, but I digress.)

</comment></comment></comment></comment></comment><comment><USER13> AMP is a terrible product and an abuse of market position, but the ego behind it means nobody cares what users think, and it will be touted as a success on someone's performance review no matter what.

<comment><USER14> It's the most user-hostile thing Google has yet done, and I'm including things like Google Wave, the death of Google Reader, and things like removing "view image" from image search results. I loathe getting AMP results. It's always a struggle to get to the real site.

<comment><USER15> Why do you think Google Wave was user-hostile?

<comment><USER16> It was meant to replace email, an open standard sporting many interoperable servers and clients, with something that Google controlled, even though it was theoretically federated.

After Wave failed, they doubled down on making Gmail into more of a nonstandard product with reduced interoperability (now requiring Gmail API instead of standard IMAP) and increasingly, embrace & extend functionality such as email expiration dates.

<comment><USER17> It wasn't theoretically federated. It was actually federated. Interop outside Google actually happened.

Is something not working with gmail's imap support?

<comment><USER16> Issues with Gmail IMAP as voiced by other people:

[https://news.ycombinator.com/item?id=16951363](https://news.ycombinator.com/item?id=16951363)

[https://www.dvratil.cz/2014/06/improved-gmail-integration- in...](https://www.dvratil.cz/2014/06/improved-gmail-integration-in-kde- pim-4-14/)

[https://productforums.google.com/d/msg/gmail/9A5oYELFbu8/7iq...](https://productforums.google.com/d/msg/gmail/9A5oYELFbu8/7iq7WTVrBAAJ)

[https://github.com/mscdex/node- imap/issues/71](https://github.com/mscdex/node-imap/issues/71)

[https://freron.lighthouseapp.com/projects/58672/tickets/1247...](https://freron.lighthouseapp.com/projects/58672/tickets/1247-gmail- labels-with-non-ascii-characters-not-working#ticket-1247-7)

Sure you can still access Gmail through IMAP, but if it works differently enough that using a standard IMAP client feels cumbersome and unfamiliar, is it really anything else than a vehicle to tell people that they should really just use the "better" Google product directly?

That said, my original wording of "requiring" the Gmail API was poor and I should have phrased it more accurately.

<comment><USER13> IMAP sucks at not destroying your battery though. That's why everyone was using the (also proprietary) activesync provided by exchange.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> AMP has a pretty bad user experience that is unrelated to performance: It's super confusing for me when I am on a news site and the url bar shows a long unfamiliar string. It actually makes me feel like I need to check if I'm on a fishing site or I was misdirected or I misclicked.

<comment><USER19> It's also annoying to have the amp menu bar taking up space at the top. Screen real estate is scarce and another menu bar at the top is just confusing.

<comment><USER20> In Mobile Safari, it's even worse as the bottom navigation bar is present when the page loads and then stays present.

Since AMP uses an overflow technique to handle content/scrolling, the page never triggers a scroll event on the body. So not only do you see a toolbar at the top (which admittedly, slides out when you scroll down), you see the browser toolbar at the bottom (which persists!)

</comment></comment></comment><comment><USER21> > Sometimes I get blank pages.

I got them very frequently (as a user). This coupled with the inability to turn off AMP finally pushed me to use DDG as the default search engine.

<comment><USER22> Google actually deliberately makes the page blank with an 8 second animation to show it again. They remove this animation in JavaScript.

[https://www.ampproject.org/docs/fundamentals/spec/amp- boiler...](https://www.ampproject.org/docs/fundamentals/spec/amp-boilerplate)

<comment><USER23> I guess this is there as an "avoid showing unstyled content at any cost" thing. But really, WTF?

<comment><USER24> "Let's make the web fast and light! Users will love it!" "Also let's artificially hide content so it feels like it loads slower. Users will love it!"

The aversion to flashes of unstyled content is so absurd sometimes...

</comment></comment></comment></comment><comment><USER25> Google restricts access to the search results carousel to AMP. If they did it in a neutral manner by measuring performance almost all of the criticism would evaporate.

<comment><USER2> Eek, I wasn't aware they were still doing that, but I confirmed myself. I abhor the practice here, and am now committed to not clicking any more AMP links.

<comment><USER26> I just searched "news" in Google on mobile and 2 links were non-AMP in my carousel... (ctvnews.ca and thestar.com) but they were heavily optimized in an AMP-like way.

</comment></comment></comment><comment><USER27> Yeah, the display of AMP pages, even on Android devices, is absurdly user- hostile. The textless "link" icon to get to the actual content, the loss of the critical "find in page" command, the loss of screen real-estate when the browser already has a bar.

It's an odd worst-of-both-worlds implementation where it has made the compromises needed to display it in a vanilla Chrome browser window, but doesn't actually appear to be a vanilla Chrome browser window with normal Chrome features.

And that's not getting into the terrifying power-position it gives google as the host of your content.

</comment><comment><USER28> Personally, I dislike AMP with a vengeance - I refuse to click any AMP search result or link - so I'm glad to see people quantitatively assessing the benefits for their site (or lack thereof) and moving away from it. Now if only we could encourage web developers to still adhere to the better parts of the protocol, the mobile web might become a better place.

<comment><USER29> I hate AMP so much that I switched to DuckDuckGo on mobile more than a year ago and have been thrilled. Search results are as good and I haven't seen an AMP page since.

<comment><USER30> Did the same along with Firefox mobile with ublock origin which has made browsing mobile amazing.

</comment></comment></comment><comment><USER31> I'm at the other end of the spectrum. I don't have a good internet connection and it's painful to wait for a page to load. If I see the AMP icon I will visit that site than the non AMP site. Oh and I'm in US. If I travel abroad, it's much worse. As a consumer, AMP has been phenomenal.

AMP + Safari reader mode = Best browsing experience.

</comment><comment><USER32> Is there a coordinated campaign going on against AMP? My experience as a user has been nothing but positive, with pages loading in a small fraction of the time of normal pages, while I read nothing but negativity about AMP in developer communities like this one. Am I missing something fundamentally evil about AMP that's not apparent from the user standpoint? From my limited perspective, it seems to be the only force trying to counteract an increasingly bloated and slow web.

<comment><USER33> There's no coordinated campaign that I know of. The negative reaction that I personally have to AMP is that Google started pushing it as the solution to a problem that they helped create. It's just an attempt to lock publishers into Google's ecosystem.

If Google really cared about fixing the root of the problem, they would put the AMP icon next to sites that are already small and already load fast, and rank them higher, rather than creating a new platform.

<comment><USER32> I'm not sure I follow how Google helped create a trend of increasingly bloated sites that don't load quickly? The only sites I see loading remotely as quickly as AMP sites are AMP sites. Nothing comes close, nor is it apparent online publishers are even trying to optimize their pages to load quickly. AMP strikes me as a project of desperation by Google, as publishers seem intent to kill their own sites by loading them with as many XML HTTP requests and trackers as possible.

<comment><USER33> Google has been encouraging those sites to run all that extra cruft by:

A) Not de-ranking sites that are large and slow

B) Asking them to run a bunch of unnecessary trackers (Google Analytics)

I've never used AMP, but it does sound like it is fast, and web-page bloat is indeed a problem. But adding another layer (which also just happens to make you more beholden to Google) isn't the right way to fix that problem, removing the bloated layers is.

<comment><USER32> They absolutely do take load speed into account when ranking pages.

[https://webmasters.googleblog.com/2018/01/using-page- speed-i...](https://webmasters.googleblog.com/2018/01/using-page-speed-in- mobile-search.html)

<comment><USER33> Yes, they do. My apologies if I seemed to imply that they don't.

They don't weight it high it enough. The fact that it took until 2018 until they did that for mobile is telling enough.

</comment></comment></comment></comment></comment></comment><comment><USER34> I've tried AMP a couple times only to get rid of it.

It's a nice bar to set for websites to compete against. I think Google rightfully so should penalize bloated & slow sites.

It's easy to create something better than AMP's experience. It takes a little time optimizing your site to create a pleasant interface & experience.

The majority of sites I see that are below the AMP bar, are sites that choose to be that way with lots of ads & pop ups. They do it because these things help them make money. So for them they have little incentive to use AMP. A lot of them make some of that money with Google Ads though.

So at the end of the day, I really don't see who AMP is for.

<comment><USER35> It's tough. At the same time, I think website content should matter over style.

<comment><USER36> Agreed. The obsession with page load times tilts the equation toward sites that spend more money on developers than content creators. Nothing against developers, but people indeed are looking for content rather than fast sites. I'd be happy to wait another second if the site I'm going to visit has more relevant stuff to what I searched for. Perhaps if a site is terribly slow, that's one thing, but differentiating sites based on microsecond differences is preposterous.

<comment><USER37> I agree, but is there proof that Google is differentiating sites "based on microsecond differences"?

<comment><USER36> The ranking algorithm is secret, so one can't know much about how it actually works. But, considering how much effort is spent to increase site speeds, the reality is that that's the impression that developers and site owners have.

<comment><USER37> Agree with you that that's the impression those people have. I wish Google would be more transparent about the reality. The only thing I've heard actual Google employees say is stuff like "the speed portion of the algorithm will affect only the slowest sites." So if a shitty site like Forbes or CNN is reducing their mobile time from 20 seconds (likely on their bloated regular site) to less than 1 second (AMP) maybe that will give them a boost. But if my site loads in 3 seconds now and goes to less than 1 second on AMP, is it really worth it for me...

</comment></comment></comment></comment></comment></comment><comment><USER38> I like the idea of AMP but its implementation by Google is so poor. It's just way too buggy for me. Websites will load only as much as my phone's screen allows - when I try to scroll down nothing happens. Other times it's just a blank page.

AMP convinced me to stop using Google's mobile website and switch to DuckDuckGo, and as an added bonus I can View Image from image search results.

EDIT: Forgot about how Google refuses to serve their modern version of Google.com on Firefox Android. That was the final nail in the coffin for me.

</comment><comment><USER39> AMP simply goes too far for me. Google Search already decides which sites we see. Now they want to control what we see on those sites too? Nu-uh.

</comment><comment><USER40> I found the article an interesting read, however I couldn't help but think we are talking about AMP and small sites on Medium. When I download that article from Medium with wget I receive a 142K html file that is surprisingly small in this day and age, but still bloated more than is needs to be.

Using this script[0], I was able to get it down to 14K. Then further cleaning it up in emacs and adding <img> tags, I got the html down to 10k. That means it should take probably less than 5 seconds to load the html (not including the massive images) on a 5KB/s connection in Australia (more common thank you might think in the country areas, although getting much better with the NBN roll out) or any other 3rd world internet countries.

You can test the resulting html in this gist[1]. Please note I did that in about 20mins, and did not test on mobile, so it is not perfect. I expect the images need to be scaled to fit on mobile. Also I only used the <style> tag to keep it as one file, I don't recommend doing that on real websites.

I really hope more people start caring about saving bandwidth and client side resources (CPU, RAM, etc.)

[0]: [https://gist.github.com/cjbayliss/b0042b5c7b46aebd5b40a85855...](https://gist.github.com/cjbayliss/b0042b5c7b46aebd5b40a85855bb4c6e)

[1]: [https://gist.github.com/cjbayliss/4b9f5b5cc7a4dde8efcb4b06c1...](https://gist.github.com/cjbayliss/4b9f5b5cc7a4dde8efcb4b06c1a7890e)

</comment><comment><USER41> Does anyone think google is engaging in anti-trust/monopoly-building actions by prioritizing AMP pages

<comment><USER42> The only way they "prioritize" them is with the lightning symbol. They don't get better ranking just because they are AMP.

<comment><USER43> Ranking is effectively higher placement on the page, and the AMP links carousel is the highest on the page. The outcome is the same, regardless of methodology.

<comment><USER44> Indeed, when Google claims they don't favor AMP pages, they're being disingenuous. Just like suggestions that you can't pay them for higher rankings: You absolutely can, because Google Ads go on top, and they're barely distinguishable from native results.

</comment></comment></comment></comment><comment><USER45> > Sometimes the cover-up is more damaging than the crime.

I hate walled gardens. What troubles me more is that something that came from addressing a competitor's product (Fb's Instant Articles in this case) has grown to do more damage than what Instant Articles could have in the first place.

As for the Google Amp URL, they are working on fixing it. [https://twitter.com/cramforce/status/950549603975233536](https://twitter.com/cramforce/status/950549603975233536)

<comment><USER46> They're not fixing it, they're forcing major browser vendors to patch their software to insert a different URL (the publisher's) into the address bar than the one that was actually loaded (google.com).

Personally I hope Apple continues to ignore the AMP standard and leaves the links broken on iOS Safari, because it's the only way to make it obvious to users what's happening. Google is trying to sweep it under the rug; hopefully Apple doesn't let them get away with it.

</comment></comment><comment><USER47> My personal experience has been that a large number of AMP pages never load. If I search the article title on Google and click the non AMP page, it loads fine. Even after doing that and going back to the AMP link, still won't load.

I am fairly sure the product is not working as expected... My experience is on an Android Pixel 2 - so it's not like I am not a target market.

</comment><comment><USER48> From an end-user perspective, my solution to the degradation of Google was to switch to DuckDuckGo.com.

About one year ago when I switched there were a few things that annoyed me, but it's become a great experience since then... and they're not tracking me.

Do it, and you won't regret it.

</comment><comment><USER49> AMP pages rarely work for me when opening from Feedly and sometimes Twitter.

</comment><comment><USER50> I'm not sure, but it seems like the site/service this article is referencing is for either coders, or people who need coders, but either way is targeting a more-technical / business-oriented audience.

What is the overlap on the Venn diagram between "people who like to use AMP" and "people who are technical enough to need this service"? My first instinct would be that it's low.

<comment><AUTHOR> Hey! Thanks for the comment, but I'm not quite sure what you mean. Yep, Rockstar is a bunch of developers helping other businesses make software. I wrote the article because there's a lot of people who are considering AMP whether your technically minded or your on the business side asking your developers (or us at Rockstar) to AMPlify all the things. Thought it would be fair warning for all those groups. Also, I don't write for the sole purpose of "content marketing" to an audience that needs us at Rockstar. I've been a developer for 20+ years. I write what I write about :) Sometimes it'll draw in customers, sometimes new friends and colleagues. And sometimes I just like to show funny pictures of my daughter.

</comment></comment><comment><USER51> Its by far the quality of the content that matters the most for ranking on Google search engine, much more than the speed of the page.

If the page speed is acceptable, its going to be ranked over an AMP page if the content is better.

Content is the key, build better content, that solves better a concrete problem that visitors have: that is how you win visitors trust and get higher rankings at the same time.

</comment><comment><USER52> > There's little reason that a small company website that could load in 100ms > as a static site of all HTML and no Javascript is actually a 100MB React app

AMP is the developer equivalent of getting a gastric bypass surgery because you refuse to control yourself and live a healthy lifestyle.

There's a very obvious solution here to the AMP issues that people keep writing about: stop building massively bloated sites, where the bloat inevitably acts to abuse users rather than provide a better experience. AMP isn't necessary at all. It is that simple. No, you don't need 600kb of CSS. No you don't need 8mb of JavaScript. Just stop building like that, there's a better way. Put your obese, lazy sites on a healthy diet and exercise regimen.

</comment><comment><USER53>
        100% on Google Lighthouse

Something is awry here. Putting AMP on a page immediately gets you points removed for "Uses inefficient cache policy on static assets" for the inclusion of v0.js.

</comment><comment><USER54> The author seem to be implying conversion loss from pre/post which may be affected from many factors including seasonality - I'm wondering why didn't he do an A/B for a radical design like that?

<comment><AUTHOR> I did actually split test. I had traffic going to both types of our landing pages. I didn't like the AMP results but there wasn't enough traffic yet to draw the conclusion, so I just put all the traffic there and measure across time periods a bit.

As for seasonality, that's a fine argument. But overall traffic was consistent across these weeks measured. Also, our conversion rate was awesome through US holidays like July 4. Also, as soon as I got rid of AMP, immediately our conversion rate is back. It's pretty stark how bad AMP was for us.

<comment><USER54> Ah ok that make sense. Not sure how you measure conversion, but in our case (I'm in B2C ecommerce) both traffic and conversion often fluctuates, so if one is stable doesn't mean that the other won't move.

</comment></comment></comment><comment><USER55> Google you are supposed to help me search digital documents to find ones relevant to me. I dont even care if they're slow, you are a search engine not tye internet police.

</comment><comment><USER56> Unrelated to this topic, but still speaking about AMP: has anyone done integration tests with AMP pages? It seems that it's impossible to achieve that, and since AMP has its own async module with amp-forms and amp-mustache, I'm a little nervous about replacing a normal landing page with an AMP page that has errors on its scripting.

I've looked everywhere, but to no avail. Can anyone shed some light on this?

</comment><comment><USER57> AMP is not about fast websites, better user experience for either users or publishers, nor a trusted platform.

It's about google hosting your site and capturing data from it. It's a shitty idea and i can't understand why people use it.

Yes, make your website fast, please. There're plenty of guidelines and tests for that, but you don't need amp for that.

</comment><comment><USER58> AMP is the worst. I used to get rid of it by going through encrypted.google.com, but unfortunately that's been shut down and I haven't figured out how to use google and not use AMP. But I still want to.

I do find myself using Chrome on android less and less primarily because of AMP

<comment><USER59> What about StartPage.com ? It's Google search results without any Google crap.

</comment></comment><comment><USER60> You can remove Google AMP without hurting organic traffic and web performance [https://pawelurbanek.com/amp-seo-rating- performance](https://pawelurbanek.com/amp-seo-rating-performance)

</comment><comment><USER61> Google's goal is to not increase your conversion rate; it's for users to go back to the search results and click on an ad.

I work extensively in SEO and have never recommended AMP for this reason.

</comment><comment><USER62> Matrix Dodging Bullets [https://www.youtube.com/watch?v=TQBJiEiB9Os](https://www.youtube.com/watch?v=TQBJiEiB9Os)

</comment><comment><USER63> GETF (Google Engineering Task Force) says AMP is mandatory. Fix your browsers and move content to Google official servers before January 2020.

</comment><comment><USER64> Another thing to consider: Google is blocked in China, so AMP doesn't matter if you are looking for a truly global presence.

</comment><comment><USER65> The argument against amp is based on moats and monopoly but millions of people who make money from Google are unlikely to care about these things. They will do anything to get better revenue or rankings.

This is where consumer choice and free markets break down, and regulations become important. That's why dumping is a illegal, because consumers are not going to turn away from cheap products because of bad actors.

In the real world you need regulations.

</comment><comment><USER66> The same happened with a site I manage after I enabled AMP.

We've been doing the Google dance to their tune for too long.

</comment><comment><USER67> AMP is just another reason to block third party scripts. If your page is blank, I'm going elsewhere.

</comment><comment><USER68> The speed of computers has scaled / is scaling so quickly. IMO avoiding JS completely is ridiculous.

</comment><comment><USER69> Monopolies don't care about you

</comment><comment><USER70> Why does Google tell me I'm logged into Google on amp pages? It makes no sense.

</comment><comment><USER71> Um, google is taking people's pages and hosting them themselves? That seems like a copyright violation to me. If my website was being mirrored by google and they diverted traffic to the mirror instead of my own website, I'd be filing a DMCA pretty quick.

Or is AMP opt-in?

<comment><USER72> AMP is opt-in.

<comment><USER71> Thanks, I did a lot of searching and was not able to find this info, so I appreciate you answering.

</comment></comment></comment><comment><USER73> A 500% boost in conversion rate is 5 people if your original conversion rate is 0%. Quit pretending like what you're doing is special.

<comment><USER74> 0% -> 5 people is actually ∞%, not 500%.

</comment></comment><comment><USER75> AMP was always a bad idea.

</comment><comment><USER76> A consultant I worked with would charge lots of $$$ for basically doing to his large enterprise clients. For example we would go into a meeting with 4 random employees and then charge $250 per hour per person.

He joked to me and said that this money is essentially "stupidity tax" on these large enterprises because they can't navigate their way through even some trivial tech problems.

AMP is one such stupidity tax in my personal opinion. I have worked for many years in web performance optimisation and I realise that every internet business must pay a good close attention to it but most of them are incompetent to do that. Their webpages are bloated. Just check how heavy is the page for forbes.com and you will realise the problem.

AMP sets a standard where even with low quality developers you can have nice fast loading pages. It is very similar to those Javascript wrappers that force typed variables and semicolons.

IF you are already having a good web team don't waste time on AMP unless there is some real demonstrable benefit.

<comment><USER77> What type of consultant was he? Marketing or web app development? Did he have decades of experience to charge such rates?

(I agree with everything else you have said. My Xioami smartphone from 2014 is faster than the Packard-Bell computer I used back in the mid-90s... yet companies always find a way to slow things down. They used to do it with Flash. One catalog company even did their ENTIRE website in Flash... when people were still using 56k modems and DSL was not as widespread as before.)

<comment><USER76> Data integration consultant with around 10 years of experience. Sounds fancy but it was about making sure their Facebook posts also get tweeted, when they post a new YouTube video it also gets published to their FB Page, that they are able to connect their Salesforce with Slack (or suggest them to use Slack) and blah.

He even worked with a bank that decided to close down their website and redo entire netbanking in some .net based installable app because it was supposedly secure. After spending a lot of money and a pilot with 10,000 users they discovered that nearly 80% of their users who were forced to use it simply move the money out of the bank.

All this was tech incompetence tax.

<comment><USER77> Why don't you go into that field? Is it because soul-crushing to talk to customers who waste money like that? Too much competition?

<comment><USER76> You can not win these kind of contracts easily. You need to have ex-classmates inside who will make the right introductions. You need to hang out with right people, please them and so on. Race, Sex also plays a big role. For example overwhelmingly white people will chose a white person over an Indian and vice versa.

While the tech work is pretty less, the social engineering involved is hard to scale.

</comment></comment></comment></comment></comment><comment><USER78> Q: Did Google create - and promote from their dominant position - AMP for anyone but their own interests?

A: No. Why would you be so naive to think otherwise?

<comment><USER79> This is a pretty silly argument.... every company's decisions are based on their own interest. That doesn't mean that your interest and theirs don't align.

</comment></comment><comment><USER68> The speed of the web is scaling very quickly. IMO avoiding JS completely is ridiculous.

<comment> amiga-workbench JS doesn't just incur a bandwidth cost, you have parse time and then the hit on your users framerate when you naively fiddle with the DOM or override the scrolling behaviour.

</comment></comment><comment><USER74> There's really not enough information in the article to judge its validity...

Some comparisons between devices, as but one example, could support the idea that AMP affects conversion rate (AMP is only shown on mobile).

As it is, I have my doubts that the mechanisms he speculates could have such an impact. URLs, for example, are really de-emphasised on mobile.

</comment><comment><USER80> From the OP:

"There's nothing that magical about it. A big part of its performance boost is simply its standards: no javascript, all inline CSS, and CSS can only measure 50KB or less. You're going to make any page load faster with those requirements."

Gee, for my startup, that's the way I wrote my Web pages from the beginning! Microsoft's ASP.NET wrote a little, simple JavaScript for me, but for using my Web pages that JavaScript is optional.

</comment><comment><USER81> Or... maybe it's not AMPs fault (not that I'm a fan of AMP). Maybe it's just that Ruby is quickly going out of vogue and you're just seeing the signs.

<comment><USER82> Ah good, I was hoping for the "Hurdy Hur Hur Ruby is slow so Rails is slow crowd to show"

Ruby "going out of vogue" has nothing to do with the authors problem. It wouldn't matter if the author was using TrendyNewFramework.js™, PHP, Django or some GO framework. The issue seems to be the terrible user experience that comes with using AMP. I know I personally hate it and tend to drop off when I see it begin loading.

Also FWIW, there's plenty of slow SPA's built on the latest and greatest, and there's plenty of fast rails sites (have you been to [https://dev.to](https://dev.to) recently? It's like ). Rails is doing just fine.</comment></comment>


Ask HN: What are you reading lately? - <AUTHOR> <comment><USER2> I was recommended the Positive Discipline series by my Satguru. I'm reading the edition for toddlers and concurrently the one for older children (but not teens). It's all very interesting. The premises is that most parents practice (with whatever level of awareness) either punitive or permissive parenting. Some parents go back and forth between the two, but often one parent is permissive and the other punitive. The book explains that neither of these approaches work, and that to properly teach discipline to children, it must be kind, firm, and respectful. That's all I've learned so far, as I've only just passed the introductions of each book.</comment>


Stanford algorithms class signup active - <AUTHOR> https://www.coursera.org/algo/auth/welcome

<comment><USER2> Coursera, not Stanford. We don't say Google is the Stanford search engine.

<comment><USER3> I wondered about that... yest Stanford University is prominently displayed on the course web page:

<https://www.coursera.org/algo/auth/welcome></comment></comment>


Some months and hard work later, Metricfire announces pricing and GA - <AUTHOR> http://blog.metricfire.com/2012/04/announcing-pricing-and-general-availability/

<comment><USER2> I've been wanting to add metrics to a small side project of mine for a while and was looking at Metricfire and Mixpanel.

This announcement actually is pushing me away from Metricfire. The project I am working on now will generate less than 100 data points per day, so paying $30 a month is really high.

For someone who will take advantage of it, the $30 looks like a great plan, but when they say it is for small projects, that just seems like too much for the very small projects like mine.

<comment><AUTHOR> Bear in mind that this is just the first pricing announcement, and that we're not likely to get it exactly right first time! Pricing is hard, and we're pushing this announcement out there to get more feedback on it.

We're willing to discuss super-small projects and we welcome feedback on our pricing, particularly critical and particularly at the low end. Get in touch, let's talk about it!

</comment></comment><comment><USER3> Architecture behind this is really, really good. Can't wait to get some time to start seriously testing it.

</comment><comment><USER4> I've recommended Metricfire to a few clients now for statistics collation for their apps. Where I used to cringe at the impending questions about loading/processing/UI response overhead for error logging and that kinda stuff, I'm loving that a product has practically all of the answers!

</comment><comment><USER5> MetricFire is a great product. Stupid simple to use, reliable, fast, no discernable impact on our production systems to add monitoring. Does what it says, works well.

<comment><AUTHOR> You just listed all the qualities we're going for - thanks! :D

Let us know if you need anything!

</comment></comment><comment><USER6> I'm delighted to see metricfire starting to get some traction, it's a simple, but powerful tool (Dave and Charlie are two very smart chaps).

</comment><comment><USER7> Very useful product with highly competitive prices. Dave and Charlie are extremely sharp and very nice guys to boot.

</comment><comment><USER8> I heartily endorse this product and/or service.

</comment><comment><USER9> Great guys and a great idea worth checking out.

<comment><AUTHOR> Thanks for your comments and support, Frank!

</comment></comment><comment><USER10> Very nice, really like it

</comment><comment><USER11> I have been using metricfire on some test stuff and I have to say I am impressed. Any plans to having iOS sdk/support?

Google Analytics does a very good job of measuring events and not using tons of resources, but then again it is hard to get real time dashboards with > 1M events/day in GA

Edit - I had already asked this, but also Google App Engine support? Cheer and keep making an awesome product guys!

<comment><AUTHOR> No plans for iOS support yet, we're focusing on backend platforms for now.

We're going to put some energy into GAE support over the next few days. Thanks for your comments, we appreciate the interest!

(Our backend systems scoff at >1M events/day - we already handle ~60M/day and we've only just launched...)</comment></comment>


A computer virus with an entirely new purpose - <AUTHOR> http://news.yahoo.com/s/csm/20100921/ts_csm/327178 <comment><USER2> I'm not an expert on Stuxnet (or really malware at all) but this whole thing seems extremely overblown.

Is it interesting that there's a piece of malware out there that targets industrial controllers? Absolutely it is. It's _probably_ not just some bored college kid.

Is it a "cyber missile" aimed at the heart of Iran's nuclear weapons program? Probably not. Among other things, the IP ranges it's "targeting" aren't specific to Iran. Also, there's no evidence connecting it to Iran.

Whenever you see a better-than-average piece of offensive computing technology, your first thought should be "extortion", and your second (distant second) thought should be "competitive subterfuge". Extortion happens all the time, and you rarely read about it, because the targets don't want to talk about it. And, while there's never been a corroborated story about an actual cross-state offensive strike using IT technology, there have in fact been cases where industry leaders have whacked on each other using security flaws.

The reporting on Stuxnet seems too captive to tidy and palatable narratives for me to take seriously. It doesn't help that these stories are sourced mostly to SCADA security experts. There are some great people working on SCADA problems, but that field takes everything annoying about computer security PR and amplifies it.

<comment><USER3> What IP ranges? These computers aren't connected to the internet. The article speculates it was spread by a contractor's infected USB drive.

(I agree that the hyperbole is a bit much, though)

<comment><USER2> I'm getting this detail secondhand and have probably mangled it. Please know: I am not a Stuxnet expert.

</comment></comment></comment><comment><USER4> _Cyber security experts say they have identified the world's first known cyber super weapon designed specifically to destroy a real-world target..._

Allegedly an explosion of a Soviet gas pipeline was caused by a bug intentionally inserted into control software stolen from the United States. <http://en.wikipedia.org/wiki/Siberian_pipeline_sabotage>

Not a _cyber_ weapon, but close enough in spirit, I think.

</comment><comment><USER5> I have trouble believing that any moderately sane or respectable nation state would deploy this thing. It's roughly the equivalent of launching thousands of missiles at completely random targets around the world, but programming them to only go off if they land on the enemy, hopefully. It also opens a Pandora's box of mutations and clones. It's far too evil and stupid for any country below NK insanity levels.

<comment><USER2> You got downvoted, but I think this is exactly right: very low chance of decisive success, maximal chance of embarrassing international incident. Not a good way to attack a rival regional power.

<comment><USER6> Ok, I get your argument that this is overstated, and I wouldn't be surprised if you are right.

But why would someone have written it then? It's not like they were using it to try and steal credit card numbers of send spam emails.

It had a very specific purpose, and according to the linked article didn't seem to require manual intervention to turn on (or off?). It seems to have been a one-shot thing - wait for a specific set of events, and then run that mystery command.

Blackmail/Ransom theories are easier to believe than a state-run cyber war program - but the reported logic of the program seems to make it pretty hard to blackmail someone with. It appears to have been designed to cause maximum damage once, with as little warning as possible. That's the opposite of what you want with a ransom/blackmail situation.

</comment></comment></comment><comment><USER7> I used to do industrial controls, so let me give the unfamiliar a little background on these systems.

You have PLC's, (programmable logic controllers) often redundant sets of them for critical systems, that run the code that controls the facility. They are networked together via proprietary data networks with no internet involved. These units do not run windows, or any operating system usually. They have no USB ports, hard drives, or monitors. They are hardened against temperature, dust, and power fluctuations. Once the facility is running properly, the PLC's do everything. No human's need to make any decisions about facility operation.

However, sometimes, humans want to tweak a setpoint or override a safety interlock because they know a sensor is bad, or they want to run a certain automatic operation in manual, because something has changed in their process. For this, they have windows based graphics interfaces with pretty animated pictures of valves and motors and pumps and fans and reactors and pipes and ductwork, all of which change their state based on the status of the actual valve or motor or pump or fan. To do that, these windows based PC's are networked to the PLC's, to query them for state information. So nobody is "running a factory on windows". Think of these as terminals into your webserver. If you lose the terminal the webserver keeps on trucking. Also, just like terminals, you can have as many windows PC's as you want tied into the PLC network, so if you lose a couple, you still have others, in case there's something that you really don't want to lose visibility of.

At no point is this network tied to the internet, for obvious reasons. Usually, the drives are locked out on these systems using physical locks, so only engineering staff can load anything on them. USB is trickier, as I can imagine people hooking up legitimate devices such as sirens and flashing lights and even just speakers for audible alarms, all via USB, which exposes the USB ports to the operators.

<comment><USER8> Sounds like you haven't been in the industry in a while or we just happen to hit different cross sections. The industrial automation company I worked for bought off the shelf "Industrialized" PCs dropped in a motion controller card and went to town. Their older systems ran QNX(real time unix) with the GUI and all the data right there on the system. Their newer systems were Windows\In time(a real time windows addon) based. So yes there are people using windows to control the system. I have seen systems where there is no air gap between these windows based systems and the Internet. In fact I have remotely logged in to systems in plants via vpn and worked from home.

<comment><USER7> > dropped in a motion controller card and went to town

Perhaps we were working on systems of a different scale. Most of the facilities I controlled had on the order of 2000 - 5000 I/O points and stretched over several multistory buildings. It sounds like you're doing motion control of a pick and place machine or something similar. That's also fun, especially now that you can do so much with optical recognition.

<comment><USER8> Yeah we mostly did smaller systems. On bigger jobs we tended to do it as several smaller systems working together. The largest system we ever did was a several hundred I\O points but that was over maybe 20 systems(we did all product movement between machines in the place.)

</comment></comment></comment></comment><comment><USER9> How is it that the virus is like a "military-grade guided cyber missile" yet it is transferred by "memory stick"?

<comment><USER9> Here's a much-less-sensationalist description (from symantec.com):

Stuxnet infects Windows systems in its search for industrial control systems, often generically (but incorrectly) known as SCADA systems. Industrial control systems consist of Programmable Logic Controllers (PLCs), which can be thought of as mini-computers that can be programmed from a Windows system. These PLCs contain special code that controls the automation of industrial processes—for instance, to control machinery in a plant or a factory. Programmers use software (e.g., on a Windows PC) to create code and then upload their code to the PLCs.

Previously, we reported that Stuxnet can steal code and design projects and also hide itself using a classic Windows rootkit, but unfortunately it can also do much more. Stuxnet has the ability to take advantage of the programming software to also upload its own code to the PLC in an industrial control system that is typically monitored by SCADA systems. In addition, Stuxnet then hides these code blocks, so when a programmer using an infected machine tries to view all of the code blocks on a PLC, they will not see the code injected by Stuxnet. Thus, Stuxnet isn't just a rootkit that hides itself on Windows, but is the first publicly known rootkit that is able to hide injected code located on a PLC.

In particular, Stuxnet hooks the programming software, which means that when someone uses the software to view code blocks on the PLC, the injected blocks are nowhere to be found. This is done by hooking enumeration, read, and write functions so that you can't accidentally overwrite the hidden blocks as well.

...

Fascinating: [http://www.symantec.com/connect/blogs/stuxnet-introduces- fir...](http://www.symantec.com/connect/blogs/stuxnet-introduces-first-known- rootkit-scada-devices)

<comment><USER10> Are they really running very critical systems on Windows? Yes, the are :( : [http://www.neowin.net/news/nuclear-reactor-isnt-using-a- lice...](http://www.neowin.net/news/nuclear-reactor-isnt-using-a-licensed- copy-of-windows) And another related story from 2003: <http://www.securityfocus.com/news/6767>

<comment><USER11> They are not. In almost any serious industrial automation application there are Windows computers, but they are only user interface to some backend system (that usually runs on some obscure virtual machine running in some even more obscure RTOS on very specialized hardware)

</comment></comment></comment></comment><comment><USER12> Shadowrun only feels fun when you know it's a game of fantasy. When cyberpunk concepts previously only seen in the pages of a William Gibson book start erupting into this mundane, boring world of the daily commute and the weekly shop, unfolding into the public consciousness like an ink-stained, holographic neon rose, the fantasy doesn't seem so much fun any more when you're looking at it from the inside. Not so jolly when it ceases to be a game.

</comment><comment><USER13> I'm confused. What is the method of delivery for this program? I sure hope no one is hooking up nuclear power plants to the tubes in such a way that it's even possible for the computers that control the reaction are able to make talkies to anything. That just sounds like a really bad idea. And the plot for a really bad Hollywood action flick.

<comment><USER14> Sneakernet.

         http://en.wikipedia.org/wiki/Sneakernet

In this case through USB keys. Presumably people updating software on the machines or running diagnostics. Possibly USB dongles to unlock the machines.

<comment><USER13> Right, but I'm assuming that there are controls over nuclear control machines. That would seem to render this method of "attack" rather impractical unless you had an inside man. In which case it seems a rather round about method of sabotage vs just planting a bomb or yanking some wires or something.

<comment><USER15> From the article, speculation is that the virus was embedded on the USB drive of a contractor who works on multiple setups, possibly without his or her knowledge; one of the virus's most interesting features is that it can then spread, without user intervention, as soon as the USB drive is plugged into a vulnerable machine, and from that machine can spread onto other USB drives plugged in later.

It doesn't take an inside man - only an inside snippet of code, which you can foist on an unsuspecting worker or consultant. Also, the chain of transmission can be indirect, so that even if you can't get a physical item into the target, you can plant it somewhere else where it eventually spread to the target (only so many degrees of separation between any two power plants, it seems)

<comment><USER13> The problem I have is that a contractor should not be allowed to bring in a USB dongle to plug into a machine onside. Hell the machines shouldn't have accessible USB ports at all. My other problem is that even if they are allowed to plug their personal USB stick into a machine, control computers should be completely isolated from the machines a random contractor would have access to. I mean seriously? Why would they even be able to talk to one another?

</comment></comment></comment></comment></comment><comment><USER16> Pre-cursor to IceBreakers in William Gibson's novel Neuromancer?

Life imitates fiction.

<comment><USER17> Life imitates fiction when fiction influences life, or when fiction just points out basic principles of life.

</comment></comment><comment><USER18> The cyberpunk writers like Gibson were the most prophetic of all the sci-fi authors of the 20th century. This is straight out of the Sprawl trilogy.

</comment><comment><USER19> A bit more discussion at <http://news.ycombinator.com/item?id=1699405>

</comment><comment><USER20> Here's a thought - don't put mission critical computers on the internet? Remove usb ports?

</comment><comment><USER21> "Memory stick"? Is this a ram stick or a flash drive?

<comment><USER22> Flash drive. There's a number of flash drives that autoexecute when inserted into a computer. These are a known vector for software infections.

As far as I know, ram doesn't generally hold memory after it's been powered down. Ram sticks don't make sense as a vector for a virus as far as I can tell.

<comment><USER23> What if you were to create RAM sticks with a small amount of flash and a controller onboard, and then swap these with generic RAM sticks?

<comment><USER24> That would require direct physical access, and if you had that there's a lot of much easier ways to root a box.</comment></comment></comment></comment>


Parallel Seam Carving - <AUTHOR> https://shwestrick.github.io/2020/07/29/seam-carve.html <comment><USER2> Barrier synchronization is always going to wreck parallel performance. When possible, it's good to break up your work so that data dependencies are explicit and fine grained. So instead of breaking up work like this:

        IIIIJJJJKKKKLLLL

        <barrier>

        EEEEFFFFGGGGHHHH

        <barrier>

        AAAABBBBCCCCDDDD

... where each row is dependent on the entire previous row, break it up like this:

        HHHHIIIIJJJJKKKK

        EEEEEEFFFFGGGGGG

        AAAABBBBCCCCDDDD

Where E is dependent on A and B, (and begins when they are done) H is dependent only on E, F is dependent on B and C, etc. This way you don't have to wait for the entire strip to finish, you can start work on E after A+B, but while D is still working. This also gives you weird block sizes for "free", which is a huge no-no with barrier synchronization. For instance, Es and Gs are size 6; if the first example had most elements of size 4, but one element of size 6, it would be catastrophic. All your threads would be done when the final thread is only 66% complete, and it's single threaded from there on out for that strip.

<comment><USER3> This pencil and paper approach to breaking up work is good at parallelizing things that don't appear parallelizable at first glance, e.g. prefix sum [1]. Compilers are good at identifying opportunities to reorder instructions in ways that break low level data dependencies. They tend to miss the big higher level opportunities like this.

[1] [https://en.wikipedia.org/wiki/Prefix_sum#:~:text=A%20work%2D...](https://en.wikipedia.org/wiki/Prefix_sum#:~:text=A%20work%2Defficient%20parallel%20prefix,%2C%20z2%2C%20..).

</comment></comment><comment><USER4> I created a desktop GUI tool [0] that used multiple cores for seam carving images of your choice. Including masking parts of image to keep or remove. The backend code parallelizing the work is from the CAIRE project.

It was ages ago, and has since been archived on google code :)

[0] [https://code.google.com/archive/p/seam-carving- gui/](https://code.google.com/archive/p/seam-carving-gui/) [1] [https://github.com/esimov/caire](https://github.com/esimov/caire)

</comment><comment><USER5> This is so cool, it reminds me of this series of responsive pixel art: [https://essenmitsosse.de/pixel/?showcase=true&slide=5](https://essenmitsosse.de/pixel/?showcase=true&slide=5)

</comment><comment><USER6> If folks are interested in a simple implementation to read or reuse, here's a JS version I wrote back when HTML5 and <canvas> were new and exciting (over 10 years ago now): [https://nicolasff.github.io/canvas-seam- carving/](https://nicolasff.github.io/canvas-seam-carving/)

The button says "warning: very slow" but JavaScript performance has significantly improved since then :-)

Still a very cool technique, and pretty easy to implement.

</comment><comment><USER7> A related idea would be "image summarization", i.e. an (as-yet hypothetical) technique for generating an image that's an "icon" of a larger image. In the same sense of "icon" as the one visual designers are trained to create: one where both large-scale structure (shape+color) and fine-scale structure (texture) are preserved, while "redundant" detail is sacrificed, in order of least to most important for visual recognition by a human or image-classifier model. You could also call this a type of _psycho-visual_ compression, in the same vein as chroma subsampling.

Simply resampling an image smaller keeps the large-scale structure (the shape and color), but loses the fine-scale structure (texture.) That's why we don't just resample photos down to 32x32 and use them as icons :)

Seam Carving (whether parallel or not) does the opposite: it preserves the fine-scale structure (texture) but distorts the large-scale structure (shape.)

But not always! The amount of shape distortion in Seam Carving is worst case O(N) with the number of seams deleted, but best-case o(1). It depends on the algorithm's choices of seam.

Regular _iterative_ Seam Carving, as described by its original paper, isn't stateful-enough to be able to minimize any whole-image quality (like loss of large structure.) So it's no surprise it hasn't been used for something like this.

But _parallel_ Seam Carving might just be the ticket for this problem. A model could be trained to select an optimal set of seams that work together to minimize the large-structure deformation of the image (i.e. the image's lower- band difference in frequency-space), while also individually being low-entropy seams from the Seam Carving algorithm's perspective.

Anyone want to take a crack at this?

</comment><comment><USER8> That's really neat. What are some practical applications for Seam Carving? Maybe in video games with dynamic resizing of landscapes?

<comment><USER9> I have a photo of my friend, his ex-wife and a few others standing together on a camping trip. I wanted to share that photo with the group since it was the tenth anniversary of that trip, but didn't want to remind my friend of his divorce, so I used seam carving to elide his ex-wife. (The tool I used allows you to paint areas of low or high energy.) The result was almost seamless (pun intended) and you wouldn't notice anything amiss if you weren't looking for it.

<comment><USER10> This is a SAAS product if ever there was one

</comment></comment></comment><comment><USER11> You can divide the work into twice as many independent chunks of the same size like so:

If you were going to divide the image into K horizontal strips of triangles, instead divide the top half into K/2 horizontal strips of triangles and divide the bottom half into K/2 horizontal strips of triangles. To make things easier at the end, please include a 1px tall overlap between the top and bottom parts. Work downward from the top and upward from the bottom until you reach the middle. At the middle, for each column, you have the cost of the top half of the minimum seam that includes that pixel and the cost of the bottom half of the minimum seam that includes that pixel. So you can add those together then take the min as before.

</comment><comment><USER12> Does repeated single-pixel seam-carving minimise energy for the "remove n seams" problem? If not, is the global algorithm in P?

Also, I guess this is beside the point, but surely almost all of the DP structure can be reused if you're repeatedly removing seams...

<comment><USER13> > Also, I guess this is beside the point, but surely almost all of the DP > structure can be reused if you're repeatedly removing seams...

It's not besides the point at all. If you can reduce this linear-time algorithm to, say, amortized constant, then you'll handily beat parallelism.

After you remove a seam, you need to recompute the cones below every removed pixel -- which ends up being the cone below the topmost removed pixel (sadly, you can't just zip down the neighbors of the seam, but you _can_ avoid expensive data moves with a 2d linked list). If the image is super wide, that gives you a speedup by approximately the aspect ratio. If it's square, you should be able to cut the runtime in half. If it's tall and skinny, neither this nor the author's approach are terribly helpful.

<comment><USER14> Can't the image just be rotated if it is tall and skinny? Then unrotated after the transformation?

<comment><USER15> Rotating as you suggest would be equivalent of swapping between vertical and horizontal seams. A tall and skinny image with vertical seams has the same problems that a long and wide image has with horizontal seams.

</comment></comment></comment></comment><comment><USER16> This is probably also a very interesting technique for data augmentation for computer vision ML. (That is, seam carving. Not much to do with the parallel version...)

Unlike other typical data augmentation operations, spatial relationships are altered in nonlinear but still realistic ways.

<comment><USER17> Cases where data augmentation works always pose a fun challenge: clearly if there's some way to manipulate the data which shouldn't alter the algorithm output, there's also some way to make the ML invariant to that manipulation. If you can create an invariant algorithm then the augmentation should be unnecessary.

There is some interesting work on making ML invariant to rotations and such, but I'd be curious if there's an algorithm which is invariant to this. I could imagine that convolutions and pooling might be relatively invariant to this technique, for example, as long as the algorithm isn't doing a lot with the large scale structure of the image.

</comment></comment><comment><USER18> This is confusing to me because I thought the right way to do it was push- relabel.

</comment><comment><USER19> How does seam carving preserve important symmetries (e.g. in the human face)?

<comment><USER20> In most actual implementations, you can mark areas to avoid (e.g faces) and areas to prioritize.</comment></comment>


H.R.482 - Local Zoning Decisions Protection Act of 2017 - <AUTHOR> https://www.congress.gov/bill/115th-congress/house-bill/482/text <comment><AUTHOR> House and Senate bills (H.R.482 and S.103) have been introduced to _ban further federal funding or use of Geographic Information Systems (GIS)_ that disseminate data on racial discrimination in housing and other community issues.

The government created visualization site [https://egis.hud.gov/affht/#](https://egis.hud.gov/affht/#) specifically would be banned for further support, maintenance or use by members of the federal government.

Fortunately the raw data is still available for download.

To me, government-ordered public-interest website teardowns sound a lot like a 21st century version of book-burning.

Bill sponsors include Marco Rubio and Mike Lee in the Senate

Geographic scientists have taken notice [http://news.aag.org/2017/01/creating- and-preserving-actionab...](http://news.aag.org/2017/01/creating-and- preserving-actionable-and-policy-relevant-geography/)

<comment><USER2> > To me, government-ordered public-interest website teardowns sound a lot like > a 21st century version of book-burning.

Fortunately that's not what this is. No longer operating a website is not the same as ordering other such websites to be torn down. No need to overstate the problem.

<comment><USER3> Burning a book isn't ordering all other books of its type be burned, but it sure sends a message -- let's destroy this representation of knowledge because it contains knowledge or thought I don't approve of. It's entirely analogous to book-burning, though not book-banning (which is analogous to making such data illegal -- though it's arguable that since the federal government is really the only body capable of collecting such data, banning the federal government from collecting it IS banning it.. an argument for another place and time, I think) but OP didn't claim it as such, so it isn't an overstatement.

</comment></comment></comment><comment><USER4> Why would anyone want to remove public access to impartial facts? Hmm.

<comment><USER5> France has banned collecting data on race/ethnicity since 1978. Moreover, if you are of the mind that we are in a post-racism society (not that I subscribe to that by the way), then this sort of data to you merely reflects peoples' preferences and is only presented to sow disunity.

<comment><USER6> The only people who would ever subscribe to the notion that we're in a post- racism society are those who stand to benefit from that nonsense.

<comment><USER7> I disagree. I was raised being told that race doesn't matter, and I don't see it as an issue. Continuing to acknowledge race will just amplify the natural tendency of people to categorize people based on differences.

<comment> crooked-v You may not see it as an issue, but the people negatively impacted by it certainly do. Or are we pretending that events like laws suppressing voters based on race [1] don't happen?

[1]: [https://www.washingtonpost.com/posteverything/wp/2016/08/03/...](https://www.washingtonpost.com/posteverything/wp/2016/08/03/courts- are-finally-pointing-out-the-racism-behind-voter-id-laws/)

<comment><USER8> Are we pretending that the source you cited is not a biased opinion piece?

<comment> crooked-v > In North Carolina, the legislature requested racial data on the use of > electoral mechanisms, then restricted all those disproportionately used by > blacks, such as early voting, same-day registration and out-of-precinct > voting. Absentee ballots, disproportionately used by white voters, were > exempted from the voter ID requirement. The legislative record actually > justified the elimination of one of the two days of Sunday voting because > "counties with Sunday voting in 2014 were disproportionately black" and > "disproportionately Democratic."

I welcome any other sources you might have showing that this is factually incorrect.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> "on community racial disparities"

Would this not defund access to census data? As census data shows disparities in race?

Edit: OK, after having talked to a buddy about this, it looks like this is address directly at HUD, and would not affect census data as that is under commerce.

<comment><AUTHOR> My read is that they aren't (yet) proposing defunding the data, "just the maps" e.g. visualizations that make it accessible. Nothing (yet) stopping a public-interest project from hosting the same information on an open platform.

<comment><USER9> "design, build, maintain, utilize, or provide access to a Federal database of geospatial information"

From my perspective that says they cannot even create the data, let alone give anyone access to it.

</comment></comment></comment><comment><USER10> Gerrymandering, and its effects on under-represented minorities, is far harder to illustrate and/or prove without easily accessible data of this kind.

<comment><USER11> But it has "protection" in its title! It must be protecting us right...

</comment></comment><comment><USER12> The title of this article is not the same as the original, which is "H.R.482 - Local Zoning Decisions Protection Act of 2017" and concerns "The final rule of the Department of Housing and Urban Development entitled 'Affirmatively Furthering Fair Housing'".

The current title is click-bait.

<comment><USER13> From [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

"Otherwise please use the original title, unless it is misleading or linkbait. "

<comment><USER9> One could argue that the original title as misleading. As it does not say what the bill actually does. In this case a plain English description of the results seems reasonable.

<comment><USER12> Well, I don't see anything about race discrimination in the language, and it seems to be about whether zoning should be done on a local level rather than by the federal government.

<comment><AUTHOR> The language in Sec 3 is specifically "database of geospatial information on community _racial disparities_ or disparities in access to affordable housing". It is true that disparities may arise from either discrimination or other sources.</comment></comment></comment></comment></comment>


Ask HN: Recommend a small low-cost linux desktop computer - vanilla-almond I have a Windows 10 desktop machine, and although I could install Linux on either a partition or Virtual Machine (VM) I'm interested in getting a small desktop Linux computer instead (i.e. one without any peripherals or monitor).
I will probably use the command line in Linux more than a GUI desktop so the machine doesn't need to have powerful specs.
Any recommendations? Or should I go down the HD partition route? Or the VM route? <comment><AUTHOR> I recently bought one of these: [https://www.intel.com/content/www/us/en/products/boards- kits...](https://www.intel.com/content/www/us/en/products/boards- kits/nuc/kits/nuc6cayh.html) and added 4GB RAM and a 120GB SSD for about US$230.

It runs as a TimeMachine backup server. It's reasonably fast and very quiet.

In the end, it really depends on what you want to do with it.

[Edit: If you want to go really cheap, get a Raspberry Pi.]

</comment><comment><USER2> [https://www.intel.com/content/www/us/en/products/boards- kits...](https://www.intel.com/content/www/us/en/products/boards- kits/nuc.html)

</comment><comment><USER3> Check out the fit-pc mintbox mini or mini pro.</comment>


Selling Queerness: The Curious Case of Fun Home - <AUTHOR> http://www.theatlantic.com/entertainment/archive/2016/04/branding-queerness-the-curious-case-of-fun-home/479532/?single_page=true <comment><USER2> Was wondering where I'd heard this name: I've read the book. It's a well told story of someone realising their parents are human beings and a good read if you've ever felt like you're 'outside' something, for want of a better term.

</comment><comment><USER3> Sounds like any time someone wants to make a mass market commercial adaptation of an original work with dark themes.</comment>


Google requiring contractors get health care coverage, parental leave - <AUTHOR> https://thehill.com/policy/technology/436939-google-will-require-healthcare-parental-leave-for-extended-workforce <comment><USER2> Hacker News is impossible to please when it comes to Google recently. This is something that is virtually impossible to spin as a bad thing and somehow almost every comment is negative.

<comment><USER3> There's no denying that Google of today is no longer the same as Google of the past, however the values their services provide to society are still enormous and far greater than most other corporations out there.

We have learned that Facebook were indeed running various online campaigns to smear Google's reputation, just to take the public heat and focus off themselves. Many people fell for those traps during that time. I personally feel that those effects are still lasting, or at least still lingering around the community even until this day.

</comment></comment><comment><USER4> What about all of the contractors that they hire that are basically sole proprietorships?

I know a lot of former Googlers that do project based work for them. This will often include a former Googler that gets hired for a project, who then will hire a few freelancers that they know to work on the project with them. Are these small shops going to have to pay health benefits for their friends that come together to work on a short project?

<comment><USER5> From the friendly article: _The benefits will not extend to independent contractors, who are self-employed, but they will extend to "vendors," employees that work for companies that are under contract with Google. "Vendors" include those who work in Google's cafes, transportation services and more."_

<comment><USER6> Ooof, so all the research assistants and other people who work beside Googlers as Independent Contractors (most of the half of the company that is purposefully misclassified as 1099's) will continue to lack access to critical meetings about the project their working on, healthcare, retirement and IRS deduction split.

Sounds like Google doing the bare minimum to get some good PR, while avoiding fixing the real issues at hand.

FYI they did the same thing wrt Independent Contractors that get harassed by Googlers. The contractor is still screwed, Google has ensured they can fire or suppress the contractor's claim, forcing them to work with their harrasser. Considering most of these contractors are the bulk of the diversity on campus (women and/or non-white/non-asian) compared to Google's W-2 workforce, its likely they are experiencing the bulk of the harassment that occurs at Googleplexes.

Facebook does the same purposeful misclassification scheme to duck out on Benefits & ensure their abusive employees are protected.

<comment><USER7> I'm a bit confused here. The (vast) majority of the people who you are calling "Independent Contractors" are actually "Vendors", ie. employees of 3rd party contracting firms.

<comment><USER6> Generally these workers are 1099's of said "Vendors", yet they turn up to the same offices, do the same work as Googlers, and get treated much worse.

The vendor is just an intermediary to add a step of indirection and lack of accountability.

</comment></comment></comment></comment></comment><comment><USER8> I am not sure how far 15 dollars/hr is going to take you in SV or NYC.

<comment><USER9> It's a start, but really fixing the problem would be correcting a mis- regulated market with regulations and encouragements that create many kinds of housing, retail, office, and production (Industrial zones) to regulate market price from the supply side.

Regulating the demand requires making more cities worth living in; same basic ideas (create useful civil infrastructure), but harder since the money has to come from outside. Well, or we could do WWIII, an pandemic, etc, to constrain population in less pleasant ways.

15 USD/hour SHOULD be a livable wage, and the fact that it isn't reflects the insane rent-seeking, regulatory capture in all sorts of forms, and unhealthy market dynamics leading to inflation outpacing economic prosperity increases (for a majority of the population).

<comment><USER10> > 15 USD/hour SHOULD be a livable wage

Says who? These numbers are arbitrary if we're slaves to inflation. $15 now seems like a goal, but the same amount a century ago was unthinkable. How long will it be before $15/hr isn't enough for even the most basic needs?

<comment><USER11> This should be a government's job to decide. Google isn't the authority that should decide on that.

<comment><USER12> It seems strange to say that Google is the "authority" here. They are making a choice on how to run their business. There is no "authority" involved in that decision.

But what makes you think the government should decide either? What makes you think that the government is capable of discerning the correct number? What makes you think there must be a single number? And if you think there should be a single number, why should it be $15/hr vs $10, $20, $50, or $100?

How is it possible for a federal minimum wage to magically be "correct" for all combinations of:

* geographic location and local economic conditions * experience of worker (e.g. teenagers 1st job vs young-adult vs senior citizen) * part time vs full time * no training required, some training required, lots of training required? * time-of-day (1st, 2nd, 3rd shift) * time-of-week (5x8, 4x10, 6x6) * intangible benefits (think internships to gain experience/skills/networks)

I'm sure there are many more variables that could be added to that list.

The real minimum wage is always 0, for the workers that didn't get hired. Minimum wage laws are ultimately restrictions an individual's right to enter into a contract.

<comment><USER10> > Minimum wage laws are ultimately restrictions an individual's right to enter > into a contract.

This, 100%. If I have some menial task that doesn't justify paying minimum wage, and I have a person interested in this contract, then the government's intervention is violating our rights.

We don't stand a chance bringing the homeless population back into the workforce with a high minimum wage, it's just not going to happen. People who support higher minimum wage don't seem to realize that it has negative side effects, like pushing lower-ranking employees out of the market.

<comment><USER13> The point of a minimum wage is exactly to stop the those desperate for work to work for less than a living wage. This is due to the thought that allowing people to be hired for less than a living wage is essentially condemning those people to work for hours that are not healthy for mind or body in order to make ends meet.

If a minimum wage is too high, then sure, its a bad thing because companies can't afford to hire workers for menial tasks which stops workers from working.

But simultaneously, if it's too low, it leads to dangerous precedents exactly like you've described - menial tasks being farmed out to people desperate for any kind of cash, leading to them having to work inordinate number of hours to make a living wage - this is not a society I want to live in, and having to work exceedingly large hours due to my job not giving me enough money is also a "violation" of my human rights - that of a "just and favourable condition of work".

The trick is of course balancing the minimum wage with it's downsides of being too high - and there is fair argument that the US has let this slip below livable wage.

>This, 100%. If I have some menial task that doesn't justify paying minimum wage, and I have a person interested in this contract, then the government's intervention is violating our rights.

USA already has a problem with wealth inequality, and in the current system, removing minimum wage entirely would overall exacerbate this, not help, as now you're having minimum wage workers compete with no income workers - and the argument is that - increasingly - minimum wage workers already have trouble making ends meet. Minimum wage in this context is as much a Violation of rights as the context you are suggesting - and in my opinion, an odd choice of words to use in this context.

Edit - Can you explain why I'm being downvoted? I don't think I've broken any rules here.

<comment><USER10> > menial tasks being farmed out to people desperate for any kind of cash, > leading to them having to work inordinate number of hours to make a living > wage

Your point of view is that people who are willing to work for less are being exploited, but you fail entirely to see how real legally legitimate paid work would actually help underprivileged populations obtain success, as opposed to their current $0/hr wage.

> now you're having minimum wage workers compete with no income workers

You've said it yourself, dropping minimum wage would allow underprivileged workers the ability to compete for jobs. Maybe minimum-wage workers are scared that they'll lose their job to someone who's _actually_ desperate for work.

<comment><USER13> No I totally get it, but my belief is that there would be more exploitation occurring than net benefit gained from being able to hire people and pay them extremely low wages.

I don't want to return to the days where people would have to work 60+ hours to keep a roof over their head with bare necessities. We are closer to that reality than that of wealthy menial workforce in my view.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Or Google could, you know, just hire the people directly...

<comment><USER15> Reading you it looks like Google does not hire anyone.

Google is a tech company, it is perfectly natural for them to have contractors when it comes to people working in the cafes for example, because training or interviewing cooks will be done better in a company actually focused on training and interviewing cooks.

<comment><USER14> It hasn't always been that way. Companies use to hire their own janitors and cooks. If a school system can figure out how to hire teachers, principals, custodians, electricians, bus drivers, cooks, etc. I'm sure all of the smart people at Google can.

<comment><USER16> and cooks

Once upon a time, Google treated such contributors well:

[https://blog.rongarret.info/2011/11/in-defense-of-google- che...](https://blog.rongarret.info/2011/11/in-defense-of-google-chef.html)

<comment><USER17> It's easy for us to lose our way, but requires much effort to find our way back.</comment></comment></comment></comment></comment>


Electrical Power From Humans using Biofuel Cells - <AUTHOR> http://www.bbc.co.uk/news/technology-15305579

<comment><USER2> One step closer to becoming cyborgs, and it makes me really excited!

I wonder if you could soak up extra calories with this, want to lose weight? Charge your iPhone from your blood stream every day.

</comment><comment><USER3> This is absolutely a breakthrough in implant technology: of course, now the question is, how long will they last in-vivo? Five years? Fuel cells can have a foreshortened lifespan.

Also, an idea: perhaps such a battery could also be used for glucose _regulation_ in diabetic patients. The current itself can be a glucose meter, and by opening or closing micro-fluidic channels the machine could regulate blood glucose much more accurately (and healthily) than the spikiness of regular injections.

</comment><comment><USER4> I had an idea some time back about the possibility of isolating Electrocytes[1] into a human biocompatible form, or creating some human alternative that operates on the same principle.

I have no idea how plausible the idea is though, and is probably at least 2 or 3 major biological breakthroughs away.

Their major benefit, if my understanding is correct, is that you can scale them quite extensively, in a similar fashion to building muscle tissues, to gain more power. This would be invaluable for prosthetic limbs or high-power internal devices like an artificial heart.

[1] The specialised cells used by electric eels to generate charge for their shocking ability: [https://secure.wikimedia.org/wikipedia/en/wiki/Electric_orga...](https://secure.wikimedia.org/wikipedia/en/wiki/Electric_organ#Electrocytes)

</comment><comment><USER5> How to retire early: implant a lot of these thingies and start producing electricity for sale.

</comment><comment><USER6> Does anyone know how the body reacts to the charged glucose floating around?

</comment><comment><USER7> Please, can someone ship a copy of The Matrix to those scientists?

</comment><comment><USER8> But, lol, surgery is almost a right of passage for retired seniors. If their pace makers didn't go out every five years, what would my grandparents look forward to? :-/</comment>


Thoughts and rambling on the X protocol - <AUTHOR> http://julien.danjou.info/blog/2010.html#Thoughts%20and%20rambling%20on%20the%20X%20protocol

<comment><USER2> This article has it exactly right. I switched to Mac OS X because X11 is such a pile of crap (for users and programmers alike!), and I've never looked back.</comment>


How Taser inserts itself into investigations involving its own weapons - <AUTHOR> http://www.reuters.com/investigates/special-report/usa-taser-experts/ <comment><AUTHOR> Taser's response to the Reuter's series: [https://www.axon.com/info/reuters](https://www.axon.com/info/reuters)</comment>


The Surprising Power of Neil Sloane's Encyclopedia of Integer Sequences - <AUTHOR> http://nautil.us/issue/29/scaling/how-to-build-a-search-engine-for-mathematics <comment><USER2> I think I recall this website at one point existing at a domain from Bell Labs. I came across it almost 8 years ago searching on Google for a particular number sequence I came across in some research. The website is fascinating and I found myself looking at sequences for hours, amazed by all of the different ones that had been posted. This website is definitely one of the great hidden gems on the Internet.

<comment><USER3> Sloane kept his collection first on punched cards, then in a "handbook"—A Handbook of Integer Sequences, published in 1973, with the copyright held by Bell Telephone Laboratories, where he started working in 1968. In 1995 he launched an automated email lookup service called Superseeker, whereby the curious submitted sequence queries and the database replied with answers. In 1996 he opened up his repository for public browsing at oeis.org. With the lab's blessing, Sloane put it up on the research division's website.

</comment></comment><comment><USER4> In college I attended a great talk by Herb Wilf that was his foolproof plan for writing a combinatorics paper: Basically, find two sequences on the OEIS that look unrelated and prove a relationship between them.

</comment><comment><USER5> A few weeks ago I was working through the Google Foobar challenges and came upon a problem where I had to calculate a certain function. I could calculate the first few values of the function by hand, but was having trouble coming up with a general expression so I plugged the sequence into OEIS. I was pleasantly surprised to find that not only did OEIS have it, but it was actually the very first sequence in there! (Confusingly it is numbered A000435, not A000001.) OEIS gave me the general expression and from there I could solve the problem!

<comment><USER6> I wonder whether a meta-sequence which starts at (000)435 has yet been registered.

</comment></comment><comment><USER7> Too many times I've 'solved' a Project Euler problem like this: 1\. Write a program to solve the problem inefficiently. 2\. Look up the sequence F(1), F(2), F(3) ... at oeis.org

</comment><comment><USER8> oeis.org is one of my favourite resources

i am equally pleased to find a sequence in my research matches one in the oeis as well as finding ones vacant from the collection</comment>


Ask HN: Feedback on b2b website for food labeling - <AUTHOR>

We are going live with our b2b food labeling website soon, and was wondering about any ui feedback from the HN community.
Just as an fyi we are on rails/memcached/thinking sphinx/rds.  We make heavy use of memcached to calculate the calorie data quickly.
thanks! <comment><AUTHOR> <http://www.quickfoodlabels.com/></comment>


Rust bindings for the picoTCP library - <AUTHOR> https://github.com/maximevince/rust-picotcp

<comment><AUTHOR> Our embedded TCP/IP stack now has binding API to write Rust applications. picoTCP is a size, speed and feature conscious open source TCP/IP stack for embedded devices.

These Rust bindings are still very much work in progress, and we'd be glad to get any feedback or help on this!

<comment><USER2> Maxime, amazing work! I haven't looked at the code yet... But very curious how it works for demo/testing on Linux, does it use tun/tap device or something like that?

<comment><AUTHOR> Yup, does indeed use tun or tap (your choice)!</comment></comment></comment>


USPTO approves Apple patents on camera controls - <AUTHOR> http://finance.yahoo.com/news/apple-granted-patent-gopro-cameras-184357041.html

<comment><AUTHOR> Link to source(?) at patentlyapple : [http://www.patentlyapple.com/patently- apple/2015/01/apple-gr...](http://www.patentlyapple.com/patently- apple/2015/01/apple-granted-a-patent-for-a-superior-gopro-like-camera- system.html)

"Apple's newly granted patent covers their invention relating to the field of digital video cameras, and more particularly to a digital camera having a remote control."</comment>


Apple bringing offer codes for subscriptions - <AUTHOR> https://developer.apple.com/app-store/subscriptions/#providing-subscription-offers <comment><AUTHOR> Funny thing is I actually requested this yesterday morning in their feedback request form.</comment>


How to Become a Must-Have - <AUTHOR> http://smartfaststartup.com/2011/09/20/how-to-become-a-must-have/

<comment><USER2> This is actually a very solid insight, the value of the problem you're solving with your app can be determined by the amount of time someone will complain to you about it, especially busy people.

Sound so simple but its amazing how many "entrepreneurs" are terrified of talking to potential customers and end up wasting a ton of tie developing things nobody wants.

<comment><USER3> Agree. This is a fresh and disruptive approach to solving one of the biggest problems entrepreneurs face, but are afraid to ask or don't know how to ask. Am I building anything anyone wants to buy? Taking this question off the table before you start coding makes a ton of sense.

</comment></comment><comment><USER4> I can't really treat this article seriously when his second graph illustrating "real" growth of startups requires that we are able to breach time-space continuum and go back in time.

<comment><USER5> Then you wasted an opportunity to learn something from a very insightful article because of a superficial detail. I'm not entirely sure why that's something you're proud enough of to post a comment about it. Seems like a flawed outlook on life to discard a message because of a single superficial detail in its delivery.

<comment><USER6> If everyone had infinite time to read articles on the internet, it would be best to keep reading and possibly learn something useful from the article despite its error. Since we don't have that much time, we have to decide which articles are worth reading – there is a lot of nonsense on the internet that is a waste of time to read (Sturgeon's law). Errors of sufficient number and magnitude at the beginning of the article indicate a higher likelihood that the rest of the article is too nonsensical to bother reading, i.e. that the ratio of usefulness to time spent is too low.

Now, maybe you disagree that a graph with loops is that big of an error. But then you should write about the graph specifically. I don't think you have grounds for disagreement with the basic principle of generalizing the quality of an article from part of it and using that estimate to decide whether to continue spending your time on reading that article.

</comment></comment></comment><comment><USER7> As a founder of a B2B startup I think that your article is great! I think that this quote from Steve Jobs is a perfect fit here:

When you first start off trying to solve a problem, the first solutions you come up with are very complex, and most people stop there. But if you keep going, and live with the problem and peel more layers of the onion off, you can often times arrive at some very elegant and simple solutions.

I wish I UNDERSTOOD (very different then "I wish I knew") that 2 years ago when I was starting my company. Focusing on the problem, discussing it with the people that actually have that problem and not jumping immediately to solutions but "peel the onion" is something very very very hard to do.

Hope that next episodes of your article will provide more info about HOW to peel that onion :)

</comment><comment><USER8> None of this startup porn is new. The best source I've found discussing all stages of company development is Geoffrey Moore's work (Crossing the Chasm and Inside the Tornado).

<comment><USER9> The OP does draw a comparison between his ideas and Moore's Crossing the Chasm. I agree there's a lot of buzz-like words thrown around, but there is substance here. There's an actionable suggestion for finding the monitizable pain (or any other term you want to give it). His plan instructs you to call a specific person, to convey a specific message, and measure for a specific success rate. I'd say this is useful and fresh advice in that regard.

<comment><USER8> I agree and sorry for not being more clear. This article along with a lot of the current startup philosophies help with finding the initial market and traction. My challenge has always been what to do next. Focusing on the pain is part of the equation. The other critical factor, once a company moves out of the zone of early adopters, is the buying process of the main stream shifts dramatically. It's a sales and marketing scale issue vs. product and tech issue. (Although, as I write this, I'm realizing this may only be true for b2b products vs. b2c)

</comment></comment></comment><comment><USER10> This article is the best advice relating to building a successful startup that I've read on HN in awhile.

</comment><comment><USER11> good stuff. an article on B2C next? :D</comment>