Cloud server showdown: Amazon AWS EC2 vs. Linode vs. DigitalOcean - <AUTHOR> http://remcobron.com/cloud-server-review-and-comparison-amazon-aws-ec2-vs-linode-vs-digitalocean/ <comment><USER2> _sigh_

I call these "weekend benchmarks" \-- what you'd typically do when you have a block of free time, then spend time optimizing for said benchmark. Roll in on Monday with some staggering results, only to find one (or many) of your variables were off.

Did the author try multiple instances on each provider? VM tenancy is a bitch. (Think of how annoyed you get at the noise levels, when your neighbor in the next apartment throws a party)

Is the author's source benchmarking machine, a physical machine, or a virtualized guest? Does it have power savings turned off so that the process is running at 100% speed, instead of a variably-clocked down core?

Did the author enable or disable TCP time-wait recycle? So he doesn't bump into said ceiling when running such tests back to back?

Did the author run the tests back to back, or have a cool down period between tests?

Where was the author's network upstream located when he tried said tests? Were there any network issues at the time of the test? Would the author even be aware of them?

Your page you're testing against, does the same database call, which is presumably cached. Did he throw out the cached results? Can he identify the cached results?

Are we firing up ApacheBench with HTTP keepalives enabled? With parallel connections? How many parallel connections?

How many Apache servers (StartServers, MinSpareServers, etc)? Which httpd modules were enabled? Which httpd modules were disabled? Which PHP modules were enabled?

You're trying to benchmark CPU and I/O horsepower across three different platforms but doing it through this narrow "straw" which consists of your "independent server", your upstream, your upstream's upstream, your upstream's upstream's peering connection with Amazon/Linode/DigitalOcean, your web server and its PHP module, your application, and MySQL.

If you're rolling your eyes at this, then you shouldn't be doing weekend benchmarks.

I'll leave you with this as well:

[http://zedshaw.com/essays/programmer_stats.html](http://zedshaw.com/essays/programmer_stats.html)

<comment><USER3> Do you have something better to point to? It's easy to complain about stuff, but at least he's out there trying to do something. Presumably it can be improved.

I'm particularly fond of the quote "lead, follow, or get the hell out of the way", which is a bit harsh in this case because a lot of your advice is good. It could be framed in a more constructive way, though - there's some Comic Book Guy tone there in your comment.

<comment><USER2> Seriously?

My intended tone was not "don't try", but "try harder".

I've listed at least 5 ways to improve/normalize the testing, as well as linking to a document that does a pretty good job of explaining statistics (particularly, how programmers do a bad job of statistics; baselines for benchmarks; etc).

"At least he's out there trying" \-- with this not-so-great benchmarking, the author has just effectively SHITTED on 2/3 companies that have gone to great lengths to build amazing infrastructure AND managed to spread his FUD around the web, to the point where it reached the HN front page -- and you want credit for trying?

Get the hell out of the way.

<comment><USER4> It's true: you don't say something like _" Well, Amazon just sucks."_ without backing the statement up with something more credible. As someone a little less savvy on the topic I'm glad to know that the test wasn't even close to the final word and why. Thank you.

It's probably also true that your tone is more abrasive than it needs to be.

<comment><USER5> Part of the problem is a benchmark like this, put together with plain ignorance, and published on the web will give people who don't know any better all kinds of false perceptions.

</comment></comment></comment></comment></comment><comment><USER6> Yes, amazon is 'overpriced' if what you're looking at is CPU or disk speed (which is not a bad metric, really). Where amazon shines is the amount of programmatic interaction you can do with it - have build scripts kick off an EC2 instance to run tests, send reports, shut it down. Programmatically bring up more instances during peak times, spin them down at night, etc.

AFAICT, Linode doesn't offer that, and they probably won't. Amazon's been ahead in this arena for awhile, and will probably keep that lead for the forseeable future. EDIT: Apparently they do have an API which would cover a decent variety of use cases.

What's sad is the number of people that migrate over to Amazon because it's the done thing, without realizing what they're paying for (and that they're not utilizing the unique features of EC2).

<comment><USER7> The other thing Amazon offers is investor confidence. I've worked with several clients who could save tons of money every month by going to Linode, DO, etc., but stay with Amazon (or Heroku) because they feel it reassures investors they are following "best practices." I can understand lots of reasons not to switch, e.g. just having higher priorities, but this reason seems particularly silly.

<comment><USER8> It's not that silly when you consider the security track record of AWS compared to Linode.

<comment><USER9> Can you elaborate on their track records?

<comment><USER10> [1] - [https://blog.linode.com/2013/04/16/security-incident- update/](https://blog.linode.com/2013/04/16/security-incident-update/) [2] - [http://arstechnica.com/business/2012/03/bitcoins- worth-22800...](http://arstechnica.com/business/2012/03/bitcoins- worth-228000-stolen-from-customers-of-hacked-webhost/)

I believe there may have been other incidents.

That said, I still have a number of services running happily on Linode. :)

<comment><USER11> It's more than just those incidents though. It's about basic security practices. No security audits. Passwords stored in plain text. Major discrepancies in the story from what Linode says versus the hacker specifically around whether the private key was compromised and credit cards stolen.

And it's just a continued pattern of incompetence and cover up.

</comment></comment></comment></comment></comment></comment><comment><USER12> The 'small' instance he's testing is the worst deal Amazon offers. If you buy certain instances you get can a better connection to EBS, and then you can allegedly buy better I/O for $. A fair analysis is going to involve pages and pages of graphs and charts...

It is hard to beat AMZN's flexibility and easy provisioning. For instance, even my sister-in-law can walk up to AWS, spin up an instance with Windows, log in with RDP and then enjoy everything you can enjoy on Windows other than high-end gaming. (For you mac-ers in the audience, this is a clean and economical way to make sure that your landing page works for "the rest of us")

But you don't have to choose because you can work with Linux. On top of that, AMZN layers services such as Elastic Map-Reduce which are compatible with industry standards but eliminate so much time you could waste sysadmining.

<comment><USER13> > If you buy certain instances you get can a better connection to EBS, and > then you can allegedly buy better I/O for $

You actually buy provisioned IO. The throughput can be actually smaller in some scenarios than for non-provisioned IO, provided you: don't have neighbors or they are not noisy. And boy, is that provisioned IO expensive (we've bought quite a bit of EBS volumes).

</comment></comment><comment><USER14> I've been able to make good utilization of Linode's multiple cores for our Sphinx server ([http://sphinxsearch.com/](http://sphinxsearch.com/))

In sphinx's config files, its super easy to split an index up into 4 parts, and then assign each partial index to one core.

Doing this, we find that all 4 cores are utilized nicely (>50%) almost all of the time. I feel like we're getting a really good value out of that machine.

AirBnB has a good writeup on this config: [http://nerds.airbnb.com/how-we- improved-search-performance-b...](http://nerds.airbnb.com/how-we-improved- search-performance-by-2x/)

<comment><USER15> Now you can increase that to 6 parts since Linode increased to 6 cores :)

<comment><USER16> 8* cores

[https://blog.linode.com/2013/03/18/linode-nextgen-the- hardwa...](https://blog.linode.com/2013/03/18/linode-nextgen-the-hardware/)

</comment></comment></comment><comment><USER17> EC2 always comes out behind in these comparisons. However, EC2's benefit is the synergy of the platform: painless images, flexible volume management, VPC, programmatic DNS, queue services, Heroku style service, baked-in Chef support, easy RDBMS cloning and replication, etc.

</comment><comment><USER18> ServerBear does everything the OP is already trying to do:

[http://serverbear.com/237-small-amazon-web- services#benchmar...](http://serverbear.com/237-small-amazon-web- services#benchmarks)

[http://serverbear.com/10-linode-1gb- linode](http://serverbear.com/10-linode-1gb-linode)

[http://serverbear.com/1990-2gb-ssd--2-cpu- digitalocean](http://serverbear.com/1990-2gb-ssd--2-cpu-digitalocean)

</comment><comment><USER19> These are fine benchmarks for consideration, IFF you are interested in using AWS EC2 instances as a vps. This might not be a terrible endeavor, but it's really not the intended use.

EBS performance is an issue - Yes it is, don't use EBS. Use instance store and push to S3 for persistence. If you need performance I/O for something, there is likely a separate service available that pushes your I/O bottleneck further away (RDS, ElastiCache, SQS, etc.).

AWS costs more for weaker CPU - Indeed, this can be the case. But, it's often cheaper (but not much) to put up an Elastic Load Balancer with an Auto Scaling Group and dynamically support your peak traffic than it is to pay for an enormous VPS that sits idle 60% of the time.

As these benchmarks suggest, I agree that if you're only using one EC2 instance (and you can't get away with a micro), you should probably be investigating other solutions. If you want to architect your app/project/service/whatever to be more distributed and fault-tolerant, AWS can probably make that easier (not necessarily cheaper).

<comment><USER20> EBS sucks, but EBS+PIOPS is actually pretty great. We've gotten consistent performance well within the guarantees ever since the launch last year. Highly recommended.

On a side note - From a marketing perspective, Amazon probably should have launched PIOPS as a separate product from EBS. The idea that "EBS sucks" is pretty firmly entrenched, so EBS+PIOPS is fighting an uphill battle.

<comment><USER19> I haven't had reason to use it yet, but definitely a valid note. Thanks for the corrective note about EBS, and I'll be a little more cautious with my comments in the future (because I think your marketing note is completely valid).

</comment></comment></comment><comment><USER21> I am always surprised Rackspace Cloud Servers are left out. We've been using them for over a year with only a handful of outages (VM host reboots- 3~5min each).

For us it is worth the price (>$40/mo for 1 GB ram) for great stability and support. The Openstack API is really nice, too.

<comment><USER22> I've used Rackspace cloud both when it used to be called Slicehost and after the full transition to the Rackspace brand. In my experience past and present, you get a better deal dollar for dollar with Linode (better disk, network, and cpu performance). Personally, the only reason I'd use Rackspace cloud would be as a part of their hybrid offering.

<comment><USER5> Good call - lease a bigger 16-core 32GB box such as your database server on their managed hosting platform (not cheap), and then just spin up cloud instances connected to that server using RackConnect which seems to be some fancy, cumbersome routing/vlan monstrosity.

</comment></comment></comment><comment><USER23> ...and the author is using Laravel, which delivers stunningly terrible latency and throughput performance in the techempower benchmarks:

[http://www.techempower.com/benchmarks/](http://www.techempower.com/benchmarks/)

Would be nice to see similar benchmarks using a framework that doesn't resemble a honeypot's tarpit.

<comment><USER24> Hi. Laravel user/contributor here. I suggest you try the framework before judging it based on a _benchmark_. Not sure about their system/code, but a large production application with APC (Laravel 3.2.14, just like the benchmark) has a latency of 90-120ms, and some of those pages are pretty complex.

<comment><USER23> Techempower invites SMEs and advocates of their language/platform to submit pull requests to improve any overlooked performance problems in the specific benchmarks.

You're more than welcome to help make laravel look better in these benchmarks. But unless you're running the PHP through HipHop, I doubt you're going to get anywhere near the statically-compiled platforms near the top.

</comment></comment></comment><comment><USER25> Here is the original post: [http://www.cosninix.com/wp/2013/06/amazon-aws- ec2-linode-dig...](http://www.cosninix.com/wp/2013/06/amazon-aws-ec2-linode- digitalocean-cloudserver-showdown/)

</comment><comment><USER26> "Is Amazon overpriced"

Well, yeah. If you use it as just commodity servers. At Radius, we migrated our index build process over to using Elastic Map Reduce on spot-priced servers and it's been a huge cost savings.

Long story short, move to Amazon if you want elasticity and can design around saving from their services. Otherwise, look elsewhere.

</comment><comment><USER27> Well, AWS does have some very useful value add services: Elastic MapReduce, S3, and DynamoDB being my favorites.

Way back when, Amazon gave me about $1200 of free use credits over a two year period, and I played, experimented, used it for most customer projects, etc. I also used AWS for almost all of my own projects.

In the last year or two however, I have started going back to renting large VPS by the month (I use RimuHosting, but there are a lot of good providers) because you get so much more capabilities for the same amount of money.

A little off topic, but another way I have found to save money is to wean myself off of Heroku by taking the little bit of time to set up a git commit/push hook to automatically deploy my web apps. I was using a manual deployment scheme before that took me a minute for each deployment - not so good.

All that said, AWS is really awesome for some jobs like periodically crunching data with MapReduce, etc. I bought a very useful little book "Programming Amazon EC2" a few years ago, and I recommend that as a good reference for using the AWS APIs.

<comment><USER27> BTW, I wrote up how I use git commit/push hooks for deploying [http://blog.markwatson.com/2013/06/automating-clojure-web- ap...](http://blog.markwatson.com/2013/06/automating-clojure-web-app- deployments/)

<comment><USER28> Using a VCS as your deployment strategy is The Wrong Way to do it.

I won't go into it in this comment because it's been beaten to death and you can find information about deployments everywhere; even the commenter on your blog post makes a better suggestion than your VCS deployment strategy.

Continuous integration, source/binary distributions, automated provisioning, sandboxing, versioning, etc...; it's all out there.

<comment><USER27> For a lot of cases, you are correct that continuous testing, integration, deployment is the way to go, especially when deployed systems have many moving parts. However for small projects, mimicking a Heroku style of testing locally, commit changes, and use git hooks for deployment seems like a good solution.

</comment></comment></comment></comment><comment><USER29> I found your conclusion a bit misleading and unfortunately a lot of people often comes to the same conclusion.

Indeed the CPU is limiting factor in your bench, and while you say you're comparing apples to apples, it's not true in my opinion.

Maybe I'm wrong but I never see these actors as really competing in the same market : of course if you're looking for the best CPU perfomance/price ratio AWS is one the worst choice. But that's not what you're paying for imo, as someone already mention you're paying for the programmatic access, the ecosystem, the auto-scaling ability, monitoring, etc. Move to AWS if you need the "Elastic" part in EC2 (Elastic Cloud Compute) or if you know what you're doing and what you're paying for.

Same for DO, what you're paying for is the SSD, they're advertising about it everywhere, so it's kind of obvious that a big part of what you'll pay for is the SSD.

</comment><comment><USER30> If security is a consideration, I personally wouldn't use Linode at this point. AWS has a dedicated security team. I don't know about DigitalOcean.

</comment><comment><USER31> Oh, I'm too late to the party.) Nevertheless, virtualization is not for production.) Even para- or hvm. I/O is a bottleneck.

Linode is just plain xen, and domUs packed not so tightly, so it performs more or less quickly if other instances are 100% idle.)

The main assumption about virtualization is that there is no two high load domU instances running in parallel, same scenario as it was with primitive apache virtual host based hostings - we could pack them tightly, each one have 100 requests per week on average.

So, virtualization works fine for almost always idle development servers, but everything would fall apart in a I/O intense production environment.

The mantra is "I/O request should be separated and data partitioned". In case of cheap virtualized "servers" storage is the first bottleneck, because you share it with other domUs. Once they're idle, you're OK. Should one next to you running, say, a torrent tracker - you're screwed.

It doesn't matter what you're running under - Xen or just FreeBSD's jails (still love them). The problem is that a HDD could perform only one operation (read or write) at a time.) So, your dom0 is deeply in IOwait, and your, say, mysql on domU locked all your tables, waiting for insert/update completion.

I could write a brochure, but in short - virtualization on productions is the same unnecessary complications as a Java Virtual Machine. They are nice toys, but in production everything is better without them.)

</comment><comment><USER32> Did you try multiple instances on each provider? Performance between VPS's from the _same_ provider varies wildly. If there are 64 VPS's on a server, you will probably get a lot more than 1/64th of the processing power of that server because most of the other VPS's are idle. But how much more than 1/64th you get will vary wildly from machine to machine.

<comment><USER33> _Performance between VPS 's from the same provider varies wildly._

This absolutely should _not_ be true, and in my experience it isn't true on Amazon -- you will neither be starved for resources if others do intensive things, nor will you enjoy riches if they are quiet: You will get what you are paying for.

I have a personal experience from Digital Ocean that is a bit different. Firstly let me say that I think they have a great service and compelling prices, but I set up a test server (the 2GB/2CPU variant) to trial leveraging it in the platform mix, as a solution that crosses host providers = awesomeness.

The IO performance I got was terrible, despite all of the talk about SSDs. Simple operations would stall, the CPU endlessly waiting on _wa_. I submitted a support ticket and quickly they toggled some priority flags and I started getting performance more along the the lines of expectations, but ultimately it seems like a classic case where single tenants can completely monopolize the platform, enjoying the entirety of the storage platform at the cost of everyone else. I'd rather that they cap consumption and do appropriate IO quanta allocations rather than leaving VMs starved.

And it really makes me concerned for the future -- do I have to constantly do benchmarks and analysis, hopping VMs just to find one that isn't an abomination? That isn't how these things are supposed to run.

<comment><USER34> This absolutely _is_ true, and in my experience it has been on AWS. Search for past benchmarks on HN for examples.

Regardless, we stick to AWS at work for the entire suite.

When it comes to my money though, DO is making very large strides imo

<comment><USER33> _Search for past benchmarks on HN for examples_

Can you provide any more specific search criteria?

I've found Amazon instances to be quite consistent. They vary, of course, but quite contrary to your initial statement that they vary _wildly_ , I find the variances quite small, and there isn't a need to constantly hunt for ripe instances. I have absolutely found what you said to be sadly true on quite a few other VM hosts.

<comment> j-kidd [http://blog.sciencelogic.com/netflix-steals-time-in-the- clou...](http://blog.sciencelogic.com/netflix-steals-time-in-the-cloud-and- from-users/03/2011)

tl;dr: Netflix kills slow performing AWS machines due to resource contention

</comment></comment></comment></comment></comment><comment><USER35> My two cents here: Benchmarking is all fine, but from my point of view, the performance-price-ratio is not sooooo important in hosting.

This discussion here reminds me of PC customers buying behavior in the 90ies. What's better AMD or Intel? ... Nowadays other features are key: What's the weight of this device? How thick is it even? Apple has changed the way we look at these things today.

Convenience also matters in hosting a lot. How much time do i have to spend to have my app up and running? Do i really want to set up and maintain everything myself? How good is the support? Do i want just bare metal computing resources or a solution provider with an eco system?

What matters the fastest server ever, when the queries are slow? The performance of any app/website relies heavily on the engineering skills of the developers. See caching, see i/o load, see frontend technolgies, see #perfmatters.

disclaimer: i am co-founder of a PHP PaaS.

</comment><comment><USER36> And compare it to a dedicated box, and they _all_ suck. If you're looking for a stationary server and just need raw power, get a dedicated server plan and good backups.

If you need what Amazon offers, all of the AWS services or most of them, then go for it. But you don't use AWS for raw power.

</comment><comment><USER37> There are at least two tools which are very useful in such comparisons - [http://www.cloudorado.com](http://www.cloudorado.com) for pricing, and [http://cloudharmony.com/](http://cloudharmony.com/) for benchmarks.

<comment><USER38> Those are interesting sites but I didn't see Digital Ocean in their benchmarks or lists of offerings. Seems like a big omission.

<comment><USER39> Check out [http://www.serverbear.com](http://www.serverbear.com)

</comment></comment></comment><comment><USER40> Linode for hosting, DO for experimenting and Amazon for Glacier, the combination worked well for me.

<comment><USER11> Given Linode's abysmal security record you might consider swapping the first two.

</comment></comment><comment><USER41> I'm interested in seeing Google's Compute Engine show up in some of these benchmarks. Any reason why someone would not want to use them? Some benchmark's I've seen show them with awesome stats.

</comment><comment><USER42> Something to consider is that DO doesn't offer internal network IP's. So if you have something like a cache farm, you have to access them via external IP's. Linode is supposed to internal IP's, although some manual tickering is required. I'm not sure about EC2, but I'll assume they do.

On a cost per hour basis, DO is the cheapest. Linode next. And Amazon most expensive.

Also, DO is only located in NY, while the others offer central and west cost locations.

<comment><USER43> DO actually offers both San Francisco and Amsterdam locations in addition to New York.

</comment></comment><comment><USER44> What's the recommendation for hosting Postgres on a VPS these days? DigitalOcean doesn't seem to offer NAS drives, and I believe Linode is in the same boat.

<comment><USER45> Don't use a NAS. Use replication.

<comment><USER44> Not sure I follow. What do you do if you need more space than what comes with the instance?

</comment></comment></comment><comment><USER46> This is only true with the small instance type though, which is severely CPU handicapped. The larger instances (> medium) get the full CPU throughput. Their "EC2 Compute Unit" rating is mostly marketing, I could never verify it by practice. Some instances with twice the ECU actually give more than twofold performance, while instances with 1 ECU should be renamed to 0,25 ECU.

I would expect anyone who works with AWS to know this by now.

<comment><USER47> I am curious about this. No doubt the Amazon small is quite the laggard, but as price and capability scale on each platform, I would be curious to know what the results look like.

Secondly, if you wanted to get truly accurate results, doing this same test over an array of provisioned instances would be good, as quality can vary.

Still, interesting information nonetheless. Really surprised how much faster Linode was than DigitalOcean.

<comment><USER48> True. EC2 for example has 17 different instance types, but only one was benchmarked in the post.

[http://aws.amazon.com/ec2/instance-types/instance- details/](http://aws.amazon.com/ec2/instance-types/instance-details/)

</comment></comment></comment><comment> wh-uws Has anyone used Cloud66 or Cloudfoundry to deploy to either of these (Linode, AWS, Digital Ocean)?

I'm about to deploy an app and I would like to get other impressions.

<comment><USER49> I've used Cloud66 for a few sites and would recommend them.

I like the workflow for creating stacks and I really like the polyglot nature of selecting which cloud to deploy to.

They did have a security incident a while back and I'd recommend reading up on that. They had a blog post about it but it appears they've since pulled that. I don't know what that's about.

I'll tell you that you'll be hard-pressed to find better customer support/service in another company. They're open to suggestions and will help you if you ever run into an issue deploying an app.

</comment></comment><comment><USER50> One of downsides of AWS is the bandwidth cost. It's 5x to 10x more expensive. Running heavy media based websites is just not feasible.

<comment><USER51> you wouldn't want to do this straight out of EC2, but once you add S3=>CloudFront to the mix it's much less bad. Only thing you want to be serving from your EC2 boxes and load balancer is gzipped HTML/CSS/JS (could even do CSS/JS on S3/CF if you wanted).

<comment><USER50> Doesn't CloudFront have the same outgoing bandwidth charge? $0.12/GB? CloudFront does have caching and lessen load on EC2 boxes.

</comment></comment></comment><comment><USER52> I think the reason many choose Amazon is also all the other services they offer, keeping everything under the same umbrella.

</comment><comment><USER53> It would be helpful if the author included the round-trip latency (even some simple pings) alongside the benchmark so we could judge how far the servers are from the client.

This will have a significant impact on the ab numbers (particularly as he's not using the -k option and therefore establishing a new TCP session for every request).

</comment><comment><USER44> Those of you who made the switch from EC2 to any of the other providers, what are you missing the most? I'm right now pretty integrated into the whole VPC/Route53/IAM/S3/SES web and get the feeling that it'd be pretty rough to untangle myself from that.

</comment><comment><USER54> The benchmark is on web requests per second, so it really needs to cite each server's location or ping latency relative to the machine doing the benchmarks. It's unfair if one of the servers is on the opposite coast of the other 2.

</comment><comment><USER55> I don't know that comparing EC2 reserved instances to DigitalOcean is really "apples-to-apples", since DigitalOcean has hourly billing and no upfront cost just like EC2 on-demand, and unlike EC2 reserved.

</comment><comment><USER56> For perspective on pricing and different plan information, I built the following tool last week:

[http://cloudpricegrid.com/](http://cloudpricegrid.com/)

</comment><comment><USER57> Hi, rudimentary but interesting results. Please consider including atlantic.net in your testing in the future.

</comment><comment><USER58> I am quite surprised no one has mentioned SoftLayer. Isn't IBM buy SoftLayer for their cloud offerings?

</comment><comment><USER59> Well depends on application you need, spot on instances are cheapest for batch processing.

</comment><comment><USER60> Has anyone had any good experiences with any European VPS providers?

</comment><comment><USER61> If linode offered an RDS replacement, I would switch now.

</comment><comment><USER62> Thanks for the comparison.

My first impression? graphs are better :)

</comment><comment><USER63> fwiw, i had a similar experience as well. i tried prgmr too, and linode was just much better and more consistent than all the others.

</comment><comment><USER64> I never see Gandi offerings mentioned. Anyone has a review / advice?

<comment><USER65> Their ridiculous contracts rule them out for business use from the start. Start at "3.3 Use of Our services in a way that conforms to Our Ethical code" in the general service agreement if you're curious.

</comment></comment><comment><USER66> Conclusion

Well, Amazon just sucks.</comment>


62 People Own Same Wealth as Half the World - <AUTHOR> http://www.oxfamamerica.org/press/62-people-own-same-wealth-as-half-the-world/ <comment><USER3> The problem with these figures is it presents wealth like a cake. Some people get a larger portion of it than others. But the fact is some people create more cake. They bake a cake that was not present before.

If Bill Gates didn't start Microsoft the billions of dollars he has wouldn't exist. The third world would be just as poor. He added value to the world.

Money is not a fixed commodity, it can increase. [https://en.wikipedia.org/wiki/Economic_growth](https://en.wikipedia.org/wiki/Economic_growth)

<comment><USER4> > the billions of dollars he has wouldn't exist

It's definitely true. No bill gates, no Microsoft. No word processors, no spread sheets, no Microsoft access. No desk top operating systems. No compilers, no IDE's. No internet.

Would have been terrible loss for humanity if the man had gotten hit by a truck in 1975.

<comment><USER3> Terrible? Horrible! :)

Any how, the 3th world would still be poor in either scenario. People have been trying to solve inequality for a long time. There seems to be no real political solution like communism or the likes.

The only thing one can do is willing to share some. I'm from the Netherlands and pay about 50% income tax. I don't complain. We have good free education for everyone, good healthcare for everyone, and people without a job get their unemployment benefits.

In the US people seem to vote mostly on candidates who promise less and less tax. How can you get people willing to share? Why are some people never satisfied with what they have? Why is having a big car more status than having 2 happy children? I don't understand these things...

<comment><USER5> The solution has been found, is in action and you should be cheering. It's called global capitalism. We are witnessing the greatest decline in absolute poverty in the history of our entire species. Moreover global inequality has been falling.

"The number of people living in extreme poverty around the world is likely to fall to under 10 percent of the global population in 2015, according to World Bank projections released today, giving fresh evidence that a quarter-century- long sustained reduction in poverty is moving the world closer to the historic goal of ending poverty by 2030."

You're right; nothing to do with politics. It's just letting people do business.

[http://www.theglobalist.com/the-real-winners-and-losers- of-g...](http://www.theglobalist.com/the-real-winners-and-losers-of- globalization/)

[http://www.adamsmith.org/blog/george-monbiot-says-were-to- bl...](http://www.adamsmith.org/blog/george-monbiot-says-were-to-blame-for- everything-perhaps-hes-even-right)

</comment></comment></comment></comment><comment><AUTHOR> This is totally not a problem. La-la-la.

Which is why this submission of mostly factual material got 8 or 12 points in ten minutes, climbed to the top 10 of the front page ...

... and then vanished from the first ten pages of the site, having got 17 points in some 15 minutes.

Algorithms.

La-la-la.

<comment><USER6> The site _is_ called Hacker News, not Inequality News.

</comment></comment><comment><USER6> These statistics almost always willfully ignore the fact that many of these people have negative net worth; it's entirely possible that I personally have more wealth than 10 percent of the world simply due to their having negative wealth.

<comment><USER7> Is it okay if the poorest 10% of the world's population has negative net worth?

Should somebody who thinks inequality is bad ignore statistics that don't ignore people with negative net worth? If so, why?

Oh, and from the report:

"The average wealth of each adult belonging to the richest 1 percent is $1.7m, more than 300 times greater than the wealth of the average person in the poorest 90 percent, _although for many people in the bottom 10 percent their wealth is zero or negative_."

So they didn't ignore it anyway.

<comment><USER8> Right, but that method puts an associate lawyer with a $1.2M mortgage and $80k car loan _beneath_ the guy who lives in a cardboard box behind a Starbucks.

</comment></comment></comment><comment><USER9> Comparing wealth that was generated from/inside wealthy countries with the net worth of the poor in non-wealthy countries is not a good comparison - <USER2> you can link that wealth as stolen from those other countries.

Otherwise, there is no link between the two.

Even when comparing the 1st and 2nd world countries you are going to have a difficult time linking this alleged wealth transfer/theft...

For example, when Apple sells a high-margin product in the USA - and the stock holders, employees, CEOs, etc, see their wealth increase - how many Rubles are stolen from the people of Russia? It is a ridiculous question.</comment>


Why does the iPad 2 cost $100 less than the first iPad? - <AUTHOR> http://webilemind.posterous.com/ An opinion article about the peculiar action by Apple to sell the iPad 2 for $100 less than the first one. <comment><USER2> Wait, what? The iPad 2 costs the same as the original iPad. It differs a bit in different countries, but that's mostly due to exchange rate differences, and Apple has always 'corrected' those when releasing product updates.

<comment><USER3> Surprisingly absent from the entire article is the actual prices for the iPad and iPad 2 that he's comparing. When I read it I thought the only price difference could be accounted for with inflation, but I'm fairly sure we didn't see 20% inflation last year in the electronics market.

<comment><USER4> He might be Australian and seeing a 20% decrease in price because of exchange fluctuation.

</comment></comment></comment><comment><USER3> I've been shocked by the pricing of the iPad competitors that have been released. The only good ones are more expensive than the iPad unless you buy a subsidized model that ends up costing a thousand dollars more over a two-year contract.

While I have an issue with the walled-garden that is the iOS ecosystem, I don't see any compelling reasons to spend more to get less polish and functionality. I don't plan on buying a tablet, but if I was, I'd get the iPad 2.

Unless the competition can provide a similar quality product a lower price than the iPad, I just don't see it being worth my money.

</comment><comment><USER5> I would challenge the notion that Android in aggregate will outsell Apple in any product category due to its "open" nature.

From 2004-2008 the Digital Audio Player market was synonymous with iPod. Apple had and still has ~80% market share. Even now can you name one credible Android device that competes in that market?

Android has made excellent inroads in the mobile phone space because it is free, carriers need a strategic answer to iPhone, and have subsidy power to shift market share.

It seems to me that in the tablet market, where consumers bear the full price of the device, that the dynamic will be more like that of the iPod than iPhone. I wouldn't be surprised to see Apple have 70-80% of the market long term.

<comment><USER6> It's strange that I've never once heard anyone claim that the weird US phone networks have given Apple an advantage.

Imagine if your broadband provider forced you to spend at least $600 dollars on a laptop every two years. You could spend a bit more and so get a $1000 dollar laptop for "only" $400 dollars, or you could get a $600 laptop for "free", and laptops below $600 dollars simply wouldn't make sense, and neither would sticking with your current device (note you're only allowed to connect one device at time, two devices need two broadband connections). You'd be throwing away money in that scenario since they'd still charge you the $600 dollars over your contract term and it would make complete sense for you as an individual to upgrade each time to another high-end machine (even though Europeans would be completely baffled by your collective behaviour and your insistence that mid-range Acer and Asus machines are "free" and therefore "worthless" since they buy their computers and broadband connections separately, or at least if bundled they get an appropriate discount for buying less expensive machines).

In that kind of distorted market I can imagine Apple doing quite well, since their competitors would be forced to compete on their mid-to-high-end terms, on their home turf, in a market quite unlike that of other nations.

<comment><USER7> You seem to imply that in some pure, completely free phone market Apple would be priced out. Unfortunately, that market does not exist.

So Apple understood the market conditions and adapted to them ? More power to them.

<comment><USER6> A (relatively) free market for phones _does_ exist globally, and Apple's first mover advantage (and the profits and marketshare it brings) is being rapidly diminished in a fairly textbook case of free market competition. I believe Tim Cook has gone on record about these price pressures.

But that wasn't my point.

My point was that people within the U.S. bubble seem to recognize on some level that they've got a weird market dynamic for smartphones. But they seem to think that this has only helped Android ("because it's free"), and hindered Apple.

Which seems a bit odd to me, as outlined in my first post. I think people who are outside the bubble can understand this better since a) Android is doing well outside the bubble too, so we don't need to look for crazy excuses to explain this "anomaly" b) we have a better grasp on the distortions that those in the bubble experience because we have an outside perspective (e.g. Android phones are not actually "free", nor do iPhones cost $200).

</comment></comment></comment></comment><comment><USER8> The iPad 2 costs 499, just like the iPad 1 one year ago. the iPad 1 costs 399 now. I guess that confused him.

<comment><USER9> Exactly - the premise of the whole article is incorrect.

<comment><USER10> The conclusion of the article is that by pricing relatively low, Apple makes "the attractive new market for tablets a lot less attractive for companies planning to sell less than 10 million tablets this year."

While the claim that the new iPad is cheaper than its predecessor aims to highlight Apple's pricing strategy, it is not a premise. Even if the iPad 2 was more expensive than the original iPad, it could still be cheap in relation to competitive offerings. It could be sold at a price allowing only for small profit margins without economies of scale. His premise is that it is.

<comment><USER9> No. The article states that Apple has priced their tablet $100 cheaper than the first iPad; it surmises due to high competition in the marketplace, Apple have adjusted their pricing structure to gain a competitive advantage.

This _is_ a premise and it's also incorrect.

The iPad is being sold at the same price as the previous offering. They haven't adjusted their pricing strategy.

</comment></comment></comment></comment><comment><USER11> I think the real question here is - why does it cost $100 to have 3G ability when a 3G dongle is just a few bucks?

<comment><USER12> You could rephrase that question as: why do companies charge what the market can bear?

<comment><USER13> Because the market can bear it! Uh... I think I see what you did there...</comment></comment></comment>


New Features in PHP 5.6 - <AUTHOR> http://www.sitepoint.com/new-features-php-5-6/ <comment><USER2> I really like the ...$param syntax. When we first created NOLOH ([http://www.noloh.com](http://www.noloh.com)) back in 2005 we decided on $dotdotdot as a syntactic salt, but this is obviously much nicer. Also, by ref ... is really really nice. Very few cases where it's necessary, but having that is a pretty big deal.

Since PHP 5.3, PHP has gotten some really nice features, they've definitely been doing a pretty good job over the past few years.

</comment><comment><USER3> Sure PHP had a lot of catch-up to do, but they're really on a fast pace these days.

<comment><USER4> This is true. However, in my opinion, moving quickly is less important than changing effectively. Effective change can happen quickly or slowly, depending on the change intended and the effort required, but it's a different metric than simply moving in some direction while retaining the previous state.

PHP is painful to work with for a lot of reasons. It's also very easy to work with for a lot of reasons, but in my opinion, a lot of those -- despite being considered by some to be strengths of the language -- are used, and in many cases intended, to be shortcuts to functionality a more robust language would embrace explicitly.

PHP suffers from many, many failures of design. It suffers further, and worse, from an ongoing and intentional failure to address almost all of these failures. It's Frankenstein's language. If it were sentient, it would rebel and run off into some cold and inhospitable place.

A fast pace is velocity. They have that. What they don't have is a good direction, and without a good direction, a long vector is at best a roll of the dice.

<comment><USER5> Not sure what you are into but PHP is anything but painful to work with. It's the easiest to get started, cheapest to run, and frankly when you actually use it for what it is intended, output web pages, I fail to find better.

At the end of the day, if you keep it simple you can go far without ever needing to do much maintenance and scaling. Most failure to scale I've seen come from bloated code base and code written by people who are not PHP developers.

</comment></comment></comment><comment><USER6> I'm liking the variadic functions syntax. It's definitely better than requiring all extra parameters to be sent as arrays. Even if that's how they end up in the function.

<comment><USER7> The current implementation doesn't require extra params as arrays... you can pass as many (or as few) parameters to any PHP function regardless of defined function signature; the declared parameters will be auto-populated. Additionally, you can call func_get_args() inside of any function and get an array with all params, meaning it's a trivial array_slice (and/or list) away from extracting all vargs.

That said, the new ...$params is 100% better.

</comment></comment><comment><USER8> The arguments in the linked email of some _Ilia Alshanetsky_ regarding the shorthand array syntax are incredibly dense...

</comment><comment><USER9> Would REEEEEEALLY like to see readonly properties in classes.

They had a proposal a while ago to add getter and setter function support, which would be cool and would've allowed it (with some function overhead), but is probably a bit OTT for PHP.

readonly properties would allow you to make truly solid classes. You'd be able to lock them down from outside interference.

Methods could trust that property values hadn't been tampered with from outside, while still providing a way for outside code to read those values extremely quickly, without function overhead.

I think it's an awesome idea, especially since the getter/setter proposal failed. It's very PHPy, and it strikes a nice middle ground between fully public properties and private ones.

External code really shouldn't be able to mess with my class's internal properties anyway, it violates separation of concerns.

<comment><USER10> I agree with you. This is the closest i've been able to get...

       class whatever{

         private $Properties=array();

         function __set($key,$val){
            try{
             if(!isset($this->Properties[$key])){
                $this->Properties[$key]=$val;
             }
            }catch(Exception $e){
            //...
            }
          }

          function __get($key){
           try{
            if(isset($this->Properties[$key])){
              return $this->Properties[$key];
            }
           }catch(Exception $e){
           //...
           }
         }
        }

<comment><USER11> Your code doesn't work...

The catch will never be called, and you should never use isset() because it will return false if the value exists but is null.

        whatever->param = null;
        whatever->param = 123;

Both lines will execute here.

        function __set($k, $v){
            if (array_key_exists($k, $this->Properties)){
                throw new ReadOnlyException();
            }else{
                $this->Properties[$k] = $v;
            }
        }

<comment><USER10> Yes, thank you. I noticed the problem after it was too late to edit. Slightly embarrassing.

</comment></comment></comment></comment><comment><USER12> i would love to see them make an explicit BC break and fix everything listed at [http://phpsadness.com/](http://phpsadness.com/)

<comment><USER13> If you break BC you might as well just another language, because that's what it will be.

The correct approach is slow and steady improvements. I suspect standard library improvements will come not by renaming existing functions but by adding new API.

<comment><USER14> The Perl way is to declare minimum language version to execute a code file. E.g. _use v5.12;_

Then you can do extensions [even _changing_ central functionality] in a sane way, with backward compatibility. (A language implementation need to implement deprecated features for older versions, of course.)

I agree with your point re APIs.

<comment><USER15> That's what we do with Composer, we set the minimum PHP version.

<comment><USER10> I've done and seen it done in wordpress plugins, sometimes.

</comment></comment></comment></comment></comment><comment><USER16> Any word on when all functions will be UTF-8 safe?

<comment><USER17> Other than "substring", how often do you really run into this problem? I have never had a problem with PHP and UTF-8.

Oh, good luck trying to match all unicode punctuation with Python/Javascript. With php it is as simple as preg_match('/\pP/u'

I deal with a lot of UTF-8 issues, and while php is super ugly, there are pretty good solutions in cases where it requires ugly hacks in other languages.

<comment><USER18> Sorry, but PHP's string handling is abysmal.

\- strlen can't be used for length checks if you care about length in characters, a problem compounded when you use a real database where field lengths are defined in characters instead of bytes

\- the only way to iterate char by char instead of byte per byte is to use mb_substr, as there is no trick to make $str[$i] do anything but return bytes.

\- the string and array API's have inverse ordering of their parameters, which means that after a decade of writing PHP I still can't remember which is which without looking it up

\- Typing mb_ in front of everything is ugly enough, but it also makes autocompletion tricky, especially since the strings don't have methods. (e.g. $str->pos())

\- Speaking of which, since the strings don't have methods, they stick out like a sore thumb in OO code. String and array handling code invariably ends up ugly unless you write everything procedural style (and then you have other issues).

\- Sort() cannot be made to sort unicode on windows, regardless of which parameters you give it. In fact, the only way to sort unicode on windows is by using the Collator from the intl extension. Part of that is microsoft's fault by not supporting UTF-8 in the windows API's at all, but PHP isn't helping.

\- If you don't care about windows, the proper way to sort text is first calling setlocale(LC_COLLATE, "en_US.UTF8") and then passing the SORT_LOCALE_STRING argument as second parameter to every call to sort(). Ugly, ugly, ugly.

\- natsort(), aka "natural sort" cannot be used to sort text like a human would expect, in any context. It always produces invalid results, even for ANSI codepages. (e.g. try to sort resume, rope and résumé)

\- The use of utf8_decode and utf8_encode is actively harmful in almost all circumstancces. There is never a good reason to use them, since the very rare case where you need them iconv or mb_convert_encoding are better suited. Yet, the PHP documentation doesn't tell you this, causing lots of people to be led astray (as I once was).

\- Oh yeah, and there are no less than three API's for unicode string handling, the mb_ functions, the iconv_ functions and the grapheme_ functions. What's the difference? I don't know, and I really can't be bothered to read PHP's source to find out.

\- htmlentities() always requires the parameters ENT_QUOTES, "UTF-8" to do its job securely (well, almost, as it doesn't encode forward slash which OWASP recommends). Unless you use a wrapper, your code is yet again uglified.

\- The secure way to JSON-encode text is, and I kid you not, json_encode($data, JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP). Try typing that three times in a row, I dare you.

\- And finally, mysql is by far the worst database for unicode handling, because it cannot sort unicode text according to the standard, at all, no matter what you do. That's not PHP's fault ofcourse, but since I'm bitching... :)

<comment><USER10> The json_encode one is particularly annoying as you can't even consider sending JSON to the browser and using it in JS without all the flags on. _especially_ if you're dealing with user data or scraping websites.

<comment><USER19> Just out of curiosity, could you expand on that a little more? I'm currently in the process of ripping my hair out with json_encode issues.

We send back a json_encoded array containing a property "html" with html markup to be injected back into a contenteditable div. Originally I had a ton of problems if there happened to be the invisible unicode character in there (php's str functions could not find/replace this character no matter what I tried). However, this is the first I've seen those flags the GP mentioned.

<comment><USER10> If you look up the json_encode function on php.net it lists the flags. As I understand it there's a difference between the encoding allowed in javascript and the encoding allowed in JSON which means certain characters which would be valid in a javascript object don't necessarily work in JSON, so you end up having to escape everything possible. There's one flag (JSON_ESCAPE_UNICODE) which doesn't work on the version of PHP I develop on so I ended up applying code listed in the comments. This also adds some cruft similar to what google/facebook etc use if you want it. I haven't had any issues with it yet but, being what it is, there may be a more elegant way to accomplish it.

       function AsJSON($arr, $cruft=null){

    	//convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127).
    	//So such characters are being "hidden" from normal json_encoding
            array_walk_recursive($arr, function (&$item, $key) {
            	if (is_string($item)){
            		$item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
            	}
            });

            $JSON = mb_decode_numericentity(
            	json_encode($arr, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP),
            	array (0x80, 0xffff, 0, 0xffff),
            	'UTF-8'
            );

            if(json_last_error() === JSON_ERROR_NONE){
    	  return $cruft.$JSON;
    	 	}
    	}

You might also consider looking at the ctype_* functions if you haven't.

</comment></comment></comment></comment></comment></comment><comment><USER20> Does anyone else here find the PHP namespace format horrible and unlike the standard dot notation?

<comment><USER13> I hated it till I started using it, now I don't mind. Dot was never used in PHP because it's the string concat operator. PHP needs a unique operator for namespaces because the types of symbols (is it a namespace, class, interface, etc) aren't known at compile time (unlike Java, C#, etc).

<comment><USER8> > _Dot was never used in PHP because it 's the string concat operator._

So how about them using the -> operator? Most languages that use . for class method access also reuse it for namespacing.</comment></comment></comment>


The End of Libertarianism: The financial collapse proves that it makes no sense. - <AUTHOR> http://www.slate.com/id/2202489/pagenum/all <comment><USER2> No, no, no. Libertarianism is not the philosophy that free markets will never crash. Libertarianism is the idea that government intervention is morally wrong, and many libertarians believe that it is always eventually destructive.

The article does not address the bigger question: What government intervention would have prevented this?

The article is disturbing because not only does it lack rigorous logical arguments, it openly mocks libertarians for using them. This kind of anti intellectual attitude is common among republicans, but I am surprised to see slate publish an article that espouses it.

<comment><USER3> >Libertarianism is the idea that government intervention is morally wrong

There is a utilitarian branch of libertarianism that argues that free markets are best for society. It does not predict that free markets eliminate economic fluctuations, only that society will be better off with free markets over the long term. This branch of libertarianism is filled with many of the libertarian economists.

Also, I don't think those libertarians would see our credit markets pre-crash as being a shining model of libertarianism.

<comment><USER4> Being something of a utilitarian myself, I see intervention being necessary when market incentives are not aligned with what's best for society. I've never seen anybody make a convincing case that such misalignments do not exist, or that a free market is always able to account for them more efficiently than the state.

EDIT: Feel free to make such a case or link to one. I'd _like_ to be proven wrong.

<comment><USER3> David Friedman is a utilitarian libertarian anarchist, son of the famous Milton Friedman. In "The Machinery of Freedom" he makes his case for an anarchist society. He does not claim that markets are always better without state intervention. His claim is subtly different: that a society without a state is better off than a society with one. He leaves open the possibility that the state might be better at some things than the market, but he argues that the drawbacks of a state outweigh the possible benefits.

David's son, Patri, runs the anarcho-capitalist Seasteading Institute, which aims to create seastead societies on the ocean (think "Water World", without the suck). He believes that seasteads will be more resistant to government monopoly, since a group of people who did not like their government could simply float to a different one.

Given the results so far, other libertarians encourage the Friedmans to breed as much as possible.

<comment><USER4> Added to my wishlist. Any other works you'd recommend?

With respect to the seastead societies, which I've heard about, I think it's certainly plausible that they'll "work", given sufficient diversity of available governments, and hence, appropriately homogenous small-scale populations. But in a geopolitlcal landscape ruled by nation-states, I would be truly wary of breaking down powerful liberal democracies like the US into anything resembling these things. It's rather unclear to me how you could mobilize a sufficient defense against nationalist military forces.

I recall reading in my undergrad days about similar small, voluntarily formed communities. (One of them, for instance, eschewed all laws and use of coercion, relying on subtle and not so subtle forms of ostracization to keep people in line.) But it occurred to me that these communities were entirely dependent on having a larger, more powerful neighboring entity around to protect them, and I have to believe these seastead societies are subject to the same dependency.

<comment><USER3> By the way, there aren't that many libertarian anarchists that have written popular works. The only one I can think of besides David is Murray Rothbard, who wrote "For a New Liberty" detailing his anarchist vision. It's available in its entirety online. However, he is not a utilitarian, and I don't remember Murray being as convincing as David.

As the libertarian movement has grown it has become more ideologically diverse and more moderate on average. There are few fire-breathing anarchists around any more (David is not a "fire-breating anarchist". Murray was.).

<comment><USER4> I guess what I'm looking for are works with a strongly empirical basis (doesn't have to be popular). Stuff that, at the very least, deals with the wealth of research on collective action problems and economic psychology. I'm hoping David's book does some of that.

<comment><USER3> No, I don't think David's book is what you're looking for. It's more of an argument that anarchy is a plausible and desirable arrangement for society given the current state of microeconomic thought. He offers a theoretical basis for private law enforcement and law making, as well as other functions that are normally performed by the state.

On the empirical side, he does have a very nice chapter on Iceland, which went without a public bureaucracy for a few centuries. Law enforcement was essentially a private business for awhile. It's a good read.

I know that one of the big Public Choice guys did some writing on the feasibility of anarchy (Buchanan, I think). However, I'm not sure if it's the kind of work you are looking for. There's been few functional anarchies on this planet that we know about, and it's not a topic that gets most economists published. I'll let you know if I find anything.

If you're looking for information on the problems of collective action, then the Public Choice guys are definitely the place to start (Buchanan, Tullock, etc.).

<comment><USER4> Much thanks. I'll keep this comment bookmarked.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> I am a libertarian (well, a philosophical anarchist, actually) and I favor some sort of government intervention to attempt to avert a financial disaster. Indeed, I would have favored more regulations to rein in the GSEs before the collapse. There is no contradiction here.

Given that you have moral hazard problems created by government, it is not somehow unlibertarian to advocate regulation to reduce excessive risk-taking by government-backed agencies. Ideally, Fannie and Freddie would never have existed. Since they did exist, the second-best case would have been for them to be purely private entities with no implicit government guarantee. The third-best case would have been for them to be purely public entities with no profit motive. The fourth-best case would have been for them to be mixed private-public entities like they were, but subject to stringent oversight. We were in the fifth-best case in which they had a profit motive, moral hazard, and little oversight.

For similar reasons, I favor a bailout. There is a time-consistency problem. The government would like to commit to never bailing anyone out. If it were able to do this, the need for bailouts might not arise. But it cannot commit; since everyone knows the government will bail big financial firms out, it basically has no choice.

None of this in any way contradicts my view that the government should not intervene in housing markets in the first place, that currency competition should exist, that taxes should be much lower, that there should be no government redistribution of incomes, that public schools should be shut down, that there should be no government provision of health care, that the draft should be abolished, that marriage should be unregulated, that prostitution should be legal, or that 12 year olds should legally be allowed to purchase heroin from vending machines.

<comment><USER6> I think you may be hanging to tightly to the semantics.

Libertarianism is not being used (in this article or in general discussion) in its moral theory/political theory sense. They are referring to the derived economic policy theories.

Hype removed, it might read: 'End of government intervention as a taboo.'

<comment><USER5> No, I don't think so. I am an economist; I understand the issue. I'm saying that if you start with a government intervention, there's not anything unlibertarian about advocating a further intervention to make things less bad, provided that you oppose the initial intervention.

For instance, libertarians oppose government-created monopolies. But given a government-created monopoly, it's not unlibertarian to support regulating it. The optimal libertarian policy is obviously abolishing said monopoly. The second-best one is regulating it. The third-best is letting it abuse its power.

<comment><USER6> I wasn't implying tat you don't understand the issue. Just that I think the article is implying something more shallow then what you seem to have responded to.

</comment></comment></comment></comment><comment><USER7> Or proves, like many a previous crash, that there are still bugs in the de facto software that is the financial system. Patch, continue, hit the next-- but grow overall.

At least we know now not to debase the currency; it took the Romans a couple hundred years to learn that didn't work.

<comment><USER8> >At least we know now not to debase the currency; it took the Romans a couple hundred years to learn that didn't work.

I wouldn't be so sure of that. I think debasing the currency DID work in the short run to solve whatever crisis the emperor had to deal (no funds to pay the troops, etc), despite the negative long-term effects. Modern politicians could get similar short-term benefits - voters would probably prefer debasement to tax increases because the problems caused by debasement aren't as obviously linked to it as larger withholdings on a paycheck are to taxes.

It may become tempting for American politicians to debase the currency to reduce the massive debt we've accrued.

<comment><USER9> Isn't the Dollar already getting debased? (At least compared to other currencies. The FED's interest rates have been low for quite some time.)

</comment></comment></comment><comment><USER10> Well, here's the problem with this. Banks started making bad loans BECAUSE of Government. Banks do not, en masse, make loans to people who aren't likely to pay the money back without Government encouragement.

The Clinton Administration passed a law which provided funding to banks that gave loans to "risky" buyers with bad credit. Since then there's been an endless stream of laws doing the exact same thing. Politicians like saying "housing is at a record high" so they've been trying to game the financial markets to encourage loans to anyone and everyone.

That's what primarily caused this crisis.

Don't get me wrong, there were other causes as well. The 1996 bill did not, in and of itself, cause this problem. But in general this was caused by a society that thinks it can do anything it wants because Government will "manage" the economy and always bail it out.

If you agree with this article ask yourself this: Once the economy recovers a little, why wouldn't banks go back to the exact same lending practices that got us into this mess in the first place? If they know the Government will bail them out there's no reason not to?

Oh, and while you are asking yourself that, also ask yourself why Europe got in the same trouble even though they have an example of the highly managed economy that people like the article's author are endorsing.

<comment><USER11> > Banks do not, en masse, make loans to people who aren't likely to pay the > money back without Government encouragement.

But when they securitize the loan, and sell it on, they have every incentive to 'make bad loans', because they get a cut of the sale, and little of the actual risk.

This crisis does not have one and only one cause - it's a mix of nasties that came together. Anyone who is trying to sell you one policy that would have fixed it "it's all the government's fault!", or "if only we had had more regulation!" (without saying what regulation) is very likely wrong.

Tyler Cowen, as he often does, has something sensible to say:

[http://www.nytimes.com/2008/10/19/business/19view.html?partn...](http://www.nytimes.com/2008/10/19/business/19view.html?partner=permalink&exprod=permalink)

</comment></comment><comment><USER12> The financial collapse proves that fiat money and government intervention in markets via the fed makes no sense (creates bubbles that then burst, like the housing bubble cause by 5 years of 1-1.75% interest rates).

To see if a free market works, we should try it someday.

</comment><comment><USER13> Sunday is a good day for debating on the internet... So, here's what is probably an unpopular thesis, but one I believe is true: Libertarianism is a convenient fantasy but nothing more.

Libertarians somehow believe that "free markets" and "regulation" are antonyms, as if the market is something other than a regulatory creation. Think: Would a free market exist without the force of government backing contractual obligations? (I'll exempt the anarchist libertarians here, who lack this willful ignorance, although their vision is hopelessly rose-tinted. __) What about regulations on activities like insider trading, or lying on balance sheets?

The fact is that, just like in so many other things, individual self-interest is often at odds with the continued existence of any shared enterprise, including the free market itself. Without regulation to create and sustain it, the market wouldn't even exist.

So the question is really that of "which regulations" rather than "no regulation"; libertarians conveniently pretend otherwise, forcefully claim an absolutist _moral_ high ground, and in doing so badly distort policy debates and decisions.

 __(Even if we buy what anarchist-libertarians are selling, their vision is essentially yet another utopia and like all utopias, there is no clear path 'there' from 'here'.)

</comment><comment><USER14> Rather full-bore idiocy, there.

I mean--libertarianism? Really? That's who you're blaming?

Well, let's assemble all of congress, and ask them, "Will all libertarians raise their hands?" You'll have one hand raised.

Assemble every high level official in the Bush administration--ask them the same thing. [crickets chirp]

Do the same thing throughout all the bureaucracies...well, here you might get a few, since low-level people see how things are, and don't worry too much about political presentation. But still...2 or 3 percent at most.

And Greenspan? The very definition of a market-manipulator is a...libertarian? Ah, and Hitler provided free housing for the Jews! That's right!

This is like blaming the Atheists for 9/11 because there was a single atheist among the victims. I'm glad to see a copy of that rubbish was in Newsweek. That's great.

</comment><comment><USER15> God I love amateur hour. The economic crisis stems directly from the impossibility of correctly modeling rare events in a complex system such as the financial market. You throw the gross lack of accountability fueled by many factors, including a few government backed loans used for leveraging, and no one has to ever solve the real problem. A new approach is needed for the financial markets, and it should have absolutely nothing to do with increased regulation.

</comment><comment><USER11> Bzzzzt. Off topic.

This is just as off topic as the 'Krugman Wars':

<http://news.ycombinator.com/item?id=332475>

</comment><comment><USER16> Wow. He argues that a financial collapse caused by two quasi-governmental businesses giving out loans too liberally due to a decade of government pressure is the end of Libertarianism. If anything, it feels more like the beginning.

<comment><AUTHOR> "Between 2004 and 2006, when subprime lending was exploding, Fannie and Freddie went from holding a high of 48 percent of the subprime loans that were sold into the secondary market to holding about 24 percent.... One reason is that Fannie and Freddie were subject to tougher standards than many of the unregulated players in the private sector who weakened lending standards."

<http://www.mcclatchydc.com/251/story/53802.html>

</comment></comment><comment><USER17> Utterly ridiculous. The author doesn't know the first thing about libertarianism.

</comment><comment><USER18> Libertarians have been warning others about the collapse of the debt bubble since the early 1970's and have been alone in calling for the end of the central banking system which creates debt bubbles. It is the height of ignorance to claim that the current collapse is a case against Libertarian economics.

</comment><comment><USER19> This is near facetious. These aren't "theories" that sprang up overnight like the bailout did. Austrian economists have specifically identified Freddie/Fannie etc. as the agents of credit expansion to the housing sector, BEFORE there were problems.

A total non-sequitir, he dismisses them without even bothering to offer an alternative theory.

Also, it's misleading to reference CATO. No libertarian outside of CATO respects them. Randians are fair game (it IS fun to poke at them), although their mention in this article was more to sensationalize than to add anything relevant to the topic at hand.

Oh well. It seems that those animal spirits area acting up again. It sure is convenient that all government action is supremely rational.

<comment><USER20> You're the first person I've heard to say that most libertarians don't respect CATO. Who do they respect then? I'm not trying to be confrontational, just asking...

<comment><USER19> Ron Paul, Austrian economists, lew rockwell. It may have been rash to say that people don't respect CATO. However, recently, previous disagreements are now seriously hurting opinions because of the bailout. The main beef with CATO is their connection to neocons and objectivism. Their support for the bailout as a temporary solution matter hasn't helped.

</comment></comment></comment><comment><USER21> The author consistently accuses libertarians of relying on "abstract theory," yet this article itself is a rather abstract attempt to debunk libertarianism. To even contend that libertarian economic principles have been applied prominently in the US or global economy is ridiculous, to further claim that these libertarian principles have caused the current circumstances is beyond ridiculous. The entire line of argument in this article is off base; the same line could be used to blame Hitler's atrocities on democracy or the Roman army's defeat at the Battle of the Allia on their use of the phalanx.

</comment><comment><USER22> The financial collapse doesn't prove anything.

Capitalism, socialism, despotism, anarchism, whatever. At the center of any society there will always be people making mistakes.

</comment><comment><USER23> Serious libertarians disdain fractional reserve banking as the source of bank runs. The current financial troubles hardly discredit libertarianism.

</comment><comment><USER24> I love this mentality: if only smart bureaucrats were running the mortgage market, none of this would have happened!

<comment><USER25> The whole article seems to be building towards that—along with the notion of smart lawmakers writing the necessary laws to make it happen just right—but ends rather abruptly.

Talk about painting yourself into a corner.

</comment></comment><comment><USER26> Maybe Slate should spend its dollars on decent writers instead of the design overhaul. It's unbelievable how far their journalistic quality has fallen over the past couple of years.

</comment><comment><USER27> Libertarianism cannot be killed any more than Catholicism could. The market crash is a "test of faith." Every failure can be attributed to an insufficiently libertarian government.

</comment><comment><USER28> What an asshat. These problems aren't a failure of any system or ideology, they are a failure of law enforcement.

</comment><comment><USER21> Pointing to Sarah Palin as an example of a libertarian is, much like the rest of this article, ludicrous.

</comment><comment><USER29> Besides, financial freedom is only half of libertarianism.

</comment><comment><USER30> i'd say it was a hell of a hack, just don't forget no to be evil

</comment><comment><USER31> We don't have a free market. Blaming the crash on freedom is ridiculous.

<comment><USER32> A far stronger case could be made that the crash was because markets aren't free enough, since those taking risks knew governments would back them up.

It's an interesting and very complex topic, but this article is little more than nakedly partisan mud-flinging. The crash proves nothing, except that modern economics is beyond the ken of modern man.

<comment><USER6> I agree that this proves nothing. I agree that the US financial system or market in general was never free in a sense that would appease a libertarian but..

Your sentiments are interestingly similar to what a lot of Marxists/Communists had to say (not too many left though) when that 'failed':

That is, point to the Soviet Union & say: 'That was never true communism. So it failed. If it was truly a Marxist regime, this never would have happened.'

As I said, I wouldn't personally take this as a 'proof' of anything. But what seems inevitable is that this is causing a swing (in public opinion) away from deregulation of financial markets. I think it's very likely that there'll be a wholesale swing against the suite of things associated with 'libertarianism.' That's a shame in a way. Whether or not financial regulatory policies are optimal or not, has very little to do with the moral theories of libertarianism for example.

Anyway, there seems to be a big shift in the sway these ideas hold.

<comment><USER33> Bah!

This knee jerk hysteria is exactly the same as the reaction to 9/11... A major shock to the system freaks people out because the work isn't conforming to (comfort-oriented) expectations and so they instantly look to someone who looks good who promises them a return to mindlessness.

The abrogation of responsibility by the many for their own lives and the arrogation of authority/magical-ability/etc. by the few (and the selling of _that_ to increase power/profit at the expense of everyone else) is exactly the underlying mechanism that created the emergent, systemic failures.

An example people might want to look at is the examples in traffic management whereby busy, dangerous intersections have been redone so that there's less separation and therefore more required of all of the participants to pay attention.

I particularly like that example but there are plenty of other good examples from the driving and traffic world if you look around.

Sigh.

<comment><USER34>
      The abrogation of responsibility by the many for their own lives and
      the arrogation of authority/magical-ability/etc. by the few[...]

That's a collective abrogation of responsibility by the public at large, not one by individuals within it. The constituent members of the public do not have (or feel they have) the responsibility or power to effect any sort of macroscopic change to the economy. In that sense, it's not surprising that the public nominates someone to have that power and responsibility.

<comment><USER33>
        That's a collective abrogation of responsibility by the public at large, not one by individuals within it.

Ptui! How, exactly, do you think such "collective" behavior comes about? By the collective, emergent behavior of the individuals!

        The constituent members of the public do not have (or feel they have) the responsibility or power to effect any sort of macroscopic change to the economy.

That's the point... The masses of individuals give it up and few take advantage by taking it up and extending their own power by manipulating people with FUDGE (Fear, Uncertainty, Doubt, Guilt, and (the hope for self-) Enrichment).

Doesn't anyone else find it odd that the "educational" system in the US doesn't actually teach anything about how the political system really works? I.e., it's all the pablum puking pap of the simplistic notion of checks and balances and what not but doesn't actually get into how it's been gerrymandered over the centuries, how people manipulate the (non-) voters in so very many ways, and especially not how to approach, think, and act to responsibly and effectively participate? Sigh.

        In that sense, it's not surprising that the public nominates someone to have that power and responsibility.

Indeed. What's surprising is that people believe they are more free and that the overwhelmingly vast numbers of the so-called "thinkers" buy into the he- said, she-said games rather than going at the underlying issues. The simplest example for this group would be the debate of Creationism "versus" Evolution.</comment></comment></comment></comment></comment></comment>


Learning the craft (of programming) - <AUTHOR> http://www.tuxdeluxe.org/node/285

<comment><USER2> This article can be summed up by point 1 of George Leonard's keys to Mastery, or Getting Good at Anything. All 5 major points are as follows:

1\. Find good instruction. (Read good code, find a good programmer) 2\. Love to practice. (Write code.) 3\. Have the beginner's mindset. (Don't get cocky, observe with new eyes.) 4\. Have a vision / goal. (You want to be an architect? Graphics guru? AI master?) 5\. Push the boundaries. (Code beyond your perceived "abilities".)

A more succint and general version of that quote is by TS Elliot: Talent copies; genius steals!

Anyway good read!

</comment><comment><USER3> Per the "read code" suggestion, I often come up with excuses to browse through the Linux kernel code: <http://lxr.linux.no/linux>

It's clean, discoverable and it does interesting things. Although it might help to first go through a book like Understanding the Linux Kernel: <http://oreilly.com/catalog/9780596005658/>

<comment><USER4> These two books look interesting, too: <http://www.spinellis.gr/codereading/> <http://www.spinellis.gr/codequality/>

As for your suggestion on reading _Understanding the Linux Kernel_ , is it readable even if I haven't taken a course on Operating Systems or something equivalent?

<comment><USER3> Probably not. It's a walkthrough of how the Linux kernel is implemented, both in terms of design ideas and the code itself. They assume you already know operating systems basics.

I could be wrong, as I've also never read it cover-to-cover; I always dive into it when I specific questions about how things work. I've never read it from the perspective of how well it teaches OS concepts. But if you're interested, and you think you will remain interested in the future, then there's no harm in getting the book now. As you learn more, you'll be able to understand more.</comment></comment></comment>


Google Opens Places API to the Public - <AUTHOR> http://www.readwriteweb.com/archives/google_opens_places_api_to_the_public.php?sms_ss=hackernews&at_xt=4dca8f46d08c862f%2C0 <comment><USER2> Fun fact: this article was clearly pre-written, or written by someone who didn't attend the session. It reads: "...at a session on connecting people with places, led by VP of location and local services Marisa Meyer."

Except that I was at that session, and can definititely report that Marissa Mayer (yes, that's how you spell her name) was not at the session despite being listed as a speaker (last-minute change).

<comment><AUTHOR> I wrote it _after_ the session, actually...which I was unable to attend because I went to the damn press briefing. Alas. I didn't find out until later when speaking with someone from Google and they told me all about it. Alas, I didn't know about the last minute change...and was annoyed I couldn't be at that session. :)

</comment></comment><comment><USER3> I was excited to use this for better quality geocoding, as the Google Maps geocoder doesn't seem to know of everything in Google Places, but it seems that is forbidden by TOS -- it's still developed around the idea that you request the place list and forward it to the user right then and there, never storing it.

If you're curious about what sort of thing you can't find through the Maps geocoding API by name, try searching for "madison square garden." It's an iconic venue for NY, and yet, just not available. In Google Places, however, it comes right up.

</comment><comment><USER4> I was recently shopping for some location data. Glad we didn't purchase anything yet.

</comment><comment><USER5> It's about time - been waiting to get accepted to the private testing for months</comment>


GCC Poison - <AUTHOR> http://blog.leafsr.com/2013/12/gcc-poison.html# <comment><USER2> Somewhat off-topic, but I can't use my back-button to get off this page.

Can we please, please stop breaking shit that worked just fine in '95?

[http://motherfuckingwebsite.com/](http://motherfuckingwebsite.com/)

<comment><USER3> Seriously, try loading the page with NoScript, and you get nothing. Apparently, it needed nearly a megabyte of JavaScript (somehow managing to make Firefox unresponsive for a several seconds _on every page load_ ) to asynchronously load a 600 word plain text article.

Not the author's fault (apart from choosing to use Blogger), but wow, how do you fuck web design up that badly? It's just a blog, a few paragraphs and links to more articles, it doesn't need to be an entire fucking web app complete with 5 other useless ways to view a list of summaries (Pinterest is big right now, people love grids, right? Here, let me smack you in the face with this stupid zooming JQuery effect).

<comment><USER4> It's funny because "degrade gracefully" was the standard for a very long time as javascript blew up in popularity.

Now the pioneer of JS apps doesn't even bother trying to put <noscript>There is usually a blog post here if you are using javascript</noscript>

<comment><USER5> and I don't bother to use such sites. I think I can pass up this content.

</comment></comment></comment></comment><comment><USER6> I never liked those microsoft functions, and disable all the warnings in each new project. What are you supposed to use instead of memcpy? It's a bit of a rant but I find myself in agreement with this:

[http://unspecified.wordpress.com/2009/05/16/microsoft- bans-m...](http://unspecified.wordpress.com/2009/05/16/microsoft-bans-memcpy/)

<comment><USER7> Those aren't "Microsoft functions"; they're C's optional Annex K functions which Microsoft happens to mostly implement (though in true MS fashion, they did manage to get a few wrong before the standard was finalized).

<comment><USER8> They were Microsoft functions long (6 years?) before they were standardized.

<comment><USER9> > They were Microsoft functions long (6 years?) before they were standardized.

And most of what's in ANSI C (the first C standard, before ISO stepped in, from 1989) was in C compilers before ANSI C existed. I think void and void* were the only things ANSI C really added to the language.

My point is, the C standards body likes to standardize common usage, and 'what a Microsoft compiler does' is pretty close to being common in some parts of the world.

<comment><USER6> They also 'standardised' threads which were hardly common usage.

<comment><USER9> > They also 'standardised' threads which were hardly common usage.

Didn't the POSIX standard do that, as opposed to the ANSI C standard?

<comment><USER6> Sorry no, I was referring to the C11 multi threading stuff. [http://en.cppreference.com/w/c/thread](http://en.cppreference.com/w/c/thread) They are not exactly the same as POSIX threads which were standardised in 1995.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This header would be much more useful if it suggested safe alternatives for each of the functions it poisions

<comment><USER11> Has GCC got the necessary pragma foo to implement this?

<comment><USER12> one of my favourite old school tricks for achieving such breakery is:

#define const_cast CONST_CAST_IS_FORBIDDEN #define dynamic_cast DYNAMIC_CAST_IS_NEVER_NECESSARY

etc...

its dirty, but it gets the job done

<comment><USER13> Then I'll just use a C-style cast. :P

<comment><USER12> don't worry, i can't do this across /all/ code anymore - some lazy ms monkeys were unkind enough to dump dynamic casts in library headers sometime around 2008.

C-style cast at least doesn't make you pay through the nose in debug time or performance overheads - even if it is easily confusing :)

</comment></comment></comment></comment></comment><comment><USER14> While there is probably no meaningful use for gets() (which is missing from that list and certainly is not Win32 specific) and maybe sprintf() and even more maybe strcat(), what is exactly so insecure about things like memcpy() or alloca()?

<comment><USER15> Buffer overflows

<comment><USER16> I'm not convinced people should be writing applications in C if they can't call memcpy safely. (I say this not to downplay the many pitfalls of writing correct C, but to suggest that anyone giving less than careful consideration of the arguments to memcpy each time it is used is better off not using C at all -- we have many fine alternatives.)

<comment><USER17> Short of implementing some kind of drivers license for C coders, I think this is a bad way to look at things. There will always be programs written by people who don't know about buffer overruns, or SQL injection, or just aren't thinking about security at the time because it's a trivial piece of code that "won't make it into a production environment". You can tell them they shouldn't be doing what they are doing all you want, but that doesn't fix the security problem.

Fix the tools, don't blame people for using them as best they know how.

<comment><USER16> I think there are limits. How do you "fix" assembly language without simultaneously breaking it? The best way to fix C is to use OCaml or Rust or something instead.

<comment><USER18> Yeah... if only I could get an OCaml compiler for my micro...

</comment></comment></comment></comment></comment></comment><comment><USER19> I am actually happy that gcc doesn't find it important to support a library that prevents its users from using functions that are clearly defined in the specification of the language it supports.

<comment><USER13> I don't understand why functions like gets and sprintf weren't removed from the standard and headers a long time ago. It can't be for legacy reasons, because removing them from the headers has no effect on binaries and when you compile source it should easy to replace gets with fgets and sprintf with snprintfe etc.

These functions have no right to exist.

<comment><USER20> gets has no right to exist. But sprintf does. It's a workaround for some old embedded C compilers that lack the safe string copy functions (strcpy_s, strlcpy.)

        char dst[5];
        sprintf(dst, "%.*s", (int)sizeof(dst)-1, "Hello!");

Copies a null-terminated string to dst, truncating if necessary to avoid overflow.

Just don't forget the "." or the "-1".

<comment><USER21> That code is just as easily converted to use snprintf, and then you don't need to worry about the . Or -1.

<comment><USER22> snprintf is C99 IIRC. Which means legacy C89 compilers (or worse!) don't have it.

<comment><USER13> Which brings it back again to my initial comment: "I don't understand why functions like gets and sprintf weren't removed from the standard and headers a long time ago."

And by a long time I mean before 1989 (certainly before 1999).

</comment></comment></comment></comment></comment></comment><comment><USER23> I'm currently doing a school project in C and we wrote a shell script to check every source file for these insecure functions. It displays a warning and suggest you a more secure alternative function.

</comment><comment><USER24> this site is unusable on my phone.the sidebar dominates the screen.

<comment><USER25> Which phone?

(It is perfect with no sidebar on Dolphin/Note 2. Arstechnica on the other hand has been broken for a few days already.)

<comment><USER24> Firefox on Kyocera Torque

</comment></comment></comment><comment><USER26> It turns out there is a project - the safe C library - that implements strcpy_s and friends as an open source library (MIT license). so this header can be used with the Safe C library.

[https://sourceforge.net/projects/safeclib/](https://sourceforge.net/projects/safeclib/)

<comment><USER26> Also interesting: with gcc you can add the -include poison.h command line option; now the poison.h header file is included as the first include of the source file.

[http://linux.die.net/man/1/gcc](http://linux.die.net/man/1/gcc)

-include file Process file as if "#include "file"" appeared as the first line of the primary source file. However, the first directory searched for file is the preprocessor's working directory instead of the directory containing the main source file. If not found there, it is searched for in the remainder of the "#include "..."" search chain as normal. If multiple -include options are given, the files are included in the order they appear on the command line.

</comment></comment><comment><USER27> Good! I had never ignored that unsafe notices from visual studio console.</comment>


Raspberry Pi Cluster Episode 4 – Minecraft, Pi-Hole, Grafana - <AUTHOR> https://www.youtube.com/watch?v=IafVCHkJbtI <comment><AUTHOR> (For those who dislike sitting through a video and would rather have a wall of text, I have this posted on my blog, too: [https://www.jeffgeerling.com/blog/2020/raspberry-pi- cluster-...](https://www.jeffgeerling.com/blog/2020/raspberry-pi-cluster- episode-4-minecraft-pi-hole-grafana-and-more)).</comment>


Ask HN: How do big software companies maintain high engineering standards - <AUTHOR> I can assume that when a company grows very fast (FAANG Fast) the number of ideas, good and bad, grows.
What are the known ways for huge software companies ( the ones that opens dozens of teams per year ) to maintain high engineering standards? How do they successfully teach their techniques for dealing with scale, maintain good architecture, etc. I am aware that in reality there are a lot of badly written projects even in Google and that there is no silver bullet. But I do believe there are a few techniques I can learn from (Since many of these companies have super well engineered projects and they constantly recruit juniors).<p>Let me name a few: Design review committees (problems: covers a small amount of the code, requires constantly re-checking on design changes), multiple code reviews before merges, Managing PEs and assigning them to groups, ICs, architect-only teams (problems: many) <comment><USER3> This is a very easy problem to solve. Companies can do things when the truly believe those things are important. However, that means when you stack rank things that matter, your thing floats towards the top AND your leadership all believes in and values those things. That's the long way around saying - <USER2> has to be important, culturally, and the culture has to be strong.

Otherwise, it's just screaming into the wind.

</comment><comment><USER4> I think any great company regardless of size benefits greatly from an open culture which encourages trust and learning and balances throughout and quality with (agile) processes and retrospectives, planning, collaboration/pair programming, code reviews and ambition to do a great job and create value through good products and services.

</comment><comment> apotheosis-neko In many cases, having soft deadlines works. You can double check and do code reviews for ever, it is never perfect and we can always think of a better way. Regardless of the experience of the engineer less time to complete a task means prioritizing making code just work, over making code optimal.

<comment><USER5> I think this is very important, not having a deadline can mean nothing ships and having a hard deadline I have seen quality and best practices slip due to pressure to cut corners.

Other general things that I've seen help. Code reviews should not be a rubber stamp, the reviewer should understand everything, there should be a degree of overlap of feature development between devs, end-to-end tests to check for regression can be highly useful once a project is if reasonable complexity.

</comment></comment><comment><USER6> Leaders create a replicable culture, but the key is in the leadership culture and how senior engineers number one job is leading.</comment>


Google streetview may be illegal - <AUTHOR> http://www.cbc.ca/canada/story/2007/09/11/streetview-commissioner-privacy.html

<comment><AUTHOR> I'm Canadian, but I'm of the same opinion as you guys(Americans) unless I'm holding up my ATM Card while entering my pin number or something what's wrong with seeing yourself on Google Streetview.. who knows perhaps a new spinoff marketing company might be created..lol picture it, someone chasing the MS live recorder with a Y Combinator T-shirt on. priceless.

</comment><comment><USER2> I've seen the MS Live recording car around Burlington MA. Every time I drive by it, I roll down my windows and give it a thumbs up with a big smile.

I've noted the locations, and can't wait to see myself grinning like a fool :)

</comment><comment><USER3> Google streetview may be illegal... in Canada.

It's perfectly legal in the US.

</comment><comment><AUTHOR> as for the justin.tv thing.. you can watch justin.tv, but if they ever decided to come up to Canada and film an episode, etc. pretty much the only thing you'd see was alot of blurred out faces and license plates. it's like watching American "cops" then watching Canadian "To serve and protect" it doesn't compare.

</comment><comment><USER4> You know how us Canadians are. If something affects one person negatively, it can't be allowed.

</comment><comment><USER5> So I guess justin.tv is illegal north of the border too.</comment>


Quintela.io – Full-Stack Developer Python/Django – Remote (US) - <AUTHOR> Remote Position: This job is a remote hire located in the US. We will work with you to be a fully connected member of our team. Our entire team is located remotely! Preferred timezome is US Central or Eastern.
A bit about us: We are a small group of professionals that work very closely together to create custom HR tech solutions around assessing and interviewing for Fortune 500 companies. We care about providing the best solutions and support to our clients.
A bit you'll do:
  - Developer in this role will work with the Talent Solutions team to understand customer goals and requirements
  - Provide reasonably accurate estimates based on client specifications
  - Produce clean, efficient code based on specifications
  - Deliver code on time according to provided estimates and project timelines
  - Troubleshoot, debug and add enhancements to existing software
A bit about our stack:
  - Development platform: Linux (Debian/Ubuntu is preferable)
  - Development tools: VS Code, PyCharm
  - Front-end: Python/Django, HTML4-5, CSS, JavaScript, JQuery, JQuery Datatables, Bootstrap, AJAX
  - API: Web Services (SOAP/REST), JSON, XML
  - Misc: PDF, CSV, Excel reports
  - DB: SQL (Postgres is preferable), Redis
  - Version control system: Git
A bit about you:
  - A track record for learning new skills and being able to contribute with them quickly
  - Strong communication and collaboration skills
  - The ability to effectively provide estimates and drive objectives to completion on time
  - Very flexible and comfortable with changing priorities
  - Comfortable using Slack and Zoom for frequent communication
Basic Qualifications:
  - 5+ years professional experience in a developer role utilizing Python
  - English fluency
  - Minimum 2 years experience working in a fully remote position
Preferred Qualifications:
  - Experience with Django
  - Experience building and supporting custom software products
Apply: firstname.lastname@example.com <comment><USER2> HN is not a job board, please read the FAQ for the one time and post where it is OK</comment>