Is Ad blocking the next legal battleground? - <AUTHOR> http://computerworld.co.nz/news.nsf/news/opinion-is-ad-blocking-the-next-legal-battleground I know a significant number of Hacker News readers use ad-blocking options, which is why I thought of making this my first submission to HN.
My confession: (1) I'm a publisher that relies on advertising as my only viable revenue model (2) Before that, I ran the digital department of an ad agency that managed millions in online campaigns
So my opinions will be predictable.
But I'm going to (hopefully) sway the conversation into an area few think about -- the "independent web" exists because of advertising. There are thousands of websites that gain either significant viewership (and thus expense) or require significant time investments whereby online advertising makes the effort worth it for those involved. If "ad blocking" and "do not track" increase in popularity, the independent web will be in serious jeopardy. As a publisher of one such site, I know first hand.
And beyond just those important websites that provide thought and opinion which may be contrary to the "mainstream," are a host of other pure information sites on cooking, building, etc. that many of us find useful from time to tim.
And extending further, the massive ecosystem of hosting companies and their employees would also be at risk if their clients are no longer able to pay bills.
The unintended consequences of stifling the only currently viable revenue model for thousands of websites is far reaching.
Yes. Lots of ads do indeed suck (I made good ones!). And there continue to be unscrupulous ad networks that do bad things (though significantly less than 3 years ago). As imperfect as it is, it's the only option.
So -- brains of HN -- if you feel blocking ads is important, and realize that broader use endangers a great deal if important content online -- what's the alternative? <comment><USER2> * Trade practices / commercial laws: it could be claimed that the use of third party software to remove paid advertising constitutes interference with contractual relations, eg an advertiser and a website have entered into a contract whereby the site will display an advertisement in return for a fee or commission*

Yeah? And this is my problem as a consumer how? The website upheld their obligation and met the specifications of the contract, I just made the conscious decision to use property I purchased (A 2010 Macbook Pro enabled with Google Chrome and AdBlock) to prevent these ads from going into my eyeball, through the optical nerves and into the part of the brain that causes me to twitch and mutter obscenities under my breath whenever an ad starts playing sound on its own.

If any government sides with content producers and decides to make ad blocking an issue just so some company can save face/revenue I hope people bitch-en masse-about the ridiculous nature of it. That there hasn't been a deeper inquiry into the absurd nature advertisers are going to in order to get our eyeballs on flashing banners and ridiculous audio clips played from unwelcome sources is frustrating.

<comment><AUTHOR> Yeah?

You just made the conscious decision to use the paid property they purchased (bandwidth) to deliver you content that came at some expense. If the content is worth your time, the only revenue model available to sustain the content is not?

Self-entitled madness.

<comment><USER3> This little tagline gimmick was done before it started.

<comment><AUTHOR> A one-line drive-by snipe. HN has indeed fallen low of late.

<comment><USER4> Men of straw need not apply.

</comment></comment></comment></comment></comment><comment><AUTHOR> I know a significant number of Hacker News readers use ad-blocking options, which is why I thought of making this my first submission to HN.

My confession: (1) I'm a publisher that relies on advertising as my only viable revenue model (2) Before that, I ran the digital department of an ad agency that managed millions in online campaigns

So my opinions will be predictable.

But I'm going to (hopefully) sway the conversation into an area few think about -- the "independent web" exists because of advertising. There are thousands of websites that gain either significant viewership (and thus expense) or require significant time investments whereby online advertising makes the effort worth it for those involved. If "ad blocking" and "do not track" increase in popularity, the independent web will be in serious jeopardy. As a publisher of one such site, I know first hand.

And beyond just those important websites that provide thought and opinion which may be contrary to the "mainstream," are a host of other pure information sites on cooking, building, etc. that many of us find useful from time to tim.

And extending further, the massive ecosystem of hosting companies and their employees would also be at risk if their clients are no longer able to pay bills.

The unintended consequences of stifling the only currently viable revenue model for thousands of websites is far reaching.

Yes. Lots of ads do indeed suck (I made good ones!). And there continue to be unscrupulous ad networks that do bad things (though significantly less than 3 years ago). As imperfect as it is, it's the only option.

So -- brains of HN -- if you feel blocking ads is important, and realize that broader use endangers a great deal if important content online -- what's the alternative?

<comment><USER5> Ad blocking is an arms race. The more ad revenue that's lost to ad blockers, the harder the ad networks will work to make their ads unblockable. (Startup idea: a combination ad network / cdn, so that ad blockers can't block the ads from your site without also blocking your graphics/css/js.) Eventually ad blocking becomes AI-complete.

<comment><USER6> Good idea, ClarityRay has already solved the problem - www.clarityray.com

</comment></comment></comment><comment><USER7> My thought would be that blocking the software itself, or the filter lists, probably falls under the First Amendment in the US, as was shown in the Bernstein and Junger cases.

But...making it illegal to present something different than what is sent? Well, that really sucks for the maker of that Flash ad I didn't see because I don't have Flash installed.

And what about the blind guy who uses Lynx to surf? Or the non-blind guy?

<comment><AUTHOR> > And what about the blind guy who uses Lynx to surf? Or the non-blind guy?

Men of straw need not apply.

What about the struggling blogger (Brand Friedman?) unable to sustain his important and vital efforts on donations alone, who must turn to ads in order to eek out some revenue in order to continue?

</comment></comment><comment><USER8> Advertising ruins every communication medium it touches because it knows no limits.

✓ Email (spam). ✓ Telephones (telemarketing). ✓ Social Media Tools (farmville spam). ✓ Craigslist (spammers who collect emails). ✓ Websites (overlays, auto video, intrusive trackers, higher load times) . ✓ Video (30 second ad for 10 second video).

Anytime a page contains the word media player or tool, there are ads all over the place disguised as "Download Now" or "Play" buttons to try to deceive you. This is going too far. Out of fear that my parents might accidentally click an ad disguised as a play/download button (which are all over the place) and installing malware on the family laptop. I just installed ad blockers on every computer.

I had enough.

<comment><AUTHOR> > Advertising ruins every communication medium

Bull.

Without the revenue of advertising, you'd not have the live broadcast of the activities of Apollo 11 on the moon.

I could cite dozens (if not thousands) of important events of which the public was made aware because advertising sustained news papers, radio, TV, and the Internet.

Self-entitled madness.

<comment><USER8> Sorry, here's the politically correct version:

I Chris Norstrom have an opinion where I personally believe that there might be a chance that advertising negatively affects in some way the communication mediums that it uses to spread it's message in such a way that it might substantially or not discourage people from using or watching or engaging with that medium.

<comment><AUTHOR> Except that, your opinion can't be substantiated.

How did advertising substantially discourage people from engaging with television? There were times when a major portion of the country was all watching I Love Lucy at the same time.

I just don't see how you can logically defend that opinion.

<comment><USER8> \- People are fleeing TV and running towards netflix and bittorent, using DVRs to record their favorite shows and skip through commercials, and changing channels during commercials.

\- Email is universally loathed and spam protection is standard, it's gotten so bad that the government had to make a law that forces all email solicitations to have an unsubscribe option and the name and address of the company sending the solicitation.

<comment><AUTHOR> Hi Chris...

"Fleeing TV" -- indeed, a shift is being observed. However, the medium exists because of advertising. Also, the audience segment that time-shifts is not yet at a critical mass, though rising. And, live event TV (sports) is still doing exceptionally well because of advertising.

Email is another matter. Being a former advertising executive would you believe I never did an email campaign? (Probably not) Email spam (simultaneously posted advertising message) has always been more considered a path to malicious exploit than legitimate advertising.

I'm not denying that an increasing segment of users are becoming frustrated with ads, only stating advertising is the best method we have _now_ for monetizing content that costs some degree of expense to obtain and disseminate.

<comment><USER8> Ok I think there's been a miscommunication. I said advertising ruins things because it knows no limits, it doesn't know when to stop and overdoes itself. You are correct in saying that advertising is necessary to sustain free services. We wouldn't have radio, tv, content, free apps, search engines, etc... without it.

<comment><AUTHOR> "Limits" in terms of advertising are relative and often moving targets. As a new product or service, it's hard to get noticed without testing where a certain limit may be. GoDaddy -- loathed by many, but not by most -- would not be the large firm it is now without having tested those limits. For better or worse, it worked, and some nice people have jobs (their campus is less than 2 miles from us).

I serve on the IAB (Interactive Advertising Bureau) mobile committee. As a newish member, we don't have much influence... but I can confirm lots of "limit testing" is on the way. It's hard to monetize mobile, and ad delivery/targeting firms are in a panic.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> No.

<comment><USER10> I agree ... though not for any of the reasons stated (so far). I'm paying for my bandwidth and the current trend is that bandwidth may become metered. No one can therefore force me to provide them with bandwidth to advertise to me. It seems to me that it's analogous to the fact that telemarketers aren't allowed to call my cell phone.

<comment><AUTHOR> > I'm paying for my bandwidth

Publishers pay for bandwidth also. And as a publisher, if I go over my 6,000 GB/month (which I have), I pay more. Very few home users are metered.</comment></comment></comment>


Cloud9 IDE - Your code anytime, anywhere - <AUTHOR> http://cloud9ide.com Open Source IDE that runs in the cloud - and in your browser. Super fast and integrated with GitHub to make programming a joy! <comment><USER2> Not to sound cheap, but the first thing I note is the pricing. It's a little confusing. Does 33 cents per day mean that I'm only charged on days that I use it? So, if I use it Monday - Friday, I'll typically pay 7 Euros per month rather than 10 Euros? Or is it merely saying that it's only 33 cents per day? I'm also unsure what you mean by a workspace. In the UI photos, there's the concept of a "project", but I'm unsure if I would need multiple workspaces.

Then there's the cost itself. If 33 cents per day translates into $166.73 per year (after the conversion to USD), that seems a little expensive. The reason I say that isn't to say that software must be gratis, but that RubyMine's commercial license is only $149 and includes all upgrades for a year and you can upgrade your subscription after that point for just $99 per year. Personal licenses cost even less.

I'm not saying you don't have a great product - it looks absolutely gorgeous. I'm merely asking what the value is here. Is it that I don't have to install my IDE on multiple computers I might use? Is it that it will support multiple languages at the one low price (while JetBrains has different products for different languages)? Is it planned that it will support, say, running and debugging my Rails project without me having to configure environments on different machines?

I'm seriously asking because I do work on multiple machines (of different OSs), but I need to be able to run and debug (in my case Rails) projects and things like Eclipse, TextMate and a terminal, or even gedit with its terminal plugin will allow me to browse my file hierarchy, get an edit space with syntax highlighting, and run my application. Plus, while it can be annoying to set up another box, that doesn't happen very often and it means that things like relying on gems works.

It looks wonderful and I hope you keep improving it!

<comment><USER3> Great comments. So I just answered about pricing on a comment below, but here's the gist of it:

We charge per day to give you the flexibility of the cloud. Cloud9 is not an IDE alone, it's your tooling + test environment in the Cloud. So it's hosted, hosting costs money and we charge you for it. The idea is that if you are doing a commercial project with a good hourly rate, then paying 50 cents a day for the platform isn't a lot if it saves you significant time. If you're working on an open source project, Cloud9 is free.

The value is that you don't have to configure your systems, you dont have to keep them up to date and you'll be developing on a system that is identical to your deployment target. We're adding good deployment support soon to many different cloud hosters. This way deployment should be really a click of a button. Then there is the value of collaboration. Being able to work together with others from within Cloud9, editing and running code.

We are adding Ruby support soon, including step through debugging and gem support. We have webdav support and we'll soon support mounting your drive on your local machine for external applications to access your files.

For now, try Cloud9 for your open source projects and see how you like it. There are many more features to come in the coming weeks and months.

<comment><USER2> So, the one thing that you didn't answer was the difference between a "project" and a "workspace" if there is one. I do have hobby things that aren't open source where 50 cents per day would be doable, if unwelcome. However, if it's 50 cents per day per project, that can add up pretty fast and $55/mo isn't a trivial cost considering that I can run my development and test stuff off my machine (granted, with the caveat of having to do all the annoying setup myself).

I'll probably get an account for open-source later today to play around with, but if your Ruby stuff is really good (when it lands) and works well for collaboration, I could easily justify $15/mo to my boss and sometimes one isn't trying to create the solution for every cheap hobbyist out there. It can be good to be the Basecamp of IDEs and maybe that's how you should sell it (in contrast to my comparisons to Eclipse and RubyMine).

</comment></comment></comment><comment><USER4> 39 Euro/month?! As an individual developer I get Rubymine for $69 and can use it as much as I want. What's up with the per day pricing? Who wants to pay his IDE + workspace on a n per day basis? This is about the strangest pricing I've ever seen.

<comment><USER3> Well, the idea is this: Normally you have all your stuff on your own computer. You'll install all the software you need, like your database and runtimes and any SDK. With Cloud9 all that stuff lives in the Cloud. It's hosted and it's accessible for you from anywhere.

So, like any cloud service, the hosting costs money. We are offering this for free when you work on open source projects. But when you are doing a commercial project for a customer and you like the benefits of being in the cloud with not only your editor, but your entire test environment, then you pay something for it. One of the advantages of cloud services is that you have flexibility, so with the pay per day we offer the flexibility to only pay for the use of the platform when you need it. Our thought is that if you're doing a project that makes you a couple of hundred dollars a day, 50 cents for the editor is not much if it saves you a lot of time.

With that said, we still have some way to go before all the time savers we have planned are in Cloud9. We're working on a very cool Git UI, great deployment integration and many many other features. More important for you is the Ruby support that is upcoming, including step through debugging. In the mean time use cloud9 for your open source projects and see how it feels for you.

<comment><USER5> Best of luck javruben - you'll have a lot of haters who won't understand the value prop, so you have a lot of difficult marketing ahead of you.

I thought about going into this market awhile ago, but there's a huge battle to be fought against ~20 year old editors that have been around the block and have become an external growth to some developers.

That said, you guys are headed in the right direction, good job charging and getting honest feedback on the utility so early. I just hope you're able to differentiate between 'features' and 'benefits' while going forward.

</comment></comment></comment><comment><USER6> This is based on ACE, which was formerly known as Skywriter, or Mozilla Bespin.

<http://ace.ajax.org/>

<http://c9.io/about.html>

<comment><USER7> Sorta. There were actually three Skywriters: Bespin prototype (Thunderhead- based), Bespin Reboot (SproutCore/jQuery-based), and ACE. ACE postdates the rename from Bespin to Skywriter. They originated as three completely separate codebases, although there's been a fair amount of cross-pollination.

ACE didn't begin as a Mozilla project, although it was finally chosen as the basis on which to build Skywriter the product (which will be used for the Firefox Add-ons Builder, in particular).

</comment></comment><comment><USER8> I spotted issues with the signup process yesterday, the guys have done a good job of chatting to me on twitter to try and resolve the issue, so thumbs up.

On a separate note, I agree with the comments about the per day pricing. It is a little confusing and I would rather just see a monthly subscription cost, with a few plan variants based on # of projects and users. Your making me think to hard about paying for something when I have to start calculating how much it will cost me. You should definitely consider simplifying it.

I disagree with the comments around pricing though. I think that estimated cost is well worth not having hassle, and when you consider it to the cost of say your mobile phone bill. Just ask which do you use the most, more importantly which one is making you the money in the first place.

If I'm honest I think the pricing is a on the low side, However I wouldn't limit the free plan to "open-source" projects either. Depending on how you are quantifying open source. If you require a public github repo then I would potentially suggest it's a bad thing. People need chance to use your IDE for a project to see if they are willing to pay. Allowing only say one or two projects makes more sense I think.

</comment><comment><USER9> The site (awesomely) says that most of the code powering it is openly available on Github (<https://github.com/ajaxorg/cloud9>) - out of interest, which parts have you developed separately for your service?

<comment><USER10> Pretty cool, I have it running[1] on my box now, but I can't seem to figure out what the Run feature is supposed to..I'm guessing run the code in the second pane, but it's not clear with no docs...Also, is this designed to execute only for Javascript? Your site at <http://c9.io> is down and I don't see anything in Google cache so I can't read up there either.

[1]: <http://awesomescreenshot.com/0a28fjb51>

</comment></comment><comment><USER11> Reminds me of <http://www.coderun.com> which supports C#, PHP, JavaScript, HTML and CSS. (and is free)

I'm curious to know what I get for this paid version? Is it mostly the Git support?

<comment><USER3> A difference is that we support actual step through debugging for javascript. Indeed git support is another differentiator. Our Git UI will be released shortly too. We have a pluggable architecture to very easily extend cloud9 with new features. We are working with many developer oriented companies to add their services and tooling to Cloud9. Our aim for Cloud9 is to provide a full PaaS for software development in the cloud.

</comment></comment><comment><USER12> Going to <http://cloud9ide.com/contact.html> gives the google maps api key warning, you should fix that.

By the way, beautiful design in both page and product. Really really awesome.

<comment><AUTHOR> Thanks for the heads up, we are fixing it right now!

</comment></comment><comment><USER13> Does it support textmate/sublime style syntax highlighting?

How do I actually get it to do anything? Clicking on a github project in the list does nothing.

Ok, I clicked fork (I don't think this is intuitive at all, why would you want to fork your own projects?), and I'm editing code.

Things that would prohibit me from using it:

* Can't upload my own tmTheme files.

* Cant't seem to change font, ignores my browser's "monospaced" selection. Why?

* Can I select branch somehow? This is not obvious. Perhaps in the project pane?

So far it's pretty frustrating in all fairness, and whilst it's a cool idea, wouldn't really make me switch from Sublime Text + Cyberduck.

<comment><USER3> When you are on your own computer, you clone from github to edit your project. See cloud9 as your own computer, but then in the cloud, accessible from anywhere. It should say 'clone' instead of 'fork' though. We'll change that.

\- Themes: There is a converter script already in the open source project of Cloud9 on github. We'll add a way to upload your own themes soon.

\- Font: Good suggestion. I'll add this to the feature todo list.

\- Git: There is full git command line support. We're working on a Git UI, that's coming soon.

Thanks for the feedback, we know it's still early, but we're adding features very quickly.

<comment><USER13> Thanks for the reply. I do like the idea and it is interesting. I'll look into Cloud9's OSS project as it would be really useful to have, for instance, Cloud9 installed on a development server, then be able to login from anywhere and edit the code (though security wise it could be hazardous).

</comment></comment></comment><comment><USER14> It's still buggy:

* Sometimes when loading a project, it gets stuck at "Loading..."

* When editing a file, sometimes the Enter button doesn't return. It works if I hold the Enter key down but then it adds a ton of returns.

* The buttons on the right don't really do anything yet, except for the collaborators section. There isn't a label or hint box so I'm not sure what exactly they are for.

With that said, I love the idea of this and really want this to become a viable alternative to Textmate + desktop development, which will hopefully improve the pace and standard at which progress happens.

Looking forward to Ruby support.

<comment><USER3> Thanks for the reports Melvin. We're fixing the project loading. I haven't been able to reproduce the stuck Enter button yet. The buttons on the right are used for debugging. I'll make sure we'll add some tooltips on them.

<comment><USER15> There are a couple places in the CSS where Tahoma or Trebuchet MS are given as the font families without any fallbacks - lots of us linux folks don't have fonts like Tahoma, so an Arial or Verdana fallback would be nice so we don't see our ugly default serif fonts.

</comment></comment></comment><comment><USER16> This page --> <http://c9.io/signin.html> doesn't load for me (except for the banner) in: Google Chrome 9.0.597.98, WinXP

Works on Firefox.

<comment><AUTHOR> Works over here on Chrome 10 but thanks for reporting, we will try to reproduce your environment and fix it!

</comment></comment><comment><USER17> The homepage doesn't work for me on safari 5.0.3 on mac. The "I say what's this" link doesn't do anything and none of the screenshots on the bottom of the page are visible. I thought the page was like that and was anxiously looking for screenshots.

The webkit inspector reports the following error: apf_release.js:1 TypeError: Result of expression 'this.$ext' [null] is not an object.

</comment><comment><USER18> I like these kind of projects/efforts and it looks great, but this thing is quite buggy. And some parts, like the sign up process might not even be buggy but just bad workflow.

And it's too expensive IMHO. You need to make money, but for what it offers now, at least to me, it's not worth it.

Other than that, hopefully you'll improve it and make it a real online IDE.

<comment><AUTHOR> We just launched, and we are trying to squash every bug we run into. Could you be more specific about the 'buggy' part you mention? Some particulars about it would really help us to make it better, we would really appreciate it!

<comment><USER18> This is probably more usability than a bug, but when I clicked from HN to the site, I clicked on login without checking the rest of the screen, as usually the login screen contains some link to register. These days i'm used to, when I see a 'sign in with xxx' (oAuth) that login / register do the same thing, even if you don't have an account.

To me it felt a bit unstable because of this. Although it's a matter of reading everything on the screen, I would be surprised if anyone actually does that, so probably better to change the flow in that case.

Anyway, after that I entered a Github url (naive as I am) which is private, but in my Github account with which I'm signed up to Cloud9IDE. I got a not so user friendly popup saying an error occured, with a key and some JSON included.

So I concluded I cannot use private repositories (?) and clicked on the + to add a new project, typed in Test and clicked create. I clicked open source in the follow up dialog and no extra users. After clicking next it suddenly said 'Forking, this could take a few seconds'. I thought; what is it forking? This is an empty project. Then another popup with about the same error as before. It appeared that even though I created a fresh, empty project, it took my GIThub URL and tried to use that! So instead of my 'Test' empty project, it now showed the name of my private project from Github, with no files in it.

Any comments on the pricing btw? EDIT: nevermind, answered while I was typing this.

</comment></comment></comment><comment><USER19> A small nitpick on the landing page: your testimonial should have the opening quotation mark as a “ and the closing quotation mark as an ”. Right now they're both ” and it looks a little strange.

</comment><comment><USER20> I'm getting a sky blue screen of nothingness on dashboard.html after signing in via github. Chrome 9.0.597.107 on Snow Leopard.

When going back to it again, the front sign in with github link tells me that someone already has my user id.

<comment><USER21> I got the same. Just click the 'sign in' link at the top, then 'Sign in with Github' and it should take you to your account.

<comment><USER20> Yah, though that just gets me back to the sky blue screen of nothingness.

<comment><USER3> We're seeing this as well. The problems are being investigated.

</comment></comment></comment></comment><comment><USER22> 'Sign in with Github' is broken. I get an error message:

        User '<myusername>' already used for another account.

Really? There is no way for me to link my Github account then?

</comment><comment><USER23> Very nice idea! It seems to me, editing and launching code without having to install anything locally can be very handy in some cases.

One question about security: Does it support HTTPS?

<comment><AUTHOR> It doesn't yet, but it will be supported very soon, we are working on it!

</comment></comment><comment><USER24> How well does it do with non-javascript code? If I could code ruby on rails on it, and deploy from w/in it to Heroku, I'd sign up today. (happy feature creep!)

<comment><AUTHOR> We are working on it. We aim to support all the major languages and their popular frameworks soon. For now you have syntax highlighting for Ruby and more languages, which combined with GitHub integration already makes it a sweet platform to develop on.

<comment><USER25> Does that include MS languages (C#, etc.?)

<comment><USER3> We are looking into Mono Support, but we don't have a date set for this on the roadmap.

<comment><USER26>
      we don't have a date set for this on the roadmap

Read: _never going to happen_

<comment><AUTHOR> It will happen, but there are many languages out there, each with its own runtimes, debuggers, etc. We are first focusing on making the IDE solid and stable, and then we will focus on what people want. In fact, thanks to the work done by the Mono guys C#/F# shouldn't be difficult to get working, but for now there are more important hings to do.

</comment></comment></comment></comment></comment></comment><comment><USER27> I was just thinking about something like this a few weeks ago, mostly the Git integration being a killer feature. Good luck!

</comment><comment><USER28> What about basic IDE functionality such as folding, code/content assist, etc.?

<comment><USER29> Cloud9IDE is based on Ace*

Ace does not yet support code folding I think.

It was discussed as possible feature but not yet implemented as far as I know: [http://groups.google.com/group/cloud9-ide/browse_thread/thre...](http://groups.google.com/group/cloud9-ide/browse_thread/thread/89c115d98e2d8a7b)

*an open source project based on the work from the people at Cloud9IDE (ajax.org) and Mozilla (Bespin / SkyWriter

</comment></comment><comment><USER30> Wasn't Cloud9 open source? I can't find any link to the source code.

<comment><USER3> here it is: <http://github.com/ajaxorg/cloud9></comment></comment>


NoSQL Joins, or, So You're Writing an RDBMS - <AUTHOR> http://www.allbuttonspressed.com/blog/django/joins-for-nosql-databases-via-django-dbindexer-first-steps

<comment><USER2> Could the title please be changed to something that makes more sense? This is not an attempt at re-creating an RDBMS. It's about providing an automated and abstract mechanism for denormalization. When writing scalable systems you most likely won't get around denormalizing at least parts of your data. The problem with denormalization is that is requires lots of additional code and it puts lots of inconvenient dependencies in your code, making clean code separation difficult or impossible. The dbindexer is our attempt at solving this problem.

<comment><AUTHOR> Yeah, no disrespect. I use your stuff. Cheers.

Actually, I can't edit it. Luckily it's getting more visibility than what I typically post, if that's consolation. You're well liked.

<comment><USER2> At first I thought that you wanted to misrepresent the article, but that doesn't seem to be the case, so no offense taken. Thanks for posting the link here. It's nice when other people find our work worth mentioning.

</comment></comment></comment><comment><USER3> Adding joins to a NoSQL-based codebase is no worse than de-normalizing data if you're using an RDBMS.

"Denormalization, or So You're Writing a NoSQL Store"

</comment><comment><USER4> Am I the only one who thinks that the NoSQL movement -- whatever else its aims may be or have been in the past -- is ending up doing A LOT of wheel reinvention? (With little demonstrated gain.)

I'm really open to being made aware that I don't get it. I WANT to get it, in fact. I like the idea of NoSQL in principle, and I understand at least some of the motivations behind a non-relational store. I just don't see many of those ideological benefits translating into practical ones. When you're talking about doing joins and 'primary_key in (X, Y, Z)' types of queries, that looks to me exactly like a relational database.

Do I just not get it?

<comment><USER5> I think a lot of it has to do with scaling up to multi-server clusters where relational properties and ACID guarantees cease to work properly. For small datasets I don't see any benefits over RDBMS.</comment></comment>


Internal documents shed light on the guidelines that Facebook's censors use - <AUTHOR> https://www.propublica.org/article/facebook-hate-speech-censorship-internal-documents-algorithms <comment><USER2> > _The reason is that Facebook deletes curses, slurs, calls for violence and > several other types of attacks only when they are directed at "protected > categories"—based on race, sex, gender identity, religious affiliation, > national origin, ethnicity, sexual orientation and serious disability > /disease. It gives users broader latitude when they write about "subsets" of > protected categories. White men are considered a group because both traits > are protected, while female drivers and black children, like radicalized > Muslims, are subsets, because one of their characteristics is not protected. > (The exact rules are in the slide show below.)_

From this aspect, this internal quiz question seems reasonable if its intent is to test the candidate's knowledge of the technical details (e.g. what a protected category is) in the face of a seemingly absurd situation (e.g. Why should white men be more protected than children of any color?). Similar tactics are used in HR training I've had to go through. I remember for a sexual discrimination training quiz, there was a question about a woman who used anti-gay-male slurs in the workplace who then herself alleged she was being harassed for being a female. The question was worded in a way to trap you if you thought women couldn't be the offenders. I regret to say I've forgotten the specifics but the question actually referred to a real-life case in which a court sided against the woman because of her documented use of anti-gay slurs.

Edit: as absurd as that FB training slide seems, I don't think people give enough credit to how nuanced FB has to be when trying to be both a reasonable censor while allowing important free speech -- think the Philando Castile shooting video -- in _real-time_ and across international borders and moral codes. It's a tough balancing act to train people to judge this, and the training materials are unavoidably going to sound horrific. Imagine the wording of a question that tested a candidate's handling of a photo posted of a naked young girl running in pain from a napalm attack.

That said, the argument about how being the squeaky wheel, or a celebrity with a following, gets you better, faster treatment than the disenfranchised, is true. But that unfortunate situation has happened everywhere else in real life, including media. In journalism, one cynical aphorism is: "News is whatever happens to your editor"

</comment><comment><USER3> >Higgins' incitement to violence passed muster because it targeted a specific sub-group of Muslims — those that are "radicalized" — while Delgado's post was deleted for attacking whites in general.

That seems disingenuous. Higgins' rant starts by pitching "Christendom" with- a-capital-C against "these heathen animals", before he ever mentions radicalization. And when he does mention it, he says "radicalized Islamic _suspect_ ", which is fairly meaningless as a category as no burden of proof is required. Coupled with repeated incitements to "kill them all", I think that's pretty clearly directed at all Muslims.

The trouble with this policy is, I can apparently be as racist and hateful as I like as long as I take care to slip a "non-protected category" in there - even if by doing so I am implying that all members of the protected category are such. For example, "lynch every last one of those baby-raping niggers" is fine, because it only applies to those niggers that rape babies. In fact it is exactly this sort of speech that is the most harmful - "All niggers rape babies and we should lynch them" is far less potent.

</comment><comment><USER4> > * Unlike American law, which permits preferences such as affirmative action > for racial minorities and women for the sake of diversity or redressing > discrimination, Facebook's algorithm is designed to defend all races and > genders equally.*

This is inaccurate as to the allowable purposes for affirmative action. In _Bakke_ , (1978), the Supreme Court held that diversity was an allowable rationale, but redressing past discrimination was not. As described in the NYT:

 _Diversity isn't just one rationale for creating or maintaining a racially integrated student body. It is the only rationale. Ever since the Bakke case nearly four decades ago, no other reason for affirmative action has passed constitutional muster in the view of the Supreme Court's majority: not equalizing opportunity, not redressing past wrongs (the flagship Austin campus was formally all-white until 1956 and functionally segregated long after that) or opening previously closed doors. Only "diversity."_

[https://www.nytimes.com/2015/12/24/opinion/the-supreme- court...](https://www.nytimes.com/2015/12/24/opinion/the-supreme-courts- diversity-dilemma.html) (an opinion piece related to the _Fisher_ case, which pertained to affirmative action in university admissions)

</comment><comment><USER5> Where they draw the line on some of these things seems... _odd_. A degrading generalization about a nationality like one of their examples

> _the Irish suck_

seems relatively harmless, while the permissible

> _Keep the horny migrant teenagers away from our daughters_

seems much more dangerous. The latter is much more likely to spur some sort of antisocial behavior from a reader.

<comment><USER6> Is the latter dangerous because it is dissent? It sounds like we are now defining a framework for what dissent is acceptable and it seems to align to a dominant political ideology. Sort of defeats the point of dissent.

<comment><USER5> It's dangerous because it evokes a specific fear that's likely to inspire action. You could swap migrants and Irish in an area with a sufficient Irish population and it would still be true.

> _the migrants suck_

Is pretty harmless, while

> _Keep the horny Irish teenagers away from our daughters_

might well lead to someone assaulting people they perceived to be Irish teenagers who were getting too friendly with their daughters.

</comment></comment></comment><comment><USER7> When you consider what Facebook is trying to accomplish, which is to establish a universal code for acceptable content across multiple cultures and languages - this looks a lot more acceptable to me, than it would be otherwise.

<comment><USER8> Only if you accept the premise in the first place.

There is no set of rules that won't yield absurd results. FB is always going to carve out exceptions for the powerful. The baseline still starts from Zuckerburg's upper-class, U.S. dominant-culture sensibilities. And so on.

</comment></comment><comment><USER9> I get the theory behind that quiz 'trick question', but does it make any actual legal sense? If the discrimination against a subset happens because of the component of the subset that's protected, then surely it's an attack on a protected category. So if you say "black children are all stupid" the likely implication is that you're saying "unlike white children" (otherwise why would you include black).

Is this even true legally? Could a school discriminate against black children because, hey, they are children? Or a movie theater: "Let's not offer youth discounts to Latinos".

I am not a lawyer, so I don't know the legalistic view, but it seems to be an absurdity.

<comment><USER10> It's not generally speaking a matter of law, since the context is that of a US-based private company moderating the behavior of its voluntary users, and we generally treat this in a very _laissez-faire_ fashion by default. The extent to which Facebook heeds the laws of those countries other than the US, in which it does business and would like to continue doing so, is determined almost entirely by the value it places on that business.

Of course, this situation changes in any such case as new legislation is made to address perceived or actual need, but that hasn't really happened yet here. The same is not true of, say, refusing trade to members of a specific ethnic group because of that ethnicity - a case in which laws of the sort I describe have indeed been made.

(And, to be clear, I have serious qualms with pretty much every facet of the way in which Facebook does business, from its content moderation choices, to the fashion in which it monetizes its userbase, to the extent to which the scale of userbase it's deliberately developed - in support of that questionable style of monetization - might make "voluntary" an inaccurate way to describe the choice people have of whether or not to participate there. My description above is not normative, but positive, and should be regarded as such.)

</comment></comment><comment><USER11> Creating ways to allow users to control their own groups and block content they don't want is cheaper, less controversial, and probably more effective in terms of user satisfaction.

<comment><USER12> A simple check mark in the settings would suffice. Or a "see less content like this" button.

But of course, that's not what they want. Mark Zuckerberg is a pretty political guy himself, and FB is a great tool for him to influence the world.

<comment><USER11> Yeah this seems like an attempt to demonstrate that Facebook can act as a supranational regulatory institution which seems like a bit of an overreach.

</comment></comment></comment><comment><USER13> Facebook says that only governments may use violence to achieve political aims:

"The rule against posts that support violent resistance against a foreign occupier was developed because "we didn't want to be in a position of deciding who is a freedom fighter," Willner said. Facebook has since dropped the provision and revised its definition of terrorism to include nongovernmental organizations that carry out premeditated violence "to achieve a political, religious or ideological aim," according to a person familiar with the rules."

aka they would have banned American Revolutionaries in 1700's

</comment><comment><USER14> > Now the German government is considering legislation that would allow social > networks such as Facebook to be fined up to 50 million euros if they don't > remove hate speech and fake news quickly enough.

As an American I can't imagine being arrested for speaking my mind about a race or religion whether it's considered hate speech or not. It's just unfathomable. Thanks to our forefathers for putting free speech on such a pedestal and our government for upholding it for 200+ years.

This can't end well shutting people up like this.

> German police raided 36 homes over social media hate speech

[https://www.engadget.com/2017/06/22/german-police- raided-36-...](https://www.engadget.com/2017/06/22/german-police- raided-36-homes-social-media-hate-speech/)

<comment><USER15> Germany learned the hard way that letting people "speak their mind" does not always lead to great outcomes. The Weimar Republic actually had the things you wanted, it even allowed parties to be part of the parliament while wanting to eliminate the Republic. The result was Nazi Germany. We decided against repeating this. Different histories lead to different results.

<comment><USER16> The problem here is that Nazi Germany also disallowed people to "speak their mind".

So if you say free speech caused Nazi Germany, I might as well say: Lack of free speech let Nazi Germany (and even more so the Holocaust) go on for such a long time.

So is limiting free speech really the solution? I think we're setting a dangerous precedent.

<comment><USER17> The status quo is that we're not Nazi Germany. The status quo is therefore that we're at the risk of becoming Nazi Germany.

This is the case in modern Germany as much as it is the case in the US or the UK.

The German answer to that is to look at what allowed us to become Nazi Germany last time and to avoid that.

Some of the resulting limitations are questionable (e.g. the parliamentary 5% hurdle), some are not (e.g. treating incitement of violence and racial hatred as a crime).

If you rally a crowd, step on a podium and tell them to "gas the Jews" or "kill all white men" or "hunt down and murder Edward Snowden", you're facing jail time. Because you're intentionally motivating people to commit serious crimes. Whether you're Joe Blow or a major politician.

FWIW I do disagree that censorship is the wrong solution although many politicians in Germany demand it because it's an easy win. Deleting incitement may stop the hatred from spreading but it doesn't address the cause. Even worse: it hides a crime and interferes with criminal investigations.

Social media companies' response to meeting the legal demands in Germany is to either block content preemptively or to basically give you a button that lets you opt into not seeing it. That doesn't follow the spirit of the law, let alone the letter of it.

<comment><USER16> I mostly agree with your points and just want to note a few things:

> The status quo is that we're not Nazi Germany. The status quo is therefore > that we're at the risk of becoming Nazi Germany.

This is not a binary thing, in a democracy there will always be a number of people who think the state is _insert arbitrary negative adjective here_

So there will always be people who feel threatened (if only in some aspects) by the state, no matter if it's Nazi. And these people want to protect their rights such as free speech, and IMO rightly so. So avoiding becoming Nazi Germany is not enough, you need to avoid even aspects of it such as wars on foreign soil or surveillance of civilian communication, both of which are present today and were in the 1940s.

Limiting free speech is just another aspect that adds to the list of becoming Nazi, hence my 'no'.

> If you rally a crowd, step on a podium and tell them to "gas the Jews" or > "kill all white men" or "hunt down and murder Edward Snowden", you're facing > jail time.

IANAL but I think this is covered by penal code already [1]. Now hate speech is bad but it'll only convince the ones who are already "close to being convinced". That probably doesn't include you and me, and I personally prefer to know who are the idiots around than to have them shut up and only later realize who they are when they commit an actual crime.

As a side note, it matters even today whether you're a politician (if only in the US) [2]

[1] [https://dejure.org/gesetze/StGB/241.html](https://dejure.org/gesetze/StGB/241.html) [2] [https://mobile.twitter.com/wikileaks/status/7829062249374105...](https://mobile.twitter.com/wikileaks/status/782906224937410562)

</comment></comment></comment></comment></comment><comment><USER18> Comparing a politician who is currently in office to a civilian is unfair. If a newspaper decided not to publish a speech by the leader of Iran because "wiping Israel off the map" is racist; it would be doing its readers a disservice.

</comment><comment><USER19> Well, this calculus of protected classes they seem to be using does give off an impression that it was either designed by someone aggressively unthinking or sufficiently opposed to the premise that they tried to sabotage it as much as they could get away with. Under some pretty reasonable assumptions (complements of protected classes are protected; two permissible posts bolted together are a permissible posts), a system where protected ∩ unprotected is unprotected is trivially circumventable: for instance, rather than posting "women suck", you can always post "women drivers suck; also, women non-drivers suck".

</comment><comment><USER20> This was submitted and flagged several times but as far as I can tell it's a substantive article with lots of information. We've changed the inflammatory title to the more neutral subtitle and are going to try turning off flags. (For an object lesson in how determined discussion can be by title alone, the alternate submission at [https://news.ycombinator.com/item?id=14656463](https://news.ycombinator.com/item?id=14656463) is interesting.)

All: if you comment on this please make sure your comment is substantive and edit out any flamebait. Let's see how far we can get with a civil discussion.

<comment><USER21> I tried to post this article a couple hours ago and I've got a message it was submitted before, without a link to the submitted article. Search resulted in nothing. Are there special measures to blocking articles and making them not even searchable? In the past I could still find flagged articles via search.

<comment><USER20> Probably those articles were [dead] in addition to being [flagged] and you don't have 'showdead' (described at [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)) set to 'yes' in your profile.

</comment></comment></comment><comment><USER22> Context is important here. I'm guessing it got lost on you?

<comment><USER20> Personal swipes aren't ok on HN. Please remain civil. (Edit: It read like a swipe to me, but if you didn't intend it that way, I apologize.)

We detached this comment from [https://news.ycombinator.com/item?id=14659259](https://news.ycombinator.com/item?id=14659259) and marked it off-topic.

<comment><USER22> Thank you for removing. It did not add to the conversation.

</comment></comment></comment><comment><USER23> What if it's true?

<comment><USER24> How would you even trust such results? I mean, lets look at where they come from.

Reported crimes in systems that are biased against some folks, with laws that are easier to break and get caught with when you are poor. Some of the folks are poor because of the situations that have happened to them - war, civil unrest, domestic violence, racism and discrimination of the past still affecting them. And lets not forget, a lot of folks don't report crimes like rape - this is higher in some countries than others. In some cases, reporting a rape might ruin your life.

How can you trust numbers coming from such systems when they say that skin color x or cultural background y does more crimes? We've had reports that _do_ say such things, and the inherent biases in them generally make them untrue.

<comment><USER25> You are setting up a framework of thought where no matter how much data you gather that shows some group is indeed more violent, you are allowed to just dismiss it on the basis of some situational perceived discrimination.

<comment><USER24> Not really, I'm just aware that a lot of these sorts of grouping stereotypes are wrong - and much of the past studies have been flawed by discriminatory views.

For example, take the "poor people commit more crimes". Now, I don't know that this is true, though I know folks believe it and some studies have seemed to back it up. But I also know that a lot of poor folks lack ways to hide their crime (no private place to smoke pot in, for example) and live in areas more likely to be policed heavily. The only thing I can really come up with is that poor people get _caught_ for crimes more often, and so are easily over- represented in the prison system. The conclusion that "poor people commit more crime" is one of bias.

This sort of thing is enough to cast doubt on a lot of these sorts of statements and check for such biases. It is a bit different from the data actually being true with the cause of the trend being discrimination. For example, "Felons often return to crime after release in the US" is likely true. Part of the reason for that is because of discrimination and biases against the ex-felon (especially in certain subsets of felons). I'd not ignore the data, but address the discrimination when trying to fix it.

</comment></comment></comment></comment><comment><USER26> I left facebook last month. I don't miss it, I'm happier for it, and articles like this kinda vindicate that decision.

It's nice to see that the things I was observing there are, in fact, exactly what the company is okay with: racism, sexism, homophobia are fine on Facebook as long as you craft your posts and comments with surgical precision. It explains how, nearly every time I reported one of the assholes making those types of posts, nothing would happen.

Edit: and, as usual, downvotes instead of replies. Never change, HN.

<comment><USER2> I suspect you're being downvoted because your assessment of the issue to "Facebook is okay with racism, sexism, homophobia" etc. is seen as an oversimplification, no different than someone from Germany/Israel saying the U.S. (and the 1st Amendment) is OK with neo-Nazis, or China thinking America as a den of smut and anarchy.

<comment><USER26> Except Facebook being okay with discrimination and hate speech is literally spelled out in the slide deck. As long as you don't tickle the right combination of "protected class" by using an appropriate modifier (e.g. "black _children_ " instead of "all black people") you can say whatever the hell you want about people.

It's not my fault so many users here are being willfully obtuse about this.

<comment><USER27> Why shouldn't I be able to say whatever I want about people, even if it deviates from the norm. Norms change, "Gays are people" and "Women should be able to vote" were 100% norm-violating speech until recently. In fact, there's a few countries where those are _still_ unwelcome speech - should we bow to their social norms?

Shouldn't I be able to say things like that? Aren't you happy people did? Do you believe that our current worldview is perfect and cannot be challenged by concepts outside of the Overton window?</comment></comment></comment></comment>


The Quietest Room in the World - <AUTHOR> https://www.dailymail.co.uk/sciencetech/article-6757683/Inside-quietest-room-world.html <comment><USER2> > It's so quiet that nobody has been able to spend more than 45 minutes inside

Whoah.

<comment><USER3> Veritasium did a video about this room (inside this room) and he says that this part is an exaggeration. [https://www.youtube.com/watch?v=mXVGIb3bzHI](https://www.youtube.com/watch?v=mXVGIb3bzHI)

</comment></comment><comment><USER4> My tinnitus would ring triumphantly</comment>


LokiJS – In-memory JavaScript Datastore with Persistence - <AUTHOR> http://lokijs.org <comment><USER2> While "Performance over everything" is obviously hyperbole, I hope they really don't mean it and actually prioritise correctness: that it apparently does actually store and retrieve data suggests that at some level, at least, they do.

<comment><USER3> (Full disclosure, I work at a database company) Their performance is pretty impressive, but you can get over 30X their speed (30M ops/sec) by caching - see [https://github.com/amark/gun/wiki/100000-ops-sec-in- IE6-on-2...](https://github.com/amark/gun/wiki/100000-ops-sec-in-IE6-on-2GB- Atom-CPU) .

And this can be done without compromising the storage or integrity of the data. The Observable pattern lets you update caches while you perform writes so the data stays correct, reflecting what is on disk. If caches don't exist then you pull from disk (slow) and write to the caches.

<comment><AUTHOR> this is actually something we are playing with :) we have a couple of drafts in the pipe but you are welcome to bring some wisdom over to LokiJS - it's free for all to use and for all to contribute, even if it's just on a theoretical level. Cheers

<comment><USER3> Nice, very excited to hear!

Honestly the wisdom I have has just been playing around with benchmark.js on V8 and noticing the Chrome team doesn't do as they claim (although latest Chrome Canary we saw major improvements), while FireFox is a different beast. You've probably done about just as much of this as me.

What we found was that every function call in javascript significantly decreased performance (even if it did nothing) at a quazi logarithmic rate. So on a theoretical level if you're able to reuse function results that are deterministic you can save a ton of overhead. However IDK how micro-optimizing you want to get as it can sacrifice code legibility.

Would love to chat more if you have time, I'll see if I can find your email and send you a message. Mine is (no spaces): a q u i v a @ google's email provider.

</comment></comment></comment></comment><comment><USER4> > In-Browser NoSQL db with syncing and persisting

Is the syncing part as straightforward as Pouch[1]? I couldn't find anything about syncing on its docs. If a db comes with an easy offline-first and sync- when-possible model with granular permissions, it will be very interesting. Current solutions have (IMHO unacceptable) fixed dependencies on the backend or the architecture.

[1]: [https://pouchdb.com/](https://pouchdb.com/)

<comment><USER5> I always wondered what the use-cases for PouchDB are.

Who wants to replicate their "whole" database locally?

<comment><USER4> You can filter what you are syncing or create a db per user and declare interactions with foreign data in their own instance, which will be executed according to permissions in the backend.

What I actually want is MeteorJS with neither MongoDB or the JavaScript backend, or PouchDB without Couch, or Jaydata + ASP.NET WebAPI with more open source compatibility...

<comment><USER5> Have you tried Horizon?

<comment><USER4> Yes, but it's still WIP and you need to go all-in on JavaScript IIRC. I don't dislike JavaScript but would like to have options.

</comment></comment></comment></comment></comment><comment><USER6> V8 has some quirky memory mechanics. Object pointers, and similar, are subject to a vague hard limit, loosely defined by `--max-old-space-size` and other related flags, while the objects themselves can extend beyond it. For example, if you had 1 object that contained 15gb text, that would likely be OK, however if you had 1 billion objects, storing 1 character each, that would likely lead to a crash - even if the process memory is below limits. Relatedly the shape and nature of the data matters (nesting, types, etc.), limiting the ability to use the full memory available in various ways. I imagine a lot of it has to do with GC, but I don't think that's the full story.

Have you noticed such quirks building loki? Do you imagine being able to make full use of, say, a 64gb ram server? Is this something being taken into account and optimized in the project somehow? @joeminichino

</comment><comment><USER7> What I find fascinating about a tool like this is how simple it is. An in memory store is not very important to me and what I develop. And yet, Im very happy this exists so that it sets a standard for other work in the future.

</comment><comment><USER8> Awesome, we're now 1 bored developer weekend away from Mumps.JS

<comment><USER9> Probably M.JS for clarity ;) /s

</comment></comment><comment><USER10> I used this on a internal project for a little while, it's easy to use, and the promises integration is useful, however at high volumes it did very poorly.

I was storing time series data.

I ended up moving to redis which has worked very well as long as I make sure it has enough memory for the date range I am keeping.

I hope this project keeps at it and gets a handle on performance under heavy load.

<comment><AUTHOR> hey @ldehaan i'd love to hear more about the shortcomings of Loki, i never had a real-life need for really high volumes so I would greatly appreciate some insights in order to improve it.

</comment></comment><comment><USER11> After 5min of introduction video I had to stop. Guy explains why he started loki. Hi didn't want to use sqlite in cordova app, so he created loki. Did he heard about localStorage or indexeddb? Probably not.

</comment><comment><USER12> This website would actually be better if they removed all the CSS and images.

</comment><comment><USER13> can I sync this with data in a postgresql db?</comment>


Show HN: Don't want to see an AD? Beat the level with 3 stars - <AUTHOR> Ever since I released Qubes[1] I wanted to come up with a way of making some money without a lot of ADs or to charge the user to play the game. So this is what I came up with: If you beat the level with 3 stars I don't show you a AD, how about that?!
It's kind of the opposite of pay to win. If you win (with the optimal solution) you don't have to "pay".
Anyway, I hope this catches on and more developers adopt this strategy, and I also hope more people play my game.
[1] - https://play.google.com/store/apps/details?id=com.victorribeiro.qubes <comment><USER2> Good mechanic. I like that it forces the player to get better by introducing a mild punishment.

<comment><AUTHOR> thanks, I thought it was a good way of making a little bit of money while introducing a new challenge / reward</comment></comment>


Swift for TensorFlow - <AUTHOR> https://www.tensorflow.org/community/swift <comment><USER2> They want to build up the language compiler itself to better support machine learning. That requires a language with enough type information to support sophisticated analysis. It should be built on LLVM. It needs an existing ecosystem of tools and libraries. And having a better performing language than Python is likely a win.

Swift fits the requirements. As Chris Lattner is driving this, no one could ask that he choose something else.

But Rust also would have been a plausible choice. As the Rust team is very interested in applying the language to exciting new use-cases, it's a bit of a loss for it to miss out on collaboration here. Perhaps this could inspire similar work on the Rust side; many of the concepts would likely transfer straightforwardly.

<comment><USER3> The principle reason Python flourishes is because it's highly expressive and readable. (There are things it misses, such as sensible lambda, any reasonable multi-threading model, etc.)

I can't see Rust competing on similar merits. Swift however (like Kotlin to which it is extremely similar) seem to be in the right sweet spot in terms of languages designed for usability, with a lot of useful f.p. constructs.

<comment><USER4> It depends on if all your writing cutom functionality. If all you have is one big main function, rust is pretty readable. Function definitions and structs are where things get a little messier.

<comment><USER3> I can't agree - there's too much going on in Rust - most people using Python want something approaching Matlab or R for ease of use.

I'm not saying Rust doesn't have it's sweet spot - but I can't see that as a general purpose language. (Likewise Haskell and Scala - that's just my opinion though :))

<comment><USER5> For better and worse, I wouldn't say anything so absolute about Scala. Scala contains multitudes ;)

You can write Scala as Java or Haskell or anything in between.

</comment></comment></comment></comment></comment><comment><USER6> Watching the talk, I thought the problem statement was exactly right. Of course our answer is a bit different, but I'm glad people are coming around to seeing ML as a programming language problem. We talked about this a bit in a blog post a few months ago: [https://julialang.org/blog/2017/12/ml&pl](https://julialang.org/blog/2017/12/ml&pl).

</comment><comment><USER7> The talk is here: [https://www.youtube.com/watch?v=gplTc2F5Wvk&feature=youtu.be...](https://www.youtube.com/watch?v=gplTc2F5Wvk&feature=youtu.be&t=1h47m20s)

Also see Chris's introductory post for the project: [https://groups.google.com/a/tensorflow.org/forum/#!topic/swi...](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q)

<comment><USER8> Is it me or did the audience had absolutely no clue what that presentation was about ?

</comment></comment><comment> J0-nas I like both Swift and Tensorflow. But how is that going to work?

As far as I understand MacOS has no official Nvidia support (=> no Cuda), which is (at least) advised if you want to use a GPU for computing. Using OpenCL instead of CUDA would require building Tenfowlow from source. The OpenCL support is not as mature as with CUDA, so I imagine you could run into unexpected (performance) problems.

On windows, you have an excelent CUDA but lackluster Swift support.

Will they add OpenCL as a "first class backend" for Tensorflow or rather expect a "first class" support of Swift on Linux and Windows? Otherwise who is going to use it?

<comment><USER7> People rarely train ML models on macOS for the reason you mentioned. Most machine learning work happens on Linux, so this should work well there.

TensorFlow supports a standalone server mode where it receives computation graphs and executes them. This is nice because then you can remotely execute on any accelerator (Cloud TPU, multi-worker multi-GPU) from your laptop.

In their demo, they did exactly that with a Cloud TPU: it connected to a TensorFlow server that executed the machine learning training part of the program.

<comment> J0-nas I agree, I just had in mind that Apple just now added/announced support for external GPUs. Besides Image+Video edditing, I though general computing tasks is a use case they had in mind. It's not like Gaming is big on MacOS.

</comment></comment></comment><comment> Max-q Shouldn't it be called "TesnsorFlow for Swift"? Like in "MySQL driver for Java", not "Java for MySQL driver".

I'm not native English speaker, so I wonder...

<comment><USER6> I think they're making that grammatical choice deliberately because they're modifying the language to better support TensorFlow integration, as opposed to just providing bindings for it.

</comment></comment><comment><USER9> Curious why not Go. Google has much more control over Go than Swift.

<comment><USER10> This is actually surprising. Are the machine learning engineers at Google (besides Chris Lattner) admitting that Swift is a better language than Go? :) I would be surprised to find out if he was the only one involved in the decision

<comment><USER11> So, i'm the closest thing to Chris's counterpart in language land (I own all of Google's production and cloud programming languages, including Go). We also go way back to nearly the beginning of llvm days. Chris and I certainly talked about this.

I guess i don't _really_ understand why anyone would think this is surprising. Like, i understand the knee jerk reaction, but I guess i don't understand why i would try to force him to do something else.

Chris is a high level engineer who decided he wanted to prototype and build a system in a language he's familiar with and feels is a good match for his problem space. People generally agree it's a good match for his problem space and his familiarity/etc makes him more effective in getting things done there. This doesn't mean anything else is a bad match (general purpose languages are often good at multiple use cases, hence the reason they are considered general purpose)

Why would I try to stop him and force him to use another language?

What tangible benefit would such a thing bring Google?

It's not like Google is a bunch of language zealots who think everything must be written in language X - it already supports a number of production languages, because different languages tend to have different tradeoffs for different use cases.

Outside of that framing, i have trouble thinking of a sane goal that would be served by trying to force him to do it in a different language.

But if i'm missing something, i'd love to know!

<comment><AUTHOR> Well initially preferring to use a homegrown solution (like a programming language) isn't necessarily a sign of zealotry. Dogfooding is good :)

Go just seems like a much worse match for this problem than Swift. Wrong type system, wrong compiler architecture, wrong runtime design, wrong language evolution strategy. This is in so many ways a great match for Swift.

<comment><USER11> "Well initially preferring to use a homegrown solution (like a programming language) isn't necessarily a sign of zealotry. Dogfooding is good :)"

Sure it's not necessarily.

Building on top of something that is yours, simply because it is yours, is in fact a form of zealotry.

It is fairly unrelated (IMHO) to building on top of something that is yours so you can make sure you experience what your customers will experience.

IE Building your own ML on top of your Java thing because you want your customers to build ML on top of your Java thing would make sense. Building your own ML on top of your Java thing just because it's yours does not by itself make sense. (IE it has to provide some particular value over not building it yourself, etc, otherwise it's pretty clear zealotry)

<comment><USER12> Regardless of whether it is zealotry or not, Google certainly has a habit of developing everything (software side) of its own.

<comment><USER11> When Google started doing it, there weren't a lot of good options to solve the problems it has. As that has changed, so has Google (but like any large company, it changes slowly)

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Very interesting. They are baking auto differentiation/gradient computation directly into the compiler ? How will this be work, since you invoke TF and TF computes gradients (at least on the loss functions) using Python/C++ from first principles.

It'll be nice to use the Xcode build system, but given that Xcode isn't open source, I wonder how this will play out. Is there a way to use Bazel natively with Swift ?

Exciting times though !

<comment><USER14> The key thing here is that the Swift compiler is computing gradients using SCT techniques, not TensorFlow. This has a number of advantages that we'll go into in the white paper we are going to publish in April, so I'd prefer to wait until that spells it all out rather than go into detail here.

All this works no matter how you choose to build your code: Xcode, Bazel, SwiftPM, makefiles, whatever. Also, since ML scripts are frequently small, a simple #! script like we showed in the demo is perfectly reasonable for many things.

-Chris

<comment><USER13> Great! Thanks Chris. Look forward to the white paper.

</comment></comment></comment><comment><USER15> It's not clear what this is.

Is it related to Apple's Swift language?

<comment><USER16> Yes, it's language level support for machine learning (specifically TensorFlow) in the Swift programming language.

<comment><USER17> Lattner's post makes this clear:

[https://groups.google.com/a/tensorflow.org/forum/#!topic/swi...](https://groups.google.com/a/tensorflow.org/forum/#!topic/swift/xtXCEvtDe5Q)

</comment></comment></comment><comment><USER18> Am I the only one seeing this is a deliberate April's fools joke? My bet: The project is real, but "Go for Tensorflow" instead of swift.

Quoth: "Is it me or did the audience had absolutely no clue what that presentation was about?" One day too early but it couldn't emphasize "April" more often in the article.

Quite a genius take on Apples openness and and wannabe-AI-ness.

<comment><USER19> I think you're reading too much into it. It was announced at the Developer Summit.[0][1] Seems like a long ways to go for an April Fool's joke.

[0]: [https://medium.com/tensorflow/highlights-from-tensorflow- dev...](https://medium.com/tensorflow/highlights-from-tensorflow-developer- summit-2018-cd86615714b2)

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

<comment><USER18> Will you buy me a beer if they rename it into "Go for Tensorflow" tomorrow evening?

@Google: Hire me or ask nicely and I'll remove this so that your genius joke is not spoiled.

<comment><USER20> I am willing to bet 10:1 agaist this being a joke, that is, I give you $20 if this is a joke, you give me $2 if not. Can pay with cryptocurrency. Mail me (address on HN profile) if you are interested.</comment></comment></comment></comment>


Have US Customs Declared War on TV Boxes (and Mini PCs)? - <AUTHOR> http://www.cnx-software.com/2016/07/04/have-us-customs-declared-war-on-tv-boxes-and-mini-pcs/ <comment><USER2> I suspect this person is confused. Customs is seizing the boxes because they include a pirated copy of Windows 10 (and as such misuse the trademark).

</comment><comment><USER3> I'm curious how you steal cable with a tv box. Anyone know?</comment>


Rent is so high in San Francisco that Im a software engineer and I live in a van - <AUTHOR> http://qz.com/524138/rent-is-so-high-in-san-francisco-that-im-a-software-engineer-and-i-live-in-a-van/ <comment><USER2> Question from a newcomer here - why does one _have_ to live in San Francisco?

I moved to bay area three weeks ago. I live in Walnut Creek which is the boonies to everyone here in SF but 1) it's affordable, 2) it's safe, and 3) it's quiet.

I commute to SF every weekday. I almost always get a seat, pop open my laptop, tether to my phone, and start working. The 45 minute commute usually isn't even noticed.

<comment><USER3> I live in San Mateo but used to live in SF. It took me a while to realize I hated living in SF. I left when somebody pointed out that since I had no interest in nightlife or bars or going out to restaurants in crowded parts of the city, I didn't really need to live there.

Your "45 minute commute" is a bit optimistic, it's more like an hour from WC.

</comment></comment><comment> bra-ket I think Google would have saved a lot of money if they rented out a dorm-like building for some employees, with cheaper rent vs. higher salary

<comment><USER4> They used to rent out the barracks on Moffett Field for incoming intern classes, but I heard there was a crime problem and emergency services was pretty slow to respond up there, so it was probably a bigger liability problem than it was worth.

The relationship between Google, employees, California, and the city of Mountain View has always been quite complex wrt housing. Google's argued on a few occasions that it should be able to build housing in North Bayshore so that employees could walk to work and wouldn't strain city infrastructure. There are environmental concerns (eg. the infamous burrowing owls) that the state and EPA bring up. Mountain View itself on one hand would love to eliminate all the Google traffic over Shoreline and 101 and make rents affordable again, but OTOH, they don't want to become known as a company town, and there are jurisdictional issues. Who provides fire & emergency services if Google owns its own housing? Would local police have jurisdiction on private Google property? Is Google responsible for contracting with local utility providers, or is this done through the town?

<comment><USER5> It is somewhat mind boggling that we can have such a huge, influential company that changed the world and they can't master urban planning challenges well enough to house their employees.

<comment><USER4> It turns out that urban planning is more complex than searching the entire web thousands of times per second.

Same reason GFiber has taken so long to get off the ground: they had the technical capacity to give everyone in the U.S. gigabit Internet several years ago, but developing the political capacity to get right-of-ways to the utility poles has taken years.

Social challenges always take longer than technical ones. That's why there're still billion-dollar Internet companies being founded today when the WWW has been around for 25 years.

<comment><USER5> I was studying to become an urban planner at one time. Life got in the way and I never completed my Bachelor's in Environmental Resource Management with a Concentration in Housing. I did get the Certificate in GIS I wanted, but, obviously, never having finished the bachelor's, I also failed to get a master's in urban planning.

There is a long American tradition of megacorps doing things like entire planned towns (Hershey, Pennsylvania) or otherwise influencing local planning. It seriously doesn't make sense to me that Google can't make some kind of arrangements. Megacorps are often very well positioned to cut deals and put through proposals that are de facto urban planning schemes that could not happen if it weren't one company behind it. In other words, if you had to get multiple groups agreeing, which is the thing that causes a lot of friction in the process of urban planning. If all you need is BigCo and TownInQuestion cutting a deal, it often cuts a lot of the red tape.

<comment><USER4> Google's public-policy attention is largely elsewhere, eg. lobbying for net neutrality at the federal level or self-driving cars at the state.

Also, Mountain View's bargaining position is a lot stronger than Hershey's. If Hershey left the town of Hershey, there would literally be nothing there. If Google left Mountain View, there would still be Intuit, Mozilla, Symantec, LinkedIn, Microsoft, YCombinator, and a whole host of other companies. Google's negotiating position vs. local governments is actually a lot stronger in many of the places where they build data centers, eg. The Dalles, OR; Lenoir, NC; or Jackson County, AL, because those towns have no other major industrial employers.

<comment><USER5> Thank you.

I am aware that Hershey was a company town. (I think it was, in fact, built by the company, but am not going to put time and effort into verifying it.) I did work for a large company for some years. For a variety of reasons, I chose to leave out examples I know of from that company that are a lot more recent than Hershey. It was the biggest employer in town, though certainly not the only large employer. My understanding is that in one case they did not even try to demand X from the city, they just began scouting for land elsewhere and the city came to them and an arrangement was made that satisfied the company's need for land.

So I am thinking that a) it isn't necessarily about having the power to cram your agenda down the city's throat, more about having a clear agenda to begin with and b) your first line -- indicating that they have other priorities -- sums it up nicely. It isn't that it cannot be done, it's that they don't really care that much about the issue.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> come to boston. you don't have to be homeless here.

<comment><USER7> But you may have to sign a noncompete. Massachusetts needs to make noncompetes illegal like California. It's holding them back from competing against Silicon Valley.</comment></comment>


Pancreatic cancer from a different perspective - <AUTHOR> https://directorsblog.nih.gov/2017/06/15/snapshots-of-life-a-van-gogh-moment-for-pancreatic-cancer/ <comment><USER2> A reliable early warning system for pancreatic cancer is highly sought after because the disease progresses so quickly once detected. If caught while still confined to the pancreas it can often be cured by surgery, but the large majority of patients are already metastatic before symptoms appear.

The one-year relative survival rate after diagnosis is 20%, and the five-year rate is 7%. In the US it is the 4th most common cause of death from cancer, and kills more than half a million people per year worldwide.

[http://pancreatic.org/pancreatic-cancer/about-the- pancreas/p...](http://pancreatic.org/pancreatic-cancer/about-the- pancreas/prognosis/)

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

<comment><USER3> Every time I read about something like this, I wonder how people can make it through medical school without dying of anxiety. So many terminal illnesses that could already be killing you with no early warning signs... how can they sleep!?

<comment><USER4> Medical school makes you dead inside, which is very practical to work long hours and not worrying about dying on the outside :)

As a European working in the US medical system, my general impression is that US people fear death much more than in Europe, where people bother much more about suffering than dying in itself. I don't really understand why, but americans seem in my experience far more willing to undergo invasive procedures to live longer, even if it means bad quality life.

<comment><USER5> We tend to interpret suffering as virtue. Even PG advises faced with a choice, doing what sucks more is probably the right answer.

</comment></comment></comment></comment><comment><USER6> This article is a little light on content, but bear in mind that they're only talking about adenocarcinoma pancreatic cancer. There are other tumors of the pancreas including neuroendocrine (aka the Steve Jobs kind) and squamous cell (hyper-rare yet somehow my father ended up with this).

The distinction in important because neuroendocrine can be treated with good outcomes. They're making good progress in treating adenocarcinomas (Drs Von Hoff and Borazanci in Scottsdale making good progress).

Some sort of early detection mechanism for all of these cancers would be amazing for everyone involved.

</comment><comment><USER5> Meh, finding a transcription factor for a tissue type is helpful, but the diagnosis of pancreatic cancer isn't in doubt all that often. The hard part is target a tumor that has already mutated its way out of its organ of origin. And transcription factors are very hard to target therapeutically.

</comment><comment><USER7> F--k cancer.

Especially pancreatic cancer.</comment>


How much of your audience is fake? - <AUTHOR> http://www.bloomberg.com/features/2015-click-fraud/ <comment><USER2> This is exactly why social networks are far less valuable than properties like Google that started with algorithmic foundations as opposed to rebranding the next geocities. I'll never trust facebooks numbers on their fake profiles especially when Yahoo kills close to 1mil fake profiles every month and while Ashley Madison was rife with them. Reddit started this way too, with tons of bots, fake accounts etc. We just don't know how many fake or synthetic Astroturfed [https://en.wikipedia.org/wiki/Astroturfing](https://en.wikipedia.org/wiki/Astroturfing) accounts are really out there. I have a close friend that ran a consumer oriented search site with 50 million monthly active users and he showed me that if certain sites, not his, did not make it easy for fake accounts to be auto generated from various advertising groups and spammers, then they just would not get the bloated monthly active user numbers they wanted.

Ironically, Google the term "buy facebook accounts". This is the elephant in the room nobody wants to talk about in the social networking space. 50% or more of the social networking profiles out there could be fake given bots, systems and marketplaces that auto generate this stuff in mass amounts to spam and siphon ad dollars.

Another way to look at this is based on how and why virus makers target PCs along with how many PCs are currently affected.

Not many fake 'searches' are happening compared to fake bots and social networking profiles. Yet another reason why Google makes $70 billion per year.

<comment><USER3> I personally know the founder of an SEO company that is running around 50 fake searches per second as I type this.

<comment><USER4> Some outfits don't just do fake searches but also fake downloads. E.g. visit [https://bintray.com/groovy/maven/groovy/view/statistics#stat...](https://bintray.com/groovy/maven/groovy/view/statistics#statistics) then click on date range "1 year" and wonder why the daily download numbers suddenly multiplied by 10 in late May. You'll have trouble believing the 2.5 million download number for Groovy from Bintray, and wonder how long they've been running the same ploy with Maven.

<comment><USER5> Late May is the beginning of intern/coop season and Groovy and Maven are popular technologies used by software engineering interns.

Could explain some of the spike.

</comment></comment></comment></comment><comment><USER6> I find the whole soft white underbelly of internet advertising interesting in that pollutes the entire advertising pool. Even ads that are "legitimate" are lost in a sea of click bait and click fraud and morass that is covered in the article.

It makes me wonder about companies that get a large part of their income from advertising (Google...). Once the ad market descends into a cesspool that no legitmate company will dip their toe into, can companies that depend on advertising revenue survive on the self-serving, artificial, and mostly automated, ad market?

<comment><USER7> I quite like the idea of a self-serving, artificial and mostly automated ad market. Maybe making it wholly automated would be an improvement..

Like: a browser plugin that would randomly click ads in a different browser profile, maybe through an IP-masking proxy, without ever displaying them or the pages they load to the user (hey, maybe without ever traversing the last mile from the proxy to the user's computer.)

In this way, and assuming the clicks can be made indistinguishable from actual for-real user clicks (maybe a tall order if a proxies are involved?), the whole ad market automation circle could complete while still retaining a usable web. The online ad economy spins off to become a self-sustaining fully automated exchange bubble, visible to the external world only at its interface to participants' billing systems and analytics.

Publishers and ad networks win because clicks, network infrastructure providers win because traffic is lucrative and content providers can flourish, users win big time because they have all the benefits of an ad-supported free- beer web with none of the down side (actually seeing and being tracked by ads, that is.)

So long as the advertisers (or, more specifically, the campaign managers' bosses) don't catch on, what could go wrong?

<comment><USER8> _In this way, and assuming the clicks can be made indistinguishable from actual for-real user clicks (maybe a tall order if a proxies are involved?)_

Unless your automated system actually spends money then it will always be distinguishable from the real thing. Advertisers, no matter how wealthy they might be, cannot afford to pay for a "fully automated exchange bubble" that gives them zero returns.

<comment><USER7> Unfortunately, I guess you're right. Dammit, I knew there'd be a catch somewhere! :)

</comment></comment></comment></comment><comment><USER9> Any clever advertiser doesn't judge the success of a campaign by its number of clicks, but by its number of conversions (and ultimately, revenue). What's become a new pain in the advertising space are spam/ghost referrals, messing your analytics only for the sole purpose of making you visit their websites, also adding up to the stack of fake audience of your site (which the article fails to mention).

<comment><USER10> The really crazy thing is that tracking from click to conversion is still not a truly solved problem!

e.g. When a person clicks, and then closes the browser and/or views other web sites, only to come back as direct traffic later and convert. The funnel is very hard to track and very easy to lose.

Not that I do this full time (I don't), but I've yet to really see a solution that lets me truly match up a person who clicks an ad and then converts.

At best, I can roughly correlate ads to a bump in revenue.

<comment><USER11> Your example is actually pretty easy to track. That's why sites drop cookies and have look back logs.

Harder to track is when someone clicks on a link on mobile, and then switches to desktop to complete the transaction. Unless everyone is logged in, you have no chance of tracking the funnel.

<comment><USER12> I know nothing about advertising, but isn't this method thwarted by users (likely small in number) that either do not allow cookies or dump cookies after a session? The latter type would only affect tracking if the transaction was completed in another session. I would think that IP tracking is somewhat useless due to shared public address among users.

Really what I'm asking is that is it trivially possible to track a user that does not store cookies?

<comment><USER11> Yes, dumping cookies makes it much harder to track lookback conversions. Some networks will use fingerprinting (IP, user-agent-- panopticlick style stuff) to supplement their data, but it's much less reliable and a determined user, like someone blocking or dumping cookies, is going to defeat it.

</comment></comment></comment></comment></comment><comment><USER13> Modern web advertising networks are an example of data telling lies we (or advertisers) want to hear.

The dream has always been to connect each advertising dollar spent to revenue generated. The reality is that data only exists in people's heads, is spread out over time, or is in their social interactions. My hunch is at least half, if not more, of all positive impact of ads (for the ad buyer) is generated this way. The data isn't low quality... it is literally impossible to collect.

For example: You research items on your desktop, then actually make the purchase on your phone while taking the train home. Maybe they can connect you to that purchase with enough tracking; So what if your neighbor or coworker asks about the product? Can't track that one.

Another example: You hear ads on a podcast for Igloo and when work starts asking about preferences for Confluence vs Jira you mention looking into Igloo. Your company ends up adopting it. Later you grow from 20 people to 3000. There's absolutely _no way_ for Igloo to connect the dots leading to a 3000 user account. Let's say after discounts that's $300k/year. If Igloo paid $200/episode * 52 episodes/year * 20 podcasts = $208k. That's an absolute _steal_ just to acquire that single customer.

Yet another example: You may be 24 with no kids living in an apartment but will you always be that way? Smart car makers understand that if you have a good experience with your first car in their brand you're much more likely to buy a larger car from them when you have kids, or a more luxurious car when your career advances. How can you figure out if the dollars spent advertising to the college kid with no money is wasted in that scenario?

So that's the great lie... that somehow all the tracking cookies, comScore profiles, etc will make advertising more effective or has some benefit period, regardless of fraud or click bots.

Advertising on the web right now is a fool's errand in many cases. I'm glad because it gives the small guys like me a chance to exploit the system to buy ads on lower-volume sites directly from the content creators and reach a good sized audience.

<comment><USER14> You can track all of that stuff, you just need enough data to be able to draw inference from the statistics.

Ultimately, if lots of poor people are worth targetting in a hope they will one day be rich, the statistics will ultimately back that plan.

But I suspect that anomalies will fall out in the big picture.

</comment></comment><comment><USER15> This is such a re-hashed story. While not good, it's not the big issue people seem to think they keep discovering.

For non-brand advertising this is easily solved by down funnel tracking. Any marketer worth their salt tracks to the 'ultimate goal' and will avoid shadier networks by results based tracking. End of the day marketing value comes down to a ROMI metric. It doesn't matter if 50% of the impressions are fake as long as the total investment pays off. For brand marketing I simply follow the networks that show DM performance as an indicator of quality display.

Generally the worse point for junk clicks is mobile display - particularly in app. Id never advise RON campaigns here without tight monitoring. I like to build white lists rather than a black lists for companies where I handle their marketing for display on mobile.

Interestingly I've been noticing increasing bot clicks on Google search ads. If I can detect this is makes me really suspicious why Google, with all their data/prowess is not.

This would really make interesting reading if someone wants to show this to the world. Even more interesting than the 2012 FB 80% bot claim: [http://techcrunch.com/2012/07/30/startup-claims-80-of-its- fa...](http://techcrunch.com/2012/07/30/startup-claims-80-of-its-facebook-ad- clicks-are-coming-from-bots/)

<comment><USER2> Try this: Inside a counterfeit Facebook farm [https://news.ycombinator.com/item?id=10275631](https://news.ycombinator.com/item?id=10275631)

</comment></comment><comment><USER16> "The most startling finding: Only 20 percent of the campaign's "ad impressions"—ads that appear on a computer or smartphone screen—were even seen by actual people.

"The room basically stopped," Amram recalls. The team was concerned about their jobs; someone asked, "Can they do that? Is it legal?" But mostly it was disbelief and outrage. "It was like we'd been throwing our money to the mob," Amram says."

Every time I see an account of an advertiser seeing a viewability metric, it reminds me how scare tactics always work to drive sales. Viewability tech is very nascent and is often just guessing because there are so many variables out there that can give it both false positives and false negatives.

However, giving such numbers to advertisers drives sales of your tech big time, even if the number cannot be verified because it's such a scary number.

<comment><USER17> Amram is trying to become his own brand, so I skip articles that he's got a quote in simply because he's not out to solve any problems, just get an agency job in a few years. I don't think he actually understands ad fraud at all.

Here's the thing: The (Boris Boris) sites that myspace is selling are obviously crap. Absolutely worthless. The traffic he's buying is a bunch of fraud redirects, and _he_ thinks that it's the media buyer's responsibility to be choosier.

However Christopher Barnet of Myspace is selling these sites as genuine video preroll that retails at around 6-8$ per thousand views. He's selling them on ad exchanges and they're buying it like crazy because it reports as highly "viewable", it's in "demo" (meaning a lot of these users have a comScore cookie), and of course, because nobody believe's Myspace is defrauding them.

So here we are: At least 80% of Myspace's ad inventory is fraud, and nobody's going to ask for their money back because "hey, we got fooled too".

And life goes on.

</comment></comment><comment><USER18> For this article? Most of it, because the animations annoyed all the human readers so much they closed the tab.

</comment><comment><USER19> This is absolutely hilarious. And another powerful argument in favour of powerful ad blockers. Let the ad malware talk to the bot viewers and leave us out of it.

(That said, I'm still trying to work out how to _unblock_ Project Wonderful, a non-arsehole ad network, in uBO. Seems to require picking the precise JS they serve.)

</comment><comment><USER20> If you have any kind of posting allowed on your website, 80% of your server power is being used to deal with bots.

Good luck dealing with ipv6 traffic where their behavior cannot even be tracked across connections.

I'm already seeing bots that do not repeat an ipv4 in their farm for hours and that is with one attempt every few seconds.

</comment><comment><USER21> Would be an interesting tactic for e.g. Microsoft to secretly set up a click- spamming botnet so as to pollute Google's click-through measurement enough that advertisers no longer trust it. Would that even be illegal?

</comment><comment><USER22> I'm now very interested in making my own bot to generate views? Any code out there?

This comes from a coder that had 100 twit bots, before twitter banned my API access.

</comment><comment><USER23> Aside from bot traffic, a significant percentage of "legitimate" traffic seems, anecdotally, to be engineered accidental clicks -- the mobile site that is constantly pushing content around in the hopes that one of your screen interactions accidentally yields an ad click. As one of an endless number of examples, a well respected, major recipe site has a mechanism to change the servings, and first you have to click on a "servings" button, and then on the actual serving count. After clicking on the servings, several hundred milliseconds later an ad appears exactly where the count input is, and clearly considerable engineering effort went into designing this, and many other, accidental interactions.

For what? I can only speak for myself but my immediate reaction is to click back and feel annoyed, and consider ad blocker options. It has never led to engagement or a purchase. Ever. The end result is that the performance of ads simply collapses, and sites have to get even trickier to entice accidental clicks. Rinse and repeat.

If you work in the "trick click" space, you are just dooming yourself. It is a race to the bottom.

<comment><USER24> _> engineered accidentally clicks_

You mean the Slashdot model. Four huge buttons that take up the entire screen while scrolling. No room on either side to avoid them or get past them. Slashdot has become the poster child for this crappy model.

<comment><USER25> slashdot, now there is a memory...

I used to spend a lot of time there. That went down to barely any in recent history as HN and other sources "took over". When the sourceforge adding rubbish to downloads and slashdot reportedly censoring discussion of the topic (they are owned by the same parent company) I realised how little I'd visited in recent months and decided that I never needed to go there again.

Silly tricks like the one you describe when seen on previously respectable sites seem to be a symptom of the site slowly dying and desperately grasping for what it can on the way down.

</comment></comment></comment><comment><USER26> Very insightful. Thanks for sharing.

</comment><comment><USER27> Great article, thanks for sharing.

> He dismisses the idea that it's hard to tell genuine traffic from fake. "The > whole thing about throwing your hands in the air and saying, 'I don't know, > maybe it's real, maybe it's not real'.</comment>


Is there a comprehensive map of the Shinjuku station in Tokyo? - <AUTHOR> https://travel.stackexchange.com/questions/53095/is-there-a-comprehensive-map-of-the-shinjuku-station-in-tokyo <comment><USER2> i dont think a map could possibly help you, Shinjuku station is a baffling ordeal no matter how many times ive been there, an incredible place no doubt but just finding your way back to the street can be a challenge at times</comment>