Why I Dislike EC2 - <AUTHOR> http://openmymind.net/Why-I-Dislike-ec2/ <comment><USER6> I sometimes feel like I'm the only one using EC2 as it was intended.

S3stat's nightly job takes about 60 hours to run, and it needs to start and finish between 3am and 6am every morning. Amazon kindly keeps 20 machines ready to do that for me and only charges the time I'm actually using them. That's pretty amazing, and well worth the price in my mind.

So yeah, if you need a box to run your webserver 24/7/365, you can find a better deal elsewhere. But that's really never been what EC2 is for. To continue the example, S3stat.com lives in a cage at a colo since, as the author points out, that's a much better deal than running it on EC2.

<comment><USER7> > _So yeah, if you need a box to run your webserver 24/7/365, you can find a > better deal elsewhere. But that's really never been what EC2 is for._

What Amazon offering is? This is AWS we're talking about. They have a service solution for nearly everything. You're saying in 2013 they still don't have a service for 24/7/365 website hosting?

<comment><USER8> I know you were asking for effect, but of course they do and it's EC2. That's why they have a heavy reservation pricing tier, which only makes sense for 24/7/365 (you pay for hours even if you don't use them).

But, it's fun to point at "elastic" and tell people they're "doing it wrong" because they don't take a name chosen 7 years ago literally. As if somehow the service (called EC2 virtually everywhere -- not Elastic Cloud Compute) could never evolve beyond that initial use case. Incidentally, the "elastic" in EBS must have a different meaning because one of its primary selling points is that it's persistent storage.

<comment><USER9> In other words they took a system targeted especially at people who needed on- demand computing and as it got popular, adapted it to the needs of the 24/7/365 web-hosting by offering an _alternate pricing model_ , _point-and- click user interfaces_ and _additional features and services_ like EBS and CloudWatch.

The point is absolutely not that EC2 never evolved beyond its initial use case and isn't good at other things.

The point is that while they have 24/7/365 hosting services, there's never been any reason to expect that they would be better at it than anyone else. So why do we continue to see blog posts about not liking EC2 with vague complaints about the horrible price-to-performance ratio getting lots of upvotes?

<comment><USER10> Because EC2 still seems to be a lot of people's default option for 24/365 servers, even though it isn't particularly good for it. Why is that so? Evidently there haven't been enough blog posts on the subject yet!

</comment></comment></comment></comment></comment><comment><USER11> On top of paying 8x what it cost before/after I moved from/back to Softlayer, AWS services just didn't work right. EBS failed often. RDS, which runs on top of EBS, would fail often too. When an entire AZ failed, despite paying double the hourly rate for "Multi-AZ" instances that were supposed to automatically fail over to another zone, nothing failed over, it just failed.

If I need on-demand instances these days, I'll do it at Linode. They bill to the day, so you don't need to commit to a month for temporary instances. It's not as scriptable, but it works and doesn't cost a fortune over renting hardware either. More often, I just get servers with more CPU cores and more RAM than I need so there's plenty of room to absorb spikes.

<comment><USER12> We use Softlayer too for the same reasons. Have been with them for over 10 years now - since they were called The Planet. Just had one hardware failure during the entire time. They also now offer Cloud computing instances - <USER2> can be deployed either hourly or monthly. And you can mix and match your Cloud and dedicated servers - giving you all the flexibility to scale that you get with AWS / EC2.

<comment><USER13> You should probably not use softlayer cloud; a very bright ops guy at scribd had a horrific time doing so.

<http://kovyrin.net/2011/05/02/cloudlayer-bad-story/>

<comment><USER14> I could write the same about Rackspace Cloud - in 2009/early 2010. I suspect (but cannot confirm) this isn't relevant any longer either.

</comment></comment></comment></comment><comment><USER15> 1\. AWS beats all others when it comes to security [1].

2\. EC2 is just one item in the package called AWS. Hence, if you just build something more than just "web-app with *db" at the back-end, say a full blown platform, then I know no other option for you to get the full stack integrated API for Data-warehouse, DNS, Load-balancing, auto-scaling, billing, etc.

3\. Speed is sometimes over-rated. You should be be speedy where it matters more. That is, how fast can you redeploy your entire cloud from scratch in case of a disaster should be more interesting to you than if a webpage takes 20 more ms to get to the browser. In our case, at AWS, it is a matter of < 20 minutes.

1: <https://aws.amazon.com/compliance/> and <https://aws.amazon.com/security/>

<comment><USER16> > 1\. AWS beats all others when it comes to security [1].

While the compliance and security links are impressive, AWS still doesn't offer a BAA agreement for HIPAA/HITECH compliance.

There are plenty of health care companies that are held back from AWS for this single reason.

Surprisingly enough Microsoft is leading in this respect (or not, given their historical enterprise focus...) - [http://www.windowsazure.com/en- us/support/security-and-compl...](http://www.windowsazure.com/en- us/support/security-and-compliance/compliance/)

<comment><USER17> This is not entirely correct. AWS does offer AWS GovCloud which, _provides an environment that enables agencies to comply with HIPAA regulations_ [1]. You have to be a US government organization to use it though.

Updated: AWS also has a whitepaper on _Creating HIPAA-Compliant Medical Data Applications with AWS_ [2]. Looks like this is support on the standard non GovCloud stack.

[1] [http://aws.amazon.com/about-aws/whats- new/2011/08/16/announc...](http://aws.amazon.com/about-aws/whats- new/2011/08/16/announcing-aws-govcloud-us/)

[2] [http://media.amazonwebservices.com/AWS_HIPAA_Whitepaper_Fina...](http://media.amazonwebservices.com/AWS_HIPAA_Whitepaper_Final.pdf)

<comment><USER16> The trouble with HIPAA requirements is that they're not clearly defined and are open to a variety of interpretations.

Our experts advise a safe, CYA approach and mandate a BAA agreement is in place with every partner touching sensitive patient data, even if encrypted and protected on multiple levels. Thus far Amazon is not accommodating to such a request.

Other's have their own opinions and, in the end, we all weigh the risks vs rewards (including Amazon itself - I'm sure they've plenty of reasons of operating in their present gray area).

<comment><USER18> I worked for a major hospital once and they were all about the CYA agreements. The funny thing was the HIPPA is more a state of mind, not a 100 point punch list. So you're really just practicing CYA more than anything else.

</comment></comment></comment></comment></comment><comment><USER19> Any argument involving price seems to completely ignore TCO. We are using Heroku for most of our needs and suggest it to all our clients and we couldn't be happier to pay the premium over "expensive" AWS. We save a lot on IT and maintenance. Unless you are paying thousands of dollars per month, or your time is very cheap doing your own servers will cost you more.

If AWS were so expensive and "not worth it" what are the guys from Netflix smoking? ;)

Also see this AWS cost analysis from TripAdvisor Technical Operations team: [http://highscalability.com/blog/2012/10/2/an-epic- tripadviso...](http://highscalability.com/blog/2012/10/2/an-epic-tripadvisor- update-why-not-run-on-the-cloud-the-gran.html)

"Combined cost for each datacenter is about $1.3M per year." ... "If we spent the $1.3M per year on a complete EC2 site instead, we could afford the following architecture, provided that we used one-year reserved instances." ... "This means that we could add more than 60% capacity our current configuration"

<comment><USER20> I use AWS extensively, but to be completely fair, Netflix doesn't really care about operations costs. Yes, seriously. Their media licensing is so much more expensive, they do not optimize bang-for-buck, going as far as using larger instances (to avoid noisy neighbor problems) that are much less cost effective.

So while AWS might be completely worth it for some people (it is for us), Netflix isn't the best argument :).

<comment><USER21> "Netflix doesn't really care about operations costs."

Considering that they're a publicly traded company, they have a fiduciary duty to watch all costs. Though server costs don't compare in relation to media licensing, I'm sure they pay some attention.

<comment><USER22> That is not how fiduciary duty works. The company's duties require it to make good-faith decisions regarding spending, which can include a good-faith decision that it is not worth their time or energy to chase nickels and dimes.

<comment><USER21> I stated that a responsable fiduciary monitors where they spend their money. This then allows them to make good-faith decisions. I never said that they're trying to chase nickels and dimes on the ops front.

</comment></comment></comment></comment></comment><comment><USER23> I agree with the author, EC2 seems really expensive compared to other clouds. One of the comments suggested DigitalOcean, which has much better pricing, and you can do flexible by the hour pricing and it has a rest API to bring up/down servers.

/shameless shill + happy DO customer

<https://www.digitalocean.com/pricing>

<https://api.digitalocean.com/>

<comment><USER24> I've had a rather spotty experience with DigitalOcean unfortunately. Some times you can't create instances, it just hangs there waiting forever. You can't replicate snapshots between regions. I click the button but nothing happens... I've also had an order of magnitude worse network bandwidth sending backups to S3, both in Amsterdam and NY.

It's ok for a dev box or playing around, and it's definitely cheap, but I wouldn't trust any production servers on it. _Yet_. I do see they improve at a very impressive pace, with new features becoming available regularly, so things hopefully change for the better... It's still nowhere near being a match to AWS, or even Linode.

</comment></comment><comment><USER25> This article pretty much reflects my experience with EC2. EC2 makes it very easy way to get started with things when you're figuring stuff out and don't have a great deal of experience in managing servers and machines. You don't have to deal with RAID, power outages, etc. and can literally treat hardware like software.

But once you get up and running, you will realize that this comes with a great cost. EC2 absolutely sucks in terms of raw performance. I also notice variation in performance of machines on different times of the day, and between machines.

Amazon has done a great job at selling "the cloud", and I can see many CXOs buying into that. But the fact is, renting dedicated machines from a good provider isn't exactly that hard. They take care of a lot of things for you.

EC2 is good if you have _wildly_ varying amounts of traffic such that you need to really have that kind of elasticity in your infrastructure. However, for most businesses, especially web apps, that's not the case.

<comment><USER26> I was shocked when I learned that many EC2 users with highly variable traffic don't spin down during off-peak because sometimes Amazon has problems that prevent them from spinning their instances back up.

I love the idea of their cloud services, but the reality is a decidedly less attractive beast.

<comment><USER27> Hmm I would like to hear more about these problems that prevent people from spinning up instances. Is it a frequently occurring problem or only happens rarely (e.g. when APIs are down). Also are they managing the instances themselves or using EC2's AutoScaling cluster? I run a dynamically scaling cluster on EC2 and have not run into the problems like you mentioned, so I would like to hear more about them if possible. Maybe they are spinning up and down too rapidly and exceeds the API rate limit? You'd have to have a bugged/bad provisioning system to accomplish that though...

<comment><USER28> In the past, when an AZ goes down, everyone tries to transfer to another AZ and makes lots of API calls.

Consequently AWS has to rate-limit API requests to avoid taking another AZ down.

Maybe this has changed though, but we'll probably have to wait for another disaster to know!

\---

But of course, an AZ shouldn't be your infrastructure's single point of failure!

<comment><USER27> I'm aware of the API rate limit when an AZ goes down, but the original comment was about problems that people run into for highly-variable traffic sites that scale up and down on a regular basis (e.g. spin up 20 instances during the day with high traffic, at night shutdown 15 of them to save cost, on a daily basis). This of course is not related to any AZ/API downtime, and I am not aware of any problems that could interfere with the normal usage of APIs during normal service operations, which is why I wanted to hear more about the details of those problems.

</comment></comment></comment></comment></comment><comment><USER29> While clearly Amazon is working on bringing down the cost of EC2, as it is today you're paying a premium to get at the AWS ecosystem (and for some companies it's well worth it). There's no other great reason to choose EC2 for servers given the pricing. I understand why people keep writing about the cost, but if you have use for the myriad of AWS services, then good luck replicating what they offer on dedicated servers (without spending an equally huge sum, either in dollars or time or both).

<comment><USER30> If you're making a fairly standard webapp, what does it provide you that, e.g. softlayer or linode does not?

How much of AWS' popularity come from it just being a safe choice, like a cloud version of "No One Ever Got Fired for Buying IBM"?

<comment><USER31> Firstly AWS sets the benchmark for security, transparency and compliance which we know you won't get from Linode for example. Secondly AWS has a damn good network. Thirdly lots of software 'understands' EC2 e.g. Cassandra, Hazelcast.

AWS' popularity comes not just from the wide array of decent, well integrated and cohesive services e.g. S3, SQS, ELB, ElastiCache but also all of the third party services that are hosted within the AWS network e.g. MongoHQ, IronMQ/IronIO. AWS is very much an ecosystem.

If you are building a new app from scratch there a lot of benefits to having others manage the commodity parts of your infrastructure.

</comment></comment></comment><comment><USER28> Programmatic access is a _big_ thing, and is what makes EC2, GCE, Rackspace and friends, different from dedicated hosting. (In the case of AWS / GCE, global availability is something else).

Using the Cloud isn't only about instant scaling and per hour billing. Those are useful features, but mostly for specific use cases.

\--

The Cloud it's about the ability to have software that controls the hardware.

It's about being able to orchestrate automated failovers that provision new servers.

It's about being able to have services that grow and shrink depending on usage.

It's about being able to replace your app servers with data crunching servers at night and relaunch new app servers at day - all transparently.

Of course, those are just a few examples, but the general idea is that programmatic access (APIs) is the big thing. The rest is secondary.

\---

Is is, however, true that this is not useful to everyone.

On the topic of succeeding using the Cloud, it's indeed difficult. That's why companies are building cloud management tools to help users do this.

Disclaimer: I work for one of these companies.

<comment><USER32> You can orchestrate automated failovers that provisions new servers even if you have dedicated servers to handle your base load. And the price difference with EC2 is so huge that you need really massive traffic spikes for it not to be cheaper to have a bunch of extra dedicated servers on standby.

Nothing stops your from spinning up data crunching EC2 instances at night either, if you want to, and if it really is more cost-effective for you than having VM on your dedicated hardware.

There's plenty of API's available if you want to run your own "private cloud" on those dedicated servers too. I never deploy outside VM's any more, even though I also mainly use dedicated servers.

EC2 is cost effective if you truly have really short term (< 4-6 hours per day) batch processing needs. It continues to shock me how many people take the pain and cost of dealing with EC2 for more typical web app usage.

<comment><USER28> Switching load or transferring data between a remote DC (your dedicated servers) and AWS is not that easy when you start having large-scale infrastructure though.

This is a great idea on paper - but running your baseline infrastructure at your dedicated provider and the rest on EC2 is definitely a challenging task.

Not that it's impossible, but that's probably going to be extra work at the app level.

\---

Running OpenStack / CloudStack, or similar software on dedicated servers is indeed a relevant solution too, but this is an extra maintenance cost to bear in mind.

</comment></comment></comment><comment><USER33> As someone who loves EC2 (and happens to work for Amazon, but in a different domain), I can't figure out why people/companies haven't moved towards Hybrid Clouds. There are several strengths and weaknesses of the various providers, and the reward-to-risk ratio of locking yourself into one platform is just too small to matter. There are several scenarios where I could see myself using a combination of Rackspace + EC2 + Linode + colocation. A little puppet/chef knowledge goes a long way.

<comment><USER34> I can't quite parse what you're saying about the reward to risk level being too low for lock in, but having worked with a number of startups that were 100% aws and paying dearly for it thge lock in was their major problem - <USER3> ancillary private branded or unique services all seem to be designed with lock in being the number one goal. From what I've seen the first acknowledgment of lock in seems to open the flood gate, kind of a well if we're already "stuck" we might as well use this proprietary feature that will save us 10% in build time. Not the smartest approach, but no one accuses most web startups of being in the long game.

<comment><USER33> I know of a few people that say that there are benefits to sticking to one platform...that there is less maintenance and lower friction from the "one stop shop" setups that you get on App Engine or Heroku or AWS. I'm just saying those benefits are tiny in comparison to the risks of lock in.

</comment></comment></comment><comment><USER35> These are appropriate considerations to have; and the concerns about performance are very well-founded.

Nonetheless, the values I see in EC2 and AWS come in the API, role management, and the centralization of services. Being able to automate everything is outstanding (even if many of the APIs feel very young). Allowing anyone in the organization access to the management console with appropriate privileges is helpful, and something that I haven't seen available from other providers - <USER4> least not with the level of customization that AWS provides. Also, knowing that just about everything is handled in one place makes things easier logistically - it's small overhead, but managing DNS and CDN and Hosting all in the same interface is convenient.

Hosting decisions must be made on a case by case basis; but it's wrong to avoid EC2 (and AWS) simply because you can get better performing servers elsewhere at a lower cost per time period.

</comment><comment><USER36> The first letter in EC2 stands for elastic. If you aren't using EC2 for it's elasticity then you're _probably_ doing it wrong. Kind of a no-brainer.

<comment><USER8> Considering Amazon offers an entire pricing tier around 24/7 utilization (heavy reserved instances), it's probably safe to say that EC2 is no longer purely elastic.

<comment><USER18> It's called base load, a rather important concept in scaling to demand, much the same as the power industry.

</comment></comment></comment><comment><USER37> At Scribd we initially used EC2 for systems like converting uploaded documents to HTML5 (the capacity we needed varied a lot over short time spans due to things like variable API usage). Meanwhile, the app and web servers (and many others) lived at Softlayer (still the "best-looking horse at the glue factory" for managed hosting, IMHO).

</comment><comment><USER38> _First, people seem to think EC2 saves you time and hassle. Compared to collocated servers, this is true. But compared to dedicated servers, managed or unmanaged, it simply isn't. Hardware fails? They'll replace it (at no cost)._

I totally disagree. OK, maybe it takes a bit more time to set everything up, but when you have it all up and running (AMI's, Autoscaling, etc.) you have a robust setup that can scale when you scale (up or down). Adding a new instance literally only takes some minutes. Try that with a dedicated setup. It's more expensive for sure, but comes with a lot of flexibility.

What I see as an EC2 (or AWS in general) issue / challenge is that it's hard to switch providers. When you use S3, SQS, Cloudwatch, Elasticache, Cloudfront, DynamoDB, SES, Route53 your code is totally integrated / adapted to AWS. You can't take your code and deploy it on a different setup elsewhere.

<comment><USER39> In that case I would say you have architected an app for aws, then, and we should be careful not to do that for portability's sake. Http://www.12factor.net/backing-services

</comment></comment><comment><USER40> \+ You get very unpredictable server resources, which is why disk and network throughput can vary wildly.

These issues are why we started Uptano, really just to scratch this itch for ourselves. Plug: <https://uptano.com>

The thing is, EC2 really was neat when it launched, but there are _so_ many things that can be improved upon. Amazon has moved surprisingly slowly in improving EC2 itself.

</comment><comment><USER41> I've run the numbers for our PCI-compliant setup about 1.5 years ago and Amazon was about 3-4x more expensive than the average bid for my RFP for several smaller hosting providers for a mix of dedicated and virtual servers. Another thing I've discovered with AWS (again, it was 1.5 years ago) is a _horrible_ network latencies even inside the same data center on the same VPC: on a "normal" gigabit switch in a dedicated setup I would expect stable ping < 0.5msec with spikes to 1-2 msec on a loaded network. With Amazon, the pings were rarely below 10-20msec inside the same data center in the same VPC. It is easy to explain since Amazon probably doesn't allocate virtual servers "together" on the same router thus you have extra delays on going between multiple busy routers. In the same time it is pretty bad for many things (e.g. MySQL Galera Cluster that we use).

So, my take on Amazon EC2: you want to use it when you are small (i.e. don't really care about performance) or when you are really big (when you can get "special" deal from Amazon and dedicate a lot of internal resources to make it work). In other cases a better option might be a mix of dedicated hardware (servers and networking stuff) and virtual servers at a managed hosting provider that would allow you to create the setup that works best for your project.

<comment><USER42> Network latency is very inconsistent on EC2. This is a huge issue is you use a piece of software that assume that you are in a data centre with good networking, as you'd expect in an regular data centre.

<comment><USER41> It's not about "assuming" things. It's about severe performance degradation beyond any expected levels. Yes, there are solutions to workaround these things. But it will cost way more than a dedicated hardware setup if you account all the costs (software licenses, OPS salaries, etc).

<comment><USER43> Assumptions are certainly part of it. Software is often designed to consider certain round-trips cheap and others expensive. If this assumption does not apply, it will perform terribly.

</comment></comment></comment></comment><comment><USER44> Sure, EC2 may not provide the best price/performance, but some of their new services are killer: Redshift makes Map/Reduce obsolete, and DynamoDB makes other NoSQL DBs weep with its scale/performance/flexibility.

These services make it an easy decision to stick on AWS, and sadly ec2 as well

</comment><comment><USER45> _You also lose one of EC2's only advantage: per hour billing._

This isn't true. Reserved instances still use per hour billing, just at a discounted rate.

<comment><USER8> That's not entirely accurate either. If you buy a heavy reserved instance you have to pay for every hour, whether or not you use it, for the length of the reservation. So, it's technically still per-hour billing at a discounted rate, but you gain absolutely nothing by shutting down a machine.

<comment><USER46> What you described is not true, however, for light or medium reservations where shutting down a machine means you have no cost.

The other key difference is that reservations apply to hours used, not specific instances, which means you can do things like buy heavy instances for your 100% utilization level and medium for the amount beyond that which you commonly but not always use.

<comment><USER8> I made no claim otherwise about light or medium instances. I was merely pointing out that for many people Amazon is no longer a purely pay-per-hour or pay-for-what-you-use service. Many people overlook the wording change made for heavy reservations. The parent's refutation of the article isn't as cut and try as stated.

</comment></comment></comment></comment><comment><USER47> People use EC2 not because of price but flexibility. A good example: When we launch a product and expect lots of traffic, i can quadruple my server count in a few minutes. Once the event is over with, i can spin them down. I can't do this with traditional hosting.

<comment><USER48> OP. I tried to address that in the post. I'm not sure how to explain it differently. The only reason you need to spin up more instances to handle the load is because of how slow the machines are in the first place. That $750 you spend on 2x m3-xlarges could get you machines that can handle 4x the load (or more). Under normal conditions, you spend $750/m. Under peak, you'll spend $3000/month with EC2 but still $750/m with dedicated (plus it's less to manage).

Also in the post is that for the scenario you're describing, having dedicated servers handle the base traffic and relying on spot instances for the spikes, is much more cost effective.

<comment><USER27> The main issue with the hybrid approach is devops cost. you will be basically dealing with two very different infrastructures, and building the ops for such a hybrid system could be costly (in money and time). Taking this into account, the money you save shrinks, In addition, a more complex system most likely has more parts to fail as well, so your total reliability might suffer somewhat as well.

Another thing to take into account is inter-datacenter network reliability. I have personally ran a hybrid system (dedicated + EC2) before and suffered a routing issue. The upstream provider for the data center that my dedicated machines were in suffered a routing outage to EC2 US-East region (or at least to the AZs that my instances were in), and my EC2 web app servers could not connect to my DB for around 10 hours (during the day time too). If you have a hybrid system, during peak hours (where you have lots of EC2 spot instances serving traffic), networking issues could result in unexpected downtime. This is of course, in addition to the regular SLA downtime you get from either the dedicated provider or AWS, which is not an issue if you have everything hosted together, but could become an unavoidable problem if not.

<comment><USER32> My experience is that the devops cost drops: Most of the time you're dealing with a much simpler and more predictable dedicated environment - <USER5> challenges happen when you have to handle (rare) abnormal spikes.

In terms of inter-datacenter network reliability: You have to deal with this if you want reliable hosting anyway. If you spread your database and app servers across data centers, yes, you are begging for problems and the problem is that your app is not designed for resilience.

But you can easily enough do "hybrid" within the same datacenter, if you opt for any of the number of EC2 alternatives from companies that also do dedicated hosting.

<comment><USER27> If you are using a hybrid approach (assuming dedicated + EC2), you have to have the ops system in place to deal with the dedicated environment AND the EC2 environment, which is why devops cost will be higher. Of course if you only deal with dedicated hardware your devops cost could drop.

Inter-datacenter network issues are less of a problem when your datacenters are from the same provider, because they are responsible for making sure the connection is good. Plus, when problems do occur, you can troubleshoot fairly easily (when I had the routing problem with dedicated provider + EC2, I had to bounce back and forth with the network support for both a few times before one of them admitted the routing issue with the upstream network provider) as you are dealing with a single company.

I understand the hybrid solutions that other providers such as softlayer offers, but I was mostly addressing the suggestion of using dedicated + EC2 in the original article.

<comment><USER32> > you have to have the ops system in place to deal with the dedicated > environment AND the EC2 environment, which is why devops cost will be > higher.

Only if you choose your systems so that they can't be used across both platforms. I don't see why anyone would do that if they want to run a hybrid setup.

> Inter-datacenter network issues are less of a problem when your datacenters > are from the same provider

If your data centers are from the same provider, your added degree of resilience is much lower.

> because they are responsible for making sure the connection is good.

That doesn't help you when one of the data centers goes out entirely. Such as when the power needs to be cut for fire brigade safety due to a fire alarm (yes, I've experienced that), or the supposedly redundant UPS's triggers failsafes and causes the entire site to go down (experienced that too), or when one of the sites see cascading failures take out heir entire network (seen that happen too).

Assuming you will have live, working network connections between your locations, and/or that all your locations will stay online is pretty much guaranteed to cut your availability.

Basically, if your systems can't operate independently, adding an extra data center means adding more failure points.

</comment></comment></comment></comment></comment></comment><comment><USER49> I'm trying to figure out where this niche is that EC2 is more expensive than traditional hosting on a price/performance basis and I'm drawing a blank. Yes, they're vastly more expensive than the sticker price on a server (assuming you can size out your server needs years in advance), but most of the cost of running a realistic server are elsewhere, housing/power/cooling, NAS, networking, licences, manpower, spares, security, monitoring... The actual per-hour fees aren't really the top consideration for choosing among the alternatives and AWS is at least competitive on a TCO basis.

The only things I get a big price/performance advantage over AWS for are things I might as well host on my desk, and even there it's dicey.

<comment><USER11> EC2 is more expensive than renting dedicated hardware. Housing/power/cooling/networking/etc are all built-in to that price, not added costs. Colocating your own hardware is not the only option. You can provision someone else's dedicated hardware in under an hour, all costs included, with 24/7 on-site staff to handle failed components or other issues (which again are included in the price).

<comment><USER49> I'm speccing out some things I host on AWS on softlayer's dedicated hosting, and I'm not coming up with vastly cheaper prices there either. I can get big (compared to ec2) servers cheap but storage costs eat up most of the advantage.

<comment><USER48> Softlayer, along with Rackspace, are expensive providers. The price will be similar to EC2 (but the raw performance of the CPUs and hard disks will be much better).

Hetzner and OVH provide the starkest contrast when it comes to price. They are also pretty well respected.

There's a million other choices in between. webhostingtalk.com is the best place to get more info..but I can give you names that have been around for a long time and tend to be liked by customers: webnx, singlehop, 100tb (softlayer reseller), reliablesite.net, hivelocity, netdepot. The list goes on and on, but if you want to see price differences, check them out.

</comment></comment></comment></comment><comment><USER50> Is there anyone elastic that costs the same as EC2 but beats them on performance (CPU in particular, as well as more and faster RAM).

</comment><comment><USER51> You pay for convenience. Saying EC2 is slower is like noticing that you have to wait in line at the bank: yea it's slower than just stuffing cash under your mattress, but you don't have to worry about it being stolen, either.

<comment><USER52> Except that everytime you want to have access to your money you have to go to the bank and line up.

Then randomly the bank won't work, all banks in the region will shut down randomly and you're stuck without money, and you need to pay rent but you can't.

You are invested in certain banks in the region but sometime s it feels like the bank has noisy neighbours, and it takes a while to withdraw money.

<comment><USER53> So what you're saying is the mattress is better or that the mattress is a false analogy?

I'm happy to pay a premium to not have to worry about the countless things that AWS deals with. Whenever people complain about AWS having downtime I have to wonder how sure they are that their uptime track record would be better.

<comment><AUTHOR> While you're waiting in line at the slow bank because that's the bank you've used for years, you're ignoring the bank across the street with no line, cheaper fees, and 80% of the same services you need and will use the most.

<comment><USER53> I don't want 80% of the services and have to build or manage the other 20%. I want 100% of the services.

An app I am running uses ec2, s3, sqs, ses, rds, swf, elb, elasticache, cloudfront, cloudwatch, route 53, and opsworks. Take any of those out and you give me a potential headache, time sink, or out-of-scope responsibility. It all just works and while I am sure I could save as much as 50% by going cheap and rolling it all myself, my time is valuable, I'd have worse uptime, and with proper reservation of resources my aws bills are, in relative terms, marginal.

</comment></comment></comment></comment></comment><comment><USER54> I have done both building your own data center and running the whole enterprise on AWS. I like AWS better. Some folks have hinted at it here but the ability to spin up a node rapidly is a huge game changer. Ya, you could accomplish some of this with open source and your own hardware but the flexibility will pale in comparison to what you get from Amazon. A year ago, I was all on board the OpenStack train. I think it is great by way of keeping Amazon honest and therefore keeping prices in check. I'd still pay a premium for Amazon over a public OpenStack or a roll-your-own solution.

</comment><comment><USER55> How many folks saying EC2 is too expensive because there is a cheaper alternative are doing so on a Macbook of some kind?

</comment><comment><USER56> >> At our most expensive location, we get 64GB ECC RAM, 4x1TB RAID 10 (hardware), Dual E5-2620 and 4 1Gbps adapters (bonded, 2x public, 2x private) for around 60% the price of an M3-2XLarge.

M3-2XLarge = $720 per month, 60% = $432

As a softlayer customer, I would be very surprised if you can get 2620/64GB/4TB disks at this price range, we also consider ourself not a small customer, but for the above config, I guess we need to pay $800+. (after discount)

<comment><USER48> we use 100tb.com, a sofltayer reseller. It's $359 + $50 since both DC and SG aren't official 100tb datacenters:

<http://www.100tb.com/server-deals/>

We get access to Softlayer's vpn, their control panel..pretty much everything.

Years ago, at a different company, we used Softlayer proper...you can negotiate prices down by huge amounts..even so, they are overpriced when you take into account their reseller. (Note, I know the deal says 48GB, but we have 10 or so of those servers, and they all came with 64...ssshhhh).

<comment><USER56> Thanks for the link.

We have several 48GB machines ordered directly from SL, even after so called discount from SL's sales, we need to pay around $5xx per month.

</comment></comment></comment><comment><USER57> I wish that the author had actually included a benchmark with nice pretty graphs. The list of example hardware is nice, but doesn't tell me nearly as much as a couple of benchmarks would. Blanket statements such as "EC2's price- to-performance ratio is horrible" don't really do much to convince me. Yeah, the author is probably correct. But to what extent is he correct?

</comment><comment><USER58> I really like the concept of Amazon EC2 but it's incredibly expensive and the performance is horrible. Give me a full 1 gigabits connection, a few ipv4 adresses, all ports open and I'm all good. 90 % of all businesses are okay with this. The server business is getting too centralized and it's bad for the internet.

</comment><comment><USER59> I've been using Singlehop.com for over three years, and I couldn't be any happier. I rented a dedicated server in which I can create and destroy as many VMs as I want. I didn't have to setup anything. Once I got the dynamic server everything was available for me. No sweat, no headache, same price every month.

</comment><comment><USER60> The amount of FUD in this article, and on this thread are amazing.

The folks who claim it is more expensive to run AWS over on-premises infrastructure are either not counting their total costs (power, staff, off- site data storage, co-location) or not architecting things properly on AWS.

</comment><comment><USER61> We use SoftLayer to run a few hundred nodes and they have issues as well. For example, their network sucks and they have high rate of hardware failure (sometimes hard drive failures are off the charts).

<comment><USER62> We're in the same boat.

I definitely agree with you on the disk failures, and that's something I need to bring up with our account manager.

The above said, the network has been solid for us at SoftLayer for the last 1 1/2 - 2 years (things were rocky for a little while before that as the client base outgrew their capacity). Of course, your systems might be in different data centers to us so mileage may differ.

</comment></comment><comment><USER63> Do the small ec2 instances have the same performance problems as the micros? I just told my boss the other day I wasnt comfortable usings micros in production. Surely the smalls perform better?

<comment><USER64> Micros are really a completely different class from smalls and larges, because they offer "burst" performance. You shouldn't run anything in production on a micro, unless it's non-critical and not public-facing. Perhaps a 100% static web site, although even that I'm not sure about.

<comment><USER65> They can be appropriate for production workloads. You just need to understand the consequences of that burst performance. You also need to understand that you'll hit the invisible CPU usage limit without any notice.

</comment></comment></comment><comment><USER65> Route53 is _nice_. ELBs are _nice_. Cloudwatch is _nice_. Security groups are _nice_. You can get similar stuff with most providers, but AWS is a better holistic package for my money.

</comment><comment><USER66> Lets take the m2.4xlarge reserved instance type, it costs somewhere around $2k/month on AWS, but with a "generic hosting provider" it costs about %10-15 of that. Don't forget the 5-20% virtualization performance penalty either. The tradeoff is that for $2k you can get it pretty quickly and shut it down whenever you want, but if you spend more than 80hrs a month with that in use you should really get a dedicated resource somewhere else...

</comment><comment><USER67> Is there something comparable to Hetzner in the US?

<comment><USER48> OVH has a datacenter in Quebec. We use OVH in France (OP, btw). It started off because 1 system needed SSDs, and Hetzner isn't great about SSD. Once we had 1 system there, it was easier to put them all there.

Doing it again, I'd pick Hetzner over OVH. The OVH machines are great (weird disk partition though) and they've worked reliably..but the management console is horrible and while the support is fast and helpful, it tends to take a couple back and forth to get to a meaningful conclusion.

</comment></comment><comment><USER68> Our interactive server-based app (TeamSpace) absolutely cannot run in AWS/EC2. The latency is the killer. Even when throughput is high, latency per message can be 100s of milliseconds in/out of a datacenter, which is on top of our app latency and our client latency, leading to a miserable experience.

</comment><comment><USER69> You really can't beat it for the first year, though ;)

</comment><comment><USER70> Agreed on EC2 being expensive and slow.

</comment><comment><USER71> EC2 incstance start times are also horrible. Something like minute would be acceptable.

</comment><comment><USER72> What about the fact that it is run by a dirty coal generator? No one cares?

</comment><comment><USER73> It's almost funny to notice so many people got so brainwashed with "the cloud" hype - especially AWS hype - they completely ignore the alternative and end up paying more for less. "But hey, we're elastic. Gigity!" :-)

</comment><comment><USER74> from comments: op uses softlayer

</comment><comment><USER75> There are many use cases for which EC2 is exactly perfect and not overpriced.

As a consultant recently I was tasked to build a service which (rather not say), I had good data on requests per day, total data storage, factored in ELB, etc.

The cost was less than 2K a year. Now consider that the company refused to buy hardware or pay anyone to support it because they had a full staff of sysops maintaining their (rather not say) at great cost in their own data center.

2K is absolutely nothing to a company. Most of us are not Netflix or Dropbox. Don't pretend you have those kinds of problems if you don't. It could have cost 3x that per year and they still wouldn't have noticed it.

AWS for manageable workloads is dirt cheap at scale. I think you'd have to be nuts not to use it.

</comment><comment><USER76> I see these complaints a lot, and they are certainly accurate, but they miss the point. I use AWS because when an app server explodes, a new one is automatically spun up and added to the load balancer pool. The OS image is loaded from s3, which I don't have to worry about backing up. The app is loaded from s3, the templates are loaded from s3. I don't have to do anything. I would absolutely love to use dedicated hardware for the consistent performance. But where can I get dedicated hardware that lets me provision new servers automatically and have them running with our custom OS image in minutes?</comment>


Ask HN: We are being acquired by FANG; What title/level/compensation to expect? - <AUTHOR> We are a small team built a product which is ramen profitable. We are midway to acqu-hire by FANG. I am the founder, CEO and built the initial working version and earned first 1000 users. There is one another engineer and one marketing person. I have 9+ years industry experience. So my question is what level & compensation <i>I</i> should be asking? <comment><USER2> Frankly, I think you should expect zero beyond what they're paying to buy the company.

This way you will be pleasantly surprised by anything they do offer. And you won't be too unpleasantly surprised if they don't offer anything at all, and you just get shown the door.

<comment><AUTHOR> agree most of what you said.

Our lawyer said, it's good that you have a fair exit. Many companies he consulted didn't go anywhere. EXCEPT we were not really looking for an exit and quite enjoying the journey how ever little money we are making. I never worked for FANG or anywhere closer so totally clueless.

</comment></comment><comment><USER3> Here[^1] is a video of Instagram's Kevin Systrom explaining the transition after Facebook acquired Instagram. The whole interview is good, and the segment would better be taken in context. All the best.

[^1]: [https://youtu.be/Fgn2fhZBAVA?t=3365](https://youtu.be/Fgn2fhZBAVA?t=3365)

<comment><AUTHOR> Thanks thats helpful.

</comment></comment><comment><USER4> Depends on the interview, they won't just give you one. If they decide to keep you, they will interview you and keep those that perform well. You can be a manager, if they are going to build out the software, you can be a VP for that product if you demonstrate competency. Best of luck.

<comment><AUTHOR> Thanks. They specifically want to keep us to integrate our tech - but with huge modifications - almost like building from scratch. The deal is more of acqu-hire than acquire the product & users.

</comment></comment><comment><USER5> If you would consider yourself a Senior level, which you probably should, given you built an acquired product, you can look up the paybands online. 250-500, to throw out a range.

<comment><AUTHOR> Thanks. i was architect/manager before i started the company, so yeah i am looking for senior level position.

</comment></comment><comment><USER6> find people in the company who have the same level of experience as you and find out how much they are getting paid

<comment><AUTHOR> 1\. It turned out to be quite difficult to approach people without revealing confidential information.

2\. No. years of experience does not seems to correlates with level/compensation.</comment></comment>


Ask HN: Worth filing provisional patent for micro-ISV product? - <AUTHOR> Hello HNers,
I'm going to (hopefully) be releasing my first commercial software product fairly soon. The lawyers I've talked to have recommended that I file a provisional patent for the software before it becomes publicly available. This is my first foray into the business world, so I don't know what's typical here.
I come from an academic background, and I can say that there's nothing publication worthy about this software, which makes me doubt its patentability. It's also quite expensive to get a lawyer to do the filing. Can anyone share some wisdom or experience with this?
Perhaps relevant details: I am in the US, working alone, with no outside investors. <comment><USER2> Publication-worthy and patentable are two separate things. So, I wouldn't approach from that perspective. Not to over simplify, but software is patentable if it is new, useful, and not obvious given what has been done before.

Once you make the software publicly available, you have one year to patent it in the U.S. Other countries don't grant this one-year grace period. So, foreign patent rights depend on filing before you make the software publicly available.

I asked my colleague, who is a patent lawyer, his thoughts on this and he recommends just filing a full patent application, not a provisional patent application. A provisional patent application isn't cheap either. And you have to file the full application within a year anyway. So, it's just added costs, deadlines, and administrative hassles.

Hope this is helpful.</comment>


Functional programming in C++ - <AUTHOR> https://medium.com/@nirjhor/functional-programming-in-c-8bdbd903ee32 <comment><USER2> Quick and dirty imperative version:

        #include <climits>

        int count_common_chars(const std::string& str) {
          int n = 0, common = 0, counts[CHAR_MAX - CHAR_MIN + 1] = {};
          for (char c : str) {
            if (c == '\n') {
              common = 0;
              n++;
            }
            if (counts[c - CHAR_MIN] == n) {
              counts[c - CHAR_MIN]++;
              common++;
            }
          }
          return common;
        }

Tastes may vary, but to my eyes the imperative version has some advantages:

* Faster

* No allocations

* No dependencies

* Easy to add an early return if common == 0 (in the functional version it's much harder)

<comment><USER3> > counts[CHAR_MAX - CHAR_MIN]

Shouldn't that be counts[CHAR_MAX - CHAR_MIN + 1] ?

<comment><USER2> Good catch, thanks!

</comment></comment></comment><comment><USER4> Cool, but I'm left with some observations:

1) C++ already provides a transform and accumulate (just for starters) which are much like map and fold. Isn't it better to learn to use the built-in tools rather than rely on a library? There is quite a lot of functional-style stuff in the standard already.

2) The cost of these abstractions is not clear. You can do a lot of functional idioms in C++, but often a tremendous amount of copying is happening compared to an imperative solution, because C++ lacks functional data structures under the hood.

3) Points 1) and 2) above are largely addressed by proposals for C++20 specification, such as the Range library.

<comment><USER5> transform in C++ is not that great. The standard does _not_ guarantee order is preserved, which makes it virtually useless. People recommend for_each if you want to preserve the order, but it's almost the same as writing a for loop.

As for cost, I had a C++ teacher who once sat on the standards committee. His advice: Always use the algorithms library even if it "feels" like it is costlier. Reasons:

1\. Much lower likelihood of having a bug.

2\. Virtually every time someone decided writing an explicit solution rather than using the algorithms library, it did not perform better (even in cases where it seems "obvious" it should).

<comment><USER4> > The standard does not guarantee order is preserved

Are you sure about that? The standard does not guarantee which order transform will actually run and apply the function, but that is a different matter than the order of the final result. I'm pretty sure the standard guarantees that. If you have side effects and require application order guarantees, for_each is the one to use.

edit: this SO answer from a Google engineer suggests I am correct: [http://stackoverflow.com/questions/34167638/stdtransform- ord...](http://stackoverflow.com/questions/34167638/stdtransform-order- guarantees)

<comment><USER5> Ah, yes, you are correct. Will now happily use transform :-)

</comment></comment></comment></comment><comment><USER6> "This is code I personally would love to maintain compared to what an imperative version could look like."

I think this piece would have been much more compelling if it didn't end with this line.

I personally would _never_ want to maintain that code (in C++). I mean hey, look, I get it. Functional programming is awesome. But with all of the magic behind the scenes needed to make that work in C++, it just feels like an overly complicated, Rube Goldberg-esque solution to a relatively simple problem.

</comment><comment><USER4> For the curious, there are many other stabs at doing functional programming in C++:

[https://github.com/beark/ftl](https://github.com/beark/ftl)

[https://github.com/BartoszMilewski/Okasaki](https://github.com/BartoszMilewski/Okasaki)

[https://github.com/fons/functional-cpp](https://github.com/fons/functional- cpp)

[https://cat.github.io/](https://cat.github.io/)

There is a lot of interest in making this happen in C++, which is awesome.

<comment><USER7> All great links, I just wanted to add a link to the library that started it all, FC++:

[https://www.cics.umass.edu/~yannis/fc++/fc++-sigplan.pdf](https://www.cics.umass.edu/~yannis/fc++/fc++-sigplan.pdf)

Note that this the library is now obsolete, but it did introduce a lot of techniques.

</comment></comment><comment><USER8> I don't understand. What's the point? If you really want to do function programming, use a language made for it, like Haskell or OCaml. Why the need to make one language do everything. Whatever happened to using the right tool?

<comment><USER9> This is a direct demonstration that C++ is the right tool. Most good modern programming languages have sufficiently convenient syntax (in C++, function types, templates and lambdas/closures) and sufficiently advanced libraries (like the set implementation the article relies on) to allow a functional programming style, which mostly means, like in the linked article, read-only data structures and higher order functions.

For an established C++ or Python programmer, being able to "make one language do everything" is great and functional programming style is "the right tool" for some specific needs. Preferring certain "pure" languages for the purpose of doing functional programming, regardless of the domain, can be an interesting experiment but is completely backwards from a practical engineering point of view.

<comment><USER10> > This is a direct demonstration that C++ is the right tool.

Well, it's a demonstration that C++ can be made into an adequate tool. The _right_ tool? That might be a bit of an overstatement...

</comment></comment></comment><comment><USER11> This makes as much sense as "Imperative Programming in Haskell".

Sure, it can be done, but it would go against the grain of the language (imho).

</comment><comment><USER12> Nice article and effective demonstration of the FunctionalPlus library.

That said, this makes me a bit nervous about shoe-horning functional programming into contexts where it is inappropriate. FunctionalPlus aside, C++ is very clearly designed for an object oriented style (even the name, C++, refers to "C plus objects").

Going too far down the path of working against the intent of the standards committee seems like a recipe for trouble (unless you're just talking about hobby projects).

<comment><USER13> I completely disagree - C++ is a multi-paradigm language and the C++ standard is already chock full of non-OO stuff.

The example code in the article also makes use of objects such as std::string, sets etc.

<comment><USER12> I'm not sure I agree that STL that containers are explicitly not OO.

That said, I don't disagree that C++ can support functional programming. I would just argue there are languages better suited for this.

(edited for clarity)

<comment><USER4> The author of the first STL has famously said that, even after all these decades, he has never written any C++ code that uses OO inheritance, because he hasn't found a use for it.

The STL is mainly a generic library, not an OO library.

<comment><USER7> Yes, Stepanov is not exactly an OO fan. This interview with him, were he declared that "OO is an Hoax", is great:

[http://www.stlport.org/resources/StepanovUSA.html](http://www.stlport.org/resources/StepanovUSA.html)

</comment></comment></comment></comment></comment><comment><USER14> The Medium article has been removed. I think the same article (possibly under a different author's name?) appeared here [https://github.com/Dobiasd/articles/blob/master/functional_p...](https://github.com/Dobiasd/articles/blob/master/functional_programming_in_cpp_with_the_functionalplus_library_today_hackerrank_challange_gemstones.md)

</comment><comment><USER4> take a look at one of the macros this library depends on:

[https://github.com/kennytm/utils/blob/master/traits.hpp#L47-...](https://github.com/kennytm/utils/blob/master/traits.hpp#L47-L53)

Wow that scares the heck out of me to do that!

<comment><USER15> What? That macro is super straightforward. Yes, generating C++ templates from CPP macros is a little ugly, but it's not particularly hard to understand.

CPP macros only start to get weird once you start implementing control structures in them. [http://pastebin.com/raw/tNaX99eA](http://pastebin.com/raw/tNaX99eA) (Yes, that's code from a project I work on. Don't ask.)

<comment><USER4> I didn't say it was hard to understand; but it does scare me to depend on any C-style macro like that in a C++ project.

</comment></comment></comment><comment><USER16> Why?

<comment><USER17> Years ago I saw a WWW server written in PostScript. People were also asking "why?" :)</comment></comment>


Yammer Now Available in Dutch, French, German, Japanese, Korean, and Spanish - <AUTHOR> http://www.marketwire.com/press-release/Yammer-Now-Available-in-Dutch-French-German-Japanese-Korean-and-Spanish-1365833.htm

<comment><USER2> hello guys, i have a question about yammer for example, if i sighn up in yammer with a company mail like microsoft , can i access to all of employeers of microsoft or no ,i was accessing to microsoft's employeers that sighned up in yammer?</comment>


Interview with Don Syme, the inventor of F# - <AUTHOR> http://www.simple-talk.com/opinion/geek-of-the-week/don-syme-geek-of-the-week/

<comment><USER2> "...nothing beats the uses of F# to implement statistical machine learning algorithms as part of the Bing advertisement delivery machinery." For those interested, I found a bit more information here (AdPredict): [http://www.slideshare.net/lgayowski/taking-functional- progra...](http://www.slideshare.net/lgayowski/taking-functional-programming- into-the-mainstream-eclipse-summit-europe-2009)

</comment><comment><USER3> "According to many developers, it is the most original new face in computer languages since Bjarne Stroustrup developed C++ in the early 1980's."

Uh, isn't F# mostly a derivative of OCaml (and Haskell)?

<comment><USER4> It is a derivative of oCaml and Haskell, but it's also a multi-paradigm language that borrows from C# and Python. It has elements of imperative and OO.

I don't know if it really is "the most original new face", and could be critized for trying to bring too many things into one, but it's not just a clone of Haskell or OCaml.

[edited typo]

<comment><USER5> OCaml is also a multi-paradigm language, in which you can program in imperative, functional, and object-oriented styles.

Sorry, but F# basically _is_ OCaml. F# code can even be compiled in an OCaml compiler, often without modification.

The only credit I'll give Microsoft here is in not picking a shitty technology to copy, like they usually do (like Java for C# or VMS for NT).

<comment><USER6> "F# code can even be compiled in an OCaml compiler, often without modification."

I think you have that backwards. The #light syntax preferred by F# is not compatible with ocaml. ocaml and the non light syntax are about the same though.

</comment></comment></comment></comment><comment><USER7> "F# also has a feature called 'computation expressions,' and we're particularly happy with the unity we've achieved here. "

Computation Expressions aka Monads

"The designers of F# use term "computation expression" and "workflow" because its less obscure and daunting than the word "monad." [1]

Monads for Morts? seriously though, is anyone really _daunted_ by Monads?

It is a great interview. Thanks for posting. F# is one thing I respect MS for. Linux/OSX really has no equivalent[2]. The ocaml implementation has a lot of catching up to do and Mono is a steaming pile of crap.

[1] [http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation...](http://en.wikibooks.org/wiki/F_Sharp_Programming/Computation_Expressions)

[2] Equivalent _to F#_. HAskell is a different (but awesome) language , thankfully available on all platforms

<comment><USER8> I can't agree that Mono is a "steaming pile of crap". Mono lets me run my .NET utilities on OpenSolaris; that all by itself makes it a win and most definitely non-crap for me.

My primary problem with it is its lack of a production grade precise compacting garbage collector.

<comment><USER9> >production grade precise compacting garbage collector

Yeah, this is a big letdown. I'm surprised Novell can't devote the resources to finishing a halfway decent collector.

</comment></comment></comment><comment><USER10> F# really is a wonderful programming language; I do think that the F# team, not to mention many F# developers undersell its beauty and usefulness simply as a general programming language, there always seems to have to be a mitigation such as 'it's complimentary to C#', etc., pity the language's creator goes along with that.

F#'s pattern matching and type inference alone are easily superior to equivalent C# code, pretty well objectively, not to mention natural immutability and inbuilt tuples; all of these features very quickly feel vital and are missed in other languages; not to mention the inherent usefulness of F# for concurrent programming.

With Mono you can use F# perfectly well in linux + on mac too, so there's no excuse for not trying it :)

</comment><comment><USER11> This is a nit, but wouldn't "designer" be a better word than "inventor"?

<comment><AUTHOR> Perhaps. I was trying to think of the right word when I submitted the story; I think some people consider themselves "inventors", some "designers", and some (mostly mathematicians) "discoverers".</comment></comment>


How the Baby Bells and the government destroyed competition for DSL (2006) - <AUTHOR> http://www.niemanwatchdog.org/index.cfm?askthisid=196&fuseaction=ask_this.view

<comment><USER3> Very interesting article, for a number of reasons. Back in the 90s I was just a kid, but I distinctly recall the major changes in the telecom landscape happening then: DSL/Cable internet access becoming "a thing" as well as huge changes in telephone rates & rate structures. It's always interesting to read articles describing the history of market changes in retrospect. Also, it's eye-opening to learn how we got to where we are now (arguably crappy telecom infrastructure) and about the regulatory changes that guided us.

This piece is from 2006. What I'd really like to see is a similar article written today about the wireless telecom industry. Certainly the wireless telecom has been a pretty exciting industry in this past decade - <USER2> are very, very mainstream now (if I had a Palm VII when I was in school, I would have undoubtedly been denounced as more of a dork than I already was) and sms/wireless internet access has arguably supplanted actual voice communication, at least in the younger crowd. At the same time, costs for these services have increased substantially. Just five years ago, I remember paying $30 for basic cell phone service. With a smart phone, can you even get voice+data for less than $60 or so? The pattern for industry consolidation is following the wired telecom's footsteps. I guess we'll see in the next few years if the wireless telecom market becomes as consolidated as the wired market is today.</comment>


Keybase advisory: Local Privilege Escalation on Linux via Keybase-Redirector - <AUTHOR> https://keybase.io/docs/secadv/kb002 <comment><USER2> Running exec.Command in a setuid binary sounds like a pretty horrible thing to do from a security perspective. If you have any of these in your software, please consider rethinking if you really need them or could do with something that doesn't have as many holes in it.

<comment><USER3> They probably weren't even aware that they were doing an exec.Command, as they say they were using a go dependency for the mount behavior. Whoever wrote your dependency might not have had your use case in mind when writing the library. When you evaluate your dependencies you have take into account what differences there are between the authors usecase, and yours.

It would be easy to say that dependencies are a bad thing, especially when writing programs that are run as root or even suid, but there's no reason to assume the same mistake would not have been made if they wrote the mounting code themselves.

The big lesson should be that there should always be an explicit step to your software development process that is to evaluate the security characteristics of your program. Of course, it should always also be on your mind while writing code, but there's so many layers you depend on, and so many things you might not think of.

</comment></comment><comment><USER4> I know it's just FUSE but I don't see advantages to mounting the Keybase filesystem on Linux/Mac. Seems like it would open some unnecessary doors like this one.

<comment><USER5> The advantage is it means arbitrary programs can then interact with the Keybase filesystem, as opposed to having to manually copy the files you want to/from it.

</comment></comment><comment><USER6> Worth noting there is also an advisory for MacOS: [https://keybase.io/docs/secadv/kb001](https://keybase.io/docs/secadv/kb001)

<comment><USER7> Also worth noting this was fixed in September.</comment></comment>


Slack bot token leakage exposing business critical information - <AUTHOR> https://labs.detectify.com/2016/04/28/slack-bot-token-leakage-exposing-business-critical-information/ <comment><USER2> Good quick read on being more careful with slack webhook urls/tokens. It'd be neat if github could detect common key patterns in commits and warn if they see any. But not sure how many key patterns are that predictable!</comment>


Hacker News Meetup in Boulder, CO - <AUTHOR> http://www.meetup.com/Boulder-Hacker-News-Meetup/

<comment><AUTHOR> Our current plan is to meet at the Dark Horse on July 13. Please see the meetup page for more information. The idea right now is to meet local interesting people who read Hacker News!

<comment><USER2> Sounds like fun!</comment></comment>


Facebook Profile Pictures Vulnerability? - <AUTHOR>

Hello,
I tried emailing Facebook regarding this issue, they never replied.
The problem is, if your current profile picture is set to public (which is the default when you update your picture), then anyone can go through your profile pictures album.
Way around it is to set your current profile picture to friends only. <comment><USER2> The way around it is to never use facebook</comment>


Tim Fox Steps Down as Vert.x Project Lead - c-rack https://groups.google.com/forum/?fromgroups#!topic/vertx/yluLHXa5CRU <comment><AUTHOR> I've heard lots of good stories on Vert.x and was planning to give it a try. This news makes me wonder if there's is something happening in the project.</comment>


Does Japan Need the iPhone?  - <AUTHOR> http://www.businessweek.com/globalbiz/content/dec2007/gb20071220_152247.htm?campaign_id=rss_topStories <comment><USER2> No, it needs the jPhone. ;-)</comment>


How America's two tech hubs are converging - <AUTHOR> http://www.economist.com/news/business/21721950-more-ever-seattle-and-silicon-valley-are-joined-hip-how-americas-two-tech-hubs-are <comment><AUTHOR> _Seattle and Silicon Valley are now joined at the hip. The best approach is to make that connection as efficient as possible, ... Rather than relying on flights, which are often delayed or cancelled due to bad weather, ... someone should build a high-speed rail line._

Good luck with that. It took a world of political arm-twisting to get a modern rail line from LA to San Francisco, a distance of only 400 miles. San Francisco to Seattle is twice that. Not gonna happen.

<comment><USER2> And Oregon is in between along with Northern California and a lot of Washington state. Every local politician is going to want a stop to develop its own startup hub.</comment></comment>


Former Microsoft CPU Researcher Does Reddit AMA - <AUTHOR> http://www.reddit.com/r/IAmA/comments/1yj77b/as_requested_i_was_a_cpu_researcher_ama/

<comment><USER2> Enjoyed reading that, thanks. However, I didn't see any mention of Microsoft, only Intel.</comment>


Apple's Narrative Problem - <AUTHOR> https://medium.com/editors-picks/b36cd86c3fce

<comment><USER2> I think it'll be interesting to see that even if we do get a rethought Apple TV or even an 'iWatch' in the near future, will that actually spur any real change in the way the company is perceived.

A lot of people have said something along these lines so I won't try to quote anyone directly, but there's that saying that when a new product/idea in the same space comes out, it not only has to be as good as existing services but it needs to be significant margin _better_ to really make any noise.

Maybe contract deals are what's holding up a re-released Apple TV but even if were to say include Siri integration would those two things be enough to make it radical. In terms of any watch, Apple is notorious for a slow and small feature set (but obviously very well thought out) so I could really columnists/bloggers yawning at its release too.

Bottom line I'm not even convinced new products will spur any changes to their narrative, I think the author hit the nail on the head that Apple is no longer an 'underdog' in any respect and now they're held to unrealistic standards (despite still being very profitable).

<comment><USER3> One thing to remember was that when the phone was just a rumor, it was hard to imagine why it would be that great. The goofy image that Steve showed on stage of a rotary-wheel on an iPod wasn't that far from what a lot of people were imagining. But I agree, it's a different game now and they're held to a remarkably different standard.

Given how much cash they have, and the lead time it affords, I would not be shocked if Tim Cook's strategy involves letting the expectations bar get lower and lower -- it could only help them (to a point, obviously).

Or in five years we'll all look back and say it was elusive magic that's never coming back ;)</comment></comment>


Tornado 2.0 released - <AUTHOR> http://groups.google.com/group/python-tornado/browse_thread/thread/9d428eb487a37aed

<comment><USER2> can not understate just how well written Tornado is. If you are a web app developer, it is well worth reading the source of the project - you will pick up a lot of tips and tricks on developing quick and scalable apps.

outside of the event loop implementation, the framework components are well written - so tornado is worth checking out even if you are running on a more standard type of web server environment or appengine

my own web app stack contains a number of modules either directly from Tornado or inspired by sections of the project

<comment><USER3> I found some parts of it to be very poorly written. Like the error handling where it assumes you want to return HTML (remember that Tornado was first written to handle RSS feeds). It also has really poor support for multiprocess mode, where if a child gets killed , the parent does not restart it. Or if the parent is killed, the children may continue running. Also the gzip implementation is broken: if the client mentions gzip even as q=0, Tornado will use it. Just feels like the devs did not not quite pay attention to the details as much as the event loop.

<comment><USER4> There's never been a real focus on multiprocess. The recommended solution is to run individual instances and load balance them with something like nginx and manage them with supervisord.

Sure the multiprocess stuff is in there, but I honestly wouldn't use it for more than perhaps a dev environment where you want to spool up multiple instances quickly for testing.

</comment></comment></comment><comment><USER5> Anyone know why they didn't go with Jinja2 for templates? When code is this clean I'm sympathetic towards the "batteries-included" approach, so I'm not criticizing the choice, just wondering if there was a back story, if it got evaluated at all. Same for locale.py vs. PyBabel. The template engine seems far better than Django's at least : )

<comment><USER6> My guess is that they wanted to go the "self-contained" route as opposed to the "amalgamation of different libraries" approach (a la Pylons/Pyramid). This makes it a lot easier to learn for true beginners since it eliminates the overhead of navigating the documentation of a multitude of different libraries .

Tornado is so flexible, though, that it would be pretty straightforward for you to use whatever templating library floats your boat.

</comment></comment><comment><USER7> What exactly is the reason for using Tornado over something like Flask+Gunicorn+meinheld? Preference?

<comment><USER4> Preference is generally the reason for choosing any framework.

What Tornado provides is a small but well featured framework for building web applications. It's event loop based which allows it to support lots of connections. It also has been built from the ground up with the idea of horizontal scaling of it across multiple load balanced instances so if that's your plan for scaling you know it fits the mold well.

</comment></comment><comment><USER8> I know that nobody outside of the Python community cares, but it's disappointing to see that Tornado still doesn't use Twisted for its event handling.

<comment><USER9> I don't know if that many people inside the python community care either. Twisted is very big, documentation seriously lacking, and a lot of stuff in twisted not that useful if you only care about http. If you care about http, twisted is not that useful either (there is for example no http 1.1 support client-side AFAIK).

It would also have made porting tornado to python 3 a huge effort (given twisted code size).

<comment><USER10> [http://twistedmatrix.com/trac/browser/trunk/twisted/web/_new...](http://twistedmatrix.com/trac/browser/trunk/twisted/web/_newclient.py#L5) I run a web crawler out of Twisted, so I sort of care about HTTP.

<comment><USER9> I am aware of that code: it is undocumented, and does not have support for things as fundamental as keep alive. The underscoring does not inspire confidence either.

<comment><USER11> You're meant to use the public API twisted.web.client.Agent (which uses _newclient). If anyone's interested in finishing keep-alive support, the ticket is <http://twistedmatrix.com/trac/ticket/3420></comment></comment></comment></comment></comment>


The best employees are not the agreeable ones - <AUTHOR> https://work.qz.com/1309735/adam-grant-the-best-employees-are-not-the-agreeable-ones/ <comment><USER3> > They're more likely to fight for what they believe in, challenge the status > quo, and push the organization to make painful but necessary changes, he > says.

A long time ago, I had a new employer that wanted me to hotfix non-critical code changes to a live, popular website via FTP with no version control, no nothing. Like a single typo could crash a high traffic site. I told them this was extremely dangerous and irresponsible, and refused to do any changes until we got the system under version control with a reasonable way to deploy changes. This caused a huge standoff and I basically put my foot down and told them that I wouldn't be deploying any changes until I got the client's website under version control--they could dock my pay for the extra time it took, I didn't care. Anyhow, I set up version control and a deployment strategy that we could rollback (this only took a day or so). Then I made the changes and educated the team on how to safely push changes to the site.

A month or so later they decided to not renew my contract, but by then the feeling was quite mutual.

I told this story while interviewing at what would be my next employer and it worked as points in my favor.

EDIT: FWIW I consider myself a generally agreeable giver until a certain threshold is crossed. One such threshold is stuff that moves into what I consider to be ethically irresponsible behavior. Perhaps you would call this a "selectively agreeable/disagreeable giver." There are "disagreeable givers" that pick their battles wisely in terms of when to apply friction and when to go along with the team. On the flip side there are those that will apply friction to every little thing and might relish in complaining and "I told you so"s and cowboying up their own solutions for every small disagreement.

EDIT2: Clarifying that the "hotfixes" were non-critical, normal code changes.

<comment><USER4> I think there's a trade off there. There's something to be said for "getting shit done" in the short term, voraciously arguing why it was bad afterwards.

<comment><USER5> You have to decide for yourself how much you can tolerate and still respect yourself. I'd have made the same choice as OP, and because I know that about myself, I keep fuck-off money in my bank account in case I ever need to take a stand that gets me fired. Self-respect is more important to me than any one job.

<comment><USER6> I don't yet have that luxury, but this is one of my big overriding goals - <USER2> by early 40s.

I've been in one or two situations where I would have walked if not for my mortgage and being sole provider with a young family.

Absolutely hated not having that choice, remembering how disempowering that was keeps me on track to work towards that freedom.

(I am not in SV, and good options at my level in my location take a few months to find)

<comment><USER3> It's easier to stand your ground when you're young, single, and mobile (which I was at the time).

As a medical student you might see something unethical or negligent happen during rotations, but even speaking up could risk your career (superiors give you a bad eval, this affects residency applications down the line). This hasn't happened to me personally, but you hear stories from other students with all kinds of actions and outcomes. So I really feel ya there. There isn't a one size fits all walk off point because stakes are always different.

Good luck on your FIRE plans!

</comment></comment></comment></comment></comment><comment><USER7> I'm always skeptical of things like this that attempt to distill the full range of human personality and behavior into a simple table with four values. I haven't done any studies, but I feel like this sort of thing is disprovable by simple counter-example: as soon as I come across a single person who does not fit into this box, the universality of the box is already clearly wrong. I've come across many such people, whose behavior in the work place can't be described by the combination of two adjectives. (In fact, it's the only kind of person I've come across.)

<comment> cup-of-tea It is implicit in things like this that it's a generalisation suitable for discussing the case in point and not actually trying to describe the full spectrum of human behaviour. You should (and clearly do) know this. Generalisations are very powerful. I know they are unfashionable because everyone is unique and special, but you won't get very far without them.

Individuals are very difficult to predict. Populations are remarkably easy to predict.

<comment><USER8> > "Populations are remarkably easy to predict."

Could you break that down a little further?

<comment> cup-of-tea Well it's the very essence of statistics. You probably can't predict how many of your friends will reproduce and how many offspring they will have, but you could definitely predict the average number of offspring the current population will have. Even though the "model person" with 2.1 children doesn't exist (can't exist even) it's still a thoroughly useful generalisation.

</comment></comment></comment></comment><comment><USER9> I think the author left out the other side of the argument...maybe the Wharton professor didn't in the original presentation of the idea.

How does the company treat the employee? I've found that the employee will generally try to mirror how the company treats them. If they feel the company is taking advantage of them, then they might start acting like a Taker just to balance out the relationship.

If they freely give to the company, and the company gives back, then that could start a positive feedback loop.

Sometimes, the company is structured so that the company can't give back, i.e. rigid HR policies about raises/promotions that limit a meritocracy. If the opportunity cost of switching company's is higher, then the employee is probably going to milking the company for everything it's worth to try to even out the relationship.

</comment><comment><USER10> As a disagreeable giver, I have learned to accept a lot of things, mainly that I am widely misunderstood. A funny thing I've come to learn is to always seek employers who are themselves committed and passionate beyond convention. The gap between the results of finding such an employer and working for an average drone spans the almost the entire spectrum. Passionate people always get me, and I think they have been greatly rewarded for it. I will do anything for those people; I'll even knowingly waste their time if I _really_ like them, but that's asking a lot.

<comment><USER11> I like to call our approach "radically earnest."

<comment><USER12> I generally try to go by this approach as well, which I have found to create for some interesting situations after moving country.

I come from Norway, where speakig up if something is wrong is highly encouraged, and you will most of the time be able to directly jump org levels with your conserns without anyone getting sour. People seem to genuinly want to contribute in the best way available, and work to that end.

Mexico is my new home, which can be best generalized and summed up as a macho culture where people mind their own business and don't want to rock the boat (might be a regional thing, tho. The south where I live is very mañana mañana). Being afraid of speaking up is not encoded in my genes, so I've quite a few times called out injustices when I see them, and peoples reactions are a funny mix.

I luckily have found a company to work for that has one of those dreamer bosses that OP mentions, and I find myself having a lot of influence on the business simply because I speak up.

</comment></comment></comment><comment> cup-of-tea I'm a disagreeable giver. I've just left a job which didn't appreciate this. Funny thing is, everyone on my level said all the time how much they appreciate my openness with knowledge and desire to teach my skills. I found that odd because I consider it completely normal. The people above me hated it, though. Some of them shot down my efforts to enable basic knowledge sharing in the company. Most of the time I just made it very obvious that I could see them with their clothes off, though, and there were a lot of naked people above me.

<comment><USER13> Am I wrong to assume that most of HN is the disagreeable giver type?

I'm assuming that agreeable people tend not to seek out information outside of their bounds, and takers would be on some crypto trading forum or something.

<comment> cup-of-tea I think you're probably right, yeah. The typical internet commenter will be very quick to tell you you're wrong, but they'll make every effort to tell you why.

</comment></comment></comment><comment><USER14> The best I've worked with have a knack for presenting making their contrary ideas agreeable.

While the jerks assume they are being attacked for their beliefs, the smart ones understands the value of group effort.

<comment><USER15> Yeah being an X employee is setting a low bar. Behavior has to be adapted on a situational basis, and if you can't, that's a problem across the spectrum.

Though if I had to pick favorites I would totally go for agreeable giver who wields the other 3 roles for impact :-).

</comment></comment><comment><USER16> Usually, the employee screening at the entry level relies on assessment of education history of the prospect.

The problem is that educational excellence often selects for agreeableness, as there is no real reward of contrarianism in education.

From bullshit Liberal Arts essays where you are graded in function of the level of endorsement of the brain farts of the professor in question to even the CS projects that are supposed to be made in a specific technology, often some JavaEE crap avoiding using more powerful languages or ecosystems like Python, Elixir or Clojure.

I wonder how many billions has the economy lost as a result.

<comment><USER17> Not true. A CS degree from say, UIUC has no correlation to agreeableness I can see. I can't count the amount of jerks I knew in school. Cockiness, yes. Sometimes brilliant, yes.

The few girls in the CS program could easily verify the lack of agreeableness.

<comment><USER18> Yeah, I was a student at math.illinois.edu, but did a CS minor- man, that major had the highest proportion of fuckheads I've ever encountered.

</comment></comment></comment><comment><USER19> I have managed a disagreeable giver. I very much appreciated his upfront style and his passion. But whenever he was exposed to the rest of the organisation people took him as hostile and arrogant. Ultimately me backing him made me untenable. Moral is that working with contrarians are good but be careful.

</comment><comment><USER20> There's another point that's relevant. If someone isn't producing the goods, they need need to make themselves liked somehow. Joke around, pat people on the back for whatever they do, generally act positive. That way people might not notice they're not pulling their weight.

This happened at a place I worked at, and it was compounded by the others being too agreeable to call him out. When I eventually did it ended badly for me.

<comment><USER21> > _If someone isn 't producing the goods, they need need to make themselves > liked somehow_

In competitive work environments, I've seen this heuristic overcorrect more often than be right, _i.e._ the nice person is assumed to be incompetent. Having worked on a trading floor, where niceness was not valued, and on teams with nice people with whom one could vent, reconsider interpersonal disputes or bounce ideas off (in terms of how others on the team might see a proposal), I strongly preferred the latter.

</comment></comment><comment><USER22> Most orgs favor takers IMHO.

It is more compatible with how project managers run things: "Here's your tasks, tell me when they will be done, don't do other tasks (like helping your peers) or the deadline will slip." That way of working is almost antithetical to givers.

These places prefer agreeable takers-- that's why people always say stuff like "I have a lot on _MY_ plate!"

</comment><comment><USER23> I've worked at places where people are "too busy" to help with anything, and where nobody asks me for help with anything. I can't imagine anybody prides themselves on that sort of culture, but it seems common. My first job after graduation, I was lucky to be in a place where giving and asking for help/advice was normalized. The more cocooned and protective of their job, and the more distrusting of the organization people are, the less I suppose they want to share information.

</comment><comment><USER24> Cool, I just need to get my boss to read this.

<comment><USER25> Being disagreeable doesn't necessarily make you a good employee.

</comment></comment><comment><USER26> _" Disagreeable givers, on the other hand, can be a pain in the ass, but valuable to an organization, Grant says."_

The problem is this person doesn't exist. Most people that are constantly disagreeable are just bluster and talk and don't get anything done. Occasionally disagreeable is useful, though.

<comment><USER27> We never get anything done because everyone tells us how wrong we are all the time and the psycological toll is hard to manage. I get my best work done when I tell no one, just do the thing that I know needs done and then try to navigate the politics at the end to get it accepted.

</comment></comment><comment><USER28> You want people who can "disagree without being disagreeable"

<comment><USER29> I've seen the word disagreeable being used in a few studies lately and I was beginning to wonder if it meant something else in psychological circles, ie not agreeing to everything rather than being unpleasant.

Every definition seems to point to being vexatious, which I find somewhat sad.

</comment></comment><comment><USER30> While I agree with the result, let's be cognizant that we don't allow assholes to blend in by claiming they are 'disagreeable'.

</comment><comment><USER31> Disagreeability is itself a form of taking. You had better be amazing at what you do if you want to be grumpy.

<comment><USER32> Disagree with the first sentence, agree with the second. How precisely is "Disagreeability... a form of taking"?

<comment><USER33> You just took his time by having to explain.

<comment><USER34> You could also save A LOT of time by making others realize that idea has no merit.

</comment></comment></comment></comment><comment><USER35> Related: The best employers don't seek out and promote agreeable employees.

<comment><USER21> > _The best employers don 't seek out and promote agreeable employees_

The best employers know _when_ to hire agreeable employees.

"It may be that agreeableness may aid performance in some jobs but be a limitation in others... Evidence supports a link between agreeableness and prosocial work behaviors (Chiaburu, Oh, Berry, Li, & Gardner, 2011). Such a link exists, at least in part, because agreeable individuals are motivated to maintain positive interpersonal relationships with others (e.g., Barrick, Stewart, & Piotrowski, 2002). This is particularly important when considering group activity. Graziano, Jensen-Campbell, and Hair (1996) found that agree- able individuals reported higher levels of liking toward a randomly assigned partner. Most relevant to the current study, Mount et al. (1998) found that agreeableness was positively related to performance for service jobs requiring dyadic interactions.

However, some agreeableness characteristics—namely, the eagerness to cooperate and avoid conflict (Goldberg, 1990; McCrae & Costa, 1990)—suggest that agreeable individuals might struggle in competitive environments." [1].

Also, "agreeableness more positively predicted job performance in jobs requiring attention to detail and involving independence in completing work" (page 11670.

[1] [http://leeds- faculty.colorado.edu/dahe7472/Judge%20and%20zap...](http://leeds- faculty.colorado.edu/dahe7472/Judge%20and%20zapata%201149.full.pdf) _page 1155_</comment></comment>


Swedish Police Set to Take Over Pirate Bay Domains - <AUTHOR> https://torrentfreak.com/swedish-police-set-to-take-over-pirate-bay-domains-171222/ <comment><USER2> Law enforcement: Woohoo we just spent millions in tax-payer dollars and got these copyright infringing bastards' domain. That'll stop them.

30 minutes and $10 domain registration later: Pirate bay: We've migrated to our new domain, take this one and we'll buy another...

<comment><USER3> I'd imagine they bought as many as possible several years ago, and only release 3-4 at a time.

At this point, I doubt there are very many TLD's left that don't have a TPB domain, whether bought by TPB or by a reseller.

</comment></comment><comment><USER4> All these years and the .org domain still works fine. What makes it so hard to block it, does the Internet Society has something to do with that?

</comment><comment><USER5> It's amazing they don't get that they can't block the site by blocking the domain name, and that it will come back under a new domain each time.

<comment><USER6> at some point, you'd hope that the enforcers would grow the Dignity to stop responding to the Boss's un-achievable orders.

<comment><USER7> Criminals keep doing crime, we may as well stop all police efforts.

I mean, say what you will about the morality of running a website dedicated to torrenting films and pornography, but policing will always be a game of whack- a-mole.

<comment><USER5> Yeah but blocking domain names is just pointless. They should go after the guys who run the site, or other things. I'm sure they can find way more effective means to stop pirate sites

<comment><USER7> > They should go after the guys who run the site, or other things.

They do. [1] [2]

[1] [https://www.google.com/search?q=pirate+bay+arrests&oq=pirate...](https://www.google.com/search?q=pirate+bay+arrests&oq=pirate+bay+arrests&aqs=chrome..69i57j0.1934j1j7&sourceid=chrome&ie=UTF-8)

[2] [https://www.google.com/search?q=pirate+bay+raid&oq=pirate+ba...](https://www.google.com/search?q=pirate+bay+raid&oq=pirate+bay+raid&aqs=chrome..69i57j69i60l5.1471j0j7&sourceid=chrome&ie=UTF-8)

</comment></comment></comment></comment></comment><comment><USER8> Good ol' US institutions pressuring foreign judicial systems.

</comment><comment><USER9> Are they going to pay and renew those domains yearly, let them expire, sell them before expiration?

</comment><comment><USER10> In the future there will be legal file sharing paid by crypto currencies. There will be a distributed movie Netflix like app running on p2p tech like ipfs where streams are paid on the block chain.

If Hollywood resists then Chinese will debute the tech.

<comment><USER11> In future, blockchain will do everything we do today, but less efficient and more expensive. And people will rejoice, and say "How did we ever do without this?"</comment></comment>