Netflix: What Happens When You Press Play? - <AUTHOR> http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html <comment><USER2> > I pulled this chapter together from dozens of sources that were at times > somewhat contradictory. Facts on the ground change over time and depend who > is telling the story and what audience they're addressing.

You know old time journalists had a solution to this. Interviewing subjects with first hand knowledge.

I know I rag on highscalability a lot, but I feel like they deserve it. They've written multiple articles about topics in which I would be a first person resource (Reddit and Netflix), and not once have they ever contacted me or anyone I worked with for an interview. They've _quoted_ me from presentations, but the quotes were out of context and wrong they way they quoted it.

All of this could have been cleared up with a single interview of anyone who is a primary source expert.

<comment><USER3> Hi Jeremy,

I'm very sorry if I've misquoted you or quoted you out of context. I'd certainly correct them instantly if contacted. I've searched my email and I don't see any corrections, so I'm not sure how I can make amends.

I pull a lot of quotes from a lot of sources. Many thousands a year. My goal is always to highlight ideas that I think might help readers do their job better. Highlight is they key word here. That you say those sort of things often is not surprising. My hope is always readers will be made curious enough to follow the link and learn more on their own.

And unfortunately there is no "they" at HighScalability.com. There's only me and there's only ever been me. So all mistakes are mine and only mine. There's never been much money or time to be as comprehensive as I'd like.

I do the best I can, but I often fall short, no doubt. I'm not a journalist. I never said I was. I'm a programmer. Have been all my life. I started this blog a long time ago. It was just stuff I found interesting. For whatever reason it got popular for awhile so I tried to make something out of it. That, like most of the industry is petering out now, so we'll see what the future holds.

The point about interviews is a good one and one I've wrestled with. Over the years I've conducted _a lot_ of interviews. Much less so lately, and that's for a reason. I've learned that presentations at major conferences are usually the best resources. Presenters put a huge amount of effort into making those talks. And everything they say is open and approved for public consumption by definition.

Interviews with someone like me are often a bother, a time sync, so I don't usually get as much out of them. Interviews have a high overhead, taking a lot of time to setup and there's often a lot of red tape and legal wrangling that must go on to get access and content approval. Which is again, why, presentations are such awesome resources.

This article was derived mostly from people working on a project making a major presentation or from primary sources writing an article. I couldn't do better than that.

And regardless, I would still make mistakes. Believe me. It's surprisingly hard to make sense of an interview and turn something from thread mode into document mode. That process is an error prone one because I have to fill in the gaps and there are always gaps.

It's rare that I've ever just published an interview. I don't think they are that useful in general. I want people to read a highly condensed document they can get something concrete out of with minimal effort or just ignore easily if it's not relevant to them. The strange style I've developed reflects that goal. This article was of course different because it has a different audience.

So again, I apologize. But I guarantee my mistakes are never intentional, never for money, and never for lack of caring or effort.

<comment><USER4> Just wanted to chime in and say thank you! I've enjoyed reading your blog a lot!

<comment><USER3> Thanks, much appreciated!

</comment></comment></comment></comment><comment><USER5> > The advantage of having three regions is that any one region can fail, and > the other regions will step in handle all the members in the failed region.

At a previous employer, we met with AWS engineers who told us that this sort of thinking wasn't correct. Availability zones are for failure tolerance. Regions are conceptually different and for things like moving compute closer to clients, mitigating political instability or ensuring that data is held in a certain jurisdiction. To back up that claim, they told us that amazon.com ran out of a single region, us-west-2.

As an aside, another interesting point from that meeting was that autoscaling wasn't a good strategy for scaling up in the event of the loss of an availability zone. The reason why is that in those scenarios, a lot of other customers will be trying to fail over as well and autoscaling can get very slow. Instead of autoscaling, they recommended that we run 150% of our per-AZ capacity in 3 AZs so that if an AZ went offline, the remaining two would already have the necessary capacity. We still used autoscaling, but it was for responding to spikes and troughs in our own load, not failure scenarios.

I'm curious whether these two observations are correct since it seems like a lot of people view regions and autoscaling through a failure-recovery lens.

<comment><USER6> I think this is another case of "your not really supposed to...but it works ¯\\_(ツ)_/¯"

For your first point, I think it depends on your usage scenario. With a big company that requires good performance to satisfy their users, like Netflix, having multiple regions is a given. But what the article probably missed is that they also most likely use AZs within the same region to mitigate failures, but since they have multiple regions at hand why not use them to mitigate failures as well? And their monthly tests are a simulation of a worst case scenario if an entire region goes down.

As for autoscaling I also think that people think of it as a magic solution. More users? Autoscale. Zone down? Autoscale. But the problem arises when they think that it's instant because it isn't. Things have to happen behind the scenes, but for many people, they only care about what happens on stage, so for them configuring autoscale is just better because it's easier than load balancing on 3 different AZs.

</comment></comment><comment><USER7> I'd be interested in finding out what happens when I press the thumbs down/up icon on Netflix, because the match ratings that are displayed to me seem to have nothing to do with either my ratings or with my watching history.

<comment><USER8> It records your like/dislike, but it doesn't distribute the change to its database immediately. Same for YouTube or so many other services.

<comment><USER7> The thing is I don't feel like any of the match ratings in the last year and a half since I've been using Netflix have had anything to do with my interests, the ratings I've given out or with my viewing history.

Unless propagation to their database takes two years, I'm really interested in how they actually arrive at match ratings.

<comment><USER9> I believe largely because a single "like / dislike" is massively inferior to the old traditional Rating system where I am able to Rank content I like...

</comment></comment></comment></comment><comment><USER10> I love how Netflix is so open about their architecture, but I have one strong criticism.

After trying to get Spinnaker running, which is like 10 services for a fairly straightforward application, and reading about how Netflix has Cron jobs running to 'clean up' data inconsistencies... I started to think Google has a better approach to scaling the code.

Netflix is strong on eventual consistency, and making services as small as possible. Having tried to build something in that image, holy shit the issue of distributed transactions becomes a nightmare.

We had to build error handling in everything to handle the failure of everything else. Maybe half our code was 'just in case' to deal with exploding failure scenario complexity during service call fanout. If your service calls out to two or more services that also do data updates, God help you. There's no call ordering or way to make sure both succeed or fail, so if one does you could easily end up in an invalid state.

Contrast this to Google's approach. Maps is one service, Docs is one service. Their service boundaries are much larger so they can shove the complexity of consistency and rollbacks back into the DB where it belongs. And they avoid eventual consistency as much as possible.

If Google can make these big 'monoliths' work at huge scale I don't see any advantage to 'microservices', it's just a bunch of pointless overhead. I think Netflix has had a little too much industry koolaid ...

<comment><USER11> > Netflix is strong on eventual consistency, and making services as small as > possible. Having tried to build something in that image, holy shit the issue > of distributed transactions becomes a nightmare.

Distributed transactions are a sure sign that your service boundaries have been incorrectly drawn.

<comment><USER10> Not according to Google :). They actually support and encourage distributed transactions across boundaries.

Imagine all the data Google stores with your user profile across their hundreds of application boundaries. To keep things consistent you would either need to store all profile data in one massive service or support distributed transactions.

The Netflix model is fault tolerance, with every service supporting various failed profile update scenarios. Google just decided to add distributed transactions support to spare all that overhead.

</comment></comment></comment><comment><USER12> I feel bit sorry for Netflix, for the lengths they have gone to get their high performance/reliable architecture but the clients are still at the mercy of the OS, browsers, CPU (decoding codecs) of-course assuming high speed Internet.

From their website - [https://help.netflix.com/en/node/23742](https://help.netflix.com/en/node/23742)

Resolution:

Google Chrome Up to 720p on Windows, Mac, and Linux. Up to 1080p on Chrome OS. Internet Explorer up to 1080p. Microsoft Edge up to 4K _. Mozilla Firefox up to 720p. Opera up to 720p. Safari up to 1080p on Mac OS X 10.10.3 or later._ Streaming in 4K requires an HDCP 2.2 compliant connection to a 4K capable display, Intel's 7th generation Core CPU, and the latest Windows updates.

P.S Interesting to note that Chrome OS plays 1080p, I assume because it has HW acceleration enabled by default (in browser alone, not in android apps though).

<comment><USER13> Is it browser limitations, or just DRM limitations? Youtube seems to do 4K just fine.

<comment><USER12> I think it has to do with HEVC h.265 codec & HW acceleration support available to the browser in the respective platforms.

[https://caniuse.com/#feat=hevc](https://caniuse.com/#feat=hevc)

Not sure why Chrome doesn't support HW for it though albeit Chrome OS. My Celeron N3060 Chromebook can decode it.

I read Netflix has started using VP9 for streaming, newer CPU's have VP9 decoders in them.

<comment><USER14> No it's actually a DRM limitation. You're not allowed to watch high definition content of your platform doesn't support latest Widewine DRM even if you have the HW or SW decoding capability.

</comment></comment></comment></comment><comment><USER15> I know what it does when I _don 't_ press play: fills my memory with a boatload of bloated interface that has the shittiest navigation of any media player I've ever used. And I still can't just view a list of all series/movies by date.

<comment><USER16> Which media player has an interface you like? I'm usually an outcast for it, but I actually like the iTunes Movies interface myself.

<comment><USER17> I like mpv the most. It's simple, but still has everything you need (and you can do rest with the keyboard shortcuts), and it's pretty. In my opinion, however, the problem with Netflix player, is not its design. It's that it's pretty laggy, it is not nearly as smooth as for example YouTube player.

</comment></comment></comment><comment><USER18> Many of the things Netflix does here google does too and has been doing for a long time like GGC (Google Global Cache) for free at ISP NOC or datacenters - their GGC nodes are many orders of magnitude time is distribution.

90% of the Google traffic through these devices are youtube videos.

They mention it in the article like Netflix pioneered this idea with open- connect. If anything it's harder to get OC devices from Netflix then it is from Google.

Even Akamai does have a similar program where they let you put their CDN on ISP NOC.

<comment><USER19> That sounds a bit like a violation of net neutrality avant la lettre.

<comment><USER20> It's good for everyone -- if you are an ISP with 35%+ of your traffic coming from Netflix, you might be begging for these boxes in your network.

<comment><USER18> Yup, as an ISP owner, I can tell you 70-75% of my traffic come through GGC, for every 1gbps traffic from cache nodes 100mbps on average is pulled from the internet. Even with GGC nodes, it's still very expensive, BW-wise.

<comment><USER21> I saw another comment on here in the distant past that said an ISP owner decided to pull out the GGC boxes because they would sync vast amounts of data (largely YouTube IIRC) and it wasn't worth it bandwdith wise for them.

It sounds like 10:1 is a decent saving but still objectively a lot of data.

<comment><USER18> You can't survive as an ISP if you don't have GGC nodes or directly peered with google DC. If your customer wants to watch youtube videos and you serve them through internet only, which will either mean you will have to buy more BW (not financially sustainable) or you will have to cap youtube traffic resulting in inferior user experience and a customer leaving your service. Or just ban youtube - might as well stop running an ISP.

The best solution is to peer with their DC - let them do the heavy lifting and you can pull from their cache, then you can chuck the GGC nodes. Google is building a small DC close to our NOC - which means lots of saving for us and a better experience for our customers. We can see us chucking the nodes or in this case, we most likely have to give it back to them or something - they are very expensive and large supermicro servers.

10:1 is not a lot if you are serving a lot of traffic. For 50gbps, thats 5gbps bw - that's a lot of bw for free service - we don't cap youtube traffic (users likely to watch high res 1080p, 4k videos nowadays), we can't sell youtube traffic (license agreement from google) - so as far as ISPs are concerned its pissing away money. To be honest services like youtube, facebook and Netflix, even with their on-premise cache solution are a huge headache and expense for ISPs - it's not just the BW, rack-space, distribution switches, power, they all add up.

There is a reason why Google with all their expertise, knowledge, money and influence can't even make a dent in their ISP business - because even with all their money - it insanely expensive when you try to cover most of the country.

<comment><USER22> > You can't survive as an ISP if you don't have GGC nodes or directly peered > with google DC.

Believe me, you can. Deutsche Telekom, Germany's AT&T and Europe's biggest ISP, does this and in the evening YouTube videos regularly stutter on FullHD. But the customers just don't care enough.

<comment><USER18> If all the big players do it, you really don't have a choice.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> > The video comes in a high definition format that's many terabytes in size. A > terabyte is big. Imagine 60 stacks of paper as tall as the Eiffel Tower. > That's a terabyte.

What... No. An HD ProRes will be 150-200GB for a 1.5-2 hour film. That is a 1920x1080 Apple ProRes 422 HQ @ ~190Mbps which is the 'gold standard' accepted Mezz file for Netflix, Google Play, iTunes, AIV (Microsoft, Sony, TalkTalk etc). There are different codecs for broadcasters but this is the standard for VoD. If you deliver uncompressed (uncommon, few relative gains) then it might run into the hundreds of GB but never a multi-terabyte file for a feature.

Although most of this article has been informative, I am dismayed by the outright BS. It basically ruins any trust I would have of this otherwise well written piece. Can your exaggeration be explained or justified please?

</comment><comment><USER24> There's something about this article, it kind of feels like a sequence of staccato thoughts. It feels like it kind of jumps around.

<comment><USER3> I did try to tell a story, but I don't think I succeeded as well as I would have liked. It definitely does jump around more than it should. It's hard to cover the important bits and link them seamlessly together. I'm just not that good a writer.

<comment><USER24> Practice makes perfect! It was frustrating because I think I saw what you were going for and it's a good idea.

Don't be afraid to drop things, even if they're important.

You've got a title, right? "What happens when you press play". Answer that question. There's a whole load there that is interesting but doesn't answer the question of "Given Netflix have a bunch of video ready to go, how does that reach me?". Don't get me wrong, the rest is interesting, and important when thinking about Netflix as a whole, but ultimately I'm unsure they fit in the article.

You might be worried about missing important bits, I personally worry about losing readers. It doesn't matter how important something is, if my target audience quits 15% of the way through the article.

Anyway, no sweat really, blogging is hard enough. It's been a long time since I've written regularly, and I just started a personal blog, and yeah, a few weeks later im sitting on a mound of drafts I need to take a 'minimum viable post' eye to. :)

Merry Christmas!

</comment></comment></comment><comment><USER25> _This article is a chapter from my new book Explain the Cloud Like I 'm 10._

The normal expression is "explain like I'm 5", but in the cloud, you need to double everything, in case an AZ goes down.

</comment><comment><USER26> I feel like this article could be cut in half if it had been given a sharper focus. I don't care why I am seeing a specific image for a film and the reasoning for image personalization. Save that for a different article. I just want to know what happens after I click play.

</comment><comment><USER27> It ticks to 25% loaded even though your internet is down.

</comment><comment><USER28> I guess the discrepancy between what I expected the article to be, based on the title, and what it actually was is a good reflection on the fact that development of these types of services is no longer built from first principles, low level to high level, but is rather constructed like a building from a set of abstracted lego pieces.

</comment><comment><USER29> All this tells me is that Netflix is way too powerful a force in my life. Yikes.

</comment><comment><USER30> > Netflix Saves Money In AWS

How much of it due to special discount that netflix gets from AWS. Would a company thats not highly visible as netflix save the same amount of money ?

> Recommendations.

I find netflix recommendations pretty bad. Does it really work for other people?

<comment><USER31> It's not visibility, it's how much you spend/use. I'll bet there are large companies out there you've never heard of that get just as much of a discount from Amazon as Netflix does.

<comment><USER32> I bet very few do I remember watching someone high up from Netflix presenting at a conference he quoted that they get 70% discount.

</comment></comment></comment><comment><USER33> If they could please make it so that you can search on <any> subtitle languages, it would really help when the in-laws visit.

</comment><comment><USER34> Author uses acronym CDN without first defining it. Explain Like I Do Not Already Know What You Are Explaining.

<comment><USER35> that article is pretty technical, beyond the level of technicality of simply knowing what a CDN is.

<comment><USER36> But even technical people sometimes don't know simple acronyms. It doesn't hurt to define them anyway.

<comment><USER35> mentioning cdn would be akin to a car review magazine mentioning ABS in an article and then dedicated a couple sentences explaining what ABS is

<comment><USER37> Hmm I dont know what CDN or ABS are.

<comment><USER38> Content Delivery Network

Anti-lock Braking System

Both are exactly what they sound like

<comment><USER37> OK thanks :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER39> Nothing. So you go to your nearest torrent aggregator and are streaming it down in 3 minutes.

<comment><USER40> I read the word "nothing" and I thought to mysel: now THIS will turn interesting!!! (thinking that this will point to removal of Net Neutrality and the risks and conflicts it will bring to online services once ISPs turn aggro to both content producers/distributors and end-customers.

Buuuuuuuuut no.. it was a silly short-lived comment about piracy (not even an educating one)

<comment><USER39> Actually it was a comment questioning why they don't use torrents to provide their services. And also pointing out that p2p based solutions somehow outperform theirs in many cases (for me, not US based so the net neutrality stuff is maybe not relevant). Anyway sorry I was too silly and didn't clarify these points.

<comment><USER41> P2P has traditionally not worked out well for companies.

Even recently Microsoft tried it for updates, and people were quite angry.

I honestly don't see a situation where someone would prefer to use their own bandwidth for a paid service rather than having a server do the heavy lifting. Either as the provider, or the consumer.

<comment><USER42> > people were quite angry.

I don't think this is true. Some enterprises were concerned about the security aspects and asked for greater controls, which Microsoft provided, but Windows 10 has not removed P2P updates, AFAIK.

<comment><USER21> It has not but I think it's not enabled by default now, and you can declare you want it but limit to a certain amount if on a metered connection, or just turn it on fully.

I think it was the metered connection bit people were annoyed about, especially those who were tethering to their phones and then it downloaded/shared a huge amount of data.

<comment><USER42> > I think it's not enabled by default now

This is easy enough to check with a simple Google search. (It's still enabled by default).

</comment></comment></comment></comment></comment></comment></comment><comment><USER43> > Netflix has more than 110 million subscribers. > Netflix operates in more > than 200 countries

The five largest public torrent trackers track 30-50 million peers at any given time, serving over 10 million torrents. Torrents are estimated to have over a quarter of a billion active users. Torrents can be streamed, and in the end you have a DRM free copy of the file that you can rewatch at your pleasure, on any device(adding custom subtitles if you need them). It amazes me how much effort has been expended on pushing malware to almost everybody(binary, unauditable blobs in every browser) solely so that massive cartels can make money on something that has been solved since 2001.

Subscribing to Netflix, or any other proprietary streaming (dis)service is not only foolish(in the sense of surrendering your own freedom, not to mention your hard earned money to nefarious corporate interests), but deeply unethical.

<comment><USER44> > not to mention your hard earned money to nefarious corporate interests

Yes, this is the basis of our society. I work for money to buy things, mostly from corporations. There's nothing nefarious about that.

I find it really hard to believe that paying for content is unethical.

<comment><USER43> > There's nothing nefarious about that.

[https://www.washingtonpost.com/news/the- switch/wp/2013/10/25...](https://www.washingtonpost.com/news/the- switch/wp/2013/10/25/15-years-ago-congress-kept-mickey-mouse-out-of-the- public-domain-will-they-do-it-again/?utm_term=.018a8d20cb8d)

A small example of the nefarious behaviour you support by paying for Netflix.

> Yes, this is the basis of our society. I work for money to buy things, > mostly from corporations

Intellectual Property is by definition "non-excludable", which means my having access to some information does not exclude you from having access to the same information, unlike land or food or clothing. It is very different from these, and using your Government to violate the sovereignty of other nations and individuals to impose your warped up notions of property is deeply unethical.

<comment><USER44> What?

<comment><USER45> I think he meant to use exclusivity as a straw man to show that _" IP is not food"_, instead of the more often misused: _" not paying is not equal to stealing"_.

Both are obviously false, but I think that was the intend (argument by confusion?).

</comment></comment></comment></comment></comment><comment><USER46> Feels more like an ad for AWS than a technical post

</comment><comment><USER47> What happens when i press play?

It checks DRM settings in my browser and gets me lowest quality because my browser is open source. That is what happens.

<comment><USER48> You have the freedom to watch something else

<comment><USER15> And content creators have the freedom to choose where they distribute content, many of whom choose Netflix.</comment></comment></comment>


Double-clicking on the Web - <AUTHOR> https://ma.ttias.be/double-clicking-on-the-web/

<comment><USER2> HTTP already handles this just fine if you have sensitive forms: your form can include a one-time token which your server validates. If the token has already been used, you don't process the second request.

What we definitely shouldn't do (as the author suggests) is disable form submissions on subsequent clicks. What if the first response fails? You'll have to enter the entire form all over again, instead of being able to hit the back button. Madness!

The author's proposal makes things marginally easier for developers and shifts all of the pain to users. That's not really acceptable, at least not to me.

<comment><USER3> While I agree that you should include a one-time token with all sensitive forms, I don't think that disabling links/submit buttons on the first click is a bad idea in general. It's an easy fix that will immediately prevent most accidental redundant server requests, but as it's a client-side fix it's inherently unreliable.

What's wrong though is the author's solution of disabling _all_ links and submit buttons on the page indefinitely. Here's an alternative solution that only disables whatever has been clicked on for half a second:

        (function() {
          function stopClickEvent (ev) {
            ev.preventDefault();
            ev.stopPropagation();
          }
          document.body.addEventListener('click', function (ev) {
            if (ev.target.tagName === 'A' || ev.target.getAttribute('type').toLowerCase() === 'submit') {
              setTimeout(function () {
                // Needs to happen _after_ the request goes through, hence the timeout
                ev.target.addEventListener('click', stopClickEvent);
              }, 0);
              setTimeout(function () {
                ev.target.removeEventListener('click', stopClickEvent);
              }, 500);
            }
          });
        })();

Unlike the author's solution, this really works for links (they don't support the `disabled` attribute), it doesn't change the appearance of the button, it only disables one element, and it will work for elements that have been added to the document after the DOM was loaded. You can try it here: [http://codepen.io/anon/pen/xGKdLX](http://codepen.io/anon/pen/xGKdLX)

<comment><USER4> I like the 500ms timeout as a quick solution.

Of course, a common source of duplicate form submissions is when then submission request is taking long (>1000ms) and the user gives the button another click in a little while.

<comment><USER3> I know, and you could set the timeout higher to prevent these (the button becomes a placebo button that's still clickable but doesn't do anything), but it gets hard to draw a line at which the request really might have failed and the button should be re-enabled. I feel like this is a different problem that needs to be addressed server-side, both with quicker response times and single-use tokens.

</comment></comment></comment></comment><comment><USER5> Firefox seems to remove the second click sometimes. If I click a link, and then, while the page is loading but the old page is still visible change my mind and click another link, it sometimes ignores the second click. However it doesn't seem to happen all the time.

As an aside, the distinction between double click and single click used to be much clearer (in Windows 3.1/95 times!):

\- If its on a white background, maybe in a well, then it is a _selectable_. Click on it to select it, right mouse button to do something with it, and double-click to do the default action with it (which is bold in the context menu).

\- If it looks like a physical button (3D and raised), then you can perform an action by clicking on it.

Links are a bit odd, as they look selectable (and in fact they are, by clicking and dragging from outside in), but one click performs an action. But by now, they are so ubiquotious that everybody knows that one click activates them (Well, at least one click. Two clicks do no harm in most situations.)

What I hate about modern flat design is that it often removes these hints towards what kind of control something is (the "affordance" in hip UX speak). If I click/tap on something, does it get selected, opened, or does nothing happen because it is a label? No way to know without trying.

<comment><USER6> > Firefox seems to remove the second click sometimes. If I click a link, and > then, while the page is loading but the old page is still visible change my > mind and click another link, it sometimes ignores the second click. However > it doesn't seem to happen all the time.

To have better response time (and be a good citizen and save bandwidth), if you try to load in quick succession two different pages the first request is aborted. If you're too late the content of the first request has already been downloaded and being processed, resulting in that page being loaded.

</comment></comment><comment><USER7> I don't disagree with the premise that double clicks are a broken thing on the web. There's too much of a cognitive shift between "the web" and "everything else" where double clicks are either a bad thing to do or a required action to complete tasks. Like the author said, even tech savvy people will double click things that they wouldn't need to.

But, saying that idempotency is hard and thus we should build features to get around it.. that seems wrong to me. The web is inherently a distributed system and you're going to have concurrent requests and weird edge cases that arise in those situations. The right way to handle that isn't to bandaid it with disabling client side behavior. That just hides to problem. Your server is the place to handle it.[1]

And, it really isn't that hard either. It's just a couple extra validations on your input before you do a write. There are places where it is more difficult but still not overly complicated to implement.

[1] Dogmatism alert. Of course, there are exceptions to everything that's a 'best practice'. Here, I'm just talking about disabling double-click as a general solution for the web to a concurrency problem.

</comment><comment><USER8> Because never trust user input and race conditions.

The author says "Server-side, this is a much harder problem to solve." and he is correct. But that doesn't mean that if the browsers did solve this problem that you wouldn't still need to solve it server side. For the same reason you still need to implement server side validation even though you have client side validation (never trust user input).

Say you had an order form only allowing one order per customer (some special offer) and on the server you have a check to ensure order.count==1 you might assume that because the browser prevents double clicks on the form you are now safe. Except you aren't. It's pretty trivial to still send that form submission multiple times simultaneously (curl, ab) and trigger a race condition where each order.count check returns 0.

<comment><USER9> Agreed, this should be solved server-side.

Indeed it is possible to implement idempotent behavior of POST forms server- side. Even if a bit tedious to implement at first, it meshes very well with multi-user web apps, when several people may be changing the same underlying data simultaneously.

One possible approach is carry in POST both old (original) state and new (user input) state, and apply it as a diff to underlying storage.

Used this approach with 100% success on WWW based kiosks used by tradesmen, some of whom were habitual doubleclickers. Since the form was very simple -- one or two fields -- the old state was carried in action url. In case of double clicks, the seconds ended up changing nothing in backend storage, and returning correct data.

<comment><USER8> The problem isn't idempotency as that just solves the problem of multiple synchronous submits (If order submitted what happens if order is submitted again). The real problem is the asynchronous nature of the web where both submissions could arrive at exactly the same time. And this is solved generally by using some kind of global lock (often at the database level).

<comment><USER10> coarse locking is only a possibility at fairly small scales, unless your users like waiting. CSRF protection is the solution here as well. this entire article could have one comment that says nothing more and it would perfect.

<comment><USER8> Who said anything about course locking? Most databases support row level locking (think lock user row so each user cannot submit multiple orders at the same time).

And I think you are misunderstanding CSRF. As the name implies it is protection against Cross Site attacks and will do nothing to help you prevent race conditions.

</comment></comment></comment></comment></comment><comment><USER11> That reminds me of the way my mother is using a computer. She clicks EVERYTHING twice. No matter if online or offline. That often causes problems. For example if you double-click an icon in the windows taskbar to open an application it opens twice.

<comment><USER12> Exactly a lot of real world (older) users do this and I cringe a little every time I see it. They don't even know that you can single click. This isn't a huge issue, but it's much more common than the people here seem to think.

<comment><USER13> "They don't even know that you can single click."

I see alot of younger people are like this about some things. (but not single- clicking obviously.)

How about raking your scrollwheel through fifteen pages to get somewhere? Analog scrolling, I call it. Because that's what it is, a skeuomorph of scrolling through a microfilm... I would've thought the advantage of having a computer was that you can go directly to page _n_ , to line _n_ , whatever.

In terms of efficiency, I would liken the scroll wheel to the arrow keys: it's alright for small distances, but not more.

</comment></comment></comment><comment><USER14> All I can think of is that someone is using the mouse (and keyboard) quite a bit different than I do.

I can understand that single vs double clicking can be an issue with non- technical users, but disabling double click won't really change that issue, because they usually don't understand that these are two different actions. Of course one can and should try to make things easier for them, but once it starts to affect the usability for others, it's not really worth it anymore. These people should learn to adjust their behavior.

Now that this is out of the way, I really wonder what he meant with:

> _For techies like us, a double-click happens by accident._

What kind of techies is he talking about, because I'm using the PC many hours each day and I don't just accidentally double click stuff. Maybe it's the environment they're working with, but for me I'd say, I do a larger portion of single-clicks than double-clicks per day and if a signification percentage were accidental double-clicks I would have more issues that just a site that opens twice.

And last but not least I'd say a big percentage of my clicks on the web are middle clicks anyways, i.e. open link in a new tab. Something that wasn't even looked at, which again makes me wonder how the author is using the web.

What we can learn from this however is, that websites should add checks to prevent double submissions of forms. And provide proper feedback if e.g. an AJAX submission failed or if it's still sending data.

</comment><comment><USER15> This makes no sense. The examples he gives of "double-clicks everywhere" are all instances of the same thing: items that are selected with single-click and opened with double-click.

We're _not_ "trained to double-click anything", unless some particular trainer is extremely misguided.

Double-clicking is used when there is some action available for an item _in addition_ to the single-click action, where the double-click usually leads to both actions taking place: we single-click to select files and double-click to open them, single-click the title bar to activate the window and double-click to maximize, single-click the window menu to view the menu and double-click to close the window (which is one of the options in the menu).

Some examples of things we only single-click: buttons, scrollbars, tabs, menus, dropdowns, text (for selection).

Single-click is everywhere. Everything that can be double-clicked can also be single-clicked. Single-click is the default. If a single-click only leads to an item beings selected, that's a pretty good hint to try double-click if you also wanted it to be opened.

(Incidentally, what do those who double-click everything do when they want to select a file? Do they just open it, close it again (leaving it selected) and accept that as normal?)

<comment><USER16> Self-guided experience "trains" many people, and some of them infer a rule that double clicking is for opening things. Older people especially can fail to notice that many widgets respond to their first click and continue with the same action on the second click, so their behavior doesn't stand much chance of correction.

</comment></comment><comment><USER17> Are double click actions still a thing? Windows has had an option for single- click mode since forever, and most users I know use it – mainly because they're used to single click from the web. The remainder and most Mac/Linux users don't even bother and navigate with the keyboard.

I can't remember the last time I had to double-click anything, except for text selection.

<comment><USER18> There's something particularly ugly about people who feign ignorance of the way people less technical than them do things, in order to make themselves sound more elite.

<comment><USER19> It's not being less technical: using double click simply means you did desktop computing in the mid nineties on Windows. Anyone younger simply doesn't have that memory.

<comment><USER20> Or Macs... the "single click to select, double-click to apply default action" occurs both in Windows and MacOS.

<comment><USER19> OK I'm wrong. I use a Mac every day and thought they didn't do double click. Apparently it's a somewhat subconscious action.

<comment><USER21> Wasn't that the whole point of the article? How many times did he point that out? More than two:

>Everywhere in the Operating System, whether it's Windows or Mac OSX, the default behaviour to navigate between directories is by double-clicking them. We're trained to double-click anything.

>Want to open an application? Double-click the icon. Want to open an e-mail in your mail client? Double-click the subject. Double-clicks everywhere.

>We know we should only single-click a link. We know we should only click a form submit once. But sometimes, we double-click. Not because we do so intentionally, but because our brains are just hardwired to double-click everything.

>For techies like us, a double-click happens by accident. It's an automated double-click, one we don't really think about. One we didn't mean to do.

<comment><USER22> Following a link and opening a directory are distinct enough in most people's minds to not confuse the two. That's why hyperlinks are normally underlined, colored, and give you a different mouse cursor.

<comment><USER21> I disagree that you can make such a sweeping statement without evidence, having worked on HyperTIES [1] [2], an early hypermedia browser and authoring system with Ben Shneiderman, who invented and published the idea of underlining links, and who has performed and published empirical studies evaluating browsing strategies, single and double clicking, touch screen tracking, and other user interaction techniques.

Hyperlinks do not necessarily have to be triggered by single clicks. In HyperTIES, single clicking on a hyperlink (either inline text or embedded graphical menus) would display a description of the link destination at the bottom of the screen, and double clicking would follow the link. That gave users an easy way to get more information on a link without losing their context and navigating away from the page they were reading. Clicking on the background would highlight all links on the page (which was convenient for discovering embedded graphical links in pictures). [3] [4]

The most recent anecdotal evidence close at hand (in the sibling and grandparent comments to yours) that it's confusing is that nailer did indeed confuse double clicking with single clicking in his memory, not remembering that he subconsciously double clicks on Macs all the time.

I would argue that much in the same way the Windows desktop gives users an option to enable single-click navigation like web browsers, web browsers should also give users an option to enable double-click link navigation like HyperTIES, so a single click can display more information and actions related to the link without taking you away from your current context, and a double click navigates the link. (Of course in the real world, scripted pages and AJAX apps probably wouldn't seamlessly support both styles of interface, but double click navigation could be built into higher level toolkits, and dynamically applied to normal links by a browser extension.)

In order to make a sweeping statement like "Following a link and opening a directory are distinct enough in most people's minds to not confuse the two" you would have to perform user testing -- you can't just make up statements like that without any supporting evidence. Can you at least refer me to some empirical studies that support your claim, please?

[1] [http://www.cs.umd.edu/hcil/hyperties/](http://www.cs.umd.edu/hcil/hyperties/)

Starting in 1982, HCIL developed an early hypertext system on the IBM PC computers. Ben Shneiderman invented the idea of having the text itself be the link marker, a concept that came to be called embedded menus or illuminated links. Earlier systems used typed-in codes, numbered menus or link icons. Embedded menus were first implemented by Dan Ostroff in 1983 and then applied and tested by Larry Koved (Koved and Shneiderman, 1986). In 1984-85 the work was supported by a contract from the US Department of Interior in connection with the U.S. Holocaust Memorial Museum and Education Center. Originally called The Interactive Encyclopedia Systems (TIES), we ran into trademark conflicts and in 1986 changed the name to HyperTIES as we moved toward commercial licensing with Cognetics Corporation. We conducted approximately 20 empirical studies of many design variables which were reported at the Hypertext 1987 conference and in array of journals and books. Issues such as the use of light blue highlighting as the default color for links, the inclusion of a history stack, easy access to a BACK button, article length, and global string search were all studied empirically. We used Hyperties in the widely circulated ACM-published disk Hypertext on Hypertext which contained the full text of the 8 papers in the July 1988 Communications of the ACM.

[...]

Today, the World Wide Web uses hypertext to link tens of millions of documents together. The basic highlighted text link can be traced back to a key innovation, developed in 1983, as part of TIES (The Interactive Encyclopedia System, the research predecessor to Hyperties). The original concept was to eliminate menus by embedding highlighted link phrases directly in the text (Koved and Shneiderman, 1986). Earlier designs required typing codes, selecting from menu lists, or clicking on visually distracting markers in the text. The embedded text link idea was adopted by others and became a user interface component of the World Wide Web (Berners-Lee, 1994).

[2] [http://www.donhopkins.com/home/ties/LookBackAtHyperTIES.html](http://www.donhopkins.com/home/ties/LookBackAtHyperTIES.html)

Designing to facilitate browsing: A look back at the Hyperties workstation browser

Ben Shneiderman, Catherine Plaisant, Rodrigo Botafogo, Don Hopkins, William Weiland

Human-Computer Interaction Laboratory, A.V. Williams Bldg., University of Maryland, College Park MD 20742, U.S.A.

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

University of Maryland Human Computer Interaction Lab HyperTIES Demo. Research performed under the direction of Ben Shneiderman. HyperTIES hypermedia browser developed by Ben Shneiderman, Bill Weiland, Catherine Plaisant and Don Hopkins. Demonstrated by Don Hopkins.

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

Demo of UniPress Emacs based HyperTIES authoring tool, by Don Hopkins, at the University of Maryland Human Computer Interaction Lab.

<comment><USER22> You can't just request informed studies without providing funding.

<comment><USER21> Of course I can. I said "Can you at least refer me to some empirical studies that support your claim, please?", and I provided links to informed studies that I and other people published.

But I'll humor you: How much funding would you suggest that I should offer him to look up some proof of what he said on google or wikipedia? And how much money should I have asked him to pay me for the information I gave him for free?

I didn't realize it was customary to pay people for supporting their statements with evidence on Hacker News. Can you please refer me to the section of the FAQ about that? Or do you have Hacker News confused with Kickstarter or experiment.com?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> _Double-clicks everywhere._

I disagree. By far the most actions are performed with a single-click, double- clicks are mostly for one very specific use case - having a container control and you want to select one of the children and perform the default action on it.

</comment><comment><USER24> Interesting problem and valid questioning but flawled reasoning.

"because our brains are just hardwired to double-click everything." that might be true for people that formed muscular memory in the golden days of the mouse and heavy OS use (as oposed to heavy internet use).

An acceptable solution has to anticipate the muscular memory we are generating in legions of mobile users: tapping.

If we apply that author's central argument to today's mobile influence, then who instead of tapping will have her brain just wired to double tap?

</comment><comment><USER25> Browsers do not provide immediate visual feedback on some things for which they should. When you click on a link which exits the page, something visual should happen immediately, long before the new page loads. The browser knows you're leaving. Dimming the page, or some other visual transition, would be a good start. That would make a clear distinction between page-exiting actions and ones which keep the page active.

<comment><USER15> There used to be much better feedback with the "throbber", i.e. the big animated Mosaic/Netscape/Mozilla logo. But that seems to have gone away with the decrease in size of the toolbar buttons.

</comment></comment><comment><USER15> Here's an example of what happens when you try to treat single- and double- click as the same thing (which may or may not have been the intent in this particular case).

In Android 5.0, swiping from the top brings up the notification menu and a two-finger swipe brings up the settings shortcuts. From the shortcuts screen, the back button brings you back to the notification menu. Another press of the back button brings you all the way back to where you were.

So to quickly go back after bringing up the shortcuts screen, you would naturally press the back button twice in quick succession. But that's a lot like a double-click, and if we want to treat those as single-clicks ... it has to ignore one press and just bring you back to the notifications screen instead. Which is exactly what happens.

So to actually go back twice, which is a very common and natural thing in this case, you have to go back ... then wait ... wait ... and then finally go back again.

> If the same form submit has been registered by the browser in less than 2 > seconds, surely that must have been a mistake and would count as an > accidental double-click?

Or maybe they're using POST requests to control some process which they get feedback from through another channel. They could be rotating pieces in a Tetris game – should I have to wait for 2 seconds between my two identical commands for rotating a piece 180 degrees to the right?

</comment><comment><USER26> Backward compatibility? Some click targets _are_ meant to be clicked more than once, and can you guarantee that none of those targets may inadvertently be swept up in a change like this?

I'd flip the proposal around, and go for:

      <form action="/something" onlyOnce>
      ...
      </form>

The problem then is for the hung responses which still happen frequently enough, the typical hack to unfreeze a requeust is to mash the link/button a second time. Now, would the user have to hunt for the "Cancel" button (an increasingly diminishing target) before being able to click Submit again?

Since you can't guarantee a client will have this behavior, you have to plan for it anyway on the server. I think that's why features like this tend not to be deployed. Features that might help most of the time tend to be beaten to death by the people who keep insisting that they don't completely and entirely solve a problem, so somehow that means it's better not to have them at all, i.e. false hope.

<comment><USER27> never a good idea to camelCase html attributes :) (in case you didn't know, this won't work: $('form').attr('onlyOnce') but this will $('form').attr('onlyonce')

if your attribute is written as onlyOnce

<comment><USER28> Mixed case in attribute names is perfectly valid HTML, and tag and attribute names are case insensitive. If jQuery attribute selection isn't, then maybe it should be considered a bug in jQuery.

That's not to say that it isn't a bad idea, but I don't think the inconsistent behavior in jQuery should be considered in arriving at that conclusion.

<comment><USER27> no it's not valid html.. that's like saying writing gibberish is valid HTML. You can't read mixed case attribute names.. jQuery nor Javascript. It's always converted to lowercase without you knowing.

<comment><USER28> Yes, it's valid HTML. It's not at all like saying that writing gibberish is valid HTML.

Why would you say these things without looking it up in the w3 reference ([http://www.w3.org/TR/html-markup/documents.html#case- insensi...](http://www.w3.org/TR/html-markup/documents.html#case- insensitivity)) or just _trying it out_ ([http://5ccf7f9c97075d1b.paste.se](http://5ccf7f9c97075d1b.paste.se))

</comment></comment></comment></comment></comment><comment><USER29> Is it me, or why is a setTimeout needed in this example?

$(document).ready(function(){ $("form").submit(function(){ setTimeout(function() { $('input').attr('disabled', 'disabled'); $('a').attr('disabled', 'disabled'); }, 50); }) });

<comment><USER19> 50 should be a constant called NEXT_TICK with a value of 0. This makes it run on the next event loop, ie, default event submit form, next tick afterwards the form is disabled

<comment><USER30> You are looking for setImmediate[1].

EDIT: Oh, never knew that this method was a Node-ism only.

[1] [https://developer.mozilla.org/en- US/docs/Web/API/Window/setI...](https://developer.mozilla.org/en- US/docs/Web/API/Window/setImmediate)

<comment><USER19> Actually it's common enough that

        var setNextTick = function(nextTickFunction){window.setTimeout(nextTickFunction), 0})

...sounds like a damn good idea.

Hate the name 'setImmediate' though, immediate implies the current tick and people would wonder why you're using it.

</comment></comment></comment></comment><comment><USER31> Only one click via dock, double click is only for when you want to browse with your keyboard so you can click once to select starting position, or for selecting if needed. But you don't really need that in a browser, for the odd occasion you have a file browser, it's currently easy enough to implement if wanted.

</comment><comment><USER32> I allow multiple form submits on my sites. What I don't do is allow the same form to be submitted twice if the checksum of values it is submitting is the same as a prior submit.

This allows for the best balance between preventing double-submission errors, and a good user experience if a user has made an error.

I still de-dupe check on the server too (in case JS is disabled), and in a distributed environment the server submissoin de-dupe check isn't guaranteed (what if two submissions went to different servers?).

Perhaps if anything should be added to browsers it's simply a checksum of all of the values to submitted and an option to prevent submission if a prior checksum has been submitted. But even then... this is trivial to do in JS.

The above only applies to POST, for GET I don't care... it's cached, and perhaps the second request is the because the first one stalled (bad mobile network, etc).

</comment><comment><USER33> Please don't disable links permanently! (as in the included jQuery snippet)

If submission gets stuck and doesn't go through (because mobile networks, public wifi, and "cloud" servers have more failure modes than we'd like…) user is stuck with permanently-disabled buttons and can't retry submitting.

</comment><comment><USER34> As an interesting data point, since about a month Google Docs have introduced double-clicking as a gesture.

<comment><USER35> I hate that. I have single click everywhere, all around in my usual OS... but not in Google Docs because there's no way to configure it.

</comment></comment><comment><USER36> I don't see the problem. Contrary to the post, double clicking a link doesn't open it twice, and double clicking a submit button doesn't submit the form twice; at least, not on Chrome or Firefox on Linux.

<comment><USER37> That's true so I assume that the author is talking about ajax requests. I have a rule to always disable buttons that trigger ajax requests until they finish. Not only does this reduce double-submissions, it makes it clear to the user that their click was successful and to wait for the action to complete.

</comment></comment><comment><USER38> Don't go breaking the word selector.

</comment><comment><USER39> I dont think this is a problem at all.

</comment><comment><USER40> I love double clicking in the new google drive file browser!

</comment><comment><USER41> Browser makers like Mozilla think it's appropriate that holding down F5 should repeatedly pummel the server in accord with keyboard repeat rates. It's like the browser makers are being intentionally hostile towards web servers.

E.g. [https://bugzilla.mozilla.org/show_bug.cgi?id=224026](https://bugzilla.mozilla.org/show_bug.cgi?id=224026) [https://bugzilla.mozilla.org/show_bug.cgi?id=873045](https://bugzilla.mozilla.org/show_bug.cgi?id=873045)

There's no excuse, but they don't fix it.

<comment><USER42> > There's no excuse, but they don't fix it.

Browsers exist for my convenience, not yours.

<comment><USER41> Is a denial-of-service tool so convenient for you?

<comment><USER43> Thats a poor argument. Literally no one gets DoS'ed by a few guys F5'ing in coordination. If your server is so poorly set up as to allow any small number of IP's to impact it in any way then you are doing it wrong.

When I was getting into nodejs a few years back I wrote DoS script to kill a site that was scraping content from one of my sites and posing it as their own. I made it just for shits n giggles in about 5 minutes and I was surprised when it actually worked, their website just went down.

DoS is and always will be easy.

<comment><USER41> That is a poor deflection of the underlying point. It's absurd to conclude that an obviously undesirable behavior -- however unlikely to pose a problem in reality -- should not even be considered let alone addressed.

It could be as simple as a modest global rate limit on repeated GET requests to the same URL. We could start with 250 msec and see how that goes.

Or it could be as simple as limiting F5 reloads to once per keydown. Let users work for their accidental DoS attacks. :-)

<comment><USER10> what's absurd is protecting the server from a vanishingly rare accident by changing the client. if you feel you need to be protected, put that protection where it belongs, on the server, where it works against more likely things as well.

<comment><USER41> It protects the end user as much as it does the server.

</comment></comment></comment></comment></comment></comment></comment><comment><USER44> double clicking must die. my parents still continue to double click on almost everything they see — all because their first computer experiences were on my Mac SE. (Mac OS 5 or 6 or 3?)

plus... double click means double RSI no?

</comment><comment><USER45> Why is this so high on HN? While the premise of the post sounds interesting, the whole story says nothing new and provides no real solution.

</comment><comment><USER13> I was using that Google 3D plot viewer thing the other day and assumed right- click-dragging would do something for me. It didn't, and it occurred to me that the reason we have this is that Microsoft, Apple, or some other microcomputer vendor once decided people were too dumb to know they have more than one finger.

And now on the subject of double-clicking, it occurs to me that if the one- finger thing hadn't been the way, everything that was ever a double-click action could've just been a single click on the next button over. Which would be simpler.

<comment><USER46> I think you'd be less dismissive if you were better informed about your topic.

<comment><USER13> If we're being objective, I think we can agree that having multiple buttons is more basic and more self-evident knowledge than being able to click a button in multiple ways.</comment></comment></comment>


Show HN: Plan your social calendar. - <AUTHOR> http://www.plangr.com

<comment><USER2> Disclaimer: I run an event aggregator.

1) Your copy needs work, I see grammar mistakes all over

2) The preview animation moves way too fast

3) Give your first time visitors something besides a login/sign up. Let them see the real product.

4) Your about page is a ridiculous wall of text, I'd get rid of it completely. Along with the empty Careers tab.

5) It seems like you are trying to do too many things at once, pick one thing, focus on it, and do it right.

6) You'll need viral aspects if you want this thing to blow up, posting on HN isn't going to do it. Or an extremely large ad budget.

</comment><comment><AUTHOR> First thank you for your comment, this is my first real project and I am still learning. I have to day that I am also going through hard time, and any advice is helping.

Your points are interesting, can you please develop the 3, 5 and 6 points if it is possible.

thank you again.

</comment><comment><USER3> Is there anywhere I can look at that has actual events just to get an idea of the UI?

You seem to have a pretty massive chicken and egg problem going on, I'm not seeing any events for my home city Nottingham nor London, New York or San Francisco.

If you want feedback on the UI, give us somewhere to go with events. If you're trying to get users (seeing as this is the 5th time you've posted it here), focus on a city and promote to them directly. At the very least if you're posting it here packing events in the bay area is your best shot as the most users of HN come from there from the last poll I remember.</comment>


Tech startups grapple with diversity in hiring, report finds - <AUTHOR> http://www.denverpost.com/2016/09/14/tech-diversity-hiring-report/ <comment><USER3> "My ask is that you not make a hire until you look at two incredibly qualified women in your candidate pool."

In many cases for a start-up that is freaking impossible. I've forked for giant companies and 9/10 tech resumes are male. Attempting to wait for two highly qualified women given our current hiring pool would take far too long, or force stretching what you mean by qualified (accepting alternative qualifications, etc.). Companies shouldn't make hiring choices based on gender. That is wrong, and likely illegal. Use statistical sampling to ensure the process isn't biased given the applicant pool, but otherwise hire the best, and look beyond skin tone and sex organs for diversity.

<comment><AUTHOR> I thought that was a very reasonable "ask." There are likely a variety of factors that may affect the make-up of a candidate pool. If there aren't any options then that is the issue. I think it's worthwhile to discuss that. Once you let people know there is an imbalance in your candidate pool you might see a shift.

I have been in the room when an all male team voted to not hire a woman - <USER2> in principle. That team was had a myopic view and an emphasis on their "comfort level." To be clear, their arguments were ridiculous, and I was the only one to make the argument for that inclusion.

Unfortunately, if you just work off the stats you will get little diversity because of deeply embedded social biases.

Diversity has value. Acknowledging that, and identifying it when you see it improves an organization.

<comment><USER4> Um, that was actually illegal? I worked at a place where, once the candidate left one of the guys remarked "Last thing we need working here is a woman". Somebody overheard. That was on Friday. On Monday the department was gone - everybody fired, function outsourced. As damage control, to save the company from lawsuit.

<comment><AUTHOR> No shortage of lawsuits at the company referred to and they are out of business.

<comment><USER4> To be honest, that was the only time it resulted in quick action in my experience. Other jobs, similar things happened with no repercussions. In fact one manager told everybody "No way am I going to hire her. Did you see the guys fawning over her? Nothing would get done around here." That manager is now CEO at a Boston company (with offices in Sunnyvale and Munich). I wonder what their hiring statistics are.</comment></comment></comment></comment></comment>


Show HN: An Avatar game with realistic physics - <AUTHOR> https://fraser-greenlee.github.io/2020/07/08/An-Avatar-game-with-realistic-physics.html <comment> crypto-boy-tkn I have always felt that the world of Avatar has enormous potential for a game done right. I like what I am seeing.</comment>


The History of Clarus the Dogcow - <AUTHOR> http://www.512pixels.net/dogcow <comment><USER2> Good old days when apple was cool. I was a mac dev since I turned 15 (1985) until about 2007, when it started to be all trendy. Before that time, there were few people, so it was 'easy' if you were good to be the tree standing out from the copse.

In 2007, it became windows, where no matter how good you are, it's impossible to differentiate yourself from the forest of people whose way to get work is to undercut you. And they have a goatee too!

These days I still use a mac, but it's a hackintosh, and mostly only for photography.

<comment><AUTHOR> I was the opposite, started with Windows, then moved to Mac about 5 years ago.</comment></comment>


Introducing Google Play Games - <AUTHOR> https://play.google.com/store/apps/details?id=com.google.android.play.games

<comment><USER2> I'm trying to figure out... What is the relevance of this? What does it do exactly?</comment>


Why Facebook Is Not the Cure For Bad Comments - <AUTHOR> http://gigaom.com/2011/03/07/why-facebook-is-not-the-cure-for-bad-comments/ <comment><USER2> Whenever an article (like this) presents a false dichotomy--either that Facebook IS the cure or it isn't--I just roll my eyes.

Take a look:

> But the reality is that when it comes to improving blog comments, _anonymity > really isn't the issue_ — the biggest single factor that determines the > quality of comments is whether the authors of a blog take part in them.

Attempts to boil down complex problems into a simple "this is the cause" statement will be wrong.

<comment><USER3> I agree about the eye-roll, although in my case I tend to do that when the subject is Facebook without regard to content. What I'm really curious about and I mean no offense here is whether or not you last sentence is self- referential?

<comment><USER2> Heh, the last sentence was a joke akin to "Absolutes are never absolute."</comment></comment></comment>


You Can Learn Glass Blowing (1938) - <AUTHOR> http://blog.modernmechanix.com/you-can-learn-glass-blowing/ <comment><USER2> Does anyone else here melt their own glass formulations?

I've written a little software package that implements all of the common math for calculating recipes and estimating properties. I'd love another developer on it, because right now it's sufficient for my use, but is also optimized for...me... which doesn't really make it great for anyone else. Really,I don't need any technical help, but more eyes would make things less idiosyncratic and insular.

<comment><USER3> What do you melt your own glass for? I have a vague interest in almost all crafts, but can't see any obvious applications for custom glass?

<comment><USER4> When you want a color that isn't available. Or when you want a bulk of a color and don't want to pay the retail cost.

</comment></comment></comment><comment><USER5> If you're in the PNW area, I recommend checking out the Museum of Glass in Tacoma. Not only are there beautiful works there, but they also have a live demonstration stage where you can watch high school students blowing glass as part of an art program they're enrolled in.

</comment><comment><USER6> A while ago I took glassblowing course at Jim McKelvey's glass studio in St. Louis. McKelvey co-founded Square -- he was selling these amazing glass faucet spouts[1], and he lost a $2500 sale one day because a lady wanted to pay with her Amex.

He wrote an instructional book[2] on glassblowing that's pretty good.

[1][http://www.glassfaucet.com/](http://www.glassfaucet.com/)

[2][https://www.amazon.com/ART-FIRE-James- McKelvey/dp/0978683110](https://www.amazon.com/ART-FIRE-James- McKelvey/dp/0978683110)

</comment><comment><USER4> "With very simple and inexpensive tools"

Lampworking is the most expensive hobby I have taken up. Also my favorite.

<comment><USER7> Perhaps you should try soda lime glass on a bunsen burner with no kiln like the guy in the article! It would save a lot over my set up too...

<comment><USER4> What's your setup? I had a nice GTT lynx torch but I sold it when I moved, to my mentor in lampworking. He still has it among a dozen other torches. I would rather use his Carlisle though when I am feeling like burning some propane myself.

<comment><USER7> I have a GTT Samurai, but mainly i've been buying color like a maniac for years... and then using only 1/3 of it before buying more.

</comment></comment></comment></comment><comment><USER8> The Corning Museum Of Glass has a great YouTube channel with narrated hour- long masters glassblowing demonstrations.

Ex: [https://youtu.be/lQFBEk_mqp0](https://youtu.be/lQFBEk_mqp0)

<comment><USER9> I highly recommend visiting the museum if you are in Corning (or passing through). They put on master classes of glass blowing which are great.

</comment></comment><comment><USER10> _Cover the top with sheet asbestos, or preferably asbestos board, and at the back provide a rack for holding your stock of glass tubing in various sizes._

<comment><USER11> isn't asbestos a (notorious) health hazard? (why the other reply says older glassblowers miss it)

<comment><USER4> It is a health hazard. But it is also one of the best insulators. Much better than the cement board usually used these days around a torch.

<comment><USER12> The Romans used asbestos cloth to keep the ashes of their dead separate from the ashes of the funeral pyre. The ashes of the dead would be entombed with the asbestos cloth, which was _extremely_ expensive. Occasionally a tomb will be found which still contains the asbestos cloth, and sometimes it will be a very long piece of cloth. Seems the equites splurged on the asbestos pyre cloths. Which isn't so unusual, considering how Romans spent for funeral costs.

</comment></comment></comment></comment><comment><USER13> Murano's glass blowers (Venetian lagoon) are the craftsmen that I admired the most. It's a pleasure seeing them at work. Immense skills and tradition. [https://en.wikipedia.org/wiki/Murano_glass](https://en.wikipedia.org/wiki/Murano_glass)

</comment><comment><USER14> Thank you for posting this! I've wanted to dabble in it for a long time but never buy the Groupon. Maybe next time it comes around.

<comment><USER7> What groupon have you seen related to glass work?

<comment><USER14> In San Diego I have seen a lampworking course Groupon (admittedly this was a while back) at some place in North County for...I want to say around $100?

</comment></comment></comment><comment><USER15> The magazine layout is gorgeous</comment>


UberCab to disrupt the Taxi/Limo business - <AUTHOR> http://techcrunch.com/2010/08/31/what-if-ubercab-pulls-an-airbnb-taxi-business-could-finally-get-some-disruption/ <comment><USER3> Sound like a nice idea, but unfortunately taxis are a regulated industry in most major cities (e.g. NYC, Boston, Chicago). The difference between a taxi and non-taxi are usually that a taxi license or medallion is required in order to legally stop for somebody hailing down a cab on a street.

If this service became at all popular, it is very likely that cities would immediately include "mobile hailing" as also requiring a license. The entrenched interests of the taxi companies are simply too big (and they have the political clout) to let this one slide under the radar.

<comment><USER4> Medallions are a conspiracy against the public, especially the poor and minorities, who both are disproportionately refused cab service and prevented from lawfully pursuing a value-creating occupation in their communities which requires only modest capital and no special training.

See also hairdressing regulations and a host of others.

I could be persuaded there exists an optimum amount of regulation for compensated car rides north of that for uncompensated car rides, but medallions have to go. With market values in the six figures though, good luck: holders have solid incentives for corruption like their lives depend on it, but the average citizen just gets minority overcharged, and the worst affected do not vote or matter in most political calculuses.

<comment><USER5> Disagree. The policies behind medallions may be stupid and unfair, but their existence provides a mechanism of accountability (you can lose them, and they're hellaciously expensive) that doesn't exist with iPhone dispatch.

It doesn't surprise you that cab drivers in Chicago basically never drive you to random destinations, or change fares midway through the ride? The goodness of cab driver hearts isn't what's preventing it.

<comment><USER4> I do more of my traveling from airport to suburbs than inside the city, so I get to use a car service. It is pretty simple: I call American Taxi (by way of Bangalore), they send me an Eastern European immigrant with a car, and he whisks me home for the published flat fee.

Their incentive to not screw me is that they value my continued custom (and chargebacks are a beast). His incentive to not screw me is that he values his cell phone continuing to buzz with new fares. They transparently operate in a low-trust environment: there are cards in the back of the back of the car for who to call for a refund in event of a dispute.

Putting this on an iPhone makes it geekier, but does not appear to change the threat model. No medallion, and pretty close to a technolibertarian paradise. I feel the need to illegalize something to wipe that smug look off their faces. :)

Sadly, they are legally prohibited from offering exactly the same service if both endpoints are within Chicago proper.

<comment><USER5> Putting it on the iPhone scales the process up. Some things work fine at Patrick McKenzie scales, but not so fine at 40 fares per day per cab. There is immense competition for airport fares (it's one of the big problems with cab service in SF) and more incentive not to play games. The same can't be said of random fares on city streets.

The only time I've ever been screwed with by a cab driver was with an unlicensed car service.

<comment><USER4> American Taxi dispatches forty thousand fares a week. They're a wee bit bigger than me.

<comment><USER5> Come on, Patrick. American Taxi is pretty much the cab company for all of the Chicago suburbs. You think they do 40k fares to/from ORD? That's 500 fares an hour.

There's a difference between airport taxi service by chauffeur-licensed drivers dispatched by a branded cab company (with something to lose if drivers misbehave) and "I signed up with 1 of 5 different companies that dispatch cabs with iPhones".

I don't have prove that the Chicago medallion system is sensible; I'm only objecting to the notion that there is no valid concern behind them other than for-profit restraint of trade. There are absolutely valid concerns behind medallions. Go to an NYC airport or outside Penn Station and find an unlicensed cab; take 10 drives, and tell me how many of them try to screw you over. Do the same thing with medallion drivers; _none_ of them will.

<comment><USER6> Medallions serve to limit who is allowed to provide the service. There is no need for this limitation in order to ensure honest service.

For example, cabs could earn (and risk losing) a "Good Cabdriving Seal". There's no need for the quantity of such seals to be artificially limited: they could be unlimited, but only awarded to those that prove worthy.

And while we're at it, the agency doing the certification need not be a government agency at all. Why not _Good Housekeeping_ , or _Underwriters Laboratories_ , or _Better Business Bureau_?

<comment><USER7> Only the government has authority to do something to the cab driver, though. The Better Business Bureau can't tell you to stop driving your cab.

The medaillion system is weird, but it works in new york.

The people who think that the invisible hand of the market would improve cab service are awesomely naive. The reason why cabs aren't fucked up in NYC is because of all the regulations, which can only be enforced because the cabbies have something to lose (the mediallion). If there was no government interference, cabs still wouldn't take credit cards, they wouldn't pick up non-white people, they wouldn't drive you to Brooklyn, they would form their own cabal and eventually rip out their meters and just make up whatever price they wanted to charge you, once you got there.

<comment><USER6> You're only saying that they work in NYC because you're taking for granted all of the failures. For example, how many times have you said "where's a cab when you need one?"?

 _because of all the regulations, which can only be enforced because the cabbies have something to lose_

You think that the loss of the "Good Housekeeping Seal of Approval", or "UL Certification", or the like is nothing? Don't you think that potential customers would quickly learn to look for that emblem on a cab?

 _If there was no government interference, cabs still wouldn't_

Nonsense. You're just making stuff up, without the slightest evidence. Do you _really_ believe that cab customers would turn away paying customers just because they're not white? And even if they did, that would just open an opportunity for a minority-catering company to make a killing.

<comment><USER7> _For example, how many times have you said "where's a cab when you need one?"?_

In Manhattan? Never. (but I've never tried to get a cab in Harlem or north of that)

 _You think that the loss of the "Good Housekeeping Seal of Approval", or "UL Certification", or the like is nothing? Don't you think that potential customers would quickly learn to look for that emblem on a cab?_

Are you serious? The only thing people look for is if the cab is yellow.

 _Nonsense. You're just making stuff up, without the slightest evidence._

I'm not just making stuff up, those are all things that cab drivers used to do until the city told them to stop doing those things.

 _Do you really believe that cab customers would turn away paying customers just because they're not white?_

Yes.

 _And even if they did, that would just open an opportunity for a minority- catering company to make a killing._

Do you live in New York? There already are car services, livery cars and gypsy cabs.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> a friend of a good friend of mine was brutally raped by an independent Lincoln Town Car licensed driver (in NYC). I would advise (my personal opinion) women to avoid such services and deal with the hassle of getting a cab. Getting into a stranger's car and closing the door behind you is an action that should not be taken lightly. That is why I always take a taxi or use a well-established car service (as in substantial with a fleet of cars) instead of trusting someone who is able to drive you around because he/she filled out an application and leased a fancy black car. At least there is some accountability with taxi and fleet drivers. And unless UberCab does serious due dilligence on their drivers (perhaps they do?), I would stay away from this service (again, if I were a woman).

Edit: Please note that I do not mean to imply that all car drivers are bad people. I am confident that the majority of them are good, honest people trying to make a living the best way they can.

<comment><USER9> It seems that the rating system might have prevented this... maybe others thought the driver was "creepy", etc. and might have given him/her a bad rating, which might have dissuaded your friend from choosing his/her car.

<comment><USER10> Certainly the fact that the driver is completely traceable (more so than a yellow cab driver) would dissuade most criminally inclined cabbies.

<comment><USER11> I don't think you're at all correct that they are less traceable than yellow cab drivers. The government bureaucracy makes it much more difficult to fake credentials and make yourself untraceable.

With UberCab, it looks like anyone could steal an iPhone/credit card, download the app, and sign up as a driver all in the space of an hour.

<comment><USER10> I think you wrote "less" when you mean "more". Assuming that's what you meant, I disagree. From their website, it looks as if UberCab requires drivers to be a livery company, so gov credentials are required either way.

The only way I can see the stolen iphone game working is if you steal the iphone from an UberCab driver, or convince UberCab that you are an independent livery and then rape someone before the stolen iphone gets cut off.

In contrast, a legitimate yellow cabbie just needs to put his coat on top of the taxi license and make sure the victim doesn't see his license plate # as he drives away. That same game won't work with a legitimate UberCabbie, since there is an electronic record that driver X picked up passenger Y.

<comment><USER9> True. I think it's common for the owner of a medallion to let someone else drive the car illegally.

</comment></comment></comment></comment></comment></comment><comment><USER12> Driving a gypsy cab (which is what ubercab is) is a dangerous business. In the 90's, New York averaged something like 2 murdered cabbies a month. And those drivers were only being robbed for a small amount of cash.

This application could be very attractive for car jackers. A bad guy could simply place and order for an out-of-the-way alley or warehouse and know that the cabbie they hail is going to be driving a really nice car.

A would-be car jacker would need to use a stolen iPhone and credit card in order to keep from getting caught right away, but that's hardly an insurmountable barrier.

<comment><USER13> Your comment is specious.

 _In the 90's, New York averaged something like 2 murdered cabbies a month._

Uh... NYC was a dangerous place in the mid 90's. Do you have evidence that the gypsy cabs were targets more than yellow cabs?

It's not the gypsy cabs that were the problem, it was the customers.

 _A would-be car jacker would need to use a stolen iPhone and credit card in order to keep from getting caught right away, but that's hardly an insurmountable barrier._

In that case, UberCab would need a stronger way to identify users. For example, you enter the cab, and the cabbie takes a photo of you with his iPhone UberCab app and uploads first thing.

<comment><USER12> _Uh... NYC was a dangerous place in the mid 90's. Do you have evidence that the gypsy cabs were targets more than yellow cabs?_

Yep. <http://www.taxi-library.org/marosi.htm>

"Out of the 85 total cab drivers killed in 1992 and 1993, for instance, only 12 drove yellow cabs."

The difference here is that gypsy cab drivers work in more dangerous neighborhoods that are underserved by big taxi companies. I suppose ubercab drivers could just avoid those same neighborhoods...

</comment></comment></comment><comment><USER14> I used cabulous to hail a cab in San Francisco this weekend. Very similar service, but uses medallion taxis with regular meter rates. You have to pay the driver normally. It was a great experience and I imagine these types of services will be commodity eventually.

</comment><comment><USER15> Here's a great article on the biggest car service in Brooklyn-- Arecibo (their base station is around the corner from where I live). Many interesting details about the economics, technology, and politics of the livery business in NYC:

<http://nymag.com/print/?/news/features/54678/>

From a safety perspective, in NYC it's illegal (and not a good idea) to hail a non-yellow-medallioned taxi on the street. They likely don't have a TLC license, and may or may not be affiliated with a larger fleet.

Call the service's base station--they might not perform background checks on the drivers, but they'll be licensed and insured. The services have an incentive to weed out the bad drivers-- if they get a reputation for spotty service or creepy guys, then customers will switch to the car service down the block (there is healthy competition in this market-- they are constantly splitting off and trying to poach each others' drivers).

</comment><comment><USER16> Just thinking about what forces might prevent the industry from being disrupted (regardless of whether/how this is good for the public):

I think the biggest innovation is the drivers rating the customers. It seems like a joke, but if you think about it, professional car service drivers aren't going to want to pick up just anybody for short rides. That's the real obstacle for scalability among that group. The obstacle for getting all cab drivers to join UberCab is probably the risk of alienating the customer base that might just want town cars, etc., without having to think about the complexity (i.e., it's a software problem, and a pretty easy software problem if done right). The other obstacle is the cost of an iphone, etc., for cab drivers. The obstacles for anybody with a car to join are medallions, licenses, etc., as mentioned. The other obstacle is, even with licenses, the fairness and effectiveness of the rating system is tough. Service history is a mixed blessing. When I step into a cab, I may not actually want to know about the driver's history. I may just want a nearly 100% guaranteed level of service (which theoretically the medallions provide). Though on the other hand it would be crazy to see like average on-time trips, average speeds, customer satisfactions, etc., in one big visual thumbprint before you step into a cab...

</comment><comment><USER17> Is "everyone could be a cabbie" really such a lucrative prospect, from the drivers' point of view? My understanding is that when you take into account the uncertainty of income, the fixed cost of leasing and maintaining a cab (of course, part of this is the cost of leasing the medallion), and the risk of passengers attacking you or simply not paying, cab drivers don't net that much money... which may be one reason why, at least in Boston and NYC, cabbies tend to be immigrants.

</comment><comment><USER18> I'd think of this as more on-demand towncar than a new type of taxi-disrupting the limo business rings far more true. For the slightly upscale customer who wants privacy and looks and can pay a bit more. And not for women, dear god no. But women don't use technology anyway, right?

I was thinking about a similar idea and also the parallel concept of "AirBnB for passenger seats", rather than unused towncar inventory, an easier way to "book" a carpool ride from someone who's already going that way. You just run into a ton of tangles around insurance, carpooling vs taxi licenses, scaling especially abroad, and the fact that _one_ bad driver - one accident - <USER2> completely ruin your entire business.

I do think there's potential in disrupting the taxi business, though my current angle of thought is more about using technology, especially cleantech and mobile bookings, to make it a low cost planet-friendly business. Just the thought of all those exhaust fumes scares me. Go EcoTaxis!

</comment><comment><USER19> The first time an UberCab driver gets into a wreck without insurance or licensing should be interesting. I can see this being very useful for legitimate car services, but they need to do serious due diligence to make sure their drivers are legitimate. Mike's dream of anyone becoming an UberCab driver would be a legal nightmare.

</comment><comment><USER20> The taxi medalion is a little more than a price fix in some cities, such as London.

Buying from somebody wih a zero rep on ebay means you might lose out on your beanie baby. Putting your daughter in a random strangers car with no information other than them owning (or having stolen) an iphone is a little different.

<comment><USER21> Very good point about (potential) stolen iPhones but your argument still applies to the current system. It's still a stranger in a car, they just happen to be sent under the banner of a company.

If the taxi firm itself implemented (or used a version) of this kind of service then that could be a great win for the firm.

</comment></comment><comment><USER22> I've tried Ubercab a bunch of times, and the two times I actualy got a cab were a good experience. It's really nice not having to fumble with cash or a card for payment. Plus you get to ride in a towncar/SUV/etc. It is a bit more expensive though.

</comment><comment><USER23> It's a cool idea. And an evolution of black car service (they have to be called and don't normally solicit for work).

As like any other hire service, they operate under a difference set of rules. They have to be licensed, need to meet size requirements, and they have to carry much more insurance.

Some random driver with a pickup and just basic PIP coverage probably wouldn't be a good choice. Especially if you are paying for it.

Also, reading their website, they are very interested in working with limo companies and cab services not random guy with 30 minutes to spare. So no, this is not like AirBNB, at all.

</comment><comment><USER21> It'll be really interesting to how much disintermediation takes place as a result of UberCab. I expect they'd need to expand beyond iOS to get scale but that should be possible.

In the UK there are lots of regulations surrounding Private Hire vehicles and Taxis, some of those rules are regional too. I doubt I'd see something, like this here but the firms should definitely be aware.

</comment><comment><USER24> Various commenters are saying that cities would simply define "mobile hailing" as also requiring a license. Okay, maybe, but would it matter? How would it be enforced? And could any particular city hold UberCab liable? Enough to force them to stop?

The whole concept sounds particularly disruptive because it seems that it would be so difficult to police.

<comment><USER23> If the cabbies complain loud enough I'm sure they can set up a sting. Nothing stopping them from downloading the same app and hailing a ubercab. When you can't present a medallion or commercial drivers license you're busted.

And there is nothing stopping them from going into court and throwing water on the whole thing with an injunction.

</comment></comment><comment><USER25> This may work in SFO. But does anyone know if the town car companies in NYC (Dial 7, Carmel etc etc etc) have overcapacity issues?

In the everyone is a taxi model- do you really want to get into a car without knowing how that person drives? There are people in my own family I won't drive with, let alone pay them to drive me somewhere.

<comment><USER9> The argument about not knowing how someone drives applies to any bus, taxi, etc., regardless of how it was booked so long as you haven't ridden with the driver before.

</comment></comment><comment><USER7> This will work in SF because taxis don't do a good job for the class of people who own iPhones. In NYC, the class of people who own iPhones are already well- served by cabs.

</comment><comment><USER26> I worry about them getting AirBnB'ed. I'm a big fan of AirBnB and CS, and I've often thought I'd be happy to do a fare when I've got a hour or so between meetings.

</comment><comment><USER27> I thought about building something like this.

 _Pay from the app: No cash required_

That's a powerful feature and it could become a very sticky app for me if I lived in San Francisco.

</comment><comment><USER28> It's illegal to drive and text message in California; their drivers more or less have to break the law to participate.

</comment><comment><USER29> what I like about this is the rider has an iPhone so while the cabbie is transporting him the rider can see the Google Maps routing path, and compare that to the actual position and route the cabbie is taking. If they differ significantly the rider can know he's getting scammed. Technically the rider could do this without UberTaxi as long as he has an iPhone, but since UberTaxi depends on the rider having an iPhone app, it comes along for free.

</comment><comment><USER29> this is practical innovation. we need more startups like this.</comment>


Kafka is no longer the best choice thanks to Apache Pulsar - <AUTHOR> https://youtu.be/jLruEmh3ve0?t=130 <comment><AUTHOR> I'm the presenter, this was inspired by an HN thread seen here: [https://news.ycombinator.com/item?id=21938463](https://news.ycombinator.com/item?id=21938463)</comment>


Show HN: Diffur – Most popular programming tools & resources - <AUTHOR> https://www.diffur.com/ <comment><AUTHOR> This is one of my first side projects, and I created it because I've always been interested in opinion-based questions on HN (i.e. Ask HN: What is your favorite internet rabbit hole?). I know there are already several sites where you can ask opinionated questions (quota, slant, hn), but I was looking for something that's uncluttered and straightforward. That's why Diffur questions are simple lists. Anyone can vote and rankings are based on vote count.

Here are some topics I've added:

[https://www.diffur.com/what-are-the-best-sites-to-learn- algo...](https://www.diffur.com/what-are-the-best-sites-to-learn-algorithms- in-2017)

[https://www.diffur.com/which-companies-have-beautiful- websit...](https://www.diffur.com/which-companies-have-beautiful-website- design)

[https://www.diffur.com/what-are-the-best-machine-learning- pr...](https://www.diffur.com/what-are-the-best-machine-learning-projects)

[https://www.diffur.com/which-programming-blogs-do-you- follow](https://www.diffur.com/which-programming-blogs-do-you-follow)

Would love to hear what you think. Also feel free to email me at email@example.com.</comment>


Ask HN: The future of HN - <AUTHOR>

Since (at least) the beginning of the Internet, a pattern has repeated: A group forms and has a culture. Over time, others join and the culture drifts to encompass the larger group. Some original members resent the drift. This happened when the net grew outside of universities and government and when AOL 'newbies' joined who didn't understand netiquette. It's happening now with HN, evidenced by a wider range of stories, more aggressive comments and periodic discussions about what to do about it.
The forces seem to be:
1) A growing community will increasingly post (and upvote) stories about a wider array of interests.
2) The new non-hacker visitor will increasingly enjoy front-page stories and become part of the community, to post and upvote.
3) This has to result in a dilution of the site focus to 'general interest' with a slight hacker tinge.
Counterforces could include an aggressive policing of stories and aggression. This would have a diluted effect over time as new users outnumber the old, unless the votes of older members count more. It's also counter to the spirit of the net to police too aggressively.
The site could be categorised into hacker/business/general interest/etc.
The hacker community (or YC-funded core) could up-and-move to another site, possibly with an invite-only rule to block TC.
What say you? What other scenarios are there? <comment><USER2> Agreed about there being more aggressive comments, etc. One possibility would be to move to another site and _not_ lock it down. Moving to another site may be enough of a switching cost and I think there are many like myself who are not YC-funded but enjoy the original spirit of this site...

"It's also counter to the spirit of the net to police too aggressively." I also agree that it's against the original spirit of the net, but at some point in scale it becomes a requirement. I worked on a community site for a major TV presence which had gone awry. There were millions of community members and, unfortunately, some would be posting death threats about others or about celebs.

I had hoped that there were "self-regulating" solutions but we had to ban the hell out of people. Not that HN is anywhere near that level of ugliness... :)

<comment><AUTHOR> I've been reading <http://buildingreputation.com/> a lot - partly because I want to build in some reputation concepts into a site I'm working on. It has great ideas about how to run points systems - what causes what behaviour. Very powerful.</comment></comment>


Evaluating Text Extraction Algorithms - <AUTHOR> http://tomazkovacic.com/blog/122/evaluating-text-extraction-algorithms/

<comment><USER2> This is excellent! I read your posts a while back that inventoried the various libraries and algorithms for text extraction. Ever since, I've been wishing someone would actually measure and compare performance. Thanks so much.

 _Readability's poor performance came as a surprise, moreover, it's varying results of it's two ports. Relatively low precision and high recall indicate that readability tends to include large portions of useless text in its output._

Subjectively, I've thought this for a while -- decruft (the python port of readability) has not given us particularly good results. (And it's insanely slow.) But I share the same misgivings as you, that the port may not be faithful to the original used by readability the service.

Definitely looking forward to your evaluation code.</comment>


How to Profit from the Internet - <AUTHOR> http://learn.skillhd.com/

<comment><USER2> Looks clean</comment>