Snap commits $2B over 5 years for Google Cloud infrastructure - <AUTHOR> https://techcrunch.com/2017/02/02/snap-commits-2-billion-over-5-years-for-google-cloud-infrastructure/ <comment><USER2> Needing this amount of resources implies that Snap is expecting huge growth. This sounds like a really bad move on their part and they should have committed to building out their own infrastructure on 'bare metal' over the next 5 years instead.

If you read their S-1, they list a dependence on Google cloud as one of their big risk factors. Yet they then go ahead and make this commitment instead of working towards eliminating it.

There's so many advantages to owning your stack and if Snap thinks that it's going to need 2 billion dollars to pay for cloud infra, they're at the scale where it makes sense to build your own infra. Just look at Facebook, they're able to create tailor made data-centers that fit precisely what they need. The success of Snap relies on huge scale on the consumer side, if they want to scale their infra to support that 5 years down the line then this sounds like a poor move since they will either need to play catch-up later on or prepare to pay serious dough to Google.

Paying for cloud services seems like a great idea when you are not able to predict your needs in the coming years, given a deal like this I don't think that's the case.

<comment><USER3> I love Hacker News, where a random person can tell a company their $2 billion plan on infrastructure is "a really bad move" with authority

<comment><USER4> That random person is right. One can run a DC at scale of 50 racks at least 20% cheaper than GCP. That's $80M a year to hire 20 smart people at $2M a year and 200 reasonably smart people at $200k per year. Snap will vanish like their pictures.

<comment><USER5> I think you're very conservative on that estimate. We run an infrastructure on dedicated leased hardware (Rackspace). Our infrastructure costs are a fraction of what the equivalent public cloud footprint costs. With technologies like Kubernetes and CoreOS, our private cloud practically runs itself. We focus on apps and the developer pipeline, much like we would do if we were on GCP/GKE. We have approximately 60 dedicated servers. We're almost at the scale where it makes sense to leave leased baremetal for colocation. For a company like Snap, it's hard to believe that they couldn't save a few hundred million by building their own footprint in leased datacenter space.

The days of needing massive ops teams to run on owned and colocated hardware are long gone.

<comment><USER6> For a company that has always been handed (basically free) money at obscene valuations, why would you assume they care about two billion? Maybe it's just as simple as that?

It's an excellent argument as to why I will not be purchasing this stock.

</comment></comment></comment></comment></comment><comment><USER7> If I could do it all over again I would probably opt for Google. The Kubernetes support is wonderful and the overall user experience blows AWS out of the water.

<comment><USER8> Why opt for Google if you're going to use containers in Kubernetes? You then become cloud agnostic. You can even move to your own datacenter at some point (relatively) easily.

Dropbox built out their own environment (and did it migrating 500PB out of S3) [1] [1a]. As did Twitter [2]. And Facebook [3]. And GitLab [4] (too soon?) As well as Mixpanel [5]. Even Twilio is multi-cloud (last time I checked it was split between AWS and Rackspace; this was several years ago during an interview, so maybe its changed). Sure, start in Google, or AWS, but at some point you will either need to use multiple compute/storage providers (redundancy) or go to your own gear (redundancy and cost).

Example: "In 2014, Moz CEO Sarah Bird said that it was spending "$6.2 million at Amazon Web Services, and a mere $2.8 million on [its] own data centers." Simply put, the cloud killed its margins." [6]

EDIT:

simonebrunozzi: Forgive me, but when you're talking about hundreds of millions of dollars in spend, "easy" is relative. It is _much easier_ when you're not relying on underlying primitives that are difficult to reproduce on your own at another provider (witness how terrible Open Stack is; no one wants to do that if they don't have to).

Am I minimizing the effort involved for this discussion? For sure. But the money involved...it solves most problems you would have migrating between providers.

> It seems to me that you have no serious experience in the real world.

You are entitled to your opinion. I have seen the pain, and it is relative. Its easier when someone says, "Here is the budget, just fix the problem", and your vendor's (AWS/Google) margins are 20-40% (these are real margins pulled from earnings reports); that's a lot of money you can put back in your own (or your shareholders') pockets.

If you we're spending $2 billion dollars, and I told you I could save you $400 million by spending $100 million, wouldn't you take that deal? Even at $200 million, its a bargain!

For less than what Snap is spending on Google cloud infrastructure, SpaceX built a rocket that can take a payload to orbit and return the first stage successfully (SpaceX has taken on ~$1.2 billion in funding over the last 14 years). Moving out of a cloud provider is comparatively hard?

EDIT: Maybe this is a roundabout way to kick back to Google in order to get preferential treatment on the Ad network. It sure isn't a logical decision.

EDIT 2: @ashayh: I'm not saying go back to good ol' bare metal. For $2 billion, you could build your own cloud provider out as an internal operation. The amount that's being spent on Google Cloud is egregious, and worse yet, common shares have no voting rights to push back against poor decisions like this.

EDIT 3: @hueving: HN throttles my posting; editing this comment is my only way to respond. Sorry about that!

[1] [https://www.wired.com/2016/03/epic-story-dropboxs-exodus- ama...](https://www.wired.com/2016/03/epic-story-dropboxs-exodus-amazon-cloud- empire/)

[1a] [http://www.informationweek.com/cloud/cloud-storage/how- dropb...](http://www.informationweek.com/cloud/cloud-storage/how-dropbox- moved-500pb-of-customer-files-off-aws/d/d-id/1325721)

[2] [https://blog.twitter.com/2016/overview-of-the-twitter- cloud-...](https://blog.twitter.com/2016/overview-of-the-twitter-cloud- platform-compute)

[3] [https://code.facebook.com/hardware/](https://code.facebook.com/hardware/) | [http://www.zdnet.com/pictures/facebooks-data-centers- worldwi...](http://www.zdnet.com/pictures/facebooks-data-centers-worldwide-by- the-numbers-and-in-pictures/)

[4] [https://about.gitlab.com/2016/11/10/why-choose-bare- metal/](https://about.gitlab.com/2016/11/10/why-choose-bare-metal/)

[5] [https://code.mixpanel.com/2011/10/27/why-we-moved-off-the- cl...](https://code.mixpanel.com/2011/10/27/why-we-moved-off-the-cloud/)

[6] [http://www.thewhir.com/blog/moving-away-from-aws-cloud- dropb...](http://www.thewhir.com/blog/moving-away-from-aws-cloud-dropbox-isnt- an-anomaly-and-heres-why)

<comment><USER9> Easily move? It seems to me that you have no serious experience in the real world. There's something called "data gravity", and the non-secondary issue of how to migrate a "live" system (in production) from one cloud to another over the course of typically several weeks.

Moving from one cloud to another, even with containers, is never easy at large scale.

(source: I have worked at AWS for 6 years, at VMware for 2, and I've seen hundreds of clients go through this exercise)

<comment><USER10> I consider 'toomuchtodo a voice of authority on operations based on much reading and discussion (particularly on moving to physical, which we've discussed before), have performed the very exercise being discussed four times in my own career ranging from a couple cabinets to a couple hundred million in capital, completely agree with the entire comment to which you are replying, and feel that your jab about "serious experience in the real world" was totally unnecessary.

If moving operations around is insurmountably difficult, _you built operations incorrectly._ Put another, even broader, way with a few more implications: if you are totally reliant on one vendor for continuity of any part of your operations, _you built operations incorrectly_ and are introducing unnecessary risk. If us-east-1 goes down and you cease generating revenue as a result, _you have built operations incorrectly_. That's really all there is to it. And yes, I realize this means 80%, maybe more, of the operations in in the world is built incorrectly. We just learned Snap's is[0]. Maybe even yours! And that's fine as long as you're working on it. Good news: said exercise is a good chance to fix it!

Now that half the crowd is inhaling to bombastically retort that undoubtedly controversial, yet completely true, paragraph, allow me to quickly redirect:

What's "the real world," anyway? Most of HN forgets a Windows/.NET ecosystem exists, not to mention extra-valley gigs in, say, Nebraska. Would you say the lone sysadmin holding together a hospital in Des Moines is gaining "real world" experience and able to meet you in discussion? Seriously, I hate "the real world" and the people who fire it as a volley during an argument. Even your career is not indicative of "the real world." (Nor is mine.)

[0]: Flagrantly so. I've spent the better part of an hour trying to concoct a scenario where that deal is even remotely in the win column for Snap. Still trying. You enshrined a business disincentive (nay, prohibition!) toward optimizing your opex into a _five year contract_ and $400mm a year operating Snap was some kind of win? ... How on Earth? Even with a quarter billion DAUs...

<comment><USER8> I really appreciate the kind words, and wish I had more than one upvote for your comment. I'm not here for profit or ego, just to share what I have learned and experienced for the benefit of others. "I am old, here are my mistakes, do not make them" sort of thing. Whether anyone believes it, there's a serious Bay Area echo chamber (which HN overlaps with); there is a whole tech world out there that isn't startup culture/tools/methodologies.

If you're ever in Tampa or Chicago, let's grab a beer or dinner my treat. Would love to share war stories.

<comment><USER11> While I agree with your position in principle, I also come from a "legacy IT" world, the kind where systems are moved to public cloud because developers are several steps ahead of the DC admins, or because the CIO wants all net new dev to be on infrastructure he or she doesn't own. These are not "digital natives" (who have no excuse, imho). These are the thick, long tail or large businesses with aging infrastructure and a lack of willingness -- or ability -- to pay for top talent.

An additional point is that even the second tier PaaS/IaaS providers (like GE/Predix, for example) are trying to get out of the DC ownership business. There's no compelling reason for them to keep their own DCs when a) it's expensive to run & keep fresh, b) it's CapEx, and c) it costs them expensive heads to organize and manage everything.

<comment><USER4> Snap shouldn't fit the model of legacy IT. To some degree, myspace did and that's part of why they failed.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> So they hit $400m of revenue in 2016 and have committed to spend at least that much on infrastructure each year for the next 5 years? After all the costs for staffing and everything else they better I hope they achieve amazing growth if they ever intend to profit.

<comment><USER13> Will Snap exist in 5 years?

<comment><USER14> Yes.

If anyone wants to bet against them existing, I'll take the bet.

<comment><USER15> They'll exist, doesn't mean they'll be relevant, or profitable. If I were asked to bet against the stock, I probably would. Everything about their valuation and IPO smells to high heavens.

<comment><USER16> Fortunately for you, you can take that bet!

As soon as Snap goes public, you can short the stock. Go for it!

<comment><USER15> I prefer to deal in options, and options won't trade on the symbol for a while.

</comment></comment></comment></comment></comment></comment><comment><USER17> For ones (like me) wondering what Snap is, it is the company behind Snapchat, they apparently changed their name few months ago (source: [https://en.wikipedia.org/wiki/Snap_Inc.](https://en.wikipedia.org/wiki/Snap_Inc.))

<comment><USER18> Thank you. I was wondering the same.

</comment></comment><comment><USER19> Many talking of software here, but at this scale I think we should be looking at the cost of energy. Suppose Google has a true edge on the rest of the market in terms of what the cost of a Watt is to them. Take that outlook over the horizon of 5 years; all software arguments are thereby moot. If Google can generate a Watt in 5 years at 10% the cost that AWS can, then this drastically changes the equation.

<comment><USER20> I don't follow these things closely, but what's the reason to expect that Google will be able to generate a watt at 10% of the cost that AWS can? 10x seems like a massively impressive edge to have over another huge player in the market for a commodity good like power.

<comment><USER19> Good question. No reason to expect Google beating AWS, but absolutely Google beats Snap on price per Watt if Snap builds this infra out themselves. I'm no expert, but I'd say that when the outlook is five years and you're Google and you have your own internal energy hedge fund, a big margin (perhaps not 10x) is within the realm of possibility. [https://en.wikipedia.org/wiki/Google_Energy](https://en.wikipedia.org/wiki/Google_Energy)

</comment></comment></comment><comment><USER21> The timing is curious, they signed this dead and added $2B in fixed liabilities on their balance sheet days or weeks before the S1 filing.

That they didn't wait until after the IPO suggests Snap may see the partnership as a positive. Could also have been pushed from Google's end as it is a nice way of bragging about a big get but without having to formally announce it, and being associated with a hot IPO that will get a lot of coverage.

<comment><USER11> Or they could have been running on GCP for a long while and just didn't announce it previously....

(they initially built their product on AppEngine)

</comment></comment><comment><USER22> This makes no sense. One cannot spend $33M a month on Google Cloud. (Remember that it's half the price of AWS, and given a contract of that magnitude it's possible that they negotiated yet another half off).

The amount of hardware and services one would get for that bill is insane. Snapchat doesn't need that much computing power and storage.

<comment><USER23> Maybe $400M/year unlocks Google customer support?

<comment><USER21> Its the support level where APIs you use are no longer randomly deprecated

</comment></comment></comment><comment><USER24> Nice Snapchat files to IPO so they can pay Google bill. Wonder who wins in this long game...

<comment><USER25> Google. I can half imagine a scenario where Snap fails to meet growth expectations and is bought on the cheap by google.

</comment></comment><comment><USER26> I'm confused by this high cost, sure you might need lots of compute, but storage tends to dominate over the long term.

Isn't Snapchat supposed to delete data after 30s or whatever?

Why this insanely high cost? Can somebody shed some light.

<comment><USER27> 1\. There are also stories (last 24 hours). These are often video clips.

2\. Like Whatsapp, server has to store the message until the receiver is online again (until they open the app).

3\. Whatever systems they use for advertising, tracking, profiling, and analytics is probably a significant chunk of their backend.

<comment><USER28> > 2\. Like Whatsapp, server has to store the message until the receiver is > online again (until they open the app).

The server actually has to store it for a maximum of 30 days [0]. Snaps get deleted after 30 days (even if they're unopened). They're deleted immediately once the Snapchat servers get confirmation they've been viewed.

[0]: [https://www.snap.com/en-US/news/post/how-snaps-are-stored- an...](https://www.snap.com/en-US/news/post/how-snaps-are-stored-and-deleted/)

<comment><USER29> Do you really believe that.

<comment><USER30> Sure, why not? They might work with the FBI to store data for specific targets, and the NSA probably intercepts and copies a lot of data onto their own servers, but I see no reason why the company itself would lie about this. They probably do delete the data immediately for the vast majority of their users.

</comment></comment></comment></comment></comment><comment><USER31> They started on App Engine, I believe?

Interesting that just having one startup like Snapchat start on their platform made all the other little startups that came and went worth it.

</comment><comment><USER32> This could be a major issue with the ipo. Wall Street investors don't take kindly to long term commitments such as this. It looks especially impertinent because it is on the order of their current revenue ($400m per year due to google versus $404m rev 2016). The similarities in the numbers just beg comparison..

</comment><comment><USER33> Snap Inc can negotiate this number down if their revenue targets aren't met. So its really just a pro-forma agreement that can be changed... Source: The S1... the article fails to mention that part.

</comment><comment><USER34> Spotify are also heavy users of Google Cloud: [https://news.spotify.com/us/2016/02/23/announcing-spotify- in...](https://news.spotify.com/us/2016/02/23/announcing-spotify- infrastructures-googley-future/)

</comment><comment><USER35> So 2.5$/year per user, I am not sure if that is a lot. How much does facebook spent on their infra per user basis?

<comment> stp-ip For current user volumes. Due to them filing for IPO it seems right to assume that they want to multiply their user count quite a bit.

</comment></comment><comment><USER36> It is so concerning to me that the company has committed to spending an average of $400M per year on cloud infra when their revenue is only $200M, and they've revealed that user growth slowed from 17% to 3% in the quarter Insta released Stories.

It'd be one thing if they were going to use some of the IPO money to cost- optimize revenue, but I get the feeling that they need to focus on growing revenue due to how Insta Stories gutted them in 2016. That means hiring more people and writing bigger checks to Google.

And they're branding themselves as a "camera company." Their hardware division does not contribute materially to revenue (not profit: Revenue), and practically every other consumer camera company, from Kodak to GoPro, is dying.

This is not a healthy company.

</comment><comment><USER37> For anyone else who was confused who Snap are, they do Snapchat (it wasn't immediately obvious to me.)

<comment><USER38> Hah yeah, to me too. Wasnt until half way through the comments I found out who Snap was. Could have at least used the former name in the article somewhere or their logo.

</comment></comment><comment><USER39> Google also owns a piece of Snap through their venture arm. Plus I would think Snap will want to stay close to Google for access to their advertising exchange. We are quickly getting down to just two advertising exchanges Google and Facebook.

</comment><comment><USER40> What do you guys think Google Cloud's margins are like? Presumably, Google is able to run a data center more efficiently than Snap could, meaning that the savings of running their own data centers will be strictly less than GC's margins... thoughts?

</comment><comment><USER41> From the article:

> Access to Google, which currently powers our infrastructure, is restricted > in China.

What does this mean exactly? I could read the sentence above in two ways:

A- if a website is on Google infrastructure, then it will not be accessible in China

B- if a website is on Google infrastructure, then the cloud control panel will not be accessible to the IT operations personnel based in China

I think that it's the latter, I find it hard to believe that the scenario described at point A corresponds to reality. If that was the case it would have huge implications in terms of competition between Google and other providers.

<comment><USER42> I think it may be possible due to sharing of Google infrastructure that Google App Engine apps (what Snapchat runs on) are automatically blocked in China. This trick allowed Whatsapp to spoof censorship recently by feigning a connection to Google.com while truly connecting to an App Engine hosted proxy.

</comment></comment><comment><USER43> What's the back-end equivalent of "free scaling?" For example, with the front- end, if you have a SPA or a website that's completely static, you can serve static files and JavaScript in a way that scales horizontally for free.

Is there a back-end designed (with compromises and all) in a way where scaling horizontally is free, at the expense of compute power or some other sacrifice? I want to say Erlang/Elixir, but I haven't played around with it enough to say for sure.

<comment><USER30> Most server backends can easily scale horizontally, including Ruby on Rails, Node.js, and Elixir. The only requirement is that you don't keep any "state" in your server code. A novice programmer can make this mistake in any language, including Elixir.

Read about the "Twelve-Factor App": [https://12factor.net/](https://12factor.net/)

The main bottleneck is usually your database, which can be tricky to scale. You set up things like read slaves and sharding.

</comment></comment><comment><USER44> Makes me wonder if Google will buy a substantial amount of Snap stock and if there were takeover discussions before the IPO. I'm not sure if I like this from Snaps POV but it seems like they expect massive growth and possibly want to focus more on the core business than on infrastructure (which could come back to bite them strategically but I'm sure they got a very sweet deal).

</comment><comment><USER45> Snapchat could afford to build its own infrastructure if it wanted to. A similar sized Unicorn, DocuSign, has about 2000 employees and probably several hundred million in revenue per year (valuation is around a billion or two, depending on who you ask). They built their own data centers around the world.

But DocuSign derives a lot of money from B2B and uptime and location of the servers is important to other Enterprises. DocuSign also started building out its services more than a decade ago before a lot of the AWS or Google Cloud infra got built. So, the decision to build your own infra is as much a decision based on alternatives available. Few alternatives? Build your own infra.

By staying on GCP, Snapchat also guarantees its service and uptime will not change appreciably over the next several years. They built on GCP and migrating the whole service off would probably be a gargantuan task (how do you flip a switch and move all your compute overnight without hurting customer experience?). Staying with GCP allows Snap to maintain consistency of service while also buying time to build a transferable version of Snapchat that they could move to other infrastructure after the Google contract is over.

Investors on Wallstreet don't like seeing huge changes to company strategy too close to IPO. If GCP has worked for Snap thus far, it is far less risky to investors for Snap to keep on going "business as usual." It's better to overspend to guarantee certainty of service and business health over next few years than do a massive capital investment. Once Snap gets off the ground post-IPO, they can make longer term decisions about their infra.

</comment><comment><USER46> Can I get someone's opinion on Snap? Is it worth paying attention to?

My understanding is that it's a package manager that installs applications in their own isolated Linux sandbox, meaning you can install/distribute them on any distribution.. right?

Does that mean software like node.js or nginx/apache will be available via Snap?

<comment><USER47> I think you're confusing the company formerly known as Snapchat, now called 'Snap Inc.' with the 'Snappy' package manager (hosted out of 'snapcraft.io') which makes linuxy packages called 'snaps'. The two are unrelated.

<comment><USER17> I also got confused (I was wondering "who is Snap, and why is he investing in Google"), Snap is not that popular at the news sites that I read (which is mostly Hacker News :), at least after their name change.

</comment></comment></comment><comment><USER48> It seems dangerous to commit to spending so much money for so long into the future, with a particular vendor. Who knows whether Google Cloud will be best for your needs four years from now? Price, performance, reliability, support, whether it will have best-in-class abstractions, and so on...

</comment><comment><USER49> I wonder if they're still using Google AppEngine, or have moved to something lower level. GAE resolved a lot of its scalability and isolation issues thanks to Snapchat.

In a way, Snapchat was to GAE what Hotmail was to Windows NT back in the day — trial by fire.</comment>


Ask HN: Online CS Program from Dakota State Universisty, Opinions? - <AUTHOR> I'm applying for this program: https://catalog.dsu.edu/preview_program.php?catoid=27&poid=1961
I was wondering if you guys think that its sufficient, covers all the CS core requirements ?
working full-time and not being able to go to a university on-campus limits me to online programs.
I'm also hoping that a structured-deadline way of studying would force me to sit down at home and study/do homework better than any freely available courses out there.
I welcome any other suggestions to get an online CS degree. <comment><USER2> Some resources for online college stuff that you might find useful for finding a program you like:

[https://cvc.edu/](https://cvc.edu/)

[http://www.assist.org/web-assist/welcome.html](http://www.assist.org/web- assist/welcome.html)

<comment><AUTHOR> Thank you.

</comment></comment><comment><USER3> Online degree: -1

University I've never heard of: -1

Total score: -2

<comment><USER4> Some schools have online degrees that are the same as brick and mortar programs. DePaul University's online program is just the lectures for the class that are filmed and put online for students. So if the in class is Monday, the online students will see that lecture Tuesday morning. There is no distinction between online or in person degrees.</comment></comment>


Show HN: Unmask Real Companies Behind Jobs from Recruiters - <AUTHOR> http://frecruiter.herokuapp.com/
This is very much work in progress but every submission contributes to the DB which will be used to help improve the algorithm and thus make matching better.
The idea being that this will over time develop a community of people who will help tag various job descriptions to companies, helping people find the real companies behind the various jobs masked by recruiters out there.
Thoughts & suggestions welcome. <comment><USER2> I think it's possible this might work. I also think getting it to work, if it does work, will require either impossible luck or a lot of effort to build a useful database up front in order to attract users and build a community.

The way I see it, if I go to the site for the first time and paste in a recruiter email and there's nothing in the database, the odds I come back go down significantly. If against odds I come back a few hours/days/weeks, later and have the same experience, I will probably decide the site is useless.

In some ways, the site is a marketplace where people are buying information [at least with their time]. If the database does not produce relevant results, then in terms of a market their are no sellers. An empty database is useless no matter how many queries it gets and pretty much nobody does data entry for fun.

In the short term, there needs to be a market maker - someone who makes sure that sellers can sell and buyers can buy...and here it is the buyers buying that needs help and the form of a market maker is someone who goes out and fills the database with useful information and that's probably the website owner and if that doesn't sound worthwhile then the appeal of doing so for random people on the internet may well be similar...even if data entry gets gamified via awarding points/badges when the data gets returned in a query.

The challenge in the problem Frecruiter tries to solve is social more than technical and the social success will probably require more than a call for data entry volunteers.

Good luck.

</comment><comment><USER3> This is a great idea, if it works. If you need some help, I could chip in with some testing or coding.

I work on both sides of this issue, so I have a stake in it. As a developer, I'm not interested in opportunities with no context. As a recruiter, I only want to forward candidates that have an interest in, and whose capabilities fit with, the position! Otherwise, I'm just wasting everyone's time.

Would the resource you propose also decode jobs posted on recruiter web sites with no identity provided?

<comment><AUTHOR> Thanks and yes that's the plan.

Over time as it collects more data I will be able to identify trends, identify repeat postings, etc. And it should be able to identify various companies based off keywords. So for example some companies have foosball tables as a popular benefit listed in the ads, that would narrow down the companies, coupled with location and social help, this should be effective.</comment></comment>


Advanced web typography with font-feature-settings - <AUTHOR> http://advent2012.digitpaint.nl/3/

<comment><USER2> What pains me most - there is no RSS/Atom feed for this project. I won't subscribe via e-mail, since I already get lots of it.

<comment><AUTHOR> Now there is an RSS feed: <http://advent2012.digitpaint.nl/feed.rss></comment></comment>


Commonly used sans-serif font sizes - <AUTHOR> http://emilis.info/other/sans-sizes.php

<comment><USER2> Measured in px? Seriously? Have we learned _nothing_ in the last ten years?</comment>


IOS Pull-to-Refresh Control that Plays Pong - <AUTHOR> https://github.com/boztalay/BOZPongRefreshControl

<comment><USER2> How about just using a gif image of pong in the pull-to-refresh block instead of all the complicated code

<comment><AUTHOR> I wouldn't have been able to make it do the rotate-into-place thing it does when the user is pulling down. And it was fun to figure out how to make the paddles act as the ball flies around. Making a gif that's always the same isn't quite as much fun.

</comment></comment><comment><USER3> Definitely putting this in my control arsenal!

Will let you know if I manage to use it in any projects.

<comment><AUTHOR> Awesome, thanks!</comment></comment>


-M sends daily digests to your users based on git commit messages - <AUTHOR> http://minusm.com

<comment><USER2> Software developer community is over-served when it comes to tools and automation.

Please, just branch out and help people who aren't programmers.

This goes to _everyone_ of you HNers.

<comment><USER3> I don't think this is true at all. The developer community might get more attention than everybody else, but this is a good thing: making developers more efficient results in more software for _everybody_.

Besides, most such projects are written to fill a specific need of the author. They would have been written regardless; they are released because of the open-source culture prevalent in the development community. There are so many development tools just because developers are so happy to share.

Edit: I'm not sure this particular product is open-source. I'm just commenting on the prevalence of developer tools in general.

<comment><USER2> Coding for developers is like being a security guard for the army.

<comment><USER4> Depending on what you code, coding for developers could be like providing ammo to the army, or like building robots for the army, sometimes for free. Except you actually create a cascading effect as better software tools lead to better software, which leads to ...

But you already know this, or should.

</comment></comment></comment></comment><comment><USER5> Actually, could be a good management tool as well. I could use this on projects to keep track of development efforts without having to have my tech lead write me status updates.

I check commit logs whenever I can but, getting it right to me email in a daily digest would be a blessing.

</comment><comment><USER6> This is very nice and solves the exact problem I have.

Two questions:

\- How can I send it to my MailChimp list of beta testers?

\- Can it be posted to a blog/page (maybe Posterous or Tumblr will accept the email and auto-post)?

<comment><AUTHOR> Thanks! For now I guess you could export the emails from Mailchimp, separated by commas and add them to the recipients list on -M

</comment></comment><comment><USER7> I think this needs a little more human curation. There are too many commit messages that are about internals that users really don't want to know about.

Here's what we do: <http://blog.beeminder.com/blogdog>

In short, we have a special twitter account for User-Visible Improvements (UVIs). We manually look over our commits and task list and tweet on average one UVI per day.

EDIT: Also, thanks for making -M availaible! I'm trying it out.

<comment><USER3> As another option, couldn't you just include some sort of tag in each commit you want included, when you commit it? Something like "#interesting" at the end of the message.

I'm not sure that would be better, but it would be a nice option to consider.

</comment></comment><comment><USER8> This doesn't seem to work for me. I added a post-commit hook to one of my private repos, pushed a couple of commits, and the <http://minusm.com/app/repo/> page still sayd "Duuude, Go to Github and add the Post-Receive URL..."

I haven't received any emails either, even though I pushed commits before the time when it's supposed to mail out commits.

Is this only supposed to work for public repos?

<comment><USER8> I figured out why it doesn't work. It has nothing to do with private or public repos.

It doesn't work for projects that are under an organization. That would be nice to get fixed.

</comment></comment><comment><USER9> We tweet every commit to a private list. Works great and everyone in the company can follow what is going on in dev.

</comment><comment><USER10> What I often have silliness & profanity (in addition to useful information) in my commit messages?

<comment><AUTHOR> I think we'll do. -M gave us the opportunity to write better commit messages and be careful what exactly we write, since our users would be reading them.</comment></comment>


Routing Performance Update - <AUTHOR> https://blog.heroku.com/

<comment><AUTHOR> I'm disappointed by this post. There has been some amazing discussion on HN about the limitations of random routing for multi-threaded/event-driven frameworks. This post does not address those concerns.

Any app at sufficient scale will still encounter queuing problems even on the Cedar stack.

</comment><comment><USER2> Previous discussion: <http://news.ycombinator.com/item?id=5230602></comment>


DNSPerf - <AUTHOR> https://www.dnsperf.com/ <comment><USER2> What aggregation function is it using? For DNS, I'm usually more interested in the response time distribution since I've historically found that the average performance from anyone is fine but somewhere around the 90/95-th percentile times starts showing more variation among providers.

</comment><comment><USER3> This is pretty neat, but as always it's worth testing public DNS resolver times from your own home.</comment>


The case against Twitter - <AUTHOR> http://news.com.com/The+case+against+Twitter/2010-1038_3-6187291.html?tag=nefd.lede <comment><USER2> Anyone find it funny that the "tweet" (is that really what they call it) in the picture says "Why isn't it twittr if they are really trying to be web 2.0"? Wasn't that what it was originally launched as, and they changed later because people thought it was pronounced "twatter"? (Or because it took off and the domain was available, but I remember techcrunch readers joking about the unfortunate domain)</comment>


Ask HN: Dedicated Server Suggestions - <AUTHOR>

Hey Hacker News!
  I'm kinda in a bind right now. I have a site that I've been working on for some time. The url is artjutsu.com/beta. The concept of the site is pretty simple: Teach the world art.

  So a while back, I decided to work on a little platform to help other artists (and enthusiast) organize their work. The idea of artJutsu ended up escalating to do more than that. The product on the beta site is what I like to call "LinkKit". Its a tagging system I've created to help organize links, articles, and references for artists. It uses AJAX to parse the back end for data to be returned as html. Its a really simple concept and I use those techniques at work all of the time flawlessly.

  I'm having a problem though. I've just released a trimmed down version of the LinkKit system and it runs fine.... for 30 seconds. After that the server just chokes and the product is rendered useless. I'm ashamed to say, but I didn't think that using AJAX would have that affect on a shared server. Boy, was I wrong. (try clicking on the draw tab, and moving up and down the tree)

  So, I need some help Hacker News. The question here is, how does one find servers to run their applications successfully without spending a lot of money? The platform is fine but its quite expensive (the project started out as a way to "learn" asp.net). I really want to see this product come through. There are a lot of things I want to build (and have built) upon this platform. I also have some good ideas for building this product into a business. I just need a good server to start out with (a good horse).

  Any suggestions will be very helpful. Thanks for reading my post. I know its a bit long.

  Jay
 <comment><USER2> It depends. Like always. But if your main visitors are form Europe go and give hetzner.de a shot. They have incredible prices...

</comment><comment><USER3> For us on mobile devices: <http://artjutsu.com/beta></comment>


Zero-config reverse proxies: HTTP  SPDY  0MQ - <AUTHOR> https://github.com/igrigorik/zeroconf-router

<comment><USER2> I'm working on something similar here - <https://github.com/joerussbowman/Scale0>

I'm still in the phase of documenting how I want it to work, trying to include things like failover servers for the primary broker and a protocol for applications to communicate with so it can tell backends to move to other servers and such. I'm going for a fully service agnostic approach, which from what I gather from your docs yours is too.

I'm also plugging in a LRU queue and a queue for waiting replies to route a little more securely (response not in a wait queue, discard it).

I was just getting to the point of trying out some code to wrap my head around everything when my schedule changed and I ran out of time to work on it. Going on a vacation sometime soon and planning on spending some quality time on the project then. Vacation will include no internet access so I got to do something to keep my brain busy :)

Being able to add/remove workers without having to change a config is also one of the pain points I'm trying to solve and was one of my first motivating factors, glad to know I'm not the only one who wants to fix that.

</comment><comment><USER3> HTTP is not a very expensive protocol. I still haven't seen a convincing rationale for imposing a process boundary between the application server and the HTTP stack.

</comment><comment><USER4> Would something similar* be possible using Nginx's scripting engine? When a back-end comes online, it connects to an endpoint to notify Nginx that it has come online, and this gets added to the proxy configuration. I wish I had the time to find out for myself!

* to the title, as I haven't investigated the project carefully...

</comment><comment><USER5> This is what Zed Shaw has been trying to achieve with his Mongrel2 project.

<http://mongrel2.org/home>

</comment><comment><USER6> I usually disable zeroconfig/avahi stuff on linux servers when I set-up them... finally I could find a use it on servers.</comment>


Show HN: Light up code in text editor as it executes - <AUTHOR> https://github.com/steobrien/light-up-running-code <comment><USER2> I'd kill for this in Visual Studio/VS Code for C#.

</comment><comment><USER3> This simple thing should be included by default in every IDE. I'd pay for it

</comment><comment><USER4> Nice one! Could be useful for beginners to discover how code works. That's great

</comment><comment><USER5> I didn't know this was missing from my life. Love the idea!</comment>


Sony's Captcha. View source to see why they don't "get" security - <AUTHOR> http://pro.sony.com/bbsc/jsp/forms/generateCaptcha.jsp

<comment><USER2> Why are they disabling right click? I mean, captcha is there to stop bots. Bots have no 'right click'.

My guess is that the programmer didnt really know the reason for using a captcha. He has seen captcha's in other places (and how irritating they are) and has tried to copy them.

Or am I missing a certain point?

<comment><USER3> I was about to complain that Chrome wasn't popping up the context menu on right-click.

So the .js file is disabling right click? How exactly do I look at the source without it? Hmm.

Aha: "Wrench icon" -> Tools -> View Source

<comment><USER4> Or Ctrl+U :)

<comment><USER5> Or _wget (url)_

<comment><USER6> Or curl (url)

Or telnet to port 80

Are we really going to list every possible method?

<comment><USER5> Well no, the point is that there are many, it's trivial to get the source of a web page. "Disabling" the context menu on a web page is nothing more than a giant billboard shouting to the world that you are childish, ignorant, and unsophisticated.

</comment></comment></comment></comment></comment></comment><comment><USER7> No, submitters don't get neither security nor what captcha is for.

codinghorror.com (iirc) was using "captcha" which never changed, you just had to enter "orange". Or was it tbray.org? Anyway, Atwood claims, that naive approach was 99.9% effective: [http://www.codinghorror.com/blog/2006/10/captcha- effectivene...](http://www.codinghorror.com/blog/2006/10/captcha- effectiveness.html)

My position is that ANY form of captcha which requires some action by visitor is broken by design and should not be used at all.

Simple captcha like this will stop most of the automattic not targeted attacs. And if someone decides to write CAPTHCA breaker specifically for this site, nothing can help—then you either degrade to the level than even humans cannot say what characters are on the screen or it is cheeper to hire Mechanical Turk to do the job.

<comment><USER8> My blog simply fills in a hidden value using javascript when you press the submit button, it has stopped 99% of all spam for me.

You're right, captchas aren't supposed to be difficult, they're just supposed to prevent automation.

<comment><USER5> Captchas have 2 purposes. First, prevent simple fly-by bots from spamming sites. Case in point, blog software is dominated by a few big players (e.g. wordpress) and many blogs allow anonymous comments, without something like a captcha it's a simple matter to create a spam bot that runs through a list of site's and spams ads or what-have-you in comments.

Second, captchas are designed to prevent automation entirely, including custom made automation targeted to a specific site. This sort of thing is less important for, say, blog comments since the value of a typical blog comment is extremely low. But there are lots of free accounts out there, for example, and if you use automation to set up new accounts you may be able to game certain systems to your advantage, corrupting the normal process of the market.

</comment></comment></comment><comment><USER9> Just for fun, I decided to see how hard it would be to solve this catpcha with jQuery. It's worse than I thought.

answer = $("#captchdiv span b").text();

... OMG.

<comment><USER10> you dont even need jquery: document.getElementsByTagName("tbody")[1].innerText.replace(/\s/gi,"")

</comment></comment><comment><USER11> For

tl;dr - <http://i52.tinypic.com/2hpjg5v.jpg>

;)

Edit: Disable right click ? Surely not .... <http://i54.tinypic.com/2mzjcl3.jpg>

<comment><USER12> I was thinking these were individual images what would be stupid enough, but this....

<comment><USER13> Heh. I took the advice, went in and checked source expecting to see the captcha string in a hidden form element.

I use NoScript and Sony.com is not on my whitelist (read: I could just select/copy the string).

This was worse than I imagined.

</comment></comment></comment><comment><USER14> Previous discussion: <http://news.ycombinator.com/item?id=2755716>

</comment><comment><USER15> Pure fucking gold:

 P	  U	  W	  W	  Q

</comment><comment><USER16> This is an excellent example of cargo cult thinking. If we build the airports and control towers that look right, the cargo will flow!

</comment><comment><USER17> On the bright side, users with terminal browsers, like Lynx, can enter the captcha text :)

</comment><comment><USER12> I hope Sony is building a centralized IT division after the PSN outage and all these embarrassing websites will be gone soon. If they don't then their CEO should be fired for ignorance.

I would be interested in the internal structure that leads to these incredible unprofessional results, there has to be something fundamentally wrong.

I make a guess, because when you think about it, this whole thing is generated with css and html. It is so funny that with all these horizontal lines it looks like a real Captcha but it isn't. This was just built to satisfy some manager who didn't accept/know that their team isn't trained in image generation techniques. There was some deadline who needed to be satisfied and they were forced to do this.

<comment><USER18> I seem to recall a comment somewhere from a Sony employee about how they already have one, it's just that many websites are built by the individual product teams (often marketing).

</comment></comment><comment><USER19> Or just cut and paste:

D F T L F

And they use a goofy font that is hard for humans to read but would be trivial for a machine to recognize, if it actually had to. Too funny.

</comment><comment><USER20> All CAPTCHA's are nothing more than a cat and mouse game where the mice are /always/ faster than the cats.

The point CAPTCHA developers always seems to miss is that you must render the visual to the screen, or the audio to the speakers, so that the end user can process the information and pass the test.

These tests, by design, are finite in the case of human generation or algorithmic in the case of random text / pictures.

No matter the case, automation developers have more available options to pass the tests than the CAPTCHA developers have to generate. Why?

Because an automation developer who deems an applications data valuable enough to acquire will not rely on technology alone to solve the problem. If they are unable to develop an efficient and reliable technology to pass the test for the intended application they will employ a semi-automated approach that involves real live humans.

If the automation developer outsources this semi-automated component there exist services who employ hundreds of individuals per shift to do nothing but solve CAPTCHA challenges through an API with the automation developer's system. These services cost less than $2 per 1,000 /solved/ CAPTCHAs. If the automation developer is of any stature they will have their own facility and the price comes down to $1.50 or less per 1,000 /solved/ CAPTCHAs.

The feedback loop for CAPTCHA developer is plain broken. The security mechanism is designed to validate that the request is from a real human and the automation developer, when presented with a technical challenge not worth technically innovating around, will just employ low cost real humans.

<comment><USER21> Human labour is thousands of times slower and thousands of times more expensive (even at $2.00 per 1000) than automated solving. The fact that spammers have been forced to use such inefficient solution techniques is proof of the captcha technique's efficacy.

Consider if these captcha's were not in place. By the above logic, there would be thousands of times more spam on sites like Google and Facebook.

<comment><USER20> While I agree that human labor is thousands of times slower and thousands of times more expensive than an all computational solution that is not the point most of the time for automated systems.

In the case of messages and wall post on Google or Facebook, once a CAPTCHA is solved you get to send N messages before the next one is popped up. Without the CAPTCHA you could only go so fast anyway due to general rate limits so the impact on spam, for either service, is minimal.

In the case of account creation in general the limit for automated systems is more heavily dependent on diversified proxy access more than anything else. Additionally, you can only effectively manage so many accounts at one time depending on your needs and CAPTCHA do not add more than a few % time delay to the overall account creation process.

</comment></comment></comment><comment><USER22> It's funny because this captcha probably required more work (disable right clicks, render tables, etc.) in contrast to a proper one, i.e. assuming they were allowed to use an image generation library.

</comment><comment><USER23> They just don't get the right people to do this kind of things, I used to work for Japanese company, for me it's seems like they don't consider skilled IT worker is important.

</comment><comment><USER24> Does anyone have a link to a page where this is actually used? It seems too ignorant (even for Sony) to contain the actual captcha value within the source.

<comment><USER25> It's used on this page here:

[http://pro.sony.com/bbsc/ssr/mkt- security/support.form.bbscc...](http://pro.sony.com/bbsc/ssr/mkt- security/support.form.bbsccms-support-securityaecompsignup.shtml)

Which redirects you to a "down for maintenance" notice.

<comment><USER26> Very ironic that this is on a site for "Sony Security"...

</comment></comment></comment><comment><USER27> Yeah Lame... now I get why that guy alone could hack the PS3 unhackable lock.

</comment><comment><USER28> Heres the problem with sony's captcha. If you are dealing with a small site that nobody gives a shit about, asking users to answer "what is one plus two" and ALWAYS accept an answer of 3 is enough. If you are sony, you need better because there are many visitors and thus its an issue. I implemented a honeypot/time analysis/js assembly tool in a few hrs, im sure sony engineers can do better in a day. But I guess not since sony is not exactly known for its good web developers.

</comment><comment><USER29> I wonder if this is the result of divvying up the work and outsourcing to various groups? i.e. no individual group knows what is going on, they just have certain objectives they must do in order to get paid. Such as, "Create a web page with 5 random letters that a person needs to type in order to get to the next page..." Perhaps "CAPTCHA" wasn't even in the design description?

<comment><USER30> No reason for this to be downvoted

</comment></comment><comment><USER31> How about a version that asks users to enter highlighted text out of a short paragraph?

The portion of text that would be perceived as highlighted __would be subjective enough to avoid non-specific, casual attacks, but wouldn't sacrifice readability or ctrl-c-ctrl-v.

 __e.g. red adjacent magenta vs. magenta adjacent blue

</comment><comment><USER32> I use captchas that set a hidden field value through javascript (the user does not enter anything). It takes a second to view source and figure out what should you enter. Despites this, the captcha works 100% and spam stops. Unless spammers target your own site manually, such a solution is good enough.

</comment><comment><USER33> The point of the Captcha is to block fraud and bots. If it is good enough to do this then who cares how it is implemented.

Obviously it is useless against a bot written to spam the specific sites this is on but I assume it will stop a generic bot (eg forum spamming one).

<comment><USER2> "Come on, thats good enough" is probably the root of most security issues ;)

"Sorry. Security is not optional". -- A kde developer whom I cant remember

Edit: added the quote.

<comment><USER34> Spam prevention is not a matter of security. It is completely orthogonal.

</comment></comment></comment><comment><USER35> I like the 13.2pt font - 12 or 16 would just be too obvious. But 13.2? Now _that_ is security!

</comment><comment><USER9> I'm horrified every time I see this.

</comment><comment><USER36> I once encountered a

I laughed a lot.

</comment><comment><USER37> That cannot be for real? Anyone know where this is used in context?

</comment><comment><USER38> This is not really a security issue, it's an anti-spam issue.

</comment><comment><USER39> Right click works in chrome 12.0.742.122 / os x and when you right click on letter x it comes up with an option "Search Google for 'x'"...

</comment><comment><USER40> That's the funniest thing i've seen all week

</comment><comment><USER41> They only disable right click and selection and they think people will never know?

<comment><USER42> "Browser security. It does nothing!"

</comment></comment><comment><USER43> IBM Software Development Platform, what development tool they use?

</comment><comment><USER44> Didn't someone already share this like 2 weeks ago?

</comment><comment><USER45> So this is why PSN was hacked? Were the user passwords also served to users in plain-text and evaluated in Javascript?

</comment><comment><USER46> wow... that is really bad

</comment><comment><USER47> Unbelievable!</comment>


Ask HN: Is there a way we can prevent down-voting for disagreements? - <AUTHOR> My biggest gripe with HN is that it appears to me that comments are often down-voted over differing opinions rather than an issue with the comment as per the HN guidelines[0]. As someone who has unpopular opinions, this often leaves me fearful of participating in discussions. Maybe this fear effect is the very thing keeping our community more cordial though? :)
I like HN a lot and it really is the only site where I regularly read comments. Keeping that in mind, I wonder if anyone has any ideas as to how we might improve this aspect of the community without also ruining it in the process? It is quite possible that any solution will wind up with worse adverse affects than benefits.
One small idea I had was to add a section on "When Voting" to the HN guidelines[0]. I may have missed it but I do not believe there is anything pertaining to what one should be considering when voting.
[0] https://news.ycombinator.com/newsguidelines.html <comment><USER2> Well I too get down votes very often. And basically if I comment something on HN I count it as success if my karma doesn't go down after I comment.

Because of this I tend to see HN as this club of extremely narrow minded people where any opinion that differs is punished. But this is mostly citral thing. First by the fact that I am not a English speaker and second that even if most people won't admit it they have very binary thinking. To which the up vote / down vote buttons fit perfectly :)

So if you want your not so mainstream opinion to be appreciated I think HN is very poor place for this.

<comment><USER3> I agree - HN is an echo chamber. A few patterns: 1\. Generally left leaning politically 2\. HN prefers SQL db to MongoDB, despite Mongo's suitability to certain use cases 3\. GPL == Holy. Somehow all software should be given away with the most copyleft license one can apply. Yet, the GPL hardliners gather in droves here - a website that isn't open source, run by a VC company whose mission is to make money, mostly off software. Ironic

<comment><USER4> Don't forget the PC Police - if you want to say something even remotely not politically correct better keep it to yourself, or you'll be downvoted to oblivion.

<comment><USER5> Isn't PC just code for offensive?

Can you give me an example of something you consider not PC that isn't also offensive?

<comment><USER6> This was an interesting challenge. Here's my attempt: "Merry Christmas."

The more PC term is "Happy Holidays", but I'm not so sure "Merry Christmas" is offensive contextually -- at least, not always.

<comment><USER7> I think this does not answer the question. I don't think "Merry Christmas" or "Holidays" is the type of example @iovrthoughtthis is looking for.

<comment><USER5> I'm also not sure those are the type of "PC" that was meant initially.

Though I could be wrong. Does HN get up in arms when people say Merry Christmas?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I've long wondered if it would make sense to have a separate agree/disagree vote for each comment separate from the comment's normal upvote/downvote count. The totals for agree and disagree would be shown on the comment, but would not otherwise be used. I'd probably go one step further and allow users to simultaneously agree and disagree with a comment.

So you get something like:

      [upvote] [downvote] [agree] [disagree]

      2 points 7 agree 4 disagree (2 both agree and disagree)

The idea is to separate comment quality from agreement/disagreement.

I'm not sure this would be a good fit for HN since we can't generally see comment scores anyway, but it might work for other sites like Reddit.

<comment><USER9> A local news site has such a system in their comment section. Judging by the scores, most people just end up using both for agree/disagree.

<comment><USER7> Yes too I think "Upvote" and "Agree" are too similar.

Actually I've implemented a 4 votes discussion system:

\- _Like_ = I agree / useful / insightful

\- _Disagree_ — does _not_ affect post sort order or karma

\- _Bury_ — for moving well-intended but boring comments, like "Thanks!" and "Me too", downwards. Without having to delete or actually downvote them.

\- _Unwanted_ — this corresponds to HN's downvote. Core members & staff can use it, if they don't want that type of comment, at the site. Reduces the commenter's karma, moves the post downwards.

Here are two demo pages: (scroll up a bit to see the "Some disagree with this" warning)

\- [https://beautiful.demo.ed.community/-6#post-14](https://beautiful.demo.ed.community/-6#post-14) \- [https://insightful.demo.ed.community/-7#post-3](https://insightful.demo.ed.community/-7#post-3)

</comment></comment></comment><comment><USER10> I feel that down voting without any currency is too cheap. Instead, if people have to use up 1 karma to downvote then people would be more considerate about down voting. This would also restrict people who are just negative in general that likes to downvote everything. People who has looks of karma is free to downvote however they like.

<comment><USER11> It's an interesting idea, but it would systemically tendency towards ossifying views that the community already holds/has held in the past. If those who hold a certain opinion already have more karma, a feedback loop is created whereby they're more free to downvote the opposing opinion, the other side is less able to downvote theirs, so the original group doesn't lose as much karma, etc etc.

</comment></comment><comment><USER12> I don't like it because I think HN/YC should be a place to voice unpopular opinions.

I think it's fine to downvote an opinion you don't like. The whole purpose of upvote/downvote would be more to 'bump' opinions you think is useful. I sometimes upvote an opinion I disagree with if I think it should be more visible. But I think most people just use it as a boo/cheer button.

</comment><comment><USER13> Downvoting in general is a pretty poor tool. What exactly would be lost if you could not downvote? Upvote or flag it if it's blatantly wrong; better yet, respond with the correct info.

The main problem with down and up voting is that it's "apparent" which results in people just doing it to further support an already up/downvoted item. This results in not actually attempting to understand, imo.

</comment><comment><USER14> Don't. Embrace it...

Let me ask and then answer a question: Why do you CARE that something was downvoted? Because when things are downvoted you lose privileges, comments are hidden/greyed, and you can even be shadow-banned. So downvoting or "disagreement" is problematic because it is PUNISHED. Reddit has an identical issue.

That's a problem with the site's design. People aren't going to stop using the downvote as a disagreement button but yet the site is designed around the concept that it is a moderation tool? That's completely irrational, and only results in group-think.

So what's the solution? Well you can hope that people change and start using the site as you intended, or you can design the site around people as they are rather than as you'd like them to be.

Three buttons:

\- I agree

\- I disagree

\- I believe this is inappropriate/rule breaking/low quality/flag it

Neither the first nor second are moderation actions. They're opinions and will be displayed as such e.g. (+10/-100) for a controversial opinion, and (+100/-10) for a popular one.

With the third option, you have to mitigate abuse. It is not a "super downvote" or a "super disagree." If someone uses it:

\- They can either vote OR flag

\- They can either reply OR flag

\- The flag has a cooldown

\- You abuse the flag you lose the flag

As soon as they flag a post that post is dead to them, they cannot interact with it. This stops them from using it in their own little vendetta, and frankly I believe people would prefer to add to the public disagreement score (or reply) than to abuse the private flag function.

<comment><USER7> I've implemented something like this, in another discussion system. I added a comment about that, here on this page: [https://news.ycombinator.com/item?id=15798037](https://news.ycombinator.com/item?id=15798037)

I have 4 vote buttons: (a Bury vote, in addition to the ones you mentioned)

\- _Like_ = I agree / useful / insightful

\- _Disagree_ — does _not_ affect post sort order or karma

\- _Bury_ — for moving "Thanks!" and "Me too" comments downwards, without having to delete or downvote them)

\- _Unwanted_ — if you don't want that type of comment, at the site. Reduces the commenter's karma, moves the post downwards. This is the only vote HN has right now.

Two demo pages: (scroll up a bit to see the "Some disagree with this" warning)

\- [https://beautiful.demo.ed.community/-6#post-14](https://beautiful.demo.ed.community/-6#post-14) \- [https://insightful.demo.ed.community/-7#post-3](https://insightful.demo.ed.community/-7#post-3)

</comment></comment><comment><USER15> Paul Graham seems to think downvoting as disagreement is fine: [https://news.ycombinator.com/item?id=117171](https://news.ycombinator.com/item?id=117171)

<comment><USER16> He also thought it was a problem: [https://news.ycombinator.com/item?id=1057338](https://news.ycombinator.com/item?id=1057338)

I used to agree with the comment you linked, and this other one: [https://news.ycombinator.com/item?id=658683](https://news.ycombinator.com/item?id=658683)

But then people pointed out a bunch of comments that got downvotes. These were polite comments, making a coherent point, on-topic and not attacking others.

And there are a couple of accounts who appear to have most of their comments insta-downvoted, even if there's nothing wrong with them.

One solution: almost all logged-in accounts have the ability to upvote. Few accounts have the ability to downvote. So if anyone sees a downvoted comment they can supply a corrective upvote.

</comment></comment><comment><USER7> What about adding a "Disagree" button? And show the text _" Some disagree with this"_, if some people disagree. Or _" Many disagree"_, if many disagree. — So, there'd be two kind of downvotes. One for "disagree", and another for "I don't want this kind of comment here at HN" (currently HN in practice only has the last one).

Look, a demo of how this can work and look: [https://insightful.demo.ed.community/-7#post-3](https://insightful.demo.ed.community/-7#post-3)

— scroll up just a little bit to see the "Some disagree with this" warning just above the comment. And if, _below_ the comment, you click the `V` button, to show various types of votes (in addition to the Like vote), you'll see there's a Disagree vote.

</comment><comment><USER17> _I wonder if anyone has any ideas as to how we might improve this aspect of the community without also ruining it in the process?_

In general, I'd like to see voting and flagging on HN become more transparent. While there are some good arguments for maintaining the current "anonymous" approach, I testing some alternatives could lead to something better.

One quick change that I'd like to see would be to privatly expose the total vote count to the poster instead of just the net total. As it is, it's hard to distinguish a contentious issue from one that only a small number of people are interested in.

For example, instead of showing a comment as "-2", it might show "-2" with a mouseover that shows "+20 -18 = 2". This would be a tiny change, the data is already being recorded, and it could just as easily be rolled back if it doesn't produce a desired effect.

<comment><USER18> They do that on ArsTechnica. It doesn't really seem to have mitigated the issue much.

What I do, if I see a greyish comment on HN, and it's obvious that the opinion/idea expressed is being downvoted by groupthink, I upvote it. Even if I don't agree with the comment. Mostly because I don't believe ignoring/burying those whom you disagree with as solving anything. My choice of doing this is more of a means than an end. It's odd how narrow-minded and self-reinforcing a group of out-of-the-box free thinkers can be, especially out here. I can't impose open-mindedness on the masses, but I can try to at least help the voices of the dissenters remain visible.

</comment></comment><comment><USER16> One thing not mentioned so far: most people have the ability to upvote. Fewer people have the ability to downvote.

When you see a downvoted comment it's not only had downvotes, it's failed to attract upvotes.

If people upvoted more unfair downvotes would be less of a problem.

</comment><comment><USER19> I think if the amount of downvotes someone could cast in a given 24 hour period were limited to some smallish number, perhaps 5 or 10, then some people might save their downvotes for the comments that that really detract from the tone of the discussion.

</comment><comment><USER20> I recommend not caring.

</comment><comment><USER21> I up-vote everything I think people should see (often controversial/unpopular opinions I agree with), and down-vote everything else (giving my up-votes more weight).

I would like the ability to invest in comments I find particularly important (i.e., spend 100 karma), and reap the benefits if it ends up being useful to those who would otherwise not have seen it.

</comment><comment><USER6> I've often felt web sites need an inverse mode. On some sites, I prefer all the negative comments to the upvoted comments.

</comment><comment><USER22> PG said downvoting for disagreement was fine. Like it or not, that's the way the community runs and the way culture is - optimized for quality and cultural reinforcement, not freedom of speech.

Most of the time petty downvotes get balanced out or just sit at -1 anyway, it doesn't matter.

<comment><AUTHOR> Could you post a link to where he said that?

<comment><USER22> [https://news.ycombinator.com/item?id=117171](https://news.ycombinator.com/item?id=117171)

<comment><AUTHOR> Thanks. This must have taken you a little work to dig up again.

</comment></comment></comment></comment><comment><USER23> I always upvote the interesting things, sometimes i strongly disagree with, but it bring an good reflexion, or simply another point of view.

I am surprised some people upvote comments just because they agree, should go facebook if you want that kind of social media.

</comment><comment><USER24> What if everyone could see who down voted each comment. Make things super transparent.

</comment><comment><USER25> Don't have a downvote button. They tried it before.

</comment><comment><USER26> Implement 'I agree' / 'I disagree' and 'New information' buttons.

Hellban people that hellbanned without reason other people.

</comment><comment><USER27> There is remarkably low value to be extracted from hn comments. Very rarely there is something wonderful! But like 99/100 comments are some combination of showing off, punching down, pushing a crackpot agenda or cryptotrolling. Why do you care if you get downvoted in such an environment? Perhaps, and this isn't meant to be nasty at all, you need some social activities in your life?

<comment><USER28> If you care to share, I'd be interested in examples of the 1/100-tier comments that you've seen. I have a more positive view of the discussions here, of course maybe my standards are lower. But I don't think a comment necessarily becomes lesser because the author is "showing off". If what they're talking about is really damn special, maybe the bragging can't be helped</comment></comment>


Simple, fast, effortless and free way to share all your crypto wallet address - <AUTHOR> Meet Ethx.me. A simple, fast, effortless and free way to share all your crypto wallet addresses. <comment><AUTHOR> One link to collect payment in various cryptocurrencies.</comment>