Why We Moved from Amazon Web Services to Google Cloud Platform - <AUTHOR> https://lugassy.net/why-we-moved-from-amazon-web-services-to-google-cloud-platform-726c412fd667#.lst7lyful <comment><USER3> Saw this article the other day, it didn't get upvoted much - I'm not sure why it's getting to the frontpage _now_ , it really isn't saying anything at all. I agree with the sentiment though.

I haven't been dealing with AWS very long but I keep hitting limitations. _Stupid_ limitations.

Sometimes they're a big deal (IPv6 is not available natively. WTF, doesn't AWS run half the web?). Sometimes they're not a big deal, but still annoying (DNSSEC isn't supported by Route53). Sometimes, they're unbelievable (AWS Lambda is Python 2.7 only, no Python 3, in 2016).

Sometimes it's probably something that would be fixed with a single line of code (Ed25519 is not supported as a keypair). Sometimes, the product itself just sucks (Cloudformation), requires a Ph.D (IAM) or has ridiculous limitations (certificate manager). And sometimes, it's just the aws cli that, in between its million subcommands available, cannot do basic things like creating S3 redirect rules or update ACM certs.

But _all the time_ , it's the web UI that sucks the most - I have to use a separate browser for cloudwatch logs and S3 because the native UI is just that bad. And god forbid you enable 2FA, you'll have to get your phone out twice a day.

These are all the limitations I hit in a few months using AWS. I wonder how many more I'll hit within the next year. Is Google actually any better? Seems to me it's just different kinds of limitations.

<comment><USER4> Don't get me wrong, I love AWS. I use ~15 products almost everyday. I actually like how powerful IAM is.

But yeah, CloudFormation just sucks. It does. It's painful because it's a really good idea but the configuration format is inadequate for the task.

CF should have been implemented using a declarative DSL similar to Puppet from the start. I've been tinkering with the idea of creating a DSL with a JSON translation layer but I always assumed AWS would eventually move away from JSON anyway, making the effort futile. Four years later and still no improvements. Definitely my biggest disappointment with their platform.

<comment><USER5> Am I insane, or are you and the commentators below unknowingly describing Terraform?

[https://www.terraform.io/](https://www.terraform.io/)

<comment><USER6> I'm glad I'm not the only one who thought cloudformation was difficult.

Terraform is great so far. I am running into some duct-tape issues with resources shared between two terraformations, though.

</comment></comment></comment></comment><comment><USER7> As someone who worked at a company that used almost all of the GCP products, I agree with just about everything in this article. GCP is pretty amazing (and simple) to deal with. They offer so many features that work very well within their platform. They have a similar 99.95% SLA on most of their services, and they often automatically apply credits for missed SLAs (YMMV, this may only apply when you have account reps paying attention).

The major downsides that I've noticed are: 1) Documentation is lacking (but improving!) 2) Issues that aren't affecting a lot of customers can sometimes take a long time to resolve. 3) Many services (including App Engine Flexible Environments) are still in beta, meaning no SLA, and they recommend against using them in prod. Unless you have a big paid support contract you'll have no clue how soon (if ever) things will reach GA.

<comment><USER8> And they have very few locations of datacentre

<comment><USER9> I think they have more than AWS.

[https://cloud.google.com/compute/docs/regions- zones/regions-...](https://cloud.google.com/compute/docs/regions- zones/regions-zones)

<comment><USER10> Oregon, Iowa, South Carolina, Belgium, Taiwan definitely is fewer than the 11 AWS regions.

</comment></comment></comment></comment><comment><USER11> This article is very hand-wavy (I agree with some of the comments here), but as a heavy AWS user here are things that bother me

1\. Networking -> I completely agree with the OP here, The networking on AWS needs to be better. I don't want the strongest machine just to have a better transfer rate. It makes complete sense to have a micro machine for some services, but if those services are accessed or access other HTTP/s services, it will be unnecessarily slow

2\. Pricing -> I have the privilege of working at a company that can afford to pay 3 year in advance. Even if you do that though Amazon will keep you on the machine types you purchased and not on the newest parallel machine types. In which case if you paid 3 year in advance you are often "stuck" on previous generation instance types.

3\. Someone mentioned CloudFormation here. I completely ditched it in favor of terraform, CloudFormation looks like a tool from the 90s after using Terraform (which itself isn't clear of flaws as well)

4\. In terms of VPC and networking I completely disagree with the OP, the networking and security settings on Amazon are great (if you understand them). You can define instances that have absolutely no access to/from the outside world. If you build a secure service, some of your services living in a "sandbox" makes total sense

5\. App Engine -> The amount of complaints I heard about this service over the last couple of years are just insane. I heard from multiple users of the platform that it sucks. While I have absolutely zero experience with it myself, I tend to listen to people that suffer from it daily.

<comment><USER3> App Engine is a joke. It was an interesting and novel idea at the time but it is _not_ something you want to pick up today (or last year, or the year before that, or the one before that either).

GAE is a _massive_ lock-in with outdated software in a world where there's so many better, cheaper, non-lock-in alternatives, even within Google itself.

<comment><USER12> Do you feel the same way about App Engine Flexible Environment (neé Managed VMs)? That is, is your complaint that GAE Standard _offers_ you all these services (like Memcache, Task Queues, Datastore) or that you hate the sandbox it's in?

The GAE team has been (admittedly slowly) pushing the services that were GAE only into being fully-consumable "Cloud Platform" services (e.g., Cloud Datastore is the same Datastore that's been "part of" App Engine forever, but now accessible from anywhere).

It's your choice to use Datastore, and I respect that you would chose to avoid it, but the _basic_ PaaS idea of "here's some code, run it for me as a web endpoint" is still compelling even today.

Disclosure: I work on Google Cloud.

<comment><USER3> My impression of GAE is that on top of the core issues of the platform's (lock in by design, outdated by design), it is also very much unloved by Google and has received very few updates. I stayed away from it so I could be wrong.

But to answer your question, I don't know anything about that Amazon service but I would feel the same way about similarly-designed competing product. IMHO, no informed person would ever pick proprietary, lock-in-heavy PAAS solutions.

<comment><USER13> > IMHO, no informed person would ever pick proprietary, lock-in-heavy PAAS > solutions.

This sounds like your personal bias and is clearly not true. Business doesn't work like this and you would be surprised if you looked at just how much proprietary software runs the world.

Lock-in isn't a thing to fear, it's a natural spectrum of using any service. The more specialized that service, the more work will be involved if you need to move away.

The real question is if the risk is worth it. Do you really need to switch? Are you worried that Google or AWS will somehow disappear before your business does? If not, what is the big deal?

<comment><USER3> I did preface with "IMHO" (in my humble opinion). I'll give you it's not very humble, but it's an opinion.

You're conflating two things though: Lock-in as a whole, and _unnecessary_ lock-in like GAE's. Yes, lock-in is a choice to make and not always an incorrect one. But I can safely say no informed business should/would pick Adobe Flash over HTML _today_ for, say, internal web apps. Adobe Flash is fairly old and legacy technology, deprecated in all but name for that scenario and includes a fairly significant amount of lock in due to its proprietary nature requiring you to rework your entire application were you to change to an alternatire. Sounds familiar?

<comment><USER13> There is no such thing as "unnecessary" lock-in, it's just how the service is. Take it or leave it. Just because you think it's unnecessary doesn't change how that service is offered. And so what if there is work to do? Again, that is what "lock-in" is by definition = the work involved to move away.

You weigh the risks and see if the potential work (that might not ever need to be done) is worth the benefits offered today by that service. That's what an informed business does.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Word of caution - we've observed 2 global (all regions down concurrently) networking outages on GCE this year. 18 minutes on April 11 and 1.5-1.7 hours last night (except for us-west1 - down only 10 minutes):

[https://status.cloud.google.com/incident/compute/16015](https://status.cloud.google.com/incident/compute/16015) [https://status.cloud.google.com/incident/compute/16007](https://status.cloud.google.com/incident/compute/16007) [https://cloudharmony.com/status-for-google](https://cloudharmony.com/status- for-google)

<comment><USER15> Wait: seriously, a 1.5 hour multi-region GCE outage just last night? That would be huge, how is it that we haven't heard about this? The linked /16015 status report doesn't have much information.

<comment><USER12> The incident report isn't done yet, so please be patient as the team finalizes the root cause and next steps. However, it didn't affect all routes, VMs, etc. and you'll see that when they publish the IR next week.

<comment><USER14> FYI - we verified outages from hundreds of last mile routes using Ripe Atlas probes with failure rates in the range of 86-96%.

</comment></comment></comment></comment><comment><USER16> Yes, yes, yes, I am also a GCP cheerleader. It's so easy and intuitive to use. A load balancer is called a load balancer, an instance is called a compute instance, SQL is called SQL etc.., no AWS name deciphering. GCP's sidebar UI navigation is a dream compared to AWS's mind numbing grid of features. I had a fault tolerant highly scalable system up in hours, and I'm not a dev ops guy, I mostly do frontend.

</comment><comment><USER17> For me, it is primarily about Postgres. If Google Cloud had an equivalent offering to Postgres RDS then I would seriously consider it. I think RDS is one area where AWS is significantly better than many of their competitors. You can use any of the major relational databases and they handle backup, failover, read slaves, encryption at rest, etc.

<comment><USER18> Ditto. If Google offered an equivalent of RDS PostgreSQL, I'd switch tomorrow.

<comment><USER12> Even if it were in Alpha / Beta? What if it didn't have point-in-time recovery, etc.? Just looking for when we can pencil you in ;)

</comment></comment></comment><comment><USER19> GCE has some major limitations. They just introduced static IP addresses 2 months ago..and I had to re-create all my servers to make use of the static IP.

Then, you either assign a public IP to each machine, or build yourself a solution...luke a NAT gateway. Google does not offer a service like this.

The machine that are part of the same subnet cannot talk to each other directly.. they have to go via the google gateway. This reduces the posibility of implementing High Avalability solutions that are based on broadcast or Virtual IP (MS SQL, Windows failover, vrrp...etc).

Labels that you apply to VM's or firewall rules are free text without the possibility to select from a labels list/cloud or type a new one...accidents can happen.

The MySQL solution is only reachable via INTERNET!!!. They seems to have a beta for using a local socket if you install a sql proxy on each server where you need sql db access...but not in production.

No support for MS SQL.

<comment><USER20> Another odd limitation: No support for internal load balancers; all LBs must be public. They have it as an alpha release available on request, so it's coming, but it's a serious deficiency right now.

The lack of a hosted VPN solution is also weird.

<comment><USER12> You don't have to tell us, internal LB was a long time coming. As for hosted VPN, do you mean something different than our Cloud VPN offering? ( [https://cloud.google.com/compute/docs/vpn/overview](https://cloud.google.com/compute/docs/vpn/overview))

<comment><USER20> By VPN I mean something that can be used individually by developers from their own machine (is there a proper technical term for this type?), not static point to point from a site such as an office (which is what CloudVPN seems made for).

We ended up setting up OpenVPN, which shouldn't be necessary. SSH is great and all, but when you add Kubernetes and other sensitive things like dashboards, you really want to virtualize everything and hide every internal service behind a proper, solid VPN gateway.

<comment><USER21> >is there a proper technical term for this type?

Generally individual users connecting to a VPN are called road warriors, even if they're not on the road and always connect from the same place.

<comment><USER20> Not type of developer, I mean type of VPN. :-)

<comment><USER21> Yes, that's what I mean. It is called a roadwarrior VPN. As opposed to a point to point VPN.

<comment><USER20> Ah, okay. I've never heard that term before, except about people.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> That was so much handwaving in an article that if you put your palm in front of the screen you'd hear clapping.

</comment><comment><USER23> "Moreover, people you invite to projects must be Gmail or Google App users"

Potentially a deal-breaker for us. We had a LOT of issues accessing various Google services after switching from Google Apps to Office 365, which is cheaper and includes the office suite which the rest of the world use.

<comment><USER24> Just create accounts for logging in into GCP? They don't have to really use gmail or be logged in into Google all the time. They could use a separate browser for GCP. I'm doing that when I have to use Google Drive.

<comment><USER25> Just the linkage into a Google account is still a liability: last time I tried to register with an employer email address, the process failed and further registration attempts with that email address were blocked. And there was no number to call.

</comment></comment></comment><comment><USER26> I'm slowly moving over some my companies stuff from AWS to GCE/GKE. The platform may not be as mature but it feels a whole hell of a lot more well thought out and put together. Also hosted Kubernetes is a big deal for us since we really don't want to manage that ourselves but would prefer to use an open source offering for containers compared to ECS.

<comment><USER12> Glad to hear it!

</comment></comment><comment><USER27> I've tried both AWS and GCP (as well as several smaller VPS providers), and I definitely preferred working with GCP. AWS has plenty of features, but it all gets bewildering at times, whereas GCP seems to have a much more nicely presented UI.

But I have $15,000 in AWS credits from Stripe's Atlas program, and that was enough to make me reluctantly migrate from GCP to AWS. It means I can do things the "right way" instead of the "cheap way".

It's unfortunate Google couldn't offer something similar.

<comment><USER28> I thought the opposite. Google's UI is bewildering, nothing makes logical sense with how its put together. Disjointed pieces. Poor documentation. Incomplete API samples that didn't compile even for its own language (golang)

<comment><USER29> Agreed. And this isn't the first Google interface that I find completely unintuitive. My first foray into the Google docs was trying to get oauth working. The developer console is confusing and not laid out well. Documentation can sometimes point you in one direction, only to realize you're about to implement something that will be end-of-life in months.

AWS Console is not perfect, but IMO, it's much more clear where I need to go to find things, even without reading a single piece of documentation. And I've rarely had issues with AWS documentation not being clear and correct.

<comment><USER30> I only use the Google Apps for Business from Teh Goog, and while it's nice, the documentation is hard to navigate and not so hot. I expect a little bit of bitrot from such large product lines in the documentation so I understand a bit of staleness, but finding the right documentation and then trying to skim through it... it's frustrating and poorly laid-out in Google, in my opinion.

Maybe GCE docs are better, though.

</comment></comment></comment></comment><comment><USER31> Reads more like an advert for a buffet than a reasoned take on the architectural and business tradeoffs. Detailed price breakdowns are difficult to read? That's your argument? Really? "By developers, for developers!" so original. [0]

I expect more effort to go into this from a technical perspective. Give me some workload / price differentials. Examples of architectures that are simpler on GCP then AWS.

My app relies on a hybrid of Firebase and AWS for the heavy assets. Still trying to justify the move to Google Firebase for the full stack. I'm the only dev so it's time and energy I can't spend on frontend iteration helping real users.

0\. [http://pbskids.org/zoom/](http://pbskids.org/zoom/)

<comment><USER12> In a side thread, the quizlet folks mention their real-world experience and reasoning for coming to GCP. In your case, as a Firebase customer, the integration is already there and you could start adding pieces over time. As the integration between Cloud and Firebase improves, I'm guessing you'll find more reason to "just do it on Google Cloud". Ping the Firebase people about their current Alpha programs ;).

Disclosure: I work on Google Cloud.

</comment></comment><comment><USER32> Good. We're finally seeing people migrating to the better platform =)

This article is addressing that most of the GCE services are simpler and a lot easier to use and manage than the AWS counterpartS. (That final S being important, having many small and unpolished pieces just contribute to the complexity.)

It goes hand in hand with what I had already written about the platform. Expect GCE to be 20-50% cheaper and 1-3x faster:

[https://thehftguy.wordpress.com/2016/06/15/gce-vs-aws- in-201...](https://thehftguy.wordpress.com/2016/06/15/gce-vs-aws-in-2016-why- you-should-never-use-amazon/)

[https://thehftguy.wordpress.com/2016/06/22/a-simple-cost- com...](https://thehftguy.wordpress.com/2016/06/22/a-simple-cost-comparison- between-gce-an-aws/)

When you see that GCE has less market revenues, you should keep in mind that GCE could be half the price of AWS in average (yep, no kidding). That means the actual gap in customers is way smaller than it appears at first sight ;)

With that being said. Both platforms are relatively new and spinning services like mad, they both have important features missing (albeit not the same ones.)

</comment><comment><USER33> > Amazon's awesome, but Google Cloud is built by developers, for developers, > and you see it right away.

Isn't that what AWS was also built for initially? For internal use by developers? I see this statement from time to time in articles like this.

<comment><USER34> It is a marketing material, not an article. Very thin on details with every point somehow being in GCE's favor? There is nothing AWS does better or they liked better?

</comment></comment><comment><USER35> so triggering. but mainly my fear in using GCP is this: Google is a product psycho, this is not their core business, I get the feeling that anything about GCP could change or disappear at any time for any reason and I as the customer is left to react to these changes.

<comment><USER36> > Google is a product psycho, this is not their core business

So you're advocating we should trust the book vendor?

<comment><USER37> AWS is the cash cow of amazon for now. They get their safest margins there and revenue to match.

<comment><USER36> Yes, exactly.

That's why GCE should be as important to Google as AWS is to Amazon while arguably both have a different "core business".

</comment></comment></comment></comment><comment><USER38> The same way TodoMVC [1] has standardized Javascript framework 'Hello World' comparisons, someone should make an up-to-date CloudApp matrix which shows a basic cloud benchmark app in a matrix comparison for Amazon, Google, DigitalOcean, Vultr, etc. so users can see basic price/bandwidth/performance.

There's so much Enterprise Buzzword Bingo that Amazon and Google try to confuse you on as to why there service is magically better, but IMO the biggest selling points for startups are price/bandwidth/performance. And the prices and machine configurations change all the time.

[1] [http://todomvc.com/](http://todomvc.com/)

</comment><comment><USER39> "Amazon's awesome, but Google Cloud is built by developers, for developers, and you see it right away."

AWS is built by developers for developers as well.

Most of the complaints here about AWS aren't actually about AWS not being "for developers", but about AWS requiring a certain learning curve.

It's a perfect trade-off between power and flexibility vs agility.

<comment><USER40> I think that it's fairer to say that it's built by enterprise technical people for enterprise technical people. Things like the fine-grained control over networking and resource permissions are hallmarks of enterprise tech.

That's not to say that these things don't solve real problems, but they are the problems of big organizations. Smaller teams building pure-cloud products don't have the same problems, and may not even have people with Big Corp experience.

AWS is the Java of cloud platforms.

</comment></comment><comment><USER41> "Moreover, people you invite to projects must be Gmail or Google App users" \- I'm trying to figure out why walled garden lock-in is being treated as a feature.

It sounds like a lot of his reason for switching is simplicity. From this article, it sounds like AWS has a lot more options and control, and GAE just does what it wants or thinks is best. I suppose to some, the latter may be appealing, but at least the author is honest with a "your mileage may vary". Willing to bet this simplicity costs a lot of options other companies may wish to use.

</comment><comment><USER42> You moved because you did not understand how to run AWS wisely.

<comment><USER43> Most people don't have time for that. Just give me kubernetes or GAE.

I'm convinced Google's infrastructure play will ultimately win the hearts and minds of developers because they understand this.

</comment></comment><comment><USER44> We've been using AWS since nearly the day it was released. Overall I really like it, but I haven't dived deep into the GC platform so I cannot really give a definitive comparison.

A couple of things that baffle me about AWS though -

* You can purchase reserved instances from anywhere in the world in a few seconds, but WHY when I want to on sell an unused reserved instance in the marketplace, do I HAVE to have a US bank account for Amazon to pay my revenues into?? Why can they just not credit my existing account which I pay thousands per month to them?

* We still battle with occasional high latency spikes for EC2 instances talking to RDS instances within the same VPC! Continuous "MySQL server has gone away" log messages. Ironically, we have absolutely no trouble with Non-VPC EC2 instances that use classic bridging to talk to the same RDS server within the VPC!

We thought to simplify our architecture by putting everything in one VPC for better security and ease of maintenance, but had to go back to a cobbled half and half solution to maintain performance. Hence why we now have a few reserved 'VPC only' instances which we cannot recoup costs by onselling in the marketplace... :(

<comment><USER45> Raise a ticket; I see no issues VPC => RDS endpoint at all. Might be something gone sideways in a layer you can't see.

</comment></comment><comment><USER46> I use AWS extensively and it has many benefits. That said, I think they need to rethink some thing if they want to stay ahead of Google, Digital Ocean, etc.

Some thoughts:

## More focus on core products

\- Still no IPv6, it's 2016.

\- EC2/VPC (compute) didn't have a simple NAT-instance until a few months ago.

\- S3 (storage) still has nothing like Nearline (GCE) and Glacier is so confusing and complicated that few bother using it.

\- ELB (Load Balancer) still has scaling problems (with bursts).

\- Still only a single public key per instance, why?

\- Can only use ACM certificates for CloudFront if they are in us-east-1 (despite ACM being available in other geographies and CloudFront is global). Nothing major but weird.

\- S3 has like a handful of different ways of setting permissions (per file, per bucket, iam, and some weird old xml-format). Why not simplify this?

## Interfaces are terrible

\- Basically the entire console UI is low quality.

\- Same with APIs, they could use a lot more polish.

\- This is the API call to create a CloudFront (CDN) distribution: [http://pastie.org/10931494](http://pastie.org/10931494) (no offence, but it looks like a group of schizophrenic monkeys designed that API).

## Think less about press-releases

\- Apparently AWS force everyone to write the press-release for every product before designing[1].

\- While it's good to keep the end-goal in mind I think many important details are lost.

\- The press-release-thinking focus too much on features and too little on quality and (even more important) refinements to existing things.

## Release fewer features

\- Every year on ReInvent [AWS conference] they tout how many hundreds of new features they've released[2]. I wish they'd release far fewer features and make them great instead (+ refine existing stuff).

[1] [http://www.allthingsdistributed.com/2006/11/working_backward...](http://www.allthingsdistributed.com/2006/11/working_backwards.html)

[2] [https://s3-eu-west-1.amazonaws.com/vpblogimg/2015/04/Aws- Sum...](https://s3-eu-west-1.amazonaws.com/vpblogimg/2015/04/Aws- Summit-2015-London-innovation.jpg)

<comment><USER47> >\- EC2/VPC (compute) didn't have a simple NAT-instance until a few months ago.

Managed NAT is new, but the nat instances that previously existing could be spun up without any configuration outside of disabling src/dst check and configuring a route to point to them, and they've existed for many years. [http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NA...](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)

>\- S3 (storage) still has nothing like Nearline (GCE) and Glacier is so confusing and complicated that few bother using it.

S3 Infrequently Accessed? [https://aws.amazon.com/s3/storage- classes/](https://aws.amazon.com/s3/storage-classes/)

<comment><USER48> What gets me is that S3 is probably the easiest thing to learn about in AWS. I would understand if he complained about the million things you can do in EC2, but in S3 there is not much choice; S3, S3-IA, S3-RR. Throw in Glacier and there still are not much to get confused on.

<comment><USER46> I'm using S3 extensively and know the product pretty well.

Still, I think Nearline easily beats Glacier on simplicity and clarity. With Nearline it's super-obvious how long time retrievals take and what the costs are.

\</comment></comment></comment></comment><comment></comment><comment>--

## Nearline

Q: How much does it cost?

1 cent per GB & month in storage. Plus 1 cent / gb of transfer (retrieval).

Q: How fast can I retrieve data?

Access times sub 1 second.

SOURCE: [https://cloud.google.com/storage- nearline/](https://cloud.google.com/storage-nearline/)

\</comment><comment></comment><comment>--

## AWS Glacier

Q: How will I be charged when retrieving large amounts of data from Amazon Glacier?

You can retrieve up to 5% of your average monthly storage, pro-rated daily, for free each month. For example, if on a given day you have 75 TB of data stored in Amazon Glacier, you can retrieve up to 128 GB of data for free that day (75 terabytes x 5% / 30 days = 128 GB, assuming it is a 30 day month). In this example, 128 GB is your daily free retrieval allowance. Each month, you are only charged a Retrieval Fee if you exceed your daily retrieval allowance. Let's now look at how this Retrieval Fee - which is based on your monthly peak billable retrieval rate - is calculated.

Let's assume you are storing 75 TB of data and you would like to retrieve 140 GB. The amount you pay is determined by how fast you retrieve the data. For example, you can request all the data at once and pay $21.60, or retrieve it evenly over eight hours, and pay $10.80. If you further spread your retrievals evenly over 28 hours, your retrievals would be free because you would be retrieving less than 128 GB per day. You can lower your billable retrieval rate and therefore reduce or eliminate your retrieval fees by spreading out your retrievals over longer periods of time.

Below we review how to calculate Retrieval Fees if you stored 75 TB and retrieved 140 GB in 4 hours, 8 hours, and 28 hours respectively.

First we calculate your peak retrieval rate. Your peak hourly retrieval rate each month is equal to the greatest amount of data you retrieve in any hour over the course of the month. If you initiate several retrieval jobs in the same hour, these are added together to determine your hourly retrieval rate. We always assume that a retrieval job completes in 4 hours for the purpose of calculating your peak retrieval rate. In this case your peak rate is 140 GB/4 hours, which equals 35 GB per hour.

Then we calculate your peak billable retrieval rate by subtracting the amount of data you get for free from your peak rate. To calculate your free data we look at your daily allowance and divide it by the number of hours in the day that you retrieved data. So in this case your free data is 128 GB /4 hours or 32 GB free per hour. This makes your billable retrieval rate 35 GB/hour – 32 GB per hour which equals 3 GB per hour.

To calculate how much you pay for the month we multiply your peak billable retrieval rate (3 GB per hour) by the retrieval fee ($0.01/GB) by the number of hours in a month (720). So in this instance you pay 3 GB/Hour * $0.01 * 720 hours, which equals $21.60 to retrieve 140 GB in 3-5 hours.

First we calculate your peak retrieval rate. Again, for the purpose of calculating your retrieval fee, we always assume retrievals complete in 4 hours. If you request 70GB of data at a time with an interval of at least 4 hours, your peak retrieval rate would then be 70GB / 4 hours = 17.50 GB per hour. (This assumes that your retrievals start and end in the same day).

Then we calculate your peak billable retrieval rate by subtracting the amount of data you get for free from your peak rate. To calculate your free data we look at your daily allowance and divide it by the number of hours in the day that you retrieved data. So in this case your free data is 128 GB /8 hours or 16 GB free per hour. This makes your billable retrieval rate 17.5 GB/hour – 16 GB per hour which equals 1.5 GB/hour. To calculate how much you pay for the month we multiply your peak hourly billable retrieval rate (1.5 GB/hour) by the retrieval fee ($0.01/GB) by the number of hours in a month (720). So in this instance you pay 1.5 GB/hour x $0.01 x 720 hours, which equals $10.80 to retrieve 40 GB.

If you spread your retrievals over 28 hours, you would no longer exceed your daily free retrieval allowance and would therefore not be charged a Retrieval Fee.

Q: How is my storage charge calculated?

The volume of storage billed in a month is based on the average storage used throughout the month, measured in gigabyte-months (GB-Months). The size of each of your archives is calculated as the amount of data you upload plus an additional 32 kilobytes of data for indexing and metadata (e.g. your archive description). This extra data is necessary to identify and retrieve your archive. Here is an example of how to calculate your storage costs using US East (Northern Virginia) Region pricing:

Your storage is measured in "TimedStorage-ByteHrs," which are added up at the end of the month to generate your monthly charges.

Q: How long does it take for jobs to complete?

Most jobs will take between 3 to 5 hours to complete.

SOURCE: [https://aws.amazon.com/glacier/faqs/](https://aws.amazon.com/glacier/faqs/)

<comment><USER12> Ha! This is a great "write up". I'll pass it along to our heads of storage to put on slides ;).

I'd like to add one piece I always forget: with S3-IA, you pay for a minimum of 128 KB, which for apps with tons of small objects really adds up!

Disclosure: I work on Google Cloud.

</comment></comment><comment><USER49> related industry review;

* [http://siliconangle.com/blog/2016/08/05/aws-microsoft-azure-...](http://siliconangle.com/blog/2016/08/05/aws-microsoft-azure-clear-leaders-in-gartners-iaas-magic-quadrant/)

day to day i work with AWS, Azure, and Google quite a bit -- from what, in terms of investment, i would say gartner is accurate.

i'm not sure why digital ocean wasn't taken as serious.

</comment><comment><USER50> Hi guys, I'm the original poster. Sorry for joining so late. I read each and every feedback and also updated the medium article. In no particular order:

1) Didn't mean to hand-wave. For the last few months GCP was the new shiny toy for me. I got over excited and plan to do deeper post, battling 2 or more products (i.e Kinesis vs. Pubsub)

2) Not anti-AWS at all. I still find it wonderful: [https://lugassy.net/search?q=aws](https://lugassy.net/search?q=aws). what really flipped me was this: [https://twitter.com/mluggy/status/727764607176159232](https://twitter.com/mluggy/status/727764607176159232) and other small anonyances

3) Downsides to GCP. Certainly! added to the article

4) For developers, by developers. I realize this was tacky. Let me try again with 4 examples: a) Trace/breakpoints in production b) Connecting through virtual socket files instead of tcp c) writing and collecting logs centrally with console.log and specifically d) DATAFLOW which is architecturally brilliant (AWS add "Streams" to every new product where GCP simply treat every product as source and/or sink)

5) Yes I favor GCP for simplicity and dev-friendliness. I don't want to train people for AWS devops/gotchas. I don't need sophisticated IAM and VPC to feel smart. GCP ui/quickbar is nicer. For example networking is all on one page. Most products are properly named (CDN instead of CloudFront, DNS instead of Route53, Pub/Sub instead of Kinesis)

6) GAE. I was exposed to some horror stories about its and datastore early days. History aside, I use it today through Flexible VMs which is really docker under the hood + ability to SSH + easy deployment/versioning + cool tracer/debugger. My code is Node.js and haven't coded any GAE specific necessity

Again loved the comments. keep it going!

</comment><comment><USER51> We have several workloads on AWS and we are mostly happy with it in spite of having several gripes. Google does not have a region in Australia, preventing us from even considering it. If anyone from the GCE team is on here, are there any plans to come down under?

</comment><comment><USER29> "Moreover, people you invite to projects must be Gmail or Google App users which are secure by default and usually already set up."

Uhh...no. Why would anyone assume some random Gmail account is secure by default?

<comment><USER12> I wish they wouldn't have called these a "Google Account", but you can use any email provider now to sign in/up with Google.

Disclosure: I work on Google Cloud, so if you sign up I indirectly ... take your money?

</comment></comment><comment><USER52> With google cloud sql and amazon aurora being mysql compatible do any of you get the temptation of starting your projects with mysql instead postgresql?

<comment><USER53> Google Cloud SQL runs outside of your network (on a public IP). Thus it doesn't respect your firewall rules and can't use internal network addresses. I run my own replicated compute engine mysql nodes for this reason. Amazon RDS and Aurora were superior DBAAS products when I was using AWS. Kubernetes on Google Container Engine is ultimately what convinced me to switch though.

</comment></comment><comment><USER54> Really want Google Cloud to be an option for us - but given that they lack a Sydney/Australian data centre means they miss out on a lot.

</comment><comment><USER55> What would the equivalent of say a $20 node on Digital ocean cost on the Google Cloud Platform?

<comment><USER56> Between about $25 and $40 depending on how you configure the machine. GCP doesn't offer exactly the same configurations as DO.

<comment><USER12> Despite me working on GCE, I have to give a shout out to all the hosts like DO that include a hefty amount of network egress in the price. The network is heavily overcommitted (how many of you actually send X GiB/month/droplet?), less reliable, etc. but for those that use it to serve images for "don't care" it can't (yet) be beat.

Disclosure: I work on Compute Engine and Cloud and want your business.

</comment></comment></comment><comment><USER57> The biggest problem with Google Cloud is _data store_ lockin..which is worse than programming language lockin.

I would move to them in heartbeat if they had anything like postgres RDS ... But Google seems to love it's own version of MySQL.

Anybody know if this is on the roadmap ?

<comment><USER58> Why is it such a big deal, why not just run Postgres yourself?

<comment><USER57> Why can't I run my own servers then ? The whole point of AWS is moot then.

Between everything else, database is the single most critical aspect - <USER2> there's a huge value for a high availability system.

</comment></comment></comment><comment><USER59> Does anyone have feedback running app at scale in Google Cloud for more than one year?

<comment><USER60> We've been running it for about a year to power Quizlet - overall things have been good and we're happy. AWS and GCP are complicated enough that they're tough to compare holistically, but on most of the things we care about we find GCP to be equivalent or better (sometimes significantly) than AWS. It really does have better networking and disk technology, and the pricing is much better. Here's the analysis we did: [https://quizlet.com/blog/whats-the-best- cloud-probably-gcp](https://quizlet.com/blog/whats-the-best-cloud-probably- gcp).

Rough patches are:

\- Live migration is sometimes not seamless.

\- Pub/sub is missing some core features.

<comment><USER61> Can I ask what the Pub/sub features you miss are?

<comment><USER62> Mainly Pub/Sub does not let a single subscription subscribe to multiple topics

</comment></comment></comment></comment><comment><USER63> Unlike AWS, GAE is very easy to use.

</comment><comment><USER64> Anyone run Ruby on GAE's new "Flexible Environment"?

<comment><USER65> Thought about it, but I believe it was the pricing model that made it rather unattractive compared to just running Compute Engines.

</comment></comment><comment><USER66> Did you also investigate moving to Heroku rather than GAE?

</comment><comment><USER58> IAM is complex because it is powerful. Unfortunately.

</comment><comment><USER67> > Want to run a message bus? AWS will make your head spin with SNS, SQS, > Kinesis, Kinesis Streams and Kinesis Firehose. GCP has only Pub/Sub which > just works and is insanely scalable.

This point is oddly weak in comparison to the others.

> Amazon has one of the most confusing IAM. While it is nice to set up a role > to only allows usage for a particular resource from a specific device and > times of day, you end up spending most of your time debugging policies.

Haven't used GCP, but I didn't mind IAM. Missed it when I waas trying to figure out Azure stuff.

> We moved because we wanted to work on infrastructure that runs YouTube, > Gmail and Google Analytics. We moved because Google is fair, much more tech- > savvy and launch products that just works.

ugh. Perfectly fine article now just reeks of google "fanboy-ism".

<comment><USER68> > This point is oddly weak in comparison to the others.

Agreed - it was senseless. SNS/SQS aren't particularly complex and they scale like crazy. Kinesis is something else entirely (N-hour record retention w/arbitrary consumers and offsets) and doesn't even belong in the comparison.

> ugh. Perfectly fine article now just reeks of google "fanboy-ism".

Do Google's core products actually run on GCP these days? I was under the impression they do not.

<comment><USER69> > Do Google's core products actually run on GCP these days? I was under the > impression they do not.

Not really. They are influenced by, but the same, code as runs Google. (for instance, Kubernetes is based on Borg)

</comment></comment></comment><comment><USER70> I found Google App Engine difficult to work with as recently as two years ago, just for a small proof-of-concept app. It took a lot of shoehorning to use third party Python libraries, the file upload API is just weird, and the admin panel was buggy.

Also, another random oddity: somewhere in one of its built in libraries there was a function for validating email addresses. It was returning true on a bunch of very obviously bad address formats, so I looked up the source and found that all the function did was verify its argument wasn't the empty string.

I imagine GAE is better now, but my first experience with it left a bad taste in my mouth.

<comment><USER71> > Also, another random oddity: somewhere in one of its built in libraries > there was a function for validating email addresses. It was returning true > on a bunch of very obviously bad address formats, so I looked up the source > and found that all the function did was verify its argument wasn't the empty > string.

My favourite comment of the whole thread.</comment></comment>


AwesomeTableJs is an Json to standard HTML table converter, Pure Javascript - <AUTHOR> https://github.com/farshadjahanmanesh/awesomeTableJs<p>this pure JavaScript library converts JSON or array to a standard HTML table, and it will generate search box, sorting, pagination, filtering, etc. AUTOMATICALLY and it is incredibly fast <comment><USER2> This should be posted as a 'Show HN',not an 'Ask HN'. For future reference, posts submitted without a link are posted as an 'Ask HN'. To submit it as a 'Show HN', prepend your article with 'Show HN: '. So your title should be 'Show HN: AwesomeTableJs is an JSON....'

</comment><comment><USER3> I've played with Dynatable and Defiant.js (which has the advantage of using Web Workers for large datasets), but this seems quite fast. Good stuff.

</comment><comment><USER4> clickable -> [https://github.com/farshadjahanmanesh/awesomeTableJs](https://github.com/farshadjahanmanesh/awesomeTableJs)</comment>


Fred Wilson: Doubling down (in VC/PE) - <AUTHOR> http://www.avc.com/a_vc/2009/08/doubling-down.html

<comment><USER2> So, venture capital is usually used to accelerate growth at an early stage company which works out pretty well for all involved parties: Entrepreneurs get to build big businesses, VCs enable that and make money off the management fees and LPs benefit by having a well-performing asset class in their portfolio.

The point where goals start diverging is when the VC wants to see rapid growth and a quick sale (say, 4 years into the company timeline).

Fred says:

 _So when an investment is not working, you are faced with walking away, shutting the company down, or making an additional investment._

I wonder if there is a fourth way, where the company trims itself because it isn't making much revenue (maybe because it's too early to a market that is nascent, or organic growth is much slower than expected but is still there) but keeps going instead of shutting down or trying to accelerate the growth process by raising more capital.

Is it fundamentally hard for VCs to say, we're going to support this company for as long as they want (with connections and a bit of capital) and wait for an eventual exit, if they trimmed down and burned very little capital? Why would you not want to keep going if you were more or less promised an eventual exit/return and it didn't require a lot of capital? Why the focus on "quick" exits and not building big sustainable businesses? Is this something that comes down from their relationships with the LPs?

<comment><USER3> excellent point aditya. that is the fourth choice. i alluded to it later on where i said "cut costs" but i did not do a good enough job of articulating this approach. thanks for picking up on that.

</comment></comment><comment><USER4> It's basic human nature to throw good money after bad because humans are twice as upset about losses as they are happy about wins. It's thusly common among people who know that to overcompensate for their own fallibility and go the other way.

<comment><USER5> _humans are twice as upset about losses as they are happy about wins_

Any research to back that up? I always thought that was a subjective thing, in that it varies for everyone.

<comment><USER6> Yes. Daniel Kahneman and Amos Tversky were the first to demonstrate this behavior.

Tversky, A., & Kahneman, D. (1981). The framing of decisions and the psychology of choice. Science, 211, 453-458.

However, I don't know enough to answer your question about in-population variance of this trait.

<comment><USER4> Is that the one with the coin flips? As I understand it an experiment showed that if you put people in a situation where one side of the coin loses $100 and the other side wins $x, for most people $x has to be greater than $200 for them to take the flip.

</comment></comment></comment></comment><comment><USER7> This is the same reason why people invest up to their last penny, just to watch all their money being lost. " I already gambled 100 dollars, f&*^% it, I may as well give this last 10 dollars, which my lunch for tomorrow, a shot". Then tomorrow you are more likely not to eat.

</comment><comment><USER8> I'm telling you baby, you always double down on 11.</comment>


Why I Left Oracle – A Confession - <AUTHOR> http://blog.rahmannet.net/2016/03/why-i-left-oracle.html <comment><USER2> I was a Product Manager at Oracle when we decided to integrate Java. It seemed like an odd decision to those outside Oracle, but at the highest levels in Oracle we were circulating a Microsoft internal presentation about how Microsoft was going to use the dominance of Visual Studio to defeat competitors across the application space. So Oracle had no choice except to support Java as the alternative to Visual Studio. So Java and all Open Source support were really done only to the extent which self-interest demanded. We had floors of kernel engineers fixing Linux to make it work (it was barely functional back then.) And we coordinated with HP, IBM, Sun, Red Hat, and others so that they would encourage and pay their engineers to support Open Source. The idea that Open Source is somehow separate from business and market forces ignores its history. And the idea that Open Source is always positive is equally absurd. I've been working in open source for decades now, and the big winners are often the same rich companies which are extracting the wealth of our society - as they get software for free while the engineers provide work without getting the true "fruits of their labor". Does it make sense for multi-billionaires to get this software for free? Really, the Open Source idea is very messed up in an economy with distinct winners and losers.

<comment><USER3> As a fellow ex-Oracle (although a coalface support minion coming through an acquisition), and with all due respect, I downvoted your comment because it looks like a bit of an incoherent rant with no apparent link to the post.

What Rhaman is saying is: the wide Java portfolio is dying because people are not making enough waves around the JCP to keep Oracle on the straight and narrow. Nothing to do with opensource, the JCP is a very different project from traditional opensource development.

The JRE has never been a "real" open source project, but rather a proprietary system that opened up enough to develop a caring community. The problem is that, at the moment, the interests of Java's owner are not aligned with the interests of such community, and not enough people seem to care.

This has nothing to do with Java being "open source" or not; in fact, a real OSS project would happily fork at this point (as it happened with OpenOffice), but the Java community cannot really do it. It seems pointless to debate the merits of OSS in a situation where there is no OSS; it's like saying "We supported Windows out of self-interest; but let's talk about the pros and cons of opensource...".

<comment><USER4> > The JRE has never been a "real" open source project

What does that mean? Compare Java to other open source projects of similar magnitude (and there aren't many; maybe only Linux, which is actually bigger). Linux is even more exclusive than OpenJDK, and just like Linux, companies with appropriate resources often make changes to the software even if those changes aren't contributed back (or contributed but not merged).

> and not enough people seem to care

People will care once many start to actually feel it. Oracle's interests are probably not aligned with mine, and may or may not be a cause for concern for me, but so far Oracle's _actions_ wrt OpenJDK don't harm me at all. The investment in the platform feels to have only grown in the past few years.

> but the Java community cannot really do it

Why not? I think it most certainly _can_ , but at this point there's not enough motivation to do it.

<comment><USER3> Look at what Oracle is doing to Google for the sin of refusing the JCP process. Do you think they wouldn't do the same against any Java fork with a realistic chance of supplanting their implementation? The details are not important, they'll throw the book at you and find something that sticks.

The current situation (OpenJDK open but not a realistic choice in most production deployments; Oracle JDK/JRE remaining as de-facto gold standard; a process that forces strict compatibility tests on any competitor) can be fine from a certain point of view, but in practice it means that Java is _not_ a traditional community-led OSS program. Rather, it's a program where the OSS community helps a company improve their software. RedHat is not the only Linux build with significant marketshare, and I won't get sued if I write a different POSIX system.

 _> at this point there's not enough motivation to do it._

No there isn't, that's what Rhaman is saying. But what he's also implying is that the direction of travel has changed inside Oracle, and people outside do not seem to realize it. IMHO it's fairly obvious where things are going (you'll stop "installing Java", and only develop and deploy in the Oracle cloud or similar Oracle-sanctioned environments).

<comment><USER5> Can you elaborate on why OpenJDK is not suitable for production deployments? I thought Oracle's JDK/JRE were based on OpenJDK's, with only minor changes.

<comment><USER3> Obviously it varies depending on requirements, but my experience is that openjdk tends to be a crashfest and/or end up being incompatible with a lot of stuff out there. The Oracle JDK/JRE invariably Just Works. It might be all a cargo-cult phenomenon (i.e. devs still testing only with Oracle builds out of tradition etc etc), it might be that Oracle have fabulous build tools not seen elsewhere, I honestly don't know; this is just what I see.

<comment><USER6> I used to experience random crashes with the OpenJDK several years ago, but haven't noticed that recently. Are you still seeing those issues or did you give up some time ago based on the aforementioned crashfest and haven't tried it in the last couple years?

<comment><USER7> One thing about OpenJDK is that the debug symbols are freely available so you can try and create a core dump and analyse why the JVM crashed. You can't do that with Oracle's or IBM's JDK AFAIK.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> _Many people seem to have an impression of Oracle as a company full of corporate drones. This is far from the truth. I wasn 't, Cameron wasn't and we are very far from being alone._

That may be true, but if you're not generating revenue for Oracle, you will be fired and replaced with a lawyer who can at least look for a new IP angle to sue over, or a new way to nickel-and-dime existing customers to extract more license fees. (Coming to Java 10: Garbage Collector Licensing. Beginning with Java 10, Oracle will assess a fixed fee for each byte of memory reclaimed by the Oracle JRE garbage collector. Contact your Oracle sales representative for pricing details.)

<comment><USER9> I always thought that Cameron and Reza didn't present a very balanced view. Which is OK if you're hired for marketing as long as you don't claim you're not a corporate drone.

Two examples: Reza is a famous spring hater and much of his writing can be summarised as "Java EE rocks, Spring sucks". Which is fine if you're hired to sell Java EE. Which is fine, just don't claim otherwise.

Cameron's view on TCK licensing was also very one sided and uncompromising. In every JCP meeting the topic of TCK licensing pops up. Everybody except Oracle agrees on the subject. Everybody has the same position Oracle had before the Sun acquisition. I was at a JCP meeting when the whole panel (all JCP members) agreed on TCK licensing and Cameron from the audience simply said "no". Then he said something like "if you open source a TCK that makes the TCK worthless because anybody can change anything". Totally ignoring the fact that the best TCK out there (the CDI TCK) is open source. Even if that was an issue there would be fixes for this like trade marking the TCK like Mozilla does with Firefox.

Again if you're hired to wield the power of the TCK against Apache Harmony for whatever political reason that's fine. Just don't claim you're not a corporate drone.

</comment></comment><comment><USER10> I knew Cameron from 15 years back. Always helpful and very down to earth person. I am surprised he stayed at Oracle that long.

He was very active in BEA Weblogic Forums/usergroups. He would answer most questions with helpful answers. When he started building Coherence (which was sold to Oracle and hence ended up at Oracle) he added Coherence link to his signature while answering questions or trouble shootings other users problems. Pretty soon most JavaEE developers became aware of Coherence with that single trick.

</comment><comment><USER11> What is it that compels people to write these posts? I remember when you'd make some personal decision, and just tell friends if they happened to ask why.

<comment><USER12> I'm in the middle of writing one because I think it will help both the company and other start ups. The TLDR is an HR rep left because she was facing a hostile work environment. So what hope did the rest of us have? It's an appeal for startups to train their managers better.

<comment><USER11> Are you gonna send it to their CEO privately, or air a bunch of dirty laundry in public?

<comment><USER12> Well I did email the CEO when I left and he was like that's nice. There isn't any dirty laundry. I just want to make the case for better training, especially since my friends continue to complain to me after I left.

<comment><USER13> It might be useful to ask if it's something new in the HR guidebook or a new trend you're seeing in your area.

<comment><USER12> They did update the employee conduct when I first complained about it. Previously it just said, "don't watch porn at work." I'm exaggerating. But barely. I want to laugh and I want to cry.

</comment></comment></comment></comment></comment></comment><comment><USER14> What exactly is the reason for leaving Oracle? Seems like an exec. at Oracle, Cameron was forced out. OK. Not sure what the background on the departure is. Everyone knows Oracle is evil. So that can't be it. Is there some reading between the lines here? Maybe somebody embedded in the Java ecosystem can shed light.

<comment><USER3> Look at the list of stuff his skepticism "extends to" and see what is missing. Hint: web apps. That's because Oracle is betting the farm on "cloud services", and a few of their offerings are based on the concept of containerized java apps running on the Oracle cloud. That alone will survive; everything else is fair game. Anything on-premise, including the JRE, are going to be basically ignored from now on.

I work in a different Oracle niche and the message is the same: nothing matters but cloud. If a product can be moved to the cloud, good; if it can't, it will be killed. On-premise versions are pretty much all in legacy-mode, getting patches that pay lip-service to the idea of hybrid setups, but 90% of development resources are busy on cloud-related stuff.

Somehow, the current Oracle leadership believes they should become "AWS for the enterprise", and in traditional Oracle style, they _will_ pull all stops (and cut all corners) to get there. If you don't like it, that's the door. "Java everywhere" advocates are now surplus to requirements.

<comment> X-Istence I wouldn't want the vendor lock-in that comes with Oracle's "AWS".

There has been a lot of teeth gritting over how locked into AWS certain parts of a customers company has become, using their API's, their services, and with no real way to move away if anything ever happened.

<comment><USER15> > I wouldn't want the vendor lock-in that comes with Oracle's "AWS".

AWS has already perfected vendor lock-in, so I doubt Oracle can make it much worse, beyond their normal trick of de-certifying their products on competing platforms.

</comment></comment></comment></comment><comment><USER16> Touching story, but... Why did he leave oracle?

<comment><USER17> I re-read the whole thing, then went looking for a page 2. Clearly, his future isn't in journalism.

<comment><USER18> The top 8 reasons why no one's future is in journalism! Number 5 will shock you!

</comment></comment></comment><comment><USER19> There is tremendous activity in OpenJDK projects which means Oracle is finally concentrating on core technology. So many of these projects seems to directly help developers as compare to JavaEE stuff which is mostly targeted for vendors peddling there gigabytes size application servers. I have had misfortune of using those products. Now I am much happier using Core Java / servlets with tomcat.

A possible fallout of Oracle focussing on core Java and cutting down on JavaEE monstrosity is that all those pattern laden enterprise architect/astronauts/evangelists seems less in demand at least at Oracle. I may not be biggest fan of Oracle but I think in case of evangelist types leaving Oracle is good thing.

</comment><comment><USER20> Dude, Reza is a bamf. I've attended many of his talks. Guy had a hard job, and he took flak from all sides. Good luck buddy!

</comment><comment><USER21> Hmm thats similar to why I left Amazon. I was tasked with mundane tasks like localizing strings for huge marketing faq pages. I wrote scripts to give the 900 odd strings numerical locale ids. But my manager who all my code had to pass through for code review wanted individually described and named ids. For what other reason than he was a corporate drone with Java abstractions for factories of factories of DatabaseQueryCreator that invoked DatabaseQueryBuilder etc etc I do not know. I will never work for another corp where I dont feel like a magician in terms of programming and tooling efficiency. It was absolutely dreadful and loathing to march to my death as a creative and intellectual. Fuck drone work and fuck drone managers and executives who try to serve it up only because they hate themselves too much to embrace the beauty of the discipline of hip and efficient software engineering

</comment><comment><USER22> So, Java doesn't live up to the hype?

</comment><comment><USER23> Humans love mental shortcuts. E.g. Taibbi has forever tagged Goldman Sachs as "The Vampire Squid". Years ago somebody Google bombed Microsoft as "more evil than Satan himself". And Bush became "miserable failure".

So, what of Oracle? I'm drawing a blank, but that's probably because I don't frequently interact with Oracle or with its products.

Anyone?

<comment><USER24> From the article "Many people seem to have an impression of Oracle as a company full of corporate drones. This is far from the truth."

But IMO Oracle's reputation is a portfolio of overarchitected overpriced enterprise products that encourage lock-in.

</comment></comment><comment><USER25> I'm nitpicking a bit, but this stood out to me as a good example of why I've never wanted to be part of Java-land:

> He helped pioneer one of the most successful pieces of enterprise > infrastructure that has stood the test of time. _Yet he is humble enough to > still code_

I mean, doesn't coding being perceived as a "humble" job he's lowering himself to really say it all? It's rarely explicitly said, but coding is considered a low status activity in those spheres. That's why I avoid Java work. Other languages have cultures that respect the craft, rather than viewing it as something you grow out of.

<comment><USER26> Programmers get no respect - and its our own fault.

The computing industry is directly responsible for 1/3 of global GDP in 2016.

Its time that this is reflected in our paycheck.

<comment><USER27> Keep in mind that code is not useful or economically impactful without business and community management surrounding it.

<comment><USER25> I think that's demonstrably untrue -- open source and free software has had a massive economic and cultural impact with precious little of that originating from the involvement of business people or community leaders. (For instance, the GNU project or the linux kernel -- not to mention how many commercial products must use zlib). Business support almost always comes after the value has been created.

<comment><USER27> I wrote a blog post responding to this: [http://sonyaellenmann.com/2016/03/middlemen-are-crucial- open...](http://sonyaellenmann.com/2016/03/middlemen-are-crucial-open-source- software-economic-growth.html)</comment></comment></comment></comment></comment>


P=NP Problem Linked To The Quantum Nature Of The Universe - <AUTHOR> https://medium.com/the-physics-arxiv-blog/7ef5eea6fd7a

<comment><USER2> I wonder then how this reconciles with the theories that the universe is in fact being simulated in a computer.

It sounds like a crazy theory, and quite possibly is, but it's a thought experiment, or at least an idea that I've seen physicists come back to time and time again. Apparently it's a distinct possibility, and would actually fit very well with a few recent discoveries about the nature of fundamental laws. (Note I'm writing this from a layman's point of view, I know very little about this subject.)

This discovery, if true, might imply that, if the universe is being simulated in a computer, it might be a P≠NP might be a fundamental law of the meta- universe, or a property of the computer itself, maybe even an optimisation, and that over a certain size of object, it stops calculating quantum states.

This link might not exist, I might just be failing to understand the theories involved, but I find it an interesting thing to think about nonetheless.

</comment><comment><USER3> I don't understand the connection made here, because calculating the quantum state is NP-hard and is very time consuming, the object cannot exist in the universe? How is that preventing the macroscopic system from existing? How does the complexity class have anything to do with the real world?

For example, a shortest path problem in the real world does not have any use for complexity theory: [http://www.johnmurray.io/log/2012/07/10/Real-World- Shortest-...](http://www.johnmurray.io/log/2012/07/10/Real-World-Shortest- Path.md)

</comment><comment><USER4> This strikes me as completely wrong. Who is to say there is an upper limit on how big the computer running the universe can be, or that it has to be Turing complete?

And why on Earth would that imply the laws of physics would work differently at different scales. "Scale" is just an abstraction we use to make sense of things, not a fundamental property of the universe (so far as I know.) If you zoom out of Conway's game of life enough, everything looks completely different as if it was operating by a different set of rules.</comment>


RPCS3: An open-source PlayStation 3 emulator for Windows written in C++ - <AUTHOR> https://github.com/DHrpcs3/rpcs3/wiki/FAQ <comment><USER2> Uhh... it's also for Linux. Comments in the forums look like the Linux version is just as mature as the Windows one. Also the FAQ says nothing about "windows only."

Gotta make sure Windows doesn't get all the gaming glory, eh? Eh?! Eh?!?!?!

<comment><USER3> Top lines of the FAQ currently

> What is RPCS3?

> RPCS3 is an open-source Sony PlayStation 3 emulator for Windows written in > C++. It currently runs only small homebrew applications. The source code for > RPCS3 is hosted at: > [https://github.com/DHrpcs3/rpcs3/](https://github.com/DHrpcs3/rpcs3/)

<comment><USER2> It doesn't say "only," and at the bottom of the page:

As long as this platform is powerful enough to emulate the PlayStation 3, yes, there is a high chance that RPCS3 will be ported there. However, at the moment we only target Windows and Linux.

Boo-ya-ka-sha? FAQ is probably just outdated. Never seen that on an open source project ;-) luckily I read the whole thing <3

</comment></comment></comment><comment><USER4> Here is a video of it running Disgaea 3 [https://www.youtube.com/watch?v=IQEv6B6fIgA](https://www.youtube.com/watch?v=IQEv6B6fIgA)

<comment><USER5> Don't miss the comment in the video description that the video itself is sped up by a factor of 8.

It's definitely a start, though!

</comment></comment><comment><USER6> Xbox 360 emulator under the same line of thought: [https://github.com/benvanik/xenia](https://github.com/benvanik/xenia)

</comment><comment><USER7> The first public version was released in 2011 [1], they've come a long way. Kudos to them for keeping at it all this time, always a little encouraging to hear progress on such projects.

[1] [http://code.google.com/p/rpcs3/source/detail?r=1](http://code.google.com/p/rpcs3/source/detail?r=1)

</comment><comment><USER8> I wonder if we'll see "emulators" for the PS4 and XBox One soon (maybe even sooner than usable PS3 emulators) given that they both use x86-64 CPU architecture.

It seems we wouldn't even need emulation, "just" an API emulation layer like Wine. And I think the ps3 used openGL, so it might not be too difficult to map that to native calls. And unlike emulators we'd get near-native speeds.

Actually that sounds a bit too simple to be true, what am I missing?

<comment><USER9> A few things:

Neither system's encryption has been cracked yet.

Both systems have "hUMA", where the GPU and CPU have a coherent view of memory (at least on the "Onion" bus) and the former can even page fault. This likely makes them rather difficult to emulate properly on computers that don't have similar AMD cards, and I think AMD hasn't even properly exposed APIs for this for those cards on PC.

And, of course, writing something like Wine is a huge amount of work.

But it's definitely possible.

<comment><USER10> Also worth pointing out that while AMD does have PC hardware with hUMA (Kaveri series APUs), the unified memory pool only exists when you're using the integrated graphics processor. If you hook up a discrete GPU (which most gamers do) you get two separate memory pools that are in a unified address space, but don't have the magical consistency benefits that hUMA can give a CPU+GPU working on the same data. Not my area of expertise, but I doubt that kind of setup will help with PS4/XBOne emulation.

For drivers, proper support for hUMA isn't available yet on PC. There's some pretty recent information on AnandTech: [http://www.anandtech.com/show/7825/amd-updates-driver- roadma...](http://www.anandtech.com/show/7825/amd-updates-driver-roadmap-for- supporting-hsa-features-in-kaveri)

</comment></comment></comment><comment><USER11> I doubt this will run well on anything but the latest high base clock PC's. I have a 2.2 Ghz Sandy Bridge laptop, with Turbo Boost up to 3.1 Ghz, but Turbo Boost is mainly marketing scam by Intel, so it will run as if it's 2.2 Ghz. Plus Haswell only has a ~15 percent IPC improvement over SNB. With the PS2 emulator I can't even get 60 fps for most games.

<comment><USER12> Does it matter though, this is an elegant hack in the true sense of the word.

The cell processors architecture pretty much rules out high fidelity emulation directly on an x86 chip any time soon.

Not all hacks have to be useful (even for a given value of useful).

<comment><USER13> I disagree. High-speed emulation of the processor would be possible using dynamic recompilation, a la QEmu. Someone would just have to write the code to do it.

<comment><USER12> It's not "just" a software problem.

The SPU's are a fundamentally different architecture to an x86 been something akin to a graphics card, heavily optimised for a very particular kind of floating point calculations (somewhat similar to SSE but much more task focused).

A more likely approach is to use something like CUDA/OpenCL but again while closer in architecture the SPU's are _incredibly_ optimised for one thing.

<comment><USER14> I think the best chance for emulating the SPUs would be with an Intel processor equipped with Iris Pro and the shared L4 cache. The latency and memory sharing issues involved with using a dedicated GPU would impose a huge bottleneck and the AMD APUs are just so weak in IPC terms.

</comment></comment></comment></comment></comment><comment><USER15> How will this finesse the (hardware-based) DRM on PS3 games?

<comment><USER16> Most of the encryption done on the PS3 is actually performed in software on an isolated SPU core. The crypto code has been dumped and the algorithms reversed. This emulator leverages naehrwert's excellent scetool to decrypt the SELF files.</comment></comment>


Show HN: Your Assistant for Twitter and Facebook - <AUTHOR> http://www.mrsocial.me/?s=hn

<comment><USER2> Weird idea to think about: what if in the future most of social media consists of bots responding to what other bots have posted?

<comment><AUTHOR> Its an assistant - not a fully automated bot.

It helps you find posts, like a newspaper does, but it is up to you to actually select and post it.

I have the same fear as you and we make SURE that the app is not about spamming social media.

</comment></comment><comment><USER3> What is the value of posting semi random stuff to your twitter and facebook accounts?</comment>


Ask HN: Brief "Meet the founder" copy: what should it convey? - <AUTHOR> Are there things one must include/say? Are there huge no-nos? Does a photo portrait induce more confidence? What info do you look for? And in the case of a solo founder, should things be any different to reflect that?<p>Thanks <comment><USER2> All of these things depend on what the message is supposed to convey. One way I've seen this handled with little effort is just to link to an existing Linkedin profile. Technical profiles might include a Github too.

Anyone digging deeper is going to google those things up anyway.

In my personal experience, writing the copy myself was overly self conscious and produced poor results.

Good luck.

<comment><AUTHOR> _In my personal experience, writing the copy myself was overly self conscious and produced poor results._

Yes I can see how goofy mine would read. It's one of those things I'd be embarrassed of about a week or two later. But writing one's own copy is much more personal especially when it's a story.</comment></comment>


Intuitive Guide to Maxwell's Equations - <AUTHOR> https://github.com/photonlines/Intuitive-Guide-to-Maxwells-Equations <comment><USER2> These kinds of visual, well thought out explanations of topics which are often taught with terse, obscure and uninviting methods are a gift.

On a tangent: I remember asking my Calculus 101 professor what the "intuitive meaning" of divergence and curl was, outside of the formal math and equations. He was shocked that one could ask to sully these perfect mathematical concepts with dirty intuitive reductions. A guide like this, or 3-Blue-1-Brown videos would have made my day, then.

<comment><USER3> Wikipedia is probably the most obvious modern exemplar of this. The editors of most mathematics articles clearly are much fonder of playing with the equations editor than they are of actually explaining things.

<comment><USER4> Well, it's not Wikipedia's fault if people producing intuitive content are not contributing to it. It's not like editors go out of their way to remove nice explanations.

<comment><USER5> There are many anecdotal reports of tyrannical Wikipedia editors doing exactly this. They claim dominion over a subset of Wikipedia articles and then manicure them exactly to their own personal tastes. I'm sure the situation you describe happens often in various corners of the website.

<comment><USER6> I nearly based my Master's dissertation on a topic I discovered on a wikipedia math page when I was looking for something to cover. Turns out that subsection was maintained by the 'inventor' of topic and essentially served as a vanity page. The topic itself had no recognition in the community and if I had forged ahead on it, I would have failed my dissertation pretty hard.

<comment><USER7> If this is a math topic, you should bring it to the attention of the WikiProject Mathematics talk page: [https://en.wikipedia.org/wiki/Wikipedia_talk:WikiProject_Mat...](https://en.wikipedia.org/wiki/Wikipedia_talk:WikiProject_Mathematics). They might do something about it.

<comment><USER6> Oh, I got rid of it years ago. Thanks though. Eventually a big-name mathematician (who some years later won a Fields medal) waded into the discussion and sided with me. I used my real name in that discussion so I won't give more detail than that :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Link to 3Blue1Brown video on Divergence and Curl: [https://youtu.be/rB83DpBJQsE](https://youtu.be/rB83DpBJQsE)

</comment><comment><USER9> A chapter in Shen and Kong's Applied Electromagnetism helped me a lot back in college. It is graphically explaining the integrals and vector differential equations, something I didn't see in other textbooks. My intuition was then subsequently reinforced by coding a lot of FDTD (Finite Difference Time Domain) for research. The FDTD algorithm is so simple, that I wish physics teachers covered it in class.

</comment><comment><USER10> James Clark Maxwell is one of the Demi-gods of Colour science. He produced the first Colour photograph, and was the first to quantify Colour. Every time you define an RGB value, he is sitting on your shoulder.

<comment><USER11> Small nit, it's "Clerk" not "Clark".

<comment><USER10> Well spotted. Thanks.

</comment></comment></comment><comment><USER12> As a side note there was a historical debate, and the shape of these equations is the end result of the chosen system. In geometric algebra which did not prevail, these are one equation.

<comment><USER13> Geometric algebra is a bit awkward notationally. Physicist prefer to use an alternative notation based on exterior calculus that does provide a compact representation of Maxwell equations: _d_ F=J dF=0

Geometric algebra produces two equations too, by the way, not one.

<comment><USER14> You can even write them in terms of the four-vector A rather than F (related by F = dA) to reduce them to _d_ dA = J.

<comment><USER15> Discovering that the Maxwell equations can be written in this succinct form is kind of mind-blowing, but I'm wondering whether it provides any additional insight? It seems like one needs to do a significant "unpacking" to actually use the equation or gain insight from it. I would love to hear an explanation of electrodynamics starting with "star ddA = J".

<comment><USER16> Yes, I kinda agree. The underlying physics is, by definition, the same, and what you gain by reducing the number of equations you lose by having more complicated "objects" and needing more advanced maths to handle them (e.g. the electromagnetic field tensor, external calculus and whatnot vs. just vector fields and basic vector calculus).

To get an intuition of the physics, I think the traditional 4 equation form is actually more useful, as you can construct toy examples and study the equations one at a time in isolation.

Where the more advanced formulations are useful, and actually are used, is for stuff like relativistic physics where 4-vectors, curved spacetime etc. are needed and not just a gimmick.

But for more down-to-earth applications of electrodynamics like antennas, field propagation in various forms of matter etc., the classical version is fine.

</comment></comment></comment></comment></comment><comment><USER17> >"The Greeks were the originators of this conception. They imagined that 'things' were built out of smaller things, like atoms and molecules. When the atomic theory came about, they expected the atoms themselves to have some sort of mass, shape and size, and to be a microcosm of more things. Let's take sand as an example. To the careless eye, sand seems like a fluid, since quantities of it appear to freely merge and split, but on closer inspection, it's just a bunch of tiny objects which can be described as individual `things' interacting with each other.

The world of quantum mechanics and quantum field theory introduce a different conception of what things are though. It turns out that elementary particles can't be thought of as individual 'things' which have a volume.

 _In fact, if atoms did have a volume, physics wouldn 't work._

We would end up with "surfaces" of electrons behaving in an impossible manner and _spinning faster than the speed of light_.

Well then, you say, what if atoms aren't objects with a volume, but points in space? It turns out that this notion isn't easily prone to interpretation either! No one actually knows or understands what a 'point mass' is! It also has a bizarre implication: if indeed we did have volume-less point masses, we obtain something with an infinite density!

 _In theory, the entire universe could be squeezed to a single point!_ "

</comment><comment><USER18> I didn't have 1st year physics, so this was very informative for me.

Maxwell 1 + 2: Field per surface area. The asymmetry between magnetic fields and electrical fields is that magnetic ones have a total field of zero; that is, al magnetic lines loop back on themselves.

Maxwell 3: The principle behind power generating turbines.

Maxwell 4: The principle behind electrical motors.

To be honest, I didn't even know you can condense it into four equations. I was only exposed to the history of electromagnetism, not the latest expression thereof.

</comment><comment><USER19> For a truly intuitive understanding I think you will have to understand relativistic differential geometry. Once you have that you just have 1 (4-dimensional) vector potential, the Laplacian of which is equal to the current.

This single remaining equation corresponds to the Maxwell equations for the electric field, the equations for the magnetic field just correspond to the fact that the 'curl' of this vector potential has 0 divergence (which is just a basic fact of geometry, and is also why magnetic monopoles are unlikely).

<comment><USER20> How do you define curl in 4d?

<comment><USER21> Div, grad, and curl are a manifestation of de Rham cohomology that make use of a _lot_ of lucky coincidences. See [https://en.wikipedia.org/wiki/De_Rham_cohomology](https://en.wikipedia.org/wiki/De_Rham_cohomology) for the formal definition (in which curl becomes the exterior derivative from 1-forms to 2-forms) and [https://web.ma.utexas.edu/users/a.debray/lecture_notes/idea_...](https://web.ma.utexas.edu/users/a.debray/lecture_notes/idea_of_cohomology.pdf) for a nice exposé.

</comment></comment></comment><comment><USER22> Interesting, I always thought of fields as the interface to measure underlying particles interactions instead of the "base thing" itself. My reasoning was that since it was impossible to model effects from individual particles behavior, we were modeling the aggregate effect using fields, but underneath it was just "small objects" interactions.

Edit: reading the rest of the guide, I find it very enlightening and at the perfect level of complexity perfect for me (no formal maths since Uni 15 years ago).

<comment><USER23> At this level of abstraction and energy scale it's modelled as a mathematical field, but things get more tricky "underneath" just as you suggest.

</comment></comment><comment><USER24> This is awesome. What a concept, identifying the variables in the equations and providing diagrams to show the geometric meaning of the equations. Really wish wikipedia (or some sort of companion website) would similarly present an explanation of the practical meaning of variables and operators in the heavy math pages so that people with an understanding of algebra could understand the formulaic descriptions in addition to the qualitative descriptions after landing on a random page with heavy math.

<comment><AUTHOR> Thanks for the feedback and I agree! I'm going to try to create guides for relativity and quantum mechanics. After I finish those, I'll keep expanding into general math topics, so hopefully those will help as well.

Also an FYI - I made a similar guide to linear algebra which you can also find here:

[https://github.com/photonlines/Intuitive-Overview-of- Linear-...](https://github.com/photonlines/Intuitive-Overview-of-Linear- Algebra-Fundamentals)

</comment></comment><comment><USER25> This is so well written. I remember being taught these in my first year engineering and I really never understood a lot intuitively. (I could solve numericals and clear the course but I did not get it then. Being a CS student, I never had to care about it ever since). I wonder how the world would have been different if all courses were taught this way.

</comment><comment><USER26> OK since photon_lines is reading, do you want any comments? For instance, right on page 4 of the (not numbered) PDF - I tripped over the word "discreet", where ostensibly you meant "discrete". If not - s'ok. Just askin'

<comment><AUTHOR> Indeed and thank you!! Yes - if you have any improvement suggestions, or anything which you'd like added, let me know and I'll see what I can do!

I also see that I made a few spelling mistakes, and a few kind folks here have already submitted issues to let me know, so I'll correct them soon! Thank you all for the feedback and for the help and suggestions! I really appreciate it!

</comment></comment><comment><USER27> I'd be interested in an intuitive explanation of the units of electromagnetic quantities.

E.g. the unit of magnetic flux is equivalent to volt times seconds, and inductance is volt times seconds per ampere. But I can't find intuitive explanations for this

<comment><USER28> Usually easier to move around the units to match the standard equations, e.g. voltage is rate of change of magnetic flux.

</comment></comment><comment><USER29> It's also interesting once you understand what Maxwell's equations mean to look at their geometric algebra formulation[1]. In particular it makes their use in special and general relativity somewhat more elegant, since the GA form explicitly includes a spacetime component. Of course that page isn't an elementary introduction, it assumes familiarity with GA and the divergence & curl operators, as well as some concepts of special & general relativity.

[https://www.av8n.com/physics/maxwell- ga.htm](https://www.av8n.com/physics/maxwell-ga.htm)

<comment><AUTHOR> Actually, at the end of the guide, I tried to include an explanation which states that the magnetic field is just a by-product of relativity, and that the equations really only describe one field. A comment on the other approach: the geometric formulation to me looks interesting, but it's still very information dense and a bit un-intuitive! I'll take a look when I get more time though and see if I can re-formulate the ending chapter using this notation. Thank you for the feedback!

<comment><USER29> That article I linked is definitely not written for beginners, but I do find its notation more intuitive. But that's only because I'm used to working in the notation of geometric algebra, so using it for Maxwell's equations makes sense.

</comment></comment></comment><comment><USER30> Unrelated to the subject, but while viewing the pdf in the GitHub viewer using Firefox on Android: halfway through Firefox crashed and my phone's wallpaper changed. Strange bug, and I can recreate it. Anyone else?

</comment><comment><USER31> According to the epigraph, God said something about D and H, but those were carefully avoided in the text. What's up with that.

<comment><USER32> They have to do with the behaviour of the electromagnetic field inside of different materials: [https://en.wikipedia.org/wiki/Electric_displacement_field](https://en.wikipedia.org/wiki/Electric_displacement_field) , [https://en.wikipedia.org/wiki/Magnetic_field#The_H- field](https://en.wikipedia.org/wiki/Magnetic_field#The_H-field)

To get Maxwell's equations in a vacuum, just replace D with _ε_ ₒE and replace H with B/ _μ_ ₒ.</comment></comment>


Ask HN: How to best handle users creating throwaway accounts? - <AUTHOR> Context
I've created a SaaS product which has a free tier and an unlimited tier. The users seem to like the product and find it useful. At least useful enough to keep creating free accounts instead of upgrading when they reach the free monthly limit.
Aside from creating an "email verification" flow, what kind of techniques do other products use to prevent this kind of abuse?
Note: I realize the irony with my HN name! <comment><USER2> It sounds like the free tier lets people do the same things as the paid tier and only limits quantity, so people are just stacking free accounts to get around paying for it.

Maybe this isn't the best way to segment your market? It depends heavily on your product and how it works, but perhaps there's a way to make it so that the free tier lets people try the product and understand how it works. You could then make it so that some extra functionality is available _only_ to paid users.

An example of this is Webflow[1]. A free accound is fine for mocking up a website, but you can only have one project, and you can't export the HTML and CSS. This works well, because I was able to use a free account to see how the product worked, and when I decided I wanted to export what I had created, I was happy to upgrade to a paid account.

You can also see this at play in the Wordpress plugin market. There are plenty of plugins that have a free version available, and also offer a premium version that includes support and extra features.

The common thread here is that upgrading to the paid version of the product includes more features, not just more quantity. This approach may or may not work for your product. Even if it doesn't _right now_ , perhaps there are features you could add only to the paid tier that would entice people to upgrade?

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

</comment><comment><USER3> I just blacklisted few email domains which fixed 90% of problems.

Some radical step if you target big business is disallow free email providers (@gmail.com). That may create some backslash, but if you target enterprise that allow you to focus.

<comment><AUTHOR> Thanks-- that's something I hadn't thought of. It appears most of the users don't use free providers so that may be an option.</comment></comment>


When the Public Feared That Library Books Could Spread Deadly Diseases - <AUTHOR> https://www.smithsonianmag.com/history/during-great-book-scare-people-worried-contaminated-books-could-spread-disease-180972967/ <comment><USER3> Here's information from NHS on how long some viruses can live outside the body: [https://www.nhs.uk/common-health-questions/infections/how- lo...](https://www.nhs.uk/common-health-questions/infections/how-long-do- bacteria-and-viruses-live-outside-the-body/), I think this indicates that (1) yes, viruses can, in principle, be transmitted through books, (2) time window for this is rather small, and (3) probability of infection is further reduced since we usually just handle the book and not, e.g. lick pages (so there might be greater probability for young children's books). Altogether, looks like the danger level is on par with interacting with the regular outside world, e.g. door handles, staircase railings.

Conceivably, however, books could be a suitable attack vector for deliberate contamination with toxic substances and bacteria pores.

Famous literary example is the poisoned copy of Aristotle's Second _Poetics_ in the _Name of the Rose_ ([https://en.m.wikipedia.org/wiki/The_Name_of_the_Rose](https://en.m.wikipedia.org/wiki/The_Name_of_the_Rose))

<comment><USER4> You don't need to go to fiction to find toxic books. Paris green([https://en.wikipedia.org/wiki/Paris_green#Uses](https://en.wikipedia.org/wiki/Paris_green#Uses)) was at one time used heavily in a large number of seemingly innocuous applications, including book covers.

[https://theconversation.com/how-we-discovered-three- poisonou...](https://theconversation.com/how-we-discovered-three-poisonous- books-in-our-university-library-98358)

</comment></comment><comment><USER5> The modern version of this scare (possibly more real) is bedbugs in library books. Our local library had to close for a few days recently due to a bed bug infestation. It is 50% library, 50% homeless shelter, unfortunately.

[https://www.nytimes.com/2012/12/06/garden/bedbugs-hitch-a- ri...](https://www.nytimes.com/2012/12/06/garden/bedbugs-hitch-a-ride-on- library-books.html)

<comment><USER6> Had them in our library as well - also suspected to be from the homeless folks who go in and out.

Public libraries serving as defacto shelters is beyond their designed and intended use. This is a problem in many public space. Private spaces like shopping malls can remove people. How does a public library decide who to remove?

<comment><USER7> How about instead of wondering how to evict the homeless you tackle the issue of homelessness. This is far from a hard problem to solve with a bit of wealth redistribution.

<comment><USER8> If you are the person in charge of running the library your job isn't to "solve the issue of homelessness", nor have you the authority to do "a bit of wealth redistribution" \- your job is to make sure all users of the public library are safe and don't get random bugs from just borrowing books - <USER2> means stopping the source of the bugs from coming in in the first place.

<comment><USER7> Systemic issues need larger-scoped solutions. "cleaning" the library is just masking up the problem so people that are well off can pretend homelessness doesn't exist and isn't a systemic issue and they're definitely not part of the problem just let me get a book from the public library.

<comment><USER9> There is also the problem of homed people having bed bugs too. Lower income school districts have to deal with that as well. Hopefully both problems (everyone's bedbugs and homelessness) can be solved without neglecting the other.

</comment></comment></comment></comment></comment></comment><comment><USER10> Spread of disease is unavoidable in a society of public restrooms and shared infrastructure. Sick people contaminate their environment at points of contact like handles, toilet seats, keyboards, the air around them, etc. The damages caused by sick people at work are poorly estimated at $150B ([https://www.businessnewsdaily.com/11323-cost-of-coming-to- wo...](https://www.businessnewsdaily.com/11323-cost-of-coming-to-work- sick.html)).

I could imagine micro terrorists or psychos who actively try to spread disease. Sick people who go to work do the same thing, just without evil intentions. It would be relatively easy to cultivate bacteria or viruses and spread them across the human environment.

Examples:

\- Go to the airport and mist some Norovirus around

\- Enter a couple stalls and drip some E-Coli on the seats or contaminate a whole role of toilet paper or drying paper

\- Contaminate a few ketchup bottles at a restaurant or mist the silverware bucket

It would be extremely difficult to pinpoint these people as the damage is anonymous, random, and highly distributed. Damages could dwarf any previous terrorist attack or serial killer. It's likely that such people exist.

<comment><USER10> Preventative measures: quarantined society, minimized travel and human contact, private or limited use facilities, increased isolation, enhanced and more frequent sanitation at point of use, and enhanced air treatment.

Sanitation is currently done by chemical (Clorox), heat (autoclave or flame), light (UV, X-Ray, gamma), filtration, or pressure treatment. These are highly functional, especially when used in tandem.

<comment><USER11> > quarantined society, minimized travel ...

Views of a dystopian world?

</comment></comment></comment><comment><USER12> I have a library of old (1870's-1930's) books on bacterial and fungal taxonomy, and I'm cautious not to breathe too deeply when I handle some of them. Many of these may have been used in non-sterile microbiology labs, likely including my copy of A Manual of Tropical Diseases (signed by Catellani himself). Bacterial spores (e.g., Bacillus, can survive in dehydrated states indefinitely). Some of the notes in margins, covers, bookplates and stamps show snapshots of where these have been.

</comment><comment><USER13> So can diseases be spread through contaminated books or not? the article seemingly does not make a clear statement either way.

<comment><USER14> I would have thought that the headline alone would be sufficient enough to provide that answer. In order to remove any further doubt, millions of books are still in circulation, after more than a century since the scare/panic. This should be considered as a fact that books are not infectious ─ not in the medical sense, at least.

A Kindle is probably likely to harbour more germs than an average book. Furthermore, the chemistry of books possibly does not allow harmful organisms to survive for too long.

[https://www.scienceabc.com/nature/why-do-books-smell-so- good...](https://www.scienceabc.com/nature/why-do-books-smell-so-good.html)

[https://www.theguardian.com/books/2017/apr/07/the-smell- of-o...](https://www.theguardian.com/books/2017/apr/07/the-smell-of-old-books- science-libraries)

<comment><USER13> Yes, but instead of categorically starting it, the article merely implies it, giving the reader some doubt. But I suppose there is still some possibility that books could be contaminated with disease causing microbes/ parasites or even harmful chemicals.

<comment><USER15> Would be easy enough to sanitize using radiation if you really wanted to. Fact is humans are resistant to many things.

</comment></comment></comment></comment><comment><USER16> And then of course there is Anthrax dust. [http://lepo.it.da.ut.ee/~cect/teoreetiline%20seminar%2001.10...](http://lepo.it.da.ut.ee/~cect/teoreetiline%20seminar%2001.10.2013/Steedman_2001.pdf)

</comment><comment><USER17> My son is 4 and we get a lot of kids books out of the library. I do wonder occasionally whether he can catch a cold from the books since kids are sick quite a lot and they like to put their hands in their mouths, etc

<comment><USER18> The lifetime of most common viruses once they are outside The body is measured in minutes, so you should be fine.

<comment><USER19> More to the point, how are you going to transmit viruses without a liquid medium of some kind? (Any virologists out there? Does that ever happen?)

A very small number of viral particles isn't usually enough to cause disease, as I understand it, and I definitely don't see how you'll pick up enough from dry paper to become sick. If that sort of thing were possible, people would be getting diseases like warts and herpes from the toilet paper in public restrooms. Library books would be pretty far down my list of concerns.

</comment></comment></comment><comment><USER20> In Chinese libraries there are sanitization boxes that everyone runs their books through after check out.

Seemed like it was just UV, though I didn't ask.

</comment><comment><USER21> Stay out of the shadows ;-)

</comment><comment><USER22> lawl, so another public resource being demonized? this like those posts regarding the trouble of public transportation. only the stupidest people will buy into these kind of social media brainwashing. anything the wealthy do not use will be demonized.

<comment><USER23> _only the stupidest people will buy into these kind of social media brainwashing._

Only the stupidest people will not determine from the article, or at least infer from the headline, that this panic was over a hundred years ago.

Ain't no hubris like tech bubble hubris.</comment></comment>