Google removes AdBlock for Android from Google Play - <AUTHOR> http://venturebeat.com/2013/03/13/adblock-plus-removed-google-play-store/ <comment><USER2> Google is not an "open" company, no matter how many times they put that word in their press releases and ads. They are optimizing for revenue. They never allowed YouTube download add-ons in Chrome Web Store either. Removing AdBlock shouldn't be much of a surprise.

PS: More reason to stick to Firefox, especially since installing non-Chrome Web Store add-ons requires jumping through hoops[1] and even if you do so they won't auto-update AFAIK.

EDIT: I'm sorry. You're right. I got confused about what was removed from where. Apparently I'm not alone in this confusion because as of this edit the top comment for this thread starts with the sentence "the thing about blogspam is that it often generates confusion" and continues with an explanation of the situation[2]. Again, I apologize for my half-baked comment.

[1] [http://support.google.com/chrome_webstore/bin/answer.py?hl=e...](http://support.google.com/chrome_webstore/bin/answer.py?hl=en&answer=2664769)

[2] <https://news.ycombinator.com/item?id=5373795>

<comment><USER3> I think you're confused. Adblock for Android was pulled due to an agreement violation: [http://www.androidpolice.com/2013/03/13/breaking-google- has-...](http://www.androidpolice.com/2013/03/13/breaking-google-has-begun- purging-ad-blocking-apps-from-the-play-store/)

Adblock for Chrome is still in the Webstore.

<comment><USER4> What was the violation? Just because they interpret something as a violation it doesn't make it true.

<comment><USER3> <https://code.google.com/p/android/issues/detail?id=40506>

<comment><USER5> Its probably worth noting that the first response is the following:

"As a developer for Adblock Plus I am looking forward to a resolution to this issue which indeed is a serious problem.

Here are our proposals on how to fix this security hole without compromising Adblock Plus and similar apps: (A) Add an additional permission for apps that want to act as a proxy and/or (B) Add an API to Android that is similar to Gecko's nsIContentPolicy and Chromium's WebRequest (access to this API may require the permission mentioned in (A))"

</comment></comment></comment></comment></comment><comment><USER6> Google Play may ban Adblock Plus for Android but you can still download it directly at <http://adblockplus.org/en/android-about> or get AdAway from F-Droid, the Free & Open Source software repository for Android : <http://f-droid.org/repository/browse/?fdid=org.adaway>

<comment><USER7> This needs more upvotes! People are missing the point.

People that are use to living in Apple controlled walled-gardens dont understand that being removed from the play store doesn't mean much.

Their apps can still be listed in alternate app stores as well as download directly and installed directly (its trivial to install an apk which has been downloaded. Things are especially easy if you have a rooted phone, which I'm assuming most HN Android users do.

That's the major proponent of using Android for me. Just like my computer I am free to modify is and install any software I want.

I'm sure if the App Store even ever approved an Ad Block app it's long gone by now. Can any iPhone users comment on this?

<comment><USER8> "especially easy if you have a rooted phone, which I'm assuming most HN Android users do."

I'd wager 100 HN bucks this is not the case.

</comment></comment></comment><comment><USER9> I hate AdBlock and I wish people would use it more carefully. But even I think this is a bad idea for Google.

They appear to be saying that ad-blockers "interfere with [...] in an unauthorized manner the devices, servers, networks, or other properties or services of any third party"

Which is baffling, because I as the operator of my web browser is the person who gives authorisation for code (including ad code) to run on my browser on my machine.

I can think of a bunch of stuff that interferes with stuff - readability is an example. Why is it not okay to block ads, but is okay to drop CSS and reformat a page?

I fully understand why people run ad-blockers. I don't use ad blockers, so I know just how awful many ads are.

<comment><USER10> > I as the operator of my web browser is the person who gives authorisation > for code (including ad code) to run on my browser on my machine

There are actually two people who give authorisation for code to run on your browser: You and the code's copyright holder. Most web sites will say, "we authorise you to run our main content as long as you also run the ads". Running AdBlock means that you are running code in a way which is not authorised by the web page copyright holder.

<comment><USER11> I have never seen a web site require me to explicitly agree to something like that. There is certainly no implicit agreement that I must view any content they happen to send me.

<comment><USER10> There is no implicit agreement that you must view any content, but there is usually an implicit agreement that you must not modify the content. For example, the New York Times Terms of Service [1] says "You may not modify...any of the Content".

[1] [http://www.nytimes.com/content/help/rights/terms/terms-of- se...](http://www.nytimes.com/content/help/rights/terms/terms-of-service.html)

<comment><USER11> First of all, that's the terms of service that you agree to when signing up for an account. If you don't sign up for an account, you haven't agreed to that.

Additionally, you left out this from your quote "(except as provided in Section 2.3 of these Terms of Service)". Section 2.3 says "You may download or copy the Content and other downloadable items displayed on the Services for personal use only, provided that you maintain all copyright and other notices contained therein". All an adblocker does is download some of the content and decline to download some of the downloadable items. That's permissible under Section 2.3.

</comment></comment></comment></comment></comment><comment><USER12> Google Reader stopping? Firefox has a built-in RSS reader that I've been missing.

Google removing Adblock Plus, even though they allow unobtrusive ads (like most Google ads)? Firefox won't do that.

And Chrome, the once so fast browser, has been hogging more and more RAM with every version. I'm going back to Firefox now.

I used to use Firefox for years, but moved away when they made mistake after mistake. As another story recently said, Mozilla needed a kick in the butt. I think they've felt it, and it's time to move back now.

</comment><comment><USER13> I think microsoft had excellent timing with its 'scroogled' ads. (<http://www.scroogled.com/>).

I've already switched by browser's default search to <http://duckduckgo.com>, and honestly haven't noticed a difference, although alot of my searches are already on more domain-specific sites like stackoverflow.com so I bypass generic search engine.

Now, it could be time to switch back to firefox from chrome, esp. if google decides to scroogle AdBlock Plus from the Chrome Web Store too.

<comment><USER14> <https://startpage.com/> is also really nice :)

<comment><USER15> For Firefox set, Duckduckgo as the URL Bar search engine (somewhere in about:config) and Startpage as the right click search.

</comment></comment></comment><comment><USER16> Ehh... I think I prefer it when apps and tools like this stay in the "black market"/"under the table" and you have to jump through a bunch of technical hoops to get it working. I like the idea of it being a reward for paying attention and being informed. (example: rooting your phone to get wifi tethering)

I don't expect for-profit companies to support things that has no value (to them) other than harming their revenue stream.

If lets say they start prosecuting people for building these tools for personal use, etc... Then I would be concerned.

<comment> guard-of-terra Your example is especially misguided. The only reason you haven't got tethering is that you're using a very wrong carrier in a very wrong place.

Everyone else in the world get their tethering as an inherent consequence of having internet on their phpne. You can't get internet without tethering the same way you can't get internet without facebook.

So it's very like a chinese resident saying "I'm happy that facebook and youtube access require VPN, I like being rewarded for paying attention". Which would be a major WTF.

</comment></comment><comment><USER17> I think in the future (maybe 5 years from now), writing programs for Android will become like making money with AdSense now: unless you are very large (like Facebook), or have a PR department (like NYTimes), expect letters like you now get from AdSense: "It has come to our attention that <... blah blah ..> As a result, we have disabled your application in Google Play store and removed it from devices where it has been installed" And poof- all your work is gone! Replace <...bah blah...> with "copyright", "inappropriate user generated content", "not fitting our 'business model'", "inducing users to install it", etc.

<comment><USER18> no why, you can always develop and install any android apps you want. what you mean is access to the play store. there is a difference.

<comment><USER19> "there is a difference"

At the moment.

<comment><USER20> Amazon has effectively guaranteed it will stay that way for a while. Don't forget: Even early on, the Amazon Appstore was popular enough to force AT&T to stop blocking sideloading. It is only more popular today.

</comment></comment></comment></comment><comment><USER21> Only a extreme small subset of websites get paid per viewed ad. Its mostly an relic of the past which most ad-networks has move away from.

The wast majority of websites with ads get paid per clicked ad or per sold unit/registration. They don't get paid a single dime for visitors that do not click on the ads (see <https://en.wikipedia.org/wiki/Compensation_methods>). The big exception is video and video sites where commercials has a different purpose and economic model (branding mostly).

That means, if one never click on ads on a website, it's equivalent to running ad-block on your browser. There is no moral superior choice by allowing ads to run on the screen. When we do, we are just fooling ourself into believing we are "contributing". At worst, we get a worse impression of the website and thus won't encourage others users who would click on the ad to visits the website.

However, I doubt this has anything to do with economics and all to do with the ap-market and it's image. Google want to encourage new developers to code for the Google Play market place, and thus anything that might scare away developers is a threat.

<comment><USER22> I think it's important to stress that this is totally incorrect -- the substantial majority of display advertising is still being paid on a CPM rather than CPC basis.

Look at this data, for example: [http://www.adexchanger.com/online- advertising/iab-2011-onlin...](http://www.adexchanger.com/online- advertising/iab-2011-online-ad-spend-hit-31-billion-as-display-trailed- search/)

"Performance pricing" (CPC and CPA) was 65% of all online ad spend in 2011, but if you remove search from that, it goes down to 20%. CPM (per-impression) pricing is around 33% of all online ad spend.

Block ads if you want, but you should be aware you are depriving publishers of revenue if you do so.

<comment><USER21> That one include digital videos, which they say includes cable and spot TV (I assume based on the article that this mean streaming sites and sport commentators?). Thus We are now trailing far far away from ads on a website which is the primary purpose of ad-block. TV and by extension video is basically never PPC or PPI based for their advertisement model.

For better statistics, lets pick advertising companies that only offer banner and text ads (like ad-word), or which has clear way to separate them. We also want the number of sites that use each type of model and not the total revenue for the ad company. I am not the least surprised that video streaming, sport channels, and news papers has a much larger revenue source for ad companies than say all other type of websites combined. Feel free to point to statistics that proves this wrong.

<comment><USER22> When they say video, they mean sites like YouTube etc -- spot TV is so negligible as to be pretty much a non-factor. As you can see from the 2012 report ([http://www.iab.net/media/file/IAB_Internet_Advertising_Reven...](http://www.iab.net/media/file/IAB_Internet_Advertising_Revenue_Report_HY_2012.pdf)) video is < 5% of overall spend and is not rolled up with display. The number you should be looking at is Banners + Rich Media, which is what most publishers use.

<comment><USER21> Ty, that report was an interesting read. Rich media and Digital Video was way smaller than I would had thought, and email way bigger than I ever feared.

Sad that they didn't include a Revenues by pricing model for each of search and banner specific market. The second thing I would have very much liked to see which markets sold the space.

</comment></comment></comment></comment></comment><comment><USER23> Slightly unrelated: Why don't more sites allow hiding of ads for a small fee? Over the last year I've probably donated a lot more money to sites than all advertising revenue I would have generated were I not using AdBlock.

What I would like to see is a kind of browser extension that automatically donates a (very) small amount to every site I visit per page view. In return, the site would not show me any ads. Safety would be a concern though.

Of course this would not be good for Google at all, so they might want to block such an extension too...

<comment><USER24> Because in the ads world more users is equals to more money.

A small fee for hiding ads will not generate a small revenue stream but, at the same time, decrease the value of your adspace.

And selling a consistent and growing userbase is easier that keeping a consistent and growing revenue from ads-free subscriptions.

<comment><USER23> I don't quite understand.

If I visit a web page that has an ad then that might net the website owner $0.001 (or something along those lines, I have no real figures). I would personally have no problem paying $0.002 per page view to get an ad-free site. No subscription, just pay a very small amount per view or get ads.

From my point of view, which is probably naive, the website owner would rather have $0.002 instead of $0.001 per page view.

Actually transferring fractions of a cent is of course difficult, but there are ways to work around that.

<comment><USER25> Yes, your point of view is naive.

On many of my sites, I earn at least 12 cents per pageview, on average, and sometimes as much as 50 cents.

Because I don't charge our users, I don't have to deal with customer service, payment processing, and many other things related to collecting money.

While I haven't ruled out letting subscribers pay us in the future, it would add a huge layer of complexity to our business.

Additionally, if subscribers where to pay $.0002 per page view, guess who would get all of the money? The credit card company! And I definitely don't want to be in the business of figuring out how to do micropayments.

Advertising is simple, it works, and actually provides value to users when done right. Furthermore, as a publisher, I have the right to build a sustainable business.

People who remove ads are directly attacking the ability of any publishing business to exist. Not cool.

</comment></comment></comment></comment><comment><USER26> Wait, I'm confused. The article mentions Google play which is for Android but shows screen shots of Chrome Web Store which is for Chrome. They also mention Adblock Plus which is a Chrome Extension but didn't Google remove Adblock on Google Play which is something entirely different?

It's weird to see people comparing it to Firefox and how it would not block ads. AFAIK chrome still does that, but just not on Android. Or am I wrong?

<comment><USER27> You're not wrong. The article is (intentionally?) confusing the two AdBlocks. The Android app is the one that got removed, not the Chrome extension.

</comment></comment><comment><USER28> I wonder if Google has plans to yank AdBlock from the Chrome Web Store also. It must cause some bean counters some serious stress seeing the #1 Chrome extension being completely antithetical to their business.

<comment> mansoor-s Luckily Firefox has kept up and the two browsers are pretty similar. I use both, and will drop Chrome in a heart beat if they did remove it from the app store.

<comment><USER29> That was the main reason I waited to get chrome in the first place.

</comment></comment></comment><comment><USER30> I always thought that they would do this.

I suspect that they won't do this to the web store, as there is a fundamental principle in that a web client determines how to render something. That is... the client (browser) can choose to obey or ignore any markup it receives... the end user actually controls the rendering (sizing, fonts, contrast, which elements to display or hide).

But apps on an app store have no such principle. In fact the underlying assumption is that they are locked down and that the app author has that authority and not the end user.

With that in mind, I wondered how long it would take for AdBlockers on the Play Store that blocked adverts from loading in other apps would be tolerated by Google.

Personally I used to use AdAway ( <https://code.google.com/p/ad-away/> || <https://github.com/dschuermann/ad-away> ) and you can see the hosts file they use here [https://github.com/dschuermann/ad- away/blob/master/AdAway/sr...](https://github.com/dschuermann/ad- away/blob/master/AdAway/src/org/adaway/provider/AdAwayDatabase.java) , but then I skipped even that step.

Now I just root my phone and replace the hosts file with the one found at: <http://someonewhocares.org/hosts/zero/>

I wouldn't say that AdBlockers are all bad, one of AdAway's features is that you can load hosts lists to unblock domains that were removed from DNS in countries like China: [https://smarthosts.googlecode.com/svn/trunk/mobile_devices/h...](https://smarthosts.googlecode.com/svn/trunk/mobile_devices/hosts)

Edit: Although now I'm curious... have Google gone so far as to prevent people from loading something like AdAway from an untrusted .apk like the one AdAway host at <https://f-droid.org/FDroid.apk> ?

</comment><comment><USER31> I'm so tired of an advertising-driven web.

Unit ad revenue (so-to-speak) continually falls. The income of business reliant on advertising drops, they cut costs, and the quality of content suffers. The focus on link-bait and trying to get a viral hit or SEO, overtakes the imperative to provide something that people actually want. It is not a sustainable model for most businesses.

Please, people, forget advertising. Provide something that people want, and charge a small and reasonable price for it.

I pay for a news app, it's a small subscription, it's great, I'm happy.

Back to Firefox we go.

<comment><USER32> After the power-drunk players of the internet bubble made everything free, market expectations were set, and now there's an expectation by most internet users that a large part of the online services they use be free.

</comment></comment><comment><USER33> So, anybody still wondering what Google Glass is actually intended to do?

Given that Google's core business is advertising, not shiny new technology.

<comment><USER34> Apple seems to have made a few bucks by selling hardware. I don't really see why Google can't also go that route if it wants to.

<comment><USER35> Because Apple consistently wins awards for support while Google.... doesn't believe in it?

</comment></comment></comment><comment><USER36> AdBlock is awesome, especially for mobile users; Why would I pay _my_ money, use _my_ bandwidth, so that _you_ can make money?

<comment><USER37> Because I pay _my_ money and use _my_ bandwidth, so that _you_ can read the content _you_ want.

<comment><USER38> Which you _freely choose to do_.

You exist in the market as it is, not as you wish it to be. If you can't find a way to make it pay (if that is your priority/a requirement) then you'll fail and someone else will try. If no one can think of a way to make it pay, then we'll lose such sites until someone can.

Which is fine. Better that than ads.

<comment><USER39> If you remove the incentive to freely distribute content, eventually people will stop doing it. When this happens, most of the content you enjoy will end up behind a paywall. The reason you don't see it now is only a small portion of the internet is aware of and uses these products. Most of us can't work for free, and I imagine a substantial portion of this reader base's income is directly or indirectly supported by advertising.

<comment><USER38> Yes, I said that in my previous post.

And we'll go back to having a greater proportion of hobbyist sites. People doing it for the love of it rather than the money. That's fine.

I think advertising is a terribly crude way to make money from a website, as well as being cultural and aesthetic pollution. I think we'll look back on this period when websites were ad-funded with embarrassment.

Of course, I can't think of a better idea.

But if the use of ad-blockers increases then many many sites will go pop (the really good ones - the ones that people are actually actively willing to pay for - will survive of course) until some clever sausage eventually thinks of a better idea. And that will be great. Good old free market at work.

</comment></comment></comment></comment></comment><comment><USER4> So let me get this, they interpret section 4.4 as the equivalent of not being allowed to edit your own /etc/hosts file on your own device?

Here is 4.4. What exactly does AdBlock infringe?

"4.4 Prohibited Actions. You agree that you will not engage in any activity with the Market, including the development or distribution of Products, that interferes with, disrupts, damages, or accesses in an unauthorized manner the devices, servers, networks, or other properties or services of any third party including, but not limited to, Android users, Google or any mobile network operator. You may not use customer information obtained from the Market to sell or distribute Products outside of the Market."

<comment><USER3> This: <https://code.google.com/p/android/issues/detail?id=40506>

</comment></comment><comment><USER40> Luckily you can still sideload apps on android. If you have a rooted phone you can try the more draconian ad-away [0] that will modify your hosts file.

[0] <http://code.google.com/p/ad-away/>

</comment><comment><USER41> > I believe they are testing the reaction… > Chrome is next

[http://venturebeat.com/2013/03/14/adblock-plus-secret- takedo...](http://venturebeat.com/2013/03/14/adblock-plus-secret-takedown/)

</comment><comment><USER42> Ah, the routine of not being evil.

<comment><USER43> Evil is a relative term

<comment><USER35> Well, company mottos are meaningless because companies always use their own versions of words. For example, in Google "evil" could mean "anything that doesn't make us maximum profit" if they want it to.

</comment></comment></comment><comment><USER44> I imagine that Google, Facebook, and other companies that make much of their money from online ads must be pretty scared that this huge revenue stream depends on the general public not taking the two minutes that are required to install an adblocker. I mean, if adblockers really caught on, these companies would lose tons of revenue.

Perhaps the key thing is that people who are most bothered by ads are the ones who never click on them and then install adblockers, so that the loss of these users does not represent much revenue loss.

<comment><USER45> What if Microsoft includes an optional os level ad block with windows blue that is on by default. They did that with privacy and can also do that with bandwidth. Their business model doesn't have too much on ads.

That would kill these revenue streams. Google has been fighting the Microsoft business model for years giving freebies supported by ads.

<comment><USER46> >What if Microsoft includes an optional os level ad block with windows blue that is on by default.

Huh? So much for baseless FUD. Ad-blocking is much different than adding an extra header for voluntarily respecting someones privacy. Incase you din't know, blocking ads involve removing the content or terminating connection to the ad-server altogether. No, Microsoft or any big players don't have a reason to or is that stupid to do so.

</comment></comment></comment><comment><USER8> Really a pro PR move to do this on the same day as the Google Reader shutdown announcement and I/O sellout.

</comment><comment><USER47> To ones interested in how much AdBlock actually impacts ad performances, this is an interesting report.

<http://clarityray.com/Content/ClarityRay_AdBlockReport.pdf>

Almost a year old though. Anyone has newer data?

</comment><comment><USER48> Because they can?

Perhaps using "Google Analytics Opt-out Browser Add-on" would be a more relevant now, <https://tools.google.com/dlpage/gaoptout>

I can't check at the moment, but is it available for android's chrome?

</comment><comment><USER28> tl;dr:

AdBlock Plus "interferes with or accesses another service or product in an unauthorized manner," which Google says is a violation of section 4.4 of the Developer Distribution Agreement so it has been removed from Google Play.

</comment><comment><USER49> If they remove it from Chrome as well,then I am jumping back to Firefox.

</comment><comment><USER50> Well, I guess I'm gonna need to install Firefox again :/

<comment><USER51> This appears to be just for Android, not the Chrome browser.

</comment></comment><comment><USER52> I'm going to remove Google Play from my smartphone :)

</comment><comment><USER53> <http://someonewhocares.org/hosts/hosts>

</comment><comment><USER54> In Google's defence, they're in the business of making money, not in the business of doing good.

If I'm completely honest, I'm actually ok with a model where we, the technomages, are able to install Adblock anyway and the muggles have to deal with an eyeball-tax. >;]

<comment><USER36> But they make a lot more money because their official raison d'être is to "do good".

<comment><USER54> Well, not quite. Their (unofficial) motto is "don't be evil", which is not the same as "do good". Besides, it's only so because of the opinion that --in the long run-- being (perceived) as a good company is better than being a short- term greedy one.

You could debate whether removing Adblock constitutes an evil act, but at the end of the day _someone_ has to pay for those shiny new services and gadgets.

</comment></comment></comment><comment><USER55> Would you let someone mess with your business in your own house? I don't think so...

<comment><USER56> 1.) Why are you running your business out of your house. 2.) It's not "someone". It's "customers". 3.) Your product is Free!* 4.) Ads are annoying 5.) You cannot put the genie back in the bottle. Hackers and people with some dedication or desire to learn will always win, no exceptions. 6.) As most people have already mentioned, this seems to be a pretty glaring exception of the "Don't be evil" social contract that Google likes to throw about.

</comment></comment><comment><USER57> How does AdBlock detect the ads? Isn't there a risk it removes non-ad content?

<comment><USER58> Sure there is, but you can easily disable it per page/site if you notice something doesnt work.

</comment></comment><comment><USER59> Bit OT but the title - 'Google yanks AdBlock Plus from Google Play, surprising nobody' is a good example of hindsight bias.

</comment><comment><USER60> I think it's time to switch back to FireFox.

</comment><comment><USER25> We try to build a positive, two-way, relationship with our readers, but if someone removes the ads from our website, they are directly attacking our ability to stay in business. Not cool.

Removing ads from a website is no different than pirating software: You're getting the product without paying for it. Publishers deserve to make money from their work.

<comment><USER35> > they are directly attacking our ability to stay in business.

You have no right to be in business. If you want to be in business you have to earn it. Pissing off your customers to the point that they take extra steps to make your content readable is a fail on your part.

>Removing ads from a website is no different than pirating software: You're getting the product without paying for it.

Total bullshit. I have a web browser. It lets me point at the web and consume content in any way I want to. If you don't want that put your stuff behind a paywall. So long as it's on the open internet it's _my_ choice how I view it, not yours.

Piracy isn't remotely comparable and shame on you for saying it is.

</comment></comment><comment><USER61> Evil corporation is so evil

</comment><comment><USER62> evil

</comment><comment><USER63> Good riddance. I'd rather be bothered by ads than the apps/services I use being deprecated.

</comment><comment><USER3> The thing about blogspam is that it often generates confusion.

The author took some liberties with his conclusions which explains some of the comments below.

Here is a more informed post: [http://www.androidpolice.com/2013/03/13/breaking-google- has-...](http://www.androidpolice.com/2013/03/13/breaking-google-has-begun- purging-ad-blocking-apps-from-the-play-store/)

First: Adblock for Android was purged from the Play store. Adblock for Chrome is still available.

As to why it was removed, it is said that it is in violation of section 4.4 of the Play Store Developer Distribution Agreement:

 _4.4 Prohibited Actions. You agree that you will not engage in any activity with the Market, including the development or distribution of Products, that interferes with, disrupts, damages, or accesses in an unauthorized manner the devices, servers, networks, or other properties or services of any third party including, but not limited to, Android users, Google or any mobile network operator. You may not use customer information obtained from the Market to sell or distribute Products outside of the Market._

How so?

By rootless-ly changing proxy using an exploit that was patched in 4.2.2: <https://code.google.com/p/android/issues/detail?id=40506>

<comment><USER64> Oh look! -It's a Google fanboy apologist! Obviously, this is a good thing because it lets all Android users enjoy The Full _Open_ Web, now that it's been _Opened_ up a bit more.

Open is Good. Google is Open. Google is Good. Open open open.

<comment><USER65> TBH I wouldn't mind them blocking AdBlock Plus for simple reasons of harming content creators. If people don't want ads that's fine, they don't have a right to view my content.

I know HN isn't, but it should be, on the sides of creators.

<comment><USER35> If you want to be paid for your content charge for it. If you put it open on the web then I have the right to consume it how ever I like. That's kind of the point of the web...

<comment><USER65> The point of the web is to share knowledge.

Advertising pays for knowledge to be created and published.

</comment></comment></comment></comment></comment><comment><USER66> lol after the Reader debacle , I hope people finally see Google for it really is. It is not a cool company and you dont want your core business to rely on them. As for now i'm switching to Firefox.

<comment><USER67> What too you so long?

</comment></comment><comment><USER68> For those saying this means anything about Android, it does not. Google Play is Google's app store for Android and they can do what they want with it (I wish they wouldn't, but that's another story). However, there is absolutely no restriction by Google on Amazon or any other app distributor continuing to provide AdBlock to Android devices. The AdBlock guys can also just put up an APK online. It's unfortunate that they'll lose the exposure of Google Play, but that's a risk you run when you're making an app that directly goes against the business interests of your distributor.

The same goes for the Chrome Web Store, it's not the only place you can install Chrome extensions it's just the best place to get them. Again, I hope Google doesn't remove AdBlock from the Chrome Store but if they do I really couldn't blame them. I'm not sure why we should expect a company that makes 99.9% of its revenue (not an exaggeration) on ads to willingly distribute ad- blocking software to customers who are likely not paying for any Google services.

This is different than what would happen if Apple did the same thing on iOS. On iOS you can't install apps from third-pary sources without jailbreaking your device, which puts your warranty in jeopardy. So while I agree Google may be abusing the term "open" with regards to their policies, Android as an Operating System is as open as ever.</comment>


Poll: Hottest new area in technology? - <AUTHOR> In HN's opinion, what is the hottest area in tech at the minute? Also, what do you predict the next 'big thing' in tech will be?<p>Its a bit of an open ended question so feel free to be as creative as you like with the answer. <comment><USER2> Big Data / Data Mining / Machine Learning 'ish stuff. Yeah, that's kinda broad, but generally speaking there's a lot of cool stuff going on there. Of course everybody is all amped up about AI at the moment because of Watson, but even outside of Watson there's a lot of stuff going on in this sphere.

</comment><comment><USER3> A quote from "When Computers Beat Humans on Jeopardy" by Ray Kurzwell in the WSJ. Search Google for non-paywalled access.

 _The fact that millions of farmers in China can access most of human knowledge with devices they carry in their pockets ..._

It's not just Chinese farmers. There are now tens and soon hundreds of millions of people walking around with most of human knowledge available at their fingertips.

The next big thing will be what enables them to make use of that information.

</comment><comment><USER4> Big data analysis is currently hot, and will almost certainly only get hotter. You can apply big data analysis in many areas, but only a few have been tapped so far. What used to be $CRAZY_EXPENSIVE amounts of computing power can be leveraged to provide new insights into existing fields. In a word: Hadoop. Combine that with your NoSQL tech of choice (HBase, Cassandra, Riak, etc).

</comment><comment><USER5> Data Visualization.

</comment><comment><USER6> The best way to predict the future is to invent it.

</comment><comment><USER7> Hottest area? Cyberwarfare - it's about to hit the peak of the hype cycle, but there's still substantial problems and money to be had for the right solutions.

The next big thing in tech (by which I mean PC big, Internet big or Windows big) will be bio-integration, by which I mean interfaces that interact with or augment biological functions.

The hacks we're seeing on Kinect will eventually filter into products. We've already seen circuits implanted on contact lenses. We're already seeing augmented reality on phones becoming normal.

Now, imagine glasses that project displays Layar style several feet in front of you. Imagine contact lenses that do this, or that change shape depending on where you're looking and how you're focusing.

We already have prototypes of these things, or are part-way along the way to achieving them within the next 5-20 years.

Now imagine map systems that talk to a wristwatch that 'pulls' north or towards your route so you don't need to use a screen to orient your surroundings. Imagine walking into a room and closing the curtains with a gesture. Turn the volume up and down like a conductor.

Those last ones are possible with current technology, they just need to find their way into commercial products.

So you're meeting a friend at a cafe and you're running late. They can see a pointer to where you are, and their contact lenses are automatically notified of where you are 5 minutes before you're meant to meet them (through notifo 8.0, natch). It's ok though because your coffee order was put through and they know not to begin to fulfil your order until you get within 100m of the café. Your friend gets notified of the great Vancouver coffee riot (due to crop failures there's no coffee in Vancouver, the withdrawal was a powder keg waiting to explode) as they followed the hashtag, articles from the New York Post mingle with tweets in a semi-transparent newspaper style display about 3 feet from them, but your friend likes old fashioned themes. They get pinged automatically once you're about to come around the corner (thanks to a YC funded Google Maps/Notifo mashup) just in time for your coffee.

We have the tech for almost all of that already, the main issues are bandwidth, integration and battery power, and the lenses.

Now Imagine a wrist-based device that monitors your heart beat by collecting data from sensors on your chest, can work out your blood sugar level from the flow of magnetically charged sugar-bound nano particles and that can administer insulin through a peripheral catheter.

Bizarrely, we have the sensors, we have the potential to create the nanoparticles within the next 5-20 years, the only issue is the administration (currently it would be a catheter or subcutaneous administration for some, but alternatives are in the works). With that technology we could use it to administer all kinds of stuff.

Now imagine all of that combined with the ability to interact with people both near you and on the other side of the world with no difference, save some lag.

You could be sat there in the US, having your meds and numbers monitored remotely from Manilla by trained staff, and your meds will administer once it notices a significant adverse change. You could then blink, then look towards the menu item you want to bring up and see your granddaughter's school recital in Paris streamed over the Internet and watch it as though you're there (or rather you could if Flash wasn't such a hog and your glasses kept stuttering, maybe time for an upgrade to iGlasses 2?) and not miss the 49ers game.

That's where I think we're headed. I think that will be the biggest thing in tech until we're replacing organs cloned from the patient's own cells and can grow blood in a machine.

Anyway, that's just my 2p worth (perhaps 20p then!). what does everyone else think, am I nuts?

</comment><comment><USER8> SaaS</comment>


Using Heartbleed PoC for Hijacking User Sessions En Masse - <AUTHOR> https://www.michael-p-davis.com/using-heartbleed-for-hijacking-user-sessions/ <comment><AUTHOR> Many people have commented on the legality of using this software. I didn't think it needed pointing out that using this on servers you do not own is strictly against the law. My only reasons for writing this is to show exactly what can be done with the vulnerability and how scary it really is.

Many people have a vague understanding of how bad it is to lose a private key that is used to sign SSL traffic, but showing that one is able to hijack sessions en masse makes this vulnerability much easier to wrap our heads around.

Don't be idiots out there.

<comment><USER2> And at least in the US, it would likely violate a federal law that has _disproportionately stiff prison sentences_.

</comment></comment><comment><USER3> Big props to you Michael (and everyone else who helped produce this PoC) for showing how completely fucking crazy this security hole is. I don't envy the flack you'll get for it, but it really drives home the enormity of the problem, and will force people to patch _much quicker_ than they would normally. The only thing that gets companies to patch in less than a month is a big fire under their ass.

</comment><comment><USER4> This exploit as posted is suboptimal. If I understood the format of a heartbeat message correctly, its one byte type followed by two bytes unchecked length.

So if you want to maximize the data extracted with each connection, you should send FF FF for length, instead of 0x0302 bytes as its requesting now (if n2s is for network byte order to short).

<comment><USER5> It's requesting 0x4000 (16384) bytes. Here's what the bytes in the heartbeat packet sent by the PoC mean:

        0x18       TLS content type:  heartbeat          [*]
        0x03 0x02  protocol version:  TLS 1.1            [RFC 4346, section A.1]
        0x01       message type:      heartbeat request  [RFC 6520, section 3]
        0x40 0x00  payload length:    16384 bytes        [RFC 6520, section 4]

This should be followed by a payload of that length, but if it isn't (as in the PoC) the vulnerable versions of OpenSSL will then carve it out of the heap to form the response packet - this is what leads to the data leakage.

[*] see [https://www.iana.org/assignments/tls-parameters/tls- paramete...](https://www.iana.org/assignments/tls-parameters/tls- parameters.xhtml#tls-parameters-5)

<comment><USER5> Just realised I accidentally deleted a line while I was reformatting, that should read:

        0x18       TLS content type:  heartbeat          [*]
        0x03 0x02  protocol version:  TLS 1.1            [RFC 4346, section A.1]
        0x00 0x03  content length:    3 bytes            [RFC 4346, section A.1]
        0x01       message type:      heartbeat request  [RFC 6520, section 3]
        0x40 0x00  payload length:    16384 bytes        [RFC 6520, section 4]

</comment></comment></comment><comment><USER6> Ouch some very large sites have some very large holes in them right now!

</comment><comment><USER7> This is how you get sued and/or arrested.

<comment><USER8> Yeah, this crosses the line from "PoC" to "active exploit tool". Folks have gone to prison for less.

<comment><AUTHOR> I am literally just parsing the output of the original PoC.

<comment><USER8> I get that, but the purpose of the script is now explicitly "steal user sessions" rather than "proof-of-concept".

I wouldn't convict you, but if someone used this tool in a breach that was embarrassing enough to the right person, I don't think a prosecutor would have a very hard time convincing a judge that you were an evil hacker writing evil hacker tools.

<comment><AUTHOR> Do you have the same feelings about the Rapid7 team? What about the guys at Tenable? Heck, the Offensive Security guys are making an entire Linux distro that is nothing more than "evil hacker tools". Surely there are countless crimes committed with their software. Do you believe that all of them are in the wrong.

I am not an exceptionally gifted programmer. This is a trivial change to the original PoC to point out an additional attack vector. Pointing out that there is more to this attack than leaked private keys is very important.

<comment><USER8> The line between whitehat pentester and blackhat cracker is very thin, of course. They use the same tools and the same techniques; the differentiating component is intent and target.

The title of your post is "Using Heartbleed PoC for Hijacking User Sessions En Masse". Not "Your users' sessions are at risk", or "Heartbleed affects more than private keys". The express intent of the published code is the theft of user sessions. I know that _you_ probably don't have any intent to do Bad Things with it, but if I was a prosecutor looking for someone to slap around with the CFAA, you just threw up a giant neon "SUP BITCHES" sign.

The folks you mentioned all produce tools which are intended and marketed for use by white-hat security professionals in the pre-emptive exploitation of their own networks for the purposes of security. Yes, we all know that the Bad Guys use Metasploit extensively to find and exploit machines, but if Rapid7 were positioning their tool as the premiere solution for pwnz3ring b0x3n, you don't think they'd be in a legally different situation?

I never said you were wrong. In fact, my exact words were "I wouldn't convict you" \- I really do get why you published this, and I don't think you're some bad guy cackling to yourself from deep within your evil lair or anything. However, we know from recent history that things less gray _have_ (unjustly, IMO) in fact landed people in prison. It's not illegal to own a crowbar or lockpicking set, but it's illegal to own one with the intent to commit burglary. Intent matters, and they way you positioned your PoC is problematic in that its stated intent is "mass hijacking", rather than "demonstration of an additional security problem". I am not trying to say that there's anything wrong with the code you've published - there isn't - but that the way you've presented it is potentially problematic if it were to attract the wrong kind of attention. That's all.

</comment></comment></comment></comment></comment></comment><comment> wc- I'd imagine people have been charged with crimes for much less than what one could attempt to charge this author with if some scriptkid uses this code and causes damages.

I respect the author for wanting to be a part of the community contributing code related to this event but some self-preservation might be in order...

<comment><AUTHOR> If this were true, the Rapid7 guys would have been in jail long ago. This doesn't do anything more than the original PoC, but shows another reason for administrators to update their machines.</comment></comment>


Scientists reverse ageing in mammals and predict human trials within 10 years - <AUTHOR> http://www.telegraph.co.uk/science/2016/12/15/scientists-reverse-ageing-mammals-predict-human-trials-within/ <comment><USER2> Just my luck that I'd be in the last generation to get old and die.

<comment><USER3> "Listen here whippersnappers, back in my day, we were all mortal ... none of this '245 is the new 20' nonsense."</comment></comment>


Swoopo: Profitable Until Deemed Illegal - <AUTHOR> http://www.codinghorror.com/blog/2008/12/profitable-until-deemed-illegal.html <comment><USER2> That is pretty seriously evil. Although, with a little modification it could be made less evil. Such as if they started all auctions at .0001 the normal price of the item. And if they had enough users, so that any one user only bid a couple of times before the price of the item reached a point where people weren't willing to chase it any more. But it doesn't sound like thats the case here, in which case, definitely evil.

</comment><comment><USER3> This is dated-- they aren't profitable[1]. As far as the ethical parts of this article, it's not different than gambling sites. And I bet just like Vegas, it will become profitable when people feel comfortable wasting money again

[1][http://www.businessweek.com/magazine/content/10_34/b41920406...](http://www.businessweek.com/magazine/content/10_34/b4192040657482.htm)

</comment><comment><USER4> For more info than you ever needed on how a penny auction site works see this course project: <http://home.kevinchampion.com/portfolio/course_work/si_618/>

<comment><USER5> I hope that student got a great grade. While I think some of his conclusions are not correct. It's obvious the work that was put in is way above what I have ever seen as the average for coursework.

<comment><USER4> Just to be clear, it's not my work.

</comment></comment></comment><comment><USER6> Swoopo works for the same reason slot machines are enormously popular, even though the house always wins.</comment>


Show HN: My YouTube commercial for my Android project - <AUTHOR> http://www.youtube.com/watch?v=yE2df3shE-Y

<comment><AUTHOR> Hey guys,

Just wanted to share my 2 week project with you guys for feedback and hopefully some marketing tips :) Anyone out there having any luck with Android apps? I'm the male actor in the commercial despite my director's best wishes... He tried firing me several times indirectly and directly and I refused to be let go. I figured "I'm a developer, how hard can acting be?" Not so easy :(</comment>


Bing Says 25% of All Searches Are Voice Searches - <AUTHOR> https://www.searchenginejournal.com/bing-says-25-searches-voice-searches/163287/ <comment><USER2> > Before long, I would expect closer to 50% of all searches to be comprised of > voice searches.

I'd definitely want data from Google before making that kind of conclusion. More likely is that Bing isn't very popular, and so for a lot of people Cortana/Siri/Alexa is their only usage of Bing.

<comment><USER3> Back on the envelope - on mobile so forgive no sources:

      150b Bing searches/yr (from 12% mkt share)
      -->37.5b voice searches

      500m iOS devices (ignoring Cortana/Alexa as negligible)
      -->75m have ever used Siri (15%)

Implies 500 voices searches/year or one or two per day, per Siri user. Seems high

Edit: found a source on Quora that suggested 1b Siri queries per week. So it's in the ballpark- since not all of those will be web searches

<comment><USER4> As a Google voice user, I do probably 5 voice searches per day. Perhaps not typical.

</comment></comment></comment><comment><USER5> What proportion of that 25% actually returned correct results based on the users voice query?

Even though my phone supports voice search I never use the feature.

Not only do I not want to broadcast my search to the room/subway car, but also rather not have to type my search again after it fails to understand me.

</comment><comment><USER6> And 25% of Internet Explorer usage is to download Firefox or Google Chrome.

</comment><comment><USER7> So a third of users at least test Bing voice before searching for a different browser?

</comment><comment><USER8> I can't help but think a lot of this are in the mold of "damnit, no, stop searching." \- at least in my experience.

Still this is a lot higher than I suspected.

<comment><USER9> Xbox One Bing Trolling

[https://www.youtube.com/watch?v=uvBwezmeW1M](https://www.youtube.com/watch?v=uvBwezmeW1M)

</comment></comment><comment><USER10> "No Cortana I did not want you to search for Pizza places, I wanted you to call Mum."

It's still a voice search.

/yes I'm a huge luddite with my phone and use only one voice command at the end of the day, but I still see the above as being a non-trivial amount of the searches.

</comment><comment><USER11> Im guessing its kids that dont know how to read/spell/type with iPads and parents that don't know how to change the default search engine. It would explain the word count per search increase too.

</comment><comment><USER12> That definitely says a lot about the minimal search volume they have.

</comment><comment><USER13> And probably a large percentage of all searches are for physical items such as keys or wallets.

</comment><comment><USER14> Inb4 20% of those 25% are mistakenly activated voice searches.

</comment><comment><USER15> Am I the only one surprised people actually use Bing at all?</comment>


Dos and Don'ts for Founders - <AUTHOR> http://ryancarson.com/post/25580650719/7-dos-and-donts-for-founders

<comment><USER2> I hear lots of advice to founders about not wasting time with email. This may be good advice, but to be honest I'm not sure why somebody at an early stage startup that hasn't launched a product yet would get so much email?

Sure you may be negotiating with VCs/Suppliers etc (in which case you probably want to see those emails) but I don't get why you would have hundreds of people spamming your inbox every day?

<comment><USER3> We are about to launch and I already have hundreds of unread emails in my inbox because I've been so busy coding to get to them. These can be broken down roughly into the following categories: \- people trying to sell stuff \- potential BD partnerships \- random contact requests coming in from our website \- product discussions with the team \- various admin emails from our accelerator organizers \- a few mailing list automated emails

As you can see, most of these are not important enough to have to read!!

<comment><USER4> Actually I get to email first thing in the day. I prioritize the ones I want to read and respond to or delegate. I also read email last thing in the day.

It is important to keep in good contact with everyone one wants to keep in touch with. But one shouldn't spend too much time doing it.

</comment></comment></comment><comment><USER5> I just looked at this guy's startup. How the heck is it making money? Are people really so clueless as to not know that the same information can be had for free from dozens of websites just a Google search away?

There isn't even a free trial! How can they expect people to pay $50 up front on the strength of their nonexistent brand name?

I am seriously confused. The only explanation I can think of is that they get all of their traffic from this guy's blog posts, from HN hacker wannabes who want to learn to code and didn't think to Google.

<comment><USER6> A structured approach to learning, combined with motivation goodies (like the badges) saves a lot of time. Saving just a couple of hours a month easily justifies the $50 cost...and with any half-decent course you'll save a lot more than that.

</comment></comment><comment><USER7> Ryan, what is it with the very precise timings? Waking at 4:54am and todos for 19 minutes.

My hypothesis is that if you aim to get up at 5am then it's easier to be lazy and say that 5:15am is almost 5am, but if you specify 4:54am then you can't cheat! Am I right?

</comment><comment><USER8> I'd like a combination of 3 (mission statement) and 5 (TeamGantt) -- each time you are creating a concrete goal for your todo list, think about how exactly it will align with your mission statement and advance the company.

<comment><AUTHOR> Interesting idea - thanks.

</comment></comment><comment><USER4> There's a lot of good stuff there. I would add one thing about accounting. If you are a founder, you need to know it. Every case I know of where a business went out of business due to embezzlement, the cause was a partner not keeping an eye on the books. Know your accounting and at least once a month look at the books. There are no excuses.

The second point is about todo lists. I have my own style here, the author has his own style. It's a good idea to develop your own style here and run with it. Maybe it is 19 min a day. Maybe it is 5 min a day. Maybe it is linear. Maybe like mine it is non-linear with general priorities.

</comment><comment><USER9> So are those do's or don't's? Honestly, I thought it was a parody until I got to "learn basic accounting".

</comment><comment><USER10> Probably not the best title but I enjoyed the article. I always like hearing what tools other founders use.

ps. all you project manager makers TODO list startups, listen up. Your app is not a project management app until it has dependencies. If you don't have dependenies you are just a TODO list; Basecamp, I'm looking at you ;)

</comment><comment><USER11> _Use TeamGantt to build your Road Map_

Not a fan of this. Especially when you are just starting out with an idea that changes rapidly. A Google Doc with a few bullet points for key goals and big deadlines is more useful.

<comment><USER4> Agreed. Flexibility is important. I always say don't look at plans during execution.</comment></comment>


Ask HN: Who is using Go language? - <AUTHOR> I read a lot about Google Go on Hacker News. Is it as good as we read here? What are its benefits?<p>Is anyone using Go language in real world projects? <comment><USER3> Apparently youtube is: <http://code.google.com/p/vitess/>

as well as heroku: <http://blog.golang.org/2011/04/go-at-heroku.html> / <https://github.com/ha/doozerd>

edit: more here <http://go-lang.cat-v.org/organizations-using-go>

<comment><USER4> Apparently Google isn't a heavy Go user and has no plans to become one.

<comment><USER5> That's not a comment on the technical benefits. It's a comment on turning around battleships.

Porting large projects is lots of work, especially when there's plenty of stuff to do that directly impacts the customer. New projects are a different story.

<comment><USER6> And it's not even necessarily a good idea to port large projects - <USER2> ignoring the complexity of doing a port while continuing further development and maintenance on an existing product.

</comment></comment></comment></comment><comment><USER7> I am a systems engineer, I worked a lot in filesystems and filesystem-like things. About one year ago I started using Go instead of C for new projects, with the exception of kernel programming where the existing environments are too different for Go to integrate well. I'm very happy, I don't want to go back.

<comment><USER8> What exactly are you writing and what do you see as the big improvements vs C in your day to day work?

</comment></comment><comment><USER9> I've been using Go for a few months on a few different projects. Neither are my "day job".

The first project is a Google Music player app for Chumby devices (and other similar ARMv5/v6 class devices... will probably port to Raspberry Pi if/when I ever get one). The project is pure Go at this point with its own UI toolkit based on an mmaped /dev/fb.

The second project is a web service API for mobile apps plus an associated webserver.

I hope more companies adopt Go, making it a viable language for commercial programming. Using it is the most fun I've had coding in years.

<comment><USER10> I'm hoping to use Go on a Raspberry Pi (and am currently waiting patiently for it to arrive)... but this bug worries me: <http://code.google.com/p/go/issues/detail?id=909>

Anyone know if it's a dealbreaker? I'm planning on running a webserver on it, so I imagine a GC bug would likely manifest after running long enough.

<comment><USER11> The bug affects application dealing with large integers which can be seen as a valid pointer within the program's address space. So, this will affect your app if it deals with large ints.

There is also work underway to make the GC more precise which will avoid this problem in future.

</comment></comment></comment><comment><USER12> We are using it at Janrain [ <http://janrain.com> ] for a web-hook/callback system. It will go into production over the next few weeks and is an important feature which will need to deal with a heavy load.

It has worked out great so far. Might write about our experiences once it has a few miles on it.

<comment><USER3> please do!

</comment></comment><comment><USER13> We (a group at the Institute for Systems Biology) use it for some cluster management software (<http://code.google.com/p/golem/>) that coordinates 10's of thousands of core hours most days. The consistency and compactness and fast compilation of the language make it a joy to work in and the concurrency features and packages for basic http and web sockets etc make it great for wiring up distributed infrastructure. The standard go packages for http are so much better then the python ones it isn't even funny.

We leave our processes running for months and memory usage stays quite low and stability good which is surprising considering the minimal time spent in development (note: we run on 64 bit linux). (Actually the other day I realized we had generated 24 gb log file because no one had restarted the master process in months.)

We still use other languages for linear algebra heavy things or things that benefit from a more complete webframework (in terms of both features and documentation) but I am hoping the go ecosystem develops in those areas.

</comment><comment><USER14> We are using Go at Torbit. We can write high level code and still get C-like performance. It gives us the rapid development of an interpreted language, with the stability and performance of a compiled language.

<comment><USER14> Oh, and we're hiring Go engineers too! <http://torbit.com/jobs>

<comment><USER15> The job title is "Golang Developer". Are you really looking for people who identify with a programming language and not programming in general? Also, it's called Go, not Golang.

<comment><USER16> Well if you're looking for someone to work on Go code you will look specifically for Go programmers. People who can already write idiomatic Go code.

Golang is also a better term, due to the fact that "Go" means a lot of different things and is extraordinarily difficult to search for.

<comment><USER15> There's a difference between an X programmer and a developer with programming experience in language X. The former is either incapable, unwilling or not expected to program in anything other than X. The latter has no implied limitations.

In the specific case where X is Go, requiring previous experience is a signal that the company might not be hiring skilled developers. Skilled developers can learn Go quickly because of the language's small size and consistency.

<comment><USER14> You're right. Most of our guys are using Go for the first time. What I should have said is we use Go at Torbit and we're hiring. If you want to program in Go and work on technology that touches millions of people every day, come join us!

</comment></comment></comment></comment></comment></comment><comment><USER17> I'm using Go with Google AppEngine. Seems to be about an order of magnitude less resource intensive than the Python versions of the apps. Not exactly surprising, considering that Google developed the language. And of course the team has leveraged the learnings from C / Unix and Inferno.

Don't forget that the Go suite contains C compiler and assembler as well for multiple platforms. In the Inferno version it was very easy to do cross- platform compilations.

</comment><comment><USER18> At Carbon Games we're using Go for backend servers, including game sessions server. If you go and play AirMech multiplayer game right now, you'll be playing it on server written in Go.

[https://chrome.google.com/webstore/detail/hdahlabpinmfcemhcb...](https://chrome.google.com/webstore/detail/hdahlabpinmfcemhcbcfoijcpoalfgdn)

There is also Windows build if you prefer that over Chrome: <https://www.carbongames.com/download.html>

</comment><comment><USER19> Youtube, Heroku, Canonical, BBC Worldwide, ngmoco, smugmug, Spotify... Golang is strange, need to write some Go codes in order to appreciate the language design decision.

</comment><comment><USER20> I have just started playing with it primarily to rewrite chatfor.us as I want to see if I can build the full stack without extra dependencies. Chatfor.us uses zeromq and tornado along with virtualenv so I am hoping with go I can speed up development as well as take better advantage of multi core systems with less dependence on load balancing.

I was already planning on rewriting the authentication to work with more than just twitter so it seemed like a good time to try rewriting it in go. Also go is supposed to have a really nice mongodb db interface so I wanted to give that a try as well.

<comment><USER20> I guess I should note this is a personal project, basically a hobby. If I had more time I would probably be focusing on tornado more. I'm a weirdo who finds learning new languages relaxing

</comment></comment><comment><USER21> Anchor uses it for orchestra, which is "a suite for managing the reliable execution of tasks over a number of hosts."

<http://www.anchor.com.au/blog/2011/08/the-automation-waltz/> <https://github.com/anchor/Orchestra>

</comment><comment><USER22> I am seriously considering Go for a portion of a desktop application. This portion needs to be cross-platform (Linux, OS X, and Windows), thread-aware, and safe (I really don't want buffer overruns raining on my parade).

I would also prefer to have a single executable as opposed to a run time that has to be installed first, especially since I want to be able to sign the executable.

Are there any other options out there that fits the bill? I don't consider C or C++ safe. Python, ruby and others are safe, but they aren't wrapped up as conveniently (especially on Windows). C# would work on Windows, but is less than ideal on OS X and Linux (but it is a contender, thanks to Mono).

<comment><USER23> I cant find the exact link to what I'm thinking of (I'll pop back if I do) but there are tools that package ruby scripts up with the runtime into one executable, especially on windows. There was one that could produce executables for many platforms, in the meantime take a look at [https://www.ruby- toolbox.com/categories/packaging_to_executa...](https://www.ruby- toolbox.com/categories/packaging_to_executables)

</comment></comment><comment><USER24> We're using it for all our toolchain in our small first game. We've also created a small build system based on v8 (javascript), but integrated it using go, it generates all your project so you just need to compile it.

We were using it also for our web page (a custom blog engine made on go), but, we left it on alpha, and Go 1 changed a lot, gofix didn't fixed and priorities made us choose another tool for our web page.

Still, i think go only needs a desktop GUI toolkit to become popular. It has a lot of potential.

</comment><comment><USER25> I am. It's pretty amazing. All performance benefits of C, none of the language drawbacks. (No offense to C.)

I have a few apps in production already and I'm only doing new stuff in Go.

<comment><USER26> > _I am. It's pretty amazing. All performance benefits of C, none of the > language drawbacks. (No offense to C.)_

Actually the "all performance benefits of C" is not quite true. Go ranks slightly slower than Java, and 2-3X the speed of C/C++.

<comment><USER25> I'm curious what benchmarks you're deriving that from. I've not found that to be the case at all.

</comment></comment></comment><comment><USER27> I'm using it on a fairly substantial web back end for a new mobile startup. I've also used it in the past at hackathons. I'm a big fan, overall.

</comment><comment><USER28> Part of my DVR system uses Go <https://github.com/aflott/syncgenie>

</comment><comment><USER29> I'm using it for some personal projects. A variety of web servers, mostly.

The standard HTTP/networking libraries and goroutine model are fantastic.

</comment><comment><USER30> I use it to serve my personal website and blog. I've also helped develop and maintain a cluster management tool written in Go.

</comment><comment><USER31> > Is it as good as we read here? What are its benefits?

C - pain.

[+ps]: well, the concurrency model is quite nice, too.

</comment><comment><USER32> > Is it as good as we read here? What are its benefits?

Just as importantly, what's bad about it? Or if you don't want to say something like (e.g.) syntax can be "bad", what do you dislike? What changes would you make if you were designing it?

<comment><USER33> The bad parts of Go are mostly the tradeoffs you have to make for a systems programming language. They have benefits but also some unfortunate downsides. Some are just implementation details that will get solved over time.

* integers overflow

* sharing memory between threads isn't safe

* mutable state/ shared state

* nil pointers

* block scoping can lead to multiple different variables with the same names within a function. Sometimes confusing.

* value types limit certain conversions. eg. you can't convert an []int to an []interface{} directly because an int and an interface{} are different sizes in memory.(<http://golang.org/doc/go_faq.html#convert_slice_of_interface>)

* Error handling can become quite verbose if you don't design your code to limit the places errors can come from.

* gofmt is awesome, but in some rare situations the default format makes code less clear, so you have to change your style of code to fit the formatting.

* 'go get' is awesome, but it's lack of centralisation makes it harder to find the good 3rd party libraries amongst the bad/incomplete ones.

* The current goroutine scheduler is really simple and moves goroutines between threads and CPUs. This leads to lots of cache misses, so running on many threads can become slower than running on a single thread.

<comment><USER34> "nil pointers" is a tradeoff for you?

Block scoping, too?

<comment><USER33> It's possible to never have nil pointer dereferences. But the tradeoff is constructors and some complicated scoping.

Block scoping is confusing for many people coming from the dynamic languages where scoping is usually function level.

</comment></comment></comment></comment><comment><USER35> Docs Detective is using Go for its main document comparison algorithm. Its running on App Engine, where most of the app is in Java. Cross-language communication is done via the shared datastore and web-hooks.

</comment><comment><USER36> Go is one of those languages I'd like to use more, but can't find a good fit for the kind of work I do (I mostly write iOS apps, and programming languages myself (weird dichotomy I know)).

</comment><comment><USER37> I'm successfully using it in my web usage data mining BSc thesis.

</comment><comment><USER38> I've played with it building blogs, forums, polls and everything the web can handle, so yes, let me tell you Go can do it all. Easily.

<comment><USER38> Like in any language, if you can access a database and print, that's all you need to do web pages:

        func Blog(ctx app.Context) {
            data := models.GetPosts(ctx,10)
            ctx.Render(app.Templates+"blog.html",data)
        }

Deliciously simple.

</comment></comment><comment><USER39> Me

<comment><AUTHOR> Could you please elaborate the application? Are there any benefits over other languages(python/clojure/ruby etc)?

<comment><USER40> So whenever people ask me about Go, I try and get them to keep in mind this isn't meant to be a competitor to python/ruby or any of that. Approach it from the mindset of a C guy and it will look amazing. The biggest benefits over python/ruby are static typing and that it is compiled. I know static typing isn't popular around here but it has its benefits. I love go and I know web programming is possible in it, but I'd never use it for that. To me it shines at system level services, embedded linux, and anything with high performances and reliability requirements without real time requirements.

We were actually having a talk today about using it here on an embedded Linux device we produce. I'm not very confident anything will come of it but I think it would be a good fit.

<comment><USER41> Indeed. There's been so much focus on interpreted langauges these days, compiled languages seem to be all but forgotten. C++ is the last new compiled language that's caught on. (There are others, like D, which are hanging in there, but don't seem to be gaining ground.) Go seems to have potential to grow into a successful compiled language.

<comment><USER42> While I share your point of view, being a bit pedatic, I would like to note that most JVM and .NET languages are also compiled.

<comment><USER41> Compiling to a virtual machine is only one step up from byte-compiling, which hardly counts. Calling a tail a leg doesn't make it one.

<comment><USER42> Microsoft .NET always JITs the code, there is no VM bytecodes being executed on runtime. If you prefer you can AOT your application with NGEN.

Mono also offers the possibility to fully AOT your .NET application.

Most Java VMs can be made to fully JIT the code, bypassing any interpretation with flags similar to -XX:CompileThreshold in Hotspots' case.

If you prefer compile Java directly to native code, you can make use of gcj, Aonix Perc or Excelsior JET.

Language != Implementation

</comment></comment></comment></comment></comment></comment></comment><comment><USER43> gobl.googlecode.com - a small web CMS

</comment><comment><USER44> You want to know if it's as good as Hacker News reader say it is, so you ask Hacker News? :P

Yes, it's awesome. :)</comment>


Devmag.io: A network for software developers - <AUTHOR> https://devmag.io/ <comment><USER2> I really like the idea. Here are areas I think it could be improved.

– It seems like there's no way to comment on links. If this is a place for discussion, there should be a way to comment on links, right?

– The UI is very spread out. I understand that's what Material Design is, but the amount of padding and the space each post takes up is rather intimidating to look at. It's be nice

– "We are hiring" shouldn't be the main focus before the hashtag navigation. Most people aren't looking for a job. I can't close the panel either, so it's just wasted space.

Wait, I just figured out how to get to the comment section. Please change that, it's counter intuitive. Label the comment button "comments" don't put a cutsey symbol.

I really dig the idea, your heart is in the right place. Also +1 for better looking UI than reddit! (if not as efficient)

<comment><USER3> I wanted to join but it seems you can't do it with your twitter account alone. Is there an obvious reason I am missing?

</comment></comment><comment><USER4> I like the idea of specialized post types. One of my favorites is the Repos (source code repository) post. Having specialized places for different types of content is pretty cool. I realize that it's not a completely new idea (Slashdot has had "categories" since the beginning of time) but I like the way that they have presented it.

Some people here have commented on not liking the "material" design, however I find it head and shoulders above the HN layout. It's fully responsive, lightweight, and fast and looks good on a retina screen. The best thing is that I don't have to have a 3rd party plugin[0] to make it usable. :)

[0] [https://chrome.google.com/webstore/detail/hacker-news- enhanc...](https://chrome.google.com/webstore/detail/hacker-news- enhancement-s/bappiabcodbpphnojdiaddhnilfnjmpm)

<comment><USER5> Thanks for the nice words. @Corrado :)

</comment></comment><comment><USER6> I really love the web design, and the whole purpose of the site, I was shocked not to see Twitter as an option for registration, but that's not a deal breaker since at least Github was available. Great work!

</comment><comment><USER7> Simply Awesome UI! It forced me to join :)

Will share more after using it.

<comment><USER5> Thanks. :) Looking forward to your feedback.

</comment></comment><comment><USER8> One quick thing I noticed is that if I have an invalid username (ex: has a dot in it) and press the arrow to continue, it tells me that its already taken. Confused me as I couldn't imagine somebody already took my fairly-unique username.

</comment><comment><USER9> Lovely design. One thing I don't like though is too flashy header IMO. And this mix of green and blue in new post is unsettling. I would simply change this light blue buttons to something else :)

</comment><comment><USER10> i had the same idea to create a social network for developers. I'm very curious about their business model. Will they provide a database of developer profiles for enterprise recruitment ?

<comment><USER4> Yes, that's a question I have as well. There doesn't seem to be any advertisements at all, so where is the money going to come from. In fact, how do you make money off of developers?

Advertisements probably wouldn't work anyway because we are a technologically savvy group that knows how to work uBlock. Creating a job board like Stack Overflow is probably one answer, but that seems pretty pedestrian and not really a main source of income. A paywall might work, but there is already a lot of competition in this space (Reddit, HN, ./, etc.) and none of them require subscriptions. The paywall is in fact that's one of the reasons I don't like Quora. Another source might be partnering with other technology companies, though I don't really know how that would work.

</comment></comment><comment><USER11> I haven't used it much yet, but I'm already getting the sense that it's what Forrst could have been

</comment><comment><USER12> Really love the developer friendly filters (repos, discussion, etc). Design is really really well done.

<comment><USER5> Thanks, @dberg. Really enjoying your comments on Devmag posts. :)</comment></comment>


Benjamin Franklin and the Art of Business Development - <AUTHOR> http://blog.indexventures.com/benjamin-franklin-and-the-art-of-business-development/

<comment><USER2> I've always said Ben Franklin was the father of open source, at least as pertains to hardware: "Of the numerous inventions Franklin created, he did not patent a single one"; see <http://www.pbs.org/benfranklin/l3_inquiring_little.html></comment>


Is Facebook Intentionally Lowballing Its Official User Numbers? - <AUTHOR> http://www.techcrunch.com/2009/03/27/is-facebook-purposefully-lowballing-its-official-user-numbers/

<comment><USER2> Yea, Dr. Drama is back in top form. It was getting quiet without him.</comment>


Email is not broken, we are. - <AUTHOR> http://www.joshualyman.com/2012/04/email-is-not-broken-we-are/

<comment><USER2> What ever happened to "there are no stupid users, only stupid websites/applications"?

The user is not broken. Wanting email to be MORE than it is does not mean users are wrong. The fact is that email does not do what the average user wants it to do. Telling people to change their habits is...well...stupid.

Before anyone chimes in with "email isn't broken, but the clients may be". Whether this is a client issue or protocol issue is irrelevant. 99.9% of users do not know what SMTP is let alone why it is not broken. The email experience is broken. End of story. No blog post required.

<comment><AUTHOR> Sorry, you missed the point. Occasionally the user _is_ broken, because as human beings we sometimes do things that are less than optimal. I'm not making an argument really for whether or not this is a technology issue or a client/server problem, but more to say that we should try and have slightly more productive behaviors before we expect a technology solution to solve our woes (often self-inflicted).

<comment><USER2> No, I didn't :)

If this was an "occasional" problem, there wouldn't have been a dozen blog posts on HN about it in the last week (least of all this one). If humans are doing anything sub-optimally that's something technology can help improve. The more common the problem, the more likely there is a common solution.

If everyone wants to use email as a todo list, you have two options: 1\. tell everyone not to 2\. build it

Option 1 will not work.

<comment><USER3> Email is not "broken".

Users are not "broken".

Email is simply a method for people to communicate. People are messy. Put two of them together (communication) and the messiness increases exponentially.

Have you ever seen two people arguing, and then it turns out (much later) they were arguing about two completely different things, and they are actually agreeing with each other? This isn't a technology problem, speech isn't "broken".

Have you ever sent a text message, and the other person didn't respond for a few hours and you started to think that they were upset, or something you said was wrong etc. Then it turns out their phone was turned off or they were in a movie theatre. Everything was fine! Does this mean people are "broken"?

The argument going on in this thread is far too black and white to apply to reality. People live in the grey area. Part of being human is managing the messiness of interacting with other people.

<comment><AUTHOR> Thanks for the grounding aethr. And toast76 brings up very good points. What I think we've seen recently with all the related articles on HN is a dichotomy of how we are viewing the problem. Most describe it from the perspective of email not fulfilling our technical needs (security, threading, etc.) which is true. There is a lot of work to be done there. I just want to help shed light on a broader problem, where we're shoehorning email into a very difficult problem that is brought on heavily by our own actions.

</comment></comment></comment></comment></comment><comment><USER4> We should be adapting computers to work for humans, not adapting humans to work for computers.

I agree that there are tons of improvements to be made to effective e-mail use in organizations. But many of the behaviors we exhibit are completely natural to us and difficult to change. For example, we check our e-mail on what psychologists refer to as a _variable interval reinforcement schedule_ ; we know that at approximately some interval we get an e-mail that is helpful or enjoyable to us, and we waste our time checking for that e-mail.

It's hard to change the e-mail we receive on a global scale in one instant. It's quite a lot easier to develop tools that change how the e-mail we receive is displayed to us. One such concept was the Gmail priority inbox: what if you only got notifications for the e-mail that was important and could buffer up the rest for later?

A complete theory of how e-mail could work might easily involve a hybrid approach. Why aren't people suggesting solutions that could work instead of debating approaches? Does it have to be one way or the other?

<comment><AUTHOR> Great comment enginous. I want to look into variable interval reinforcement now, as I've been approaching this from more of a research-based angle.

The solutions should be hybrid, though I still believe that better behavior, reinforced by technology, is what will be the most effective. If you have your client reinforcing good checking schedules, that's a behavioral/technical win/win.

<comment><USER4> That's a great point: technology can be very effective at shaping human behavior.

You might want to check out the Stanford Persuasive Tech Lab's project on behavior design[0], which has some resources about how to use technology to change human behavior.

[0] <http://captology.stanford.edu/projects/behaviordesign.html>

</comment></comment></comment><comment><USER5> I've seen evidence of 'broken email authors' for many years. I'd write a thorough email with explanations and questions and I'd get a reply answering the first question with a single "yes" and no more content.

</comment><comment><USER6> > When using email, sending tons of short, not fully formed messages is > killing us. We need to take the time to construct useful, productive > messages, something most of us are not doing.

That's true. Since I began writing well-formed longer emails I receive fewer ones and nearly no IM-style "yes.", "how about that?" anymore. It's also much more satisfying to write and, I hope, to read.

</comment><comment><USER7> Some people are using e-mail like IM and e-mail is built as an asynchronous communication system. In my opinion, that's where the friction happens.

The author of this post brings up a great point about defining expectations on reply times. I think it's healthy to create an auto-reply that states that you only check e-mail x number of times a day.

<comment><USER8> I would find getting an auto-reply for every email I send to someone, just telling me they won't be looking at it until later that day ~incredibly~ frustrating. I do not need that email on my phone. I do not need that email in my box. Perhaps a rapportive like sidebar, but not as an email proper, please.

</comment></comment><comment><USER9> My response is more tuned towards corporate/enterprise/more-than-20-person teams.

so we got salesforce for CRM, getsatisfaction/others for support, jira for project management, tons of enterprise minded apps, yet people resort to email. why? its easier to just type in an email as opposed to logging in / filling a form, and last but not the least treating notifications sent by email in same vein as a human being.

Whats pathetic is "IT" sets up these apps and does pilot program and claims success.

I believe more idiot-proof-apps, as easy as email client app shows up, lesser will be "emails"

<comment><USER10> The idiot proof app is email.

Email is the digital successor to the memorandum, which is turn the apex of a line of written communication mechanisms dating back thousands of years.

A Sumerian boss got his reports via tablet. Phahroh via papyrus. Roosevelt via telegram. Pershing via a rolled up message tied to a bird.

Instead of futzing around with some fragile app which may or may not be designed for what I'm doing, I can send an email to nearly anyone on earth that I need to deal with.

</comment></comment><comment><USER11> Couldn't agree more. Email should be something like: "I want to know it, but I don't need to know it right now. Otherwise I should have called you." Let's try to get that back.

</comment><comment><USER12> It's 2012 we have a 100mb up/down connection and yet I still can't attach a file over 10MB and not have it bounce back. I can't believe that any self respecting hacker does not see room for improvement in that situation. I should not have to work around that situation (yousendit, dropbox etc..) it should just work.

I'm firmly in the "it's broken" camp.

<comment><USER13> It's 2012. We have servers/services on which we can post files/attachments, either encrypted or access-controlled, and email links to those documents.

<comment><USER14> But that's just it. Being that it's 2012, the e-mail client should be smart enough to do this. I should be able to attach a large attachment to an e-mail (since that's the logical place to make the association), and then, depending on the attachment size, the e-mail client should automatically move it to Dropbox or some other service and translate the attachment into a link for me.

The difference between the your first approach and the second is that yours requires a behavioral change. The second approach does not. Put another way, it is often easier to change the situation (by making it the path of least resistance) than the person when you want someone to do something else.

It seems like some of this is already in the works, fortunately:

[http://www.ghacks.net/2012/02/15/thunderbird-to-get- dropbox-...](http://www.ghacks.net/2012/02/15/thunderbird-to-get-dropbox-and- file-hosting-integration/)

Maybe it already exists in certain clients (Exchange and Outlook?) and I just haven't looked hard enough.

<comment><USER13> Now ... there's a thought.

Agreed: better to put this in the client than require user behavior change.

</comment></comment></comment></comment><comment><USER15> Wow, someone finally gets it. The application isn't broken, the users are.

We expect too much from it, wanting it to be our todo list and other roles that it plainly wasn't designed for.

I email doesn't do what you need or want, then find something else that does. If you cannot, then build it and release to the world.

</comment><comment><USER16> Your article failed to address the main issue: security. Off by default is broken.

</comment><comment><USER17> Does anyone else feel that e-mail is not broken, but task/project management systems are?

Fundamentally, doing "productive work" boils down multiple individual tasks which some humans are doing, while at the same time referencing and updating some store of information/documentation/metadata to find what to do, and say when/how it's been done. Computers should be great at assisting with this administration - the bicycle of the mind helps get you where you want to go.

The fact that email is used to move tasks between people, as the place to create new tasks, as the place to discuss tasks, as the default todo-list for a day unless you go out of your way to move information elsewhere, is all not a failing of email or behaviour, it's a failing of project management and shared todo list and documentation systems. They don't do it, so email does.

If you had a place where that kind of stuff was tracked /well/ it would be trivial to use it to do all this stuff and email would fall by the wayside because it would be less good. Email would become for personal, direct contact, and notifications of things that you request be sent to you.

Too much work should not build up in individual inboxes, it should build up in shared project management system - and a company can then choose to allocate more people to it. Asking one person for information because it isn't documented and searchable should not be the norm. Asking one person what needs to happen next because it isn't tracked shouldn't be normal. Emailing prototypes to your colleagues because there is no centralised storage that works nicely shouldn't be the default.

It even seems tantalisingly easy to build - tree structured projects with nested tasks, granular user permissions, a designed UI to answer questions like "which bits need work", "which bits need questions answering", "which bits are underplanned", "what should I be doing". Templates of procedures so you can set regular patterned actions in motion.

It sort of exists. It's sort of in CRM and Sharepoint workflows, it's sort of in individual task lists, it's sort of being made real. But not yet.

Normal cars are no good at moving lots of goods. The way to fix that is not to make family cars with reinforced axles and tractor tyres, and it's not to teach people to drive slower so they can balance things more carefully. It's to invent vans and trucks and trains.

<comment><USER3> I agree with the sentiment of what (I think) you're trying to get at.

However, the problem that some people have raised is that there are many different task management/project management systems out there, and clients interfacing with multiple technology suppliers may not want to learn all of them. Email has one (simple) interface that you can use to delegate tasks to all your suppliers regardless of what management software they use. Furthermore, the client creating the task may not be able to describe it to the same extent that an engineer needs, or know enough to fill out all the meta data required.

To this end, they send their task via email to the engineer (or project manager) and this person enters it into their company's management tool, transmuting it into the appropriate technical specs/jargon at this point.

This may seem like an "extra step", but there are tools for Outlook/gmail to create tasks in popular task management software such as JIRA or Basecamp. Furthermore, someone will likely still have to clean the data up to make it engineer friendly, and assign it to someone. As long as this has to be done, it doesnt seem like copying/pasting an email into a task description is really that much extra work.

</comment></comment><comment><USER18> This article is a wake up call, thank you.

</comment><comment><USER19> Marx thought he could change human nature too.</comment>


Show HN: Graph Processing with Python and GraphBLAS - <AUTHOR> https://github.com/michelp/pygraphblas/tree/master <comment><USER3> Hi Michel - You've been busy with this and the Postgres lib. Good work. The Gremlin User Group has been working on a new universal graph DSL and compiler that can compile down to any of the graph backends. GraphBLAS has been part of the discussion since the start. An early draft of mm-ADT was just released last week...

mm-ADT: A Multi-Model Abstract Data Type [http://rredux.com/mm- adt/](http://rredux.com/mm-adt/)

<comment><AUTHOR> Thanks espeed! I'll give this a read.

</comment></comment><comment><USER4> This looks really interesting, potentially makes GraphBLAS much more accessible for exploratory work. A few questions for the author:

Does this work in blocking or non-blocking mode? Naively I imagine there might be more opportunity for the GraphBLAS implementation to optimize execution in non-blocking mode.

Is there a way to efficiently store and load matrices to and from files? Ideally in a such a way that the data is just mmap'ed or copied directly into memory on load?

Does this only work with SuiteSparse or could it potentially work with a GPU implementation like [https://github.com/gunrock/graphblast](https://github.com/gunrock/graphblast) too?

<comment><USER3> The GraphBLAS GPU code is in the works [1]. For storage see the new RedisGraph 1.0 implementation released last year and 'michelp has a Python Postgres implementation in development.

[1] Sparse versus dense in GraphBLAS: sometimes dense is better [http://aldenmath.com/sparse-verses-dense-in-graphblas- someti...](http://aldenmath.com/sparse-verses-dense-in-graphblas-sometimes- dense-is-better/)

[2] RedisGraph: A Graph Database Module for Redis [http://graphblas.org/?title=Graph_BLAS_Forum#Graph_analysis_...](http://graphblas.org/?title=Graph_BLAS_Forum#Graph_analysis_systems_that_integrate_GraphBLAS)

[3] Graph Processing with Postgres and GraphBLAS [https://news.ycombinator.com/item?id=19379800](https://news.ycombinator.com/item?id=19379800)

<comment><USER4> For the bioinformatics datasets I work with it is not cost efficient to load everything into a database. For some of these datasets (e.g. GWAS - <USER2> Wide Association Studies which are essentially sparse matrices) it might be interesting to explore with graph queries. I guess my ideal would be to have a GraphBLAS equivalent to Spark SQL queries working across files in cloud storage / NAS.

<comment><USER3> There are several teams working on distributed GraphBLAS (the GraphBLAS/D4M model was designed to run on supercomputers [0]). Kepner's team at MIT is one [1].

NB: D4M was the original name before it was changed to GraphBLAS and became a standard.

[0] GraphBLAS: Building Blocks For High Performance Graph Analytics [https://crd.lbl.gov/news-and- publications/news/2017/graphbla...](https://crd.lbl.gov/news-and- publications/news/2017/graphblas-building-blocks-for-high-performance-graph- analytics/)

[1] A Billion Updates per Second Using 30,000 Hierarchical In-Memory D4M Databases [https://arxiv.org/abs/1902.00846](https://arxiv.org/abs/1902.00846)

[http://www.mit.edu/~kepner/](http://www.mit.edu/~kepner/)

<comment><USER5> This is very cool. I wonder if the Graphblas and the Dask team should collaborate.

Dask has a production grade distributed computing system (that is cloud compatible with kubernetes, yarn, EMR, Dataproc,etc).

<comment><USER6> RAPIDS has picked up Dask for multi-gpu aspects of cudf (think spark/pandas on GPUs), and as cugraph is single GPU ([https://github.com/rapidsai/cugraph](https://github.com/rapidsai/cugraph)) for going fast on ~billion row datasets... I'm guessing dask+cugraph will be happening for the next 100-1000X, if not already.

Graph partitioning is a weird world, so will be interesting to see!

</comment></comment></comment></comment></comment></comment><comment><USER7> Interesting - would be interested in a comparison between GraphBLAS (which I had not heard of until just now) and, for example, graph-tool's ([https://graph-tool.skewed.de/](https://graph-tool.skewed.de/)) underlying algorithms (Boost Graph Library).

<comment><USER8> It seems that they serve very different purposes. Graphblas is mostly focused on the processing of real-valued functions defined on the vertices and edges of large-scale sparse graphs, and is optimized for this use case (think graphs with thousands of millions of vertices). The boost graph library is not tailored to numeric functions and it will probably be less efficient for this use case.

<comment><USER7> Thanks! That's a helpful description.

</comment></comment></comment><comment><USER9> GraphBLAS is also the engine behind RedisGraph. Sparse adjacency matrices are interesting from a graph database perspective in particular because they are typically faster and more compact than the mainstream index-free adjacency systems (e.g. Neo4j).

</comment><comment><USER8> Very interesting, didn't know about graphblas!

Does anybody here know about the advantages with respect to scipy.sparse ? Does scipy.sparse use graphblas internally?

<comment><USER3> Tim Davis also wrote the underlying code for much of scipy.sparse (his code is underneath almost all sparse matrix libs [1]). See...

[1] Tim Davis Research [http://faculty.cse.tamu.edu/davis/research.html](http://faculty.cse.tamu.edu/davis/research.html)

<comment><USER8> Oh, what a man! He's also the author of the legendary CHOLMOD algorithm, probably one of the most used numerical algorithms ever, just after the FFT.

</comment></comment></comment><comment><USER10> very cool</comment>


Netdata – distributed, real-time performance and health monitoring - <AUTHOR> https://github.com/netdata/netdata <comment><USER2> I installed netdata last time it came up on here but couldn't get the plugins I wanted to work - partially Dovecot's fault for making an incompatible change to their stats plugin but mostly the netdata plugin's fault for just plain not working once I had everything lined up - just gave Python errors.

<comment><USER3> You may want to read through and register your interest for this github issue which likely solves what you ran into.

[https://github.com/netdata/netdata/issues/4392#issue-3698875...](https://github.com/netdata/netdata/issues/4392#issue-369887550)

<comment><USER2> Honestly, I would swear up and down that I tried that already (e.g. `old_stats` is already in the plugins list) but apparently not quite exactly right - now I have stats.

Thanks!

[edit: Although, saying that, I have stats that are resolutely stuck at 0 for everything even though I'm watching the traffic go through. But it's a start.]</comment></comment></comment>