An Expert in Valuation Says Uber Is Only Worth $28B, Not $62.5B - <AUTHOR> http://www.bloomberg.com/news/articles/2016-08-17/an-expert-in-valuation-says-uber-may-have-already-peaked <comment><USER2> In June 2014, Aswath Damodaran (the expert in valuation cited in the article) wrote an article about how Uber should be valued at $5.9B rather than the $17B they had just raised at: [http://fivethirtyeight.com/features/uber-isnt- worth-17-billi...](http://fivethirtyeight.com/features/uber-isnt- worth-17-billion/) If Damodaran's current $28B valuation is "correct," that would imply ~26% annualized returns if you'd invested in Uber at the "unjustified" $17B mark. Not bad. So I'd say his 2014 number missed the mark, in retrospect.

"Expert in valuation" does not imply an ability to magically divine the "true value" of companies. Valuation is as much subjective as it is objective–multiple people creating DCFs for a company can come up with different values. There's also upside (or downside) that isn't purely captured by metrics to date.

This isn't to say that I think Uber is "truly" worth what it raised at. Just to say that valuation isn't an exact science.

As a side note, Damodaran does have some great lectures on how to value companies: [https://www.youtube.com/watch?v=znmQ7oMiQrM](https://www.youtube.com/watch?v=znmQ7oMiQrM)

<comment><USER3> i think it's important t to keep in mind that the professor's valuation does not include a liquidation preference or other protective provisions that investors pay a premium for.

</comment></comment><comment><USER4> Uber isn't doing that well in terms of profits. It claims to be profitable in the US, but without audited GAAP numbers, that's questionable. (It's easy to be "profitable" when you get to decide what costs to count.)

Uber claims to make $0.19 per ride in the US. (Unaudited, of course) Average number of daily Uber trips is 1 million.[2] That's $69 million a year. Ongoing companies have a P/E ratio in the 10 to 15 range, so Uber is worth about $7bn to $10 bn as an operating company. Anything higher than that is anticipation of future growth. A _huge_ amount of future growth.

[1] [http://www.bloomberg.com/news/articles/2016-04-14/lyft-is- ga...](http://www.bloomberg.com/news/articles/2016-04-14/lyft-is-gaining-on- uber-as-it-spends-big-for-growth) [2] [http://expandedramblings.com/index.php/uber- statistics/](http://expandedramblings.com/index.php/uber-statistics/)

</comment><comment><USER5> Good luck predicting how public shareholders will treat a company like that. Same goes for Airbnb.

Does it really make sense that Twilio has gone up so much since its IPO? Is it likely to crash hard back to earth in the next year? Who knows, maybe it's one part sentiment, one part broad market euphoria, one part hitting their next quarterly numbers, one part story, etc.

If you were to run almost any kind of reasonable attempt at analyzing and valuing Tesla based on what it should maybe be worth via comparables, you'd get a figure dramatically lower than it is today. Do you compare it to a solar company? To Fiat? To GM and Ford? To Porsche? Doesn't matter, every example gets a Tesla worth far less than it is today. Public shareholders disagree however, they think it has a very bright future.

The same has been true of Amazon for most of its existence. Try to apply any of Target or Walmart's valuation ratios to Amazon, and you'd have to reduce the market cap by 3/4 at least. Should Amazon be worth 50% more than Alibaba? Investors think Amazon is going to grow a lot yet.

Does Google's (ever slowing) growth rate really justify a PE ratio 2.5 to 3 times that of Apple? Microsoft hasn't really grown its profit level in years. Should it have a 20 to 25 PE ratio, roughly twice that of Apple? So far as public shareholders are concerned, these things make sense today.

So Uber is really worth $28b, not $62.5 billion? Good luck with that.

<comment><USER6> >If you were to run almost any kind of reasonable attempt at analyzing and valuing Tesla based on what it should maybe be worth via comparables, you'd get a figure dramatically lower than it is today. Do you compare it to a solar company? To Fiat? To GM and Ford? To Porsche? Doesn't matter, every example gets a Tesla worth far less than it is today. Public shareholders disagree however, they think it has a very bright future.

If Tesla succeeds in finishing the Gigafactory on a reasonable timeframe and delivering a large number of Model 3 cars by the end of this decade, why would it be worth "far less than it is today"?

</comment></comment><comment><USER7> One of Uber's key advantages in Europe and the US is that fares were significantly cheaper and inventory is quite competitive than what the taxi companies got away with through regulatory capture (medallions and like).

In developing markets like India, the taxi/auto rickshaw premium is actually not much. I estimate that taking an auto rickshaw for my morning commute is only 40℅ or so more expensive than driving on fuel costs alone and when you factor in interest on car loan, insurance, maintenance etc, it would probably be close to cost neutral.

Uber and the local competition Ola are currently premium propositions to this. Local taxis I believe are competitive or slightly cheaper than Uber/Ola.

Sure I happily pay a premium for the comfort of pickup in an air conditioned car etc and there will always be top 2-3℅ who will pay a premium.

But being premium priced to key competition which has much higher inventory on the road means you can't really go after a mass market. In taking a mass market in any industry, convenience has almost never trumped price and availability. Everyone else I know in India who takes these cabs are also in the 2-3℅.

Uber and Lyft have had all three in US. But price is a clear disadvantage in India and availability vs. alternatives is currently not an advantage. I'm not very clear what the scenario was in China but I'd not be surprised if it was similar.

This lack of significant pricing and inventory advantage unlike US/Europe is I'm not sure being taken into account when projecting growth prospects and valuations.

</comment><comment><USER8> These company valuations are just made up as part of the valuation ponzi schemes.

A "valuation expert" means nothing.

</comment><comment><USER9> Its hard to value a company without a lot of public numbers:

Even he admits here: I am relying on dribs and drabs of information that are coming out of the existing ride sharing companies, almost all of whom are private

Also their cash flow numbers are probably negative at the moment and future cash flow is just a guess.

Basically valuing a business like that is throwing Darts at a board. You need to have predicable cash flow to properly value a business.

<comment><USER10> I wonder how much ridership data you could infer by reverse engineering the app and systematically querying the API. For example by looking at the rate that cars become available/unavailable and extrapolating rides from that.

</comment></comment><comment><USER11> > "only worth 28B"

I feel like this statement is telling in and of itself - since when is a $28B startup with Uber's (lack of) revenue and lasting IP considered normal?

Perhaps these numbers have yet a ways to fall.

<comment><USER12> Uber must be doing billions in revenue, since they handle the payments on all rides ordered through their system. They're not giving free rides after all.

<comment><USER13> That might be one way to look at it, but I doubt that is relevant. The total money that uber handles would be equivalent to ebay's "gross merchandise volume". The transaction takes place between the rider and the driver and uber is only facilitating it. You wouldn't say that a credit card company has the entire economy as its revenue, so you wouldn't say that all ride charges are Uber's revenue.

<comment><USER12> The rider and driver can't negotiate prices independently or pay through another service.

Uber determines both the display price offered to the customer and the revenue share paid to the driver, so IMO the total sum of transactions really is all Uber's revenue.

</comment></comment></comment></comment><comment><USER14> Every time I see an article like this, I wonder whether these experts have put their money where their mouths are. I'm sure there are plenty of Uber investors willing to take the other side of this bet, especially if you think the company is worth less than half of its valuation. Otherwise, it makes it hard for me to believe their opinion.

<comment><USER15> I wonder whether you saw the article last week about how difficult it is to actually short Uber.[1]

[1]: [http://qz.com/707947/investors-have-placed-a-one-way-bet- on-...](http://qz.com/707947/investors-have-placed-a-one-way-bet-on-uber- which-made-us-want-to-figure-out-a-way-to-short-it/)

<comment><USER14> Ah thanks, I actually hadn't seen that. Maybe in the future these predictions can be handled by some sort of betting market.

<comment><USER16> There are always proposition bets but they are generally illegal in most, if not all, markets.

</comment></comment></comment></comment><comment><USER17> In my opinion, assigning a value of even $28b to an app that could be duplicated by a single developer in under a week is probably a bad idea. Let's remember that most of the money they've blown has not gone into capital expenditures - there isn't a giant fleet of cars they own that could be sold if they fail, for example. They've spent almost all of the money subsidizing rides to win customers and drivers - both of which could leave the platform for the next great app in a heartbeat. They have not gained any assets as a result of their massive expenditures.

My personal opinion is that anyone investing in this company at any 10 figure valuation - much less 11 figures - is probably poised to lose most of their investment. We've seen through companies like Theranos how billions in perceived value can vanish overnight when business realities and investor expectations are mismatched. While these two companies appear to have reached high valuations through different means - Theranos through fraud and Uber through unprecedented hype - they may ultimately wind up in similar situations.

<comment><USER18> In my opinion, the key asset Uber has is their driver network. Like you say, anyone can build a similar app pretty quickly, but who will use it if there are no rides available? They've paid so much into user acquisition precisely so it is more appealing for drivers to join the network.

In this light, the CMU investment makes a ton of sense. It's going to be extremely difficult for any other competitor to get the critical mass of drivers that makes grabbing a ride a <5min request, except in the case of driverless cars. GM (as an example) could quickly put them out of business by partnering with google and deploying thousands of self-driving cabs in a city and slapping an uber-like app on it. There's no other way to get that many drivers.

Obviously the above example is a longer-term threat, so to say that anyone can just build an app and outcompete Uber is missing where the real value in Uber lies.

</comment></comment><comment><USER19> Don't most reported private valuations fail the most basic smell tests? If share rights, liquidation preferences, and seniority are homogenous, doesn't each share need to be summed individually vs multiplying quantity * latest senior price?

</comment><comment><USER20> A "valuation expert" arguing against a straw man based on a misconception certainly makes you wonder how much expertise they have. Raising capital from an investor who gets preferential terms -at- a valuation is not equivalent to saying that the company is worth that valuation. The comparison chart against public companies is a false comparison for the same reason.

Bloomberg should know better.

</comment><comment><USER21> 28 billion seems a stretch, maybe 4B. How far into the future does a valuation speculate for?

<comment><USER22> It's not uncommon to project for infinity. When using the discounted cash flow (DCF) method you first use the current business plan to project cash flows (discounting for the fact that future money is worth less than money right now) for as long as you think is reasonable, sum them, then calculate some "final value" for the company beyond the business plan.

Perhaps you think the company won't be around, so it is zero. Maybe you assume is steady-state forever, in which case the infinite sum of discounted cash flows turns into a geometric sum, which has a finite sum.

</comment></comment><comment><USER23> Uber is no more than an app with little network effect.

If they start making money in a given city, a competitor can sweep in and take the city from them. I know they are planning a monopoly on self-driving taxis. But as of today, the valuation seems to be 3 orders of magnitude off.

<comment><USER24> > Uber is no more than an app with little network effect. > If they start > making money in a given city, a competitor can sweep in and take the city > from them.

Odd. I see their network effect as rather strong. Why would a driver use a new competitor app if the customers aren't there? Why would a customer download another app they haven't used before or heard of, especially if the rides aren't there?

<comment><USER21> Competitors always have it easier because they can see what works and doesn't work from original competition. Which means they can spend less and make more. Which means they can charge less and / or pay their drivers more.

<comment><USER25> More competition will pretty much always cause every competitor to spend more and make less...

See: [https://en.wikipedia.org/wiki/Perfect_competition#/media/Fil...](https://en.wikipedia.org/wiki/Perfect_competition#/media/File:Perfect_competition_in_the_short_run_\(simple\).svg)

</comment></comment></comment></comment><comment><USER26> Suppose Uber does not exist in 10 years, what will be its legacy?

A lot of people will tell their grandchildren that one day there was a platform you could use to get a ride...

Valuation seems nowadays based on perceived market value. Perception is deception.

</comment><comment><USER27> "An Expert in Valuation"

Ha, the only expert on the value of an asset is the market, because the market alone determines what something is worth. Everything else is hogwash.

<comment><USER28> And then something happens and market 'corrects' itself. Before investing, it can be useful to know the post-market-corrected value of any asset.

</comment></comment><comment><USER29> It can be a lot less, if what happened in China spreads to more operations. Imo, Uber is going to fail very big.

<comment><USER30> Can you expand on that? What mode of failure do you foresee?

<comment><USER31> Uber sold its Chinese operations to Didi Chuxing (a ride-sharing service made by Chinese companies), because it couldn't gain a definitive advantage despite spending more than a billion dollars.</comment></comment></comment>


Curiosity Takes Its First Drive, Leaving Morse Code on Mars - <AUTHOR> http://www.theatlantic.com/technology/archive/2012/08/curiosity-takes-its-first-drive-leaving-morse-code-on-mars/261453/

<comment><USER2> How is news published on 22Aug news today? Its not 'new'

<comment><USER3> Probably the same way The Atlantic made news on reddit - armies of shill accounts. It's hard to tell but I _think_ they're watching for legitimate submissions by legitimate users and then throwing their votes at them but it's hard to say ... this submitter has never commented and submitted 5 links so it's quite possibly a pre-meditated fake account, other submitters look like genuine users.

</comment></comment><comment><USER4> I think I might have gone for something more like

      -.-. --.-   -- .- .-. ...   -.-. --.-   -- .- .-. ...   -.-. --.-   -- .- .-. ...
      -.. .   .--- .--. .-..   -.. .   .--- .--. .-..   .--. ... .   -.-

<comment><USER5>
      .-  .-..  .-..  -.--  ---  ..-  .-.  -...  .-  ...  .  .-  .-.  .  -...  .  .-..  ---  -.  --.  -  ---  ..-  ...</comment></comment>


Why Reddit was down for 6 hours - <AUTHOR> http://blog.reddit.com/2011/03/why-reddit-was-down-for-6-of-last-24.html <comment><USER2> I know it's not exactly in vogue these days to tout the merits of bare hardware, but.. after all the VPS hubbub over the last couple of years, the best progression for your website still seems to be:

1\. No traction? Just put it anywhere, 'cause frankly, it doesn't matter. Cheapest reputable VPS possible. Let's say, Linode.

2\. Scaling out, high concurrency and rapid growth? DEDICATED hardware from a QUALITY service provider--use rackspace, softlayer et al. Have them rack the servers for you and you'll still get ~3 hour turnarounds on new server orders. That's _plenty_ fast for most kinds of growth. No inventory to deal with, and with deployment automation you're really not doing much "sysadmin-y" work or requiring full timers that know what Cisco switch to buy.

3\. Technology megacorp, top-100 site? Staff up on hardcore net admin and sysadmin types, colocate first, and eventually, take control of/design the entire datacenter.

I simply don't understand why so many of these high-traffic services continue to rely on VPSes for phase 2 instead of managed or unmanaged dedicated hosting. The price/concurrent user is competitive or cheaper for bare metal. Most critically, it's insanely hard to predictably scale out database systems with high write loads when you have unpredictable virtualized (or even networked) I/O performance on your nodes.

<comment><USER3> reddit actually is a top 100 site, but we don't have nearly the need to host our own datacenter or co-locate. If we do make a move, it will be to #2. I don't want to hire people to be hands on -- I'd rather outsource that and let someone else pay to have spare capacity laying around.

<comment><USER4> what kind of scale are you at? I mean, about how many 32GiB ram/8 core servers would you need if you were using real hardware?

<comment><USER3> We have ~130 servers at Amazon right now. We could probably do it with 50-75 or less, depending on how big the boxes are.

</comment></comment></comment></comment><comment><USER5> [http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_d...](http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_down_for_6_of_the_last_24_hours/c1l6ykx)

A former employee is not quite as nice to Amazon.

<comment><USER6> Assuming for a minute that Amazon deserves as much blame as ketralnis is heaping on here, why would the Reddit guys be so reluctant to point this out? Professionalism? Kindheartedness? Even professionalism and mutual respect have limits.

The community loves both the site and the admins, but there are limits to the patience of users, and those limits are being tested by these outages. I would think the Reddit guys would be happy to have a scapegoat to direct the community's rage towards.

<comment><USER5> You shouldn't bite the hand that... hosts you.

And it is pretty unprofessional. Ketralnis thinks he's defending his buddies but he isn't really helping the situation.

<comment><USER7> I'm not sure that he really cares if he's helping the situation or not, seeing as he's no longer employed there.

I know first-hand that when a team is working on things, and it's very publicly going wrong, and it's due to things that are out of your control, it's beyond frustrating to have everyone think that it IS your fault due to the public stance.

I'm guessing that the Reddit team that is dealing with this is more than a bit pissed that they can't be more public with what the real reasons are.

Personally, I could care less about the "professionalism" or political BS, I'd rather know the real reasons for the problems so that I could be better informed and not run into the same issues.

I'd rather see more candor and less PR.

<comment><USER8> On the other hand: "Blaming a third party lacks class. The Reddit guys made the decision to rely heavily on EBS, and it came back to bite them. They show a lot of character by taking responsibility for an outage they had very little control over." What do you think is the best solution to that one?

</comment></comment></comment></comment></comment><comment><USER9> Amazon claims: "Each storage volume is automatically replicated within the same Availability Zone. This prevents data loss due to failure of any single hardware component".

They make it sound like they are already providing RAID or something similar; however, the fact that things like this happen to Reddit, who have built their own RAID on top of Amazon's already replicated volumes, show that reliability is not a good reason to go with AWS.

<comment><USER10> EBS isn't really RAIDed, it's virtualized block storage with replicas. The issue Reddit experienced wasn't drive failure, though, it was network degradation. The solution is to deploy redundant replicas in different availability zones (and/or regions, if you can). Reddit unfortunately wasn't built for that.

This isn't really any different from an on-premise application. An availability zone by definition implies "shared network hardware". Using multiple is what you do when you want redundancy.

<comment><USER11> How do you know the issue was network degradation? Is this written up somewhere?

<comment><USER10> The original Reddit blog post indicates there were latency problems initially. It's not clear what caused followon problems, but the latency may have triggered a bad condition for their replication.

</comment></comment></comment></comment><comment><USER12> EBS storage aside, they are down to 3 guys? _yikes_

<comment><USER13> They have been granted a lot more help from Conde Nast. They're in the process of hiring four more developers.

[http://blog.reddit.com/2011/03/so-long-and-thanks-for-all- po...](http://blog.reddit.com/2011/03/so-long-and-thanks-for-all- postcards.html)

<comment><USER12> devops and all, the ratio's still staggering for the number of hits that reddit gets.

</comment></comment></comment><comment><USER14> On that note, I have been meaning to ask HN (even if nothing more than an exercise)...

If you had to run a site like Reddit, what would you do?

<comment><USER15> Most importantly, I wouldn't let the staffing levels get this low.

At this point in its life, reddit should have 6-12 programmers/system administrators + a few support staff, compared with the 3 they have at the moment.

That way they won't be agonizing over the choice between devoting their resources to keeping reddit running in the short term, or to moving reddit away from EC2 for long term stability.

<comment><USER16> "Most importantly, I wouldn't let the staffing levels get this low."

How would you pay for that?

<comment><USER15> Reddit has never been low on money. According to one of their old developers, the staffing issues have always been political, not financial.

[http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_d...](http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_down_for_6_of_the_last_24_hours/c1l7ajp?context=1)

<comment><USER17> Ah yes, the telltale sign of a large bureaucracy: people spending $150 of one kind of money to avoid spending $100 of a different kind of money (in this case, payroll budget versus tech-infrastructure budget).

</comment></comment></comment></comment></comment><comment><USER18> _Then, something really bad happened. Something which made the earlier outage a comparative walk in the park._

Murphy's law on St. Patrick's Day. Doesn't get any better than that.

<comment><USER3> I didn't even get a chance to have a Guinness today. :(

<comment><USER14> At this rate, a nice, tall Guinness is probably just what the doctor ordered.

</comment></comment></comment><comment> X-Istence I always love seeing a good technical post-mortem of what went wrong and how it could be fixed in the future...

I'm currently working on building a backend service that has to scale massively as well, and it has been a fun challenge trying to understand exactly where things can go wrong and how wrong they can go...

</comment><comment><USER19> Wow...they sound like they are really beating themselves up over it.

I know the community can be demanding, but that just seems stressful.

</comment><comment><USER20> Great writeup. I'd love to hear other people's experience with regards to workarounds when / if EBS goes down (switching over to RDS for a short time, etc.).

The comment about moving to local storage was interesting. Isn't the local storage on EC2 instances extremely limited (like 10-20GB?)

<comment><USER21> Assuming "local storage" is synonymous with "instance storage" it's 160GB to 1690GB. <http://aws.amazon.com/ec2/instance-types/>

<comment><USER22> So, I assume instances reddit uses have instance storage root volumes instead of EBS root vols. I've always assumed the persistence of ebs AMIs was a plus without a downside. Why would you opt for instance-storage AMIs instead of ebs root volume EC2 AMIs?

<comment><USER21> Being that EBS booting only became an option in December 2009 I would not be surprised if Reddit had not migrated their instances to that boot/storage method. They acknowledged in the last two years they hadn't even had time to move one of their databases from a single EBS volume to striped EBS volumes.

<comment><USER3> We're currently in the process of replacing every one of our hosts with new OS versions. As we do this we are in fact going to the EBS based instances.

Those instances actually show the same problems, but they aren't too bad, because once you boot them, you don't need the root vol that much (that's what the instance storage is for).

<comment><USER23> Some Qs:

Q1. I still don't get the use case for db storage on ephemeral storage.

Q2. If EBS is the problem why are you migrating to S3 backed EBS boot vols? The problem with this is still the time in between snapshots even though it will be shortened.

Some Comments: It will only be a matter of time before S3 disks and hardware start dying like EBS...en masse

I talked with Ketralnis several year ago and know how many VMs you were running back then. Pretty sure your not too far off from that count even today (even if 2x).

You can still virtualize on a good set of dedicated hardware to emulate your current 'network environment' to get you up and running in the near term _asap_. Obviously you'd build out of that vm environment (with your load) as the days go by. Seriously look into a parallel switch over though.

If EBS is in fact a huge issue as has been shown, you really may need to start migrating off unless you want dedicated employees monitoring system health on AWS. Eventually if problems continue that is what will happen, with no time left to even develop automation... And why automate on a pile of instability?

Don't forget that the more VMs you add with this high failure rate increases soft management costs and will eventually eat into your development time...

I don't work for Rackspace (I think they're quite expensive), but you guys might benefit from this level of care to focus on the real issues.

<comment><USER3> > Q1. I still don't get the use case for db storage on ephemeral storage.

We're still not sure either, so we're investigating to see if it makes sense. One possible option will be to have the master on ephemeral disk with a hot backup on EBS so there is no data loss.

Another option is use ephemeral for the master and all but one slave, so we got hot backups without a slowdown.

Still need to look into it more.

The one that we are doing ephemeral right now is Cassandra with continuous snapshots to EBS. Everything in there can be recalculated, and with an RF of 3, if we lose one node we can run a repair.

> Q2. If EBS is the problem why are you migrating to S3 backed EBS boot vols? > The problem with this is still the time in between snapshots even though it > will be shortened.

They are just easier to use. The root volume is rarely accessed after it is booted, so the EBS slowdowns aren't really a problem in that case.

> Some Comments: It will only be a matter of time before S3 disks and hardware > start dying like EBS...en masse

I don't think so. It is a totally different product built by a totally different team with a different philosophy. S3 was build for durability above all else.

In response to the rest of your comments, you are absolutely right, there are other options. We will certainly be investigating them.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> I had two machines running in east-1 last night and one of them went down around the same time reddit did. The other one made it through the night O.K.

EBS problems do seem to be the biggest reliability problem in EC2 right now. The most common symptom is that a machine goes to 100% CPU use and 'locks up'. Stopping the instance and restarting usually solves the problem.

The events also appear to be clustered in time. I've had instances go for a month with no problems, then it happens 6 times in the next 24 hours.

My sites are small, but one of them runs VERY big batch jobs periodically that take up a lot of RAM and CPU. Being able to rent a very powerful machine for a short time to get the batch job done without messing up the site is a big plus.

</comment><comment><USER25> This is why you don't outsource your bread and butter, people!

If you want to outsource who makes your lunch, fine, but if your whole business is requests in, data out, you do not put the responsibility of storing your data in someone else's hands.

I get it, Amazon EBS is cheap. But at the end of the day you've got to make sure it's your fingers on the pulse of those servers, not someone else who's priorities and vigilance may not always line up with yours.

(also the cloud is dumb)

<comment><USER26> You're still outsourcing if you go with a managed dedicated hosting service, or even if you buy hardware and colocate it. Even if you owned the datacenter and the entire backbone, you're still banking on everyone else not fucking up their end of the connection.

<comment><USER25> Yeah, but at least you can take direct action when your people fuck up.

</comment></comment></comment><comment><USER27> > We could make some speculation about the disks possibly losing writes when > Postgres flushed commits to disk, but we have no proof to determine what > happened.

If you read between the lines, this says that EBS lies about the result of fsync(), which is horrifying.

<comment><USER28> Most consumer /hard drives/ lie about the result of fsync, as a 'performance optimization'.

It's generally possible to fsync, then cut the power before the data is physically on the disk.

<comment><USER4> Yeah. but even _I_ don't use consumer hard drives in production. (Honestly, I don't know 100% that the 'enterprise' drives are that much better, but I'd guess they'd lie less... I switched because consumer drives tend to hang RAIDs when they fail, while 'enterprise' stuff fails clean)

<comment><USER29> Enterprise hardware lies about fsync, because even if you loose power, there is a little battery on the RAID controller that's enough to flush the cache to disk or to keep it for hours until the machine is powered up again. When the battery goes bad, the write cache is disabled automatically.

On bigger hardware, like SAN storage arrays, the (redundant) batteries keep the whole thing running for a while after the loss of power.

<comment><USER30> You could consider that the whole battery backup etc. means that it _isn't_ lying about fsync. It says that it's been permanently written, and then it makes sure that is has. It might not have been burnt to spinning metal, but the system as a whole will ensure that it's permanent.</comment></comment></comment></comment></comment>


Ask HN: I am extremely alone - <AUTHOR> Though I am lucky to have decent social skills, and seemingly to outsiders I would have lots of friends, I have no one who I feel shares my interests / who I want to spend time with.  Admittedly, I have uncommon & very geeky interests, but knowing that doesn't solve my problem of finding someone to share those with.
I don't know what to do with this feeling of loneliness.  Aside from meetups, and social apps, I've even gone to the extent of creating a website to attract like-minded people and started Facebook & Reddit ad campaigns pointing people to it.  No luck.  I suppose I could spend more money on it, but, feels futile.
This loneliness is crushing, and frightening - I have to fight against thoughts of a lifetime of loneliness.  I even ended an otherwise healthy romantic relationship because I felt detached from the person.
Any thoughts or ideas?
31/m/SF <comment><USER2> I feel you, I've been in a similar place.

My own path to a better place came from realising that I was expecting too much of other people to fit into my ideas of what others could do for me, and becoming better at meeting people half way and becoming as much a giver as a taker.

The fact is that we live in a society and for that society to function, everyone needs to give and receive in roughly equal measures over the long term. If we're too isolated in our own idiosyncratic interests and values, it's possible we're not playing an adequate role in contributing to the wellbeing of those around us.

At least that was the case for me.

The solution for me was to embark on a long-term process of deep self- discovery, emotional healing and ego-balancing, which I've been doing for about 7 years and am continuing to undertake.

Slowly but surely, all aspects of my life are getting better, including both my ability to connect with the more "normal" people I encounter in everyday life, as well as connecting with the more idiosyncratic people on the fringes.

Feel free to contact me (email in profile) if you want to know more.</comment>


Microsoft files patent for augmented reality smart glasses - <AUTHOR> http://www.bbc.co.uk/news/technology-20462840

<comment><AUTHOR> What I really want to know: What is Apple planning for this space?

Of course were this 1990 I'd ask What Would Sony Do.

<comment><USER2> Apple are planning: [http://patft.uspto.gov/netacgi/nph- Parser?Sect1=PTO2&Sec...](http://patft.uspto.gov/netacgi/nph- Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch- adv.htm&r=17&p=1&f=G&l=50&d=PTXT&S1=%2820120703.PD.+AND+Apple.ASNM.%29&OS=ISD/07/03/2012+AND+AN/Apple&RS=%28ISD/20120703+AND+AN/Apple%29)

Sony made the following literally YEARS ago: <http://en.wikipedia.org/wiki/Glasstron>

<comment><USER3> That Wikipedia page was simulateously hilarious (for the terrible advertising copy at the bottom), and enlightening. Sony could probably have created many new markets, if they hadn't gotten so hung up on options. The page lists a completely opaque set, mechanical shutters and LCD shutters. Didn't anyone think about how these would be used? What is the target audience? It's like they just threw things at the wall, and then rapidly iterated.

</comment></comment></comment><comment><USER4> Prior Art: Basically the life work of Professor Steve Mann ("EyeTap").

</comment><comment><USER5> Wait, have they just patented a HUD?</comment>


Court holds that UIUC broke contract in Salaita case - <AUTHOR> http://chronicle.com/blogs/ticker/court-holds-that-u-of-illinois-broke-contract-in-salaita-case/102881

<comment><USER2> That article is misleading.

Here is a much better one: [https://www.washingtonpost.com/news/volokh- conspiracy/wp/201...](https://www.washingtonpost.com/news/volokh- conspiracy/wp/2015/08/08/salaita-lawsuit-against-university-of-illinois-will- proceed/)

"Salaita lawsuit against University of Illinois will proceed" Steven Salaita's lawsuit against the University of Illinois for rescinding a job offer in response to controversy over the content of his tweets will go forward. On Thursday a federal judge denied the university's motion to dismiss most of the counts in Salaita's complaint. Specifically, the judge refused to dismiss Salaita's contract, promissory estoppel and First Amendment claims against the university. What this means is that the judge concluded that if the facts are as Salaita alleged (and that qualification is important) he has stated valid legal claims. It is not a ruling on the merits. In potentially related news, University of Illinois Chancellor Phyllis Wise resigned on Thursday as well.</comment>


Japanese Multiplication Method Will Divide Your Brain By Zero - <AUTHOR> http://gizmodo.com/5713010/this-bewildering-japanese-multiplication-method-just-multiplied-my-brain-by-zero <comment><USER2> Same topic from 7 months ago, without the blogspam:

<http://news.ycombinator.com/item?id=1308444> [video]

Some discussion there. It is effectively long multiplication, with lines and points taking the place of products and digits. The isomorphism is pretty simple.

</comment><comment><USER3> Western-style multiplication is still more compact and efficient, but computation-wise, they are the same (O(n^2))

For a computer, use the Karatsuba method or FFT-multiplication (for >10K decimal digits).</comment>


Beware Vegan 'Meat' Peddled by Venture Capitalists - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-05-02/beware-vegan-meat-that-s-no-better-than-a-big-mac <comment><USER2> Scaremongering, nothing more.

tl;dr: "Venture capitalists may prioritize money over your health."

To which I say, how is that not true of ANY capitalist, not just the venture ones?

We have food regulations for this very reason. No one needs to trust any food company, because we long ago discovered that trust was dangerous. So we have government regulators keeping an eye on things now.

Is it perfect? Fuck no. But the argument that Beyond Meat or Impossible Burger are somehow more dangerous because they're funded by VCs is disingenuous.

<comment><USER3> This amounts to what-aboutism. Maybe the VCs are only just as bad as other capitalists but all the concerns about eating an unproven food still stand.

</comment></comment><comment><USER4> Normally I'm all in favor of extreme skepticism of corporate incentives, especially VC-backed corporations.

But this article's premise doesn't make sense to me. The market pressure right now isn't to make these foods extra cheap or extra wasteful, it's to make them at all, period. Neither Beyond Meat nor Impossible existed in any way for most consumers five years ago.

Yes, we'll need a discussion around health and regulation - we always need that. But right now I don't see a need to make vegan meat both achieve being decent in quality and availability _and_ a panacea to all our other food- related societal problems. That seems like massive scope creep to me.

</comment><comment><USER5> Bloomberg says beware......... Why are these guys not banned from the front page yet?

</comment><comment><USER6> Beyond Meat is going to crash hard. The pop for this IPO is too ridiculous.

<comment><USER7> This is false, spoken from someone who has been eating Beyond products since they came out. They will go nothing but up.

</comment></comment><comment><USER8> > Peddled by Venture Capitalists

I laughed out aloud when this reminded me of what pg wrote [https://twitter.com/paulg/status/1099648817601921024?lang=en](https://twitter.com/paulg/status/1099648817601921024?lang=en)</comment>


Chernobyl's legacy 30 years on - <AUTHOR> http://www.bbc.com/news/world-europe-36115240?ocid=socialflow_twitter <comment><USER2> I visited about five years ago. Quite frankly it's pretty safe at this point. There were a few spots here and there that made the Geiger counter tick faster than usual, but for the most part the radiation level wasn't out of the ordinary. I definitely wouldn't think twice about going back. Actually, I'm pretty sure some wanderers live there these days.

Photos from my trip: [https://www.flickr.com/photos/127718378@N07/albums/721576485...](https://www.flickr.com/photos/127718378@N07/albums/72157648501650282)

<comment><USER3> There are other risks which won't show up on a geiger counter. For example the ingestion of radioactive material, which will cause a much higher effective dose than estimated by a geiger counter or dosimeter. This is called a committed dose: [https://en.wikipedia.org/wiki/Committed_dose](https://en.wikipedia.org/wiki/Committed_dose)

<comment><USER4> How easy is it to ingest something by accident while in the area?

I mean, I don't imagine people going there to be eating random stuff they find. So maybe from dust and other small particles you don't notice?

<comment><USER5> From experience. Contamination is patchy. Especially there. You can briefly step into some plutonium contaminated patch for a second, and if you had no proper decontamination on exit - bring this shit home. Once its inside the body - there is no cure.

</comment></comment></comment></comment><comment><USER6> It was a horrible disaster. But, 30 years after the accident, this article is trying to get readers using punchy headlines, like "Children are still being born with severe birth defects". I would have expected a BBC article to be a bit more objective on such controversial conclusions [1]. [1] [https://en.wikipedia.org/wiki/Effects_of_the_Chernobyl_disas...](https://en.wikipedia.org/wiki/Effects_of_the_Chernobyl_disaster#Controversy_over_human_health_effects)

<comment><USER7> I was also surprised they were citing those numbers as fact, as my understanding was that disagreed with the UN investigations. A recent story on HN from the Guardian contradicts the claims in the BBC article, and cites the UN investigations: [https://news.ycombinator.com/item?id=11479097](https://news.ycombinator.com/item?id=11479097)

In particular:

 _The word Chernobyl became synonymous with death on a massive scale. But perception and reality do not always neatly align; in the wake of the disaster, the UN Scientific Committee on the Effects of Atomic Radiation (UNSCEAR) and others undertook a co-ordinated effort to follow up on health effects. In 2006, after two decades of monitoring they outlined the health effects; of the firefighters exposed to the huge core doses and incredibly toxic smoke, 28 died from acute radiation sickness. A further 15 perished from thyroid cancer. Despite aggressive monitoring for three decades, there has been no significant increase in solid tumours or delayed health effects, even in the hundreds of thousands of minimally protected cleanup workers who helped purge the site after the accident. In the words of the 2008 UNSCEAR report: "There is no scientific evidence of increases in overall cancer incidence or mortality rates or in rates of non-malignant disorders that could be related to radiation exposure.

It added: "The incidence of leukaemia in the general population, one of the main concerns owing to the shorter time expected between exposure and its occurrence compared with solid cancers, does not appear to be elevated. Although most highly exposed individuals are at an increased risk of radiation-associated effects, the great majority of the population is not likely to experience serious health consequences as a result of radiation from the Chernobyl accident. Many other health problems have been noted in the populations that are not related to radiation exposure."_

<comment><USER8> there is a lot of whitewashing of history is happening (after all there is a huge money race between big solar and wind installs and new "safe" reactors - notice that even 5-10 year ago we didn't have this tsunami of "Chernobyl was really not that big a deal of an accident" articles).

Decades after the Chernobyl there is much higher rate of cancer of internal organs, adeno- and thyroid (ie. cancers related to ingestion of radiation sources) among people who lived or spent time in the North Ukraine, South Belarus in the months right after the catastrophe. Only official statistics points to 5000 additional thyroid cancers in Belarus in people who were children at the time.

<comment><USER7> What are you basing your claim of increased cancer on? As an outsider, the only way I can get a grip on the situation is to look at claims, and the support for those claims.

<comment><USER8> for an outsider google is your friend (i intentionally didn't mention any specific cases i'm personally aware of because they can be easily shot down by "sample of 1" type of argument even though everybody around understands what it really is). For example:

[http://www.ncbi.nlm.nih.gov/pubmed/18923372](http://www.ncbi.nlm.nih.gov/pubmed/18923372)

"After the Chernobyl accident, children from Belarus living in highly exposed regions received mean thyroid doses by radioactive fallout higher by a factor of approximately 2 as compared to the survivors of the atomic bomb explosions. This lead to a radiation related increase of thyroid cancer incidence in children and adolescents with the highest incidence in age group 0-4 years up to now totally amounting to approximately 5 000 cases. "

<comment><USER7> Apparently the keyword in my originally quoted text was "overall", as the UN report includes that figure ([http://www.unscear.org/unscear/en/chernobyl.html](http://www.unscear.org/unscear/en/chernobyl.html)):

 _Among the residents of Belarus, the Russian Federation and Ukraine, there had been up to the year 2005 more than 6,000 cases of thyroid cancer reported in children and adolescents who were exposed at the time of the accident, and more cases can be expected during the next decades. Notwithstanding the influence of enhanced screening regimes, many of those cancers were most likely caused by radiation exposures shortly after the accident. Apart from this increase, there is no evidence of a major public health impact attributable to radiation exposure two decades after the accident. There is no scientific evidence of increases in overall cancer incidence or mortality rates or in rates of non-malignant disorders that could be related to radiation exposure. The incidence of leukaemia in the general population, one of the main concerns owing to the shorter time expected between exposure and its occurrence compared with solid cancers, does not appear to be elevated. Although those most highly exposed individuals are at an increased risk of radiation-associated effects, the great majority of the population is not likely to experience serious health consequences as a result of radiation from the Chernobyl accident. Many other health problems have been noted in the populations that are not related to radiation exposure._

<comment><USER8> >There is no scientific evidence of increases in overall cancer incidence or mortality rates or in rates of non-malignant disorders that could be related to radiation exposure.

for each cancer you can google and find things like this:

[http://www.cancer.fi/syoparekisteri/en/research/breast- cance...](http://www.cancer.fi/syoparekisteri/en/research/breast-cancer-in- areas-with-high/)

"In addition, a significant two-fold increase in risk was observed, during the period 1997-2001, in the most contaminated districts (average cumulative dose of 40.0 mSv or more) compared to the least contaminated districts"

>more cases can be expected during the next decades.

yes. We're about in the middle right now - following known models of radiation exposure health effects the total numbers are projected to double over the next 20-30 years.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> _Design flaws led to a power surge, causing massive explosions which blew the top off reactor four_

Yes, admittedly the design was not great. But deliberate human actions lead to the power surge and subsequent explosion. They were running experiments on the reactor and continued dispite a series of events that were clearly not happening as planned.

<comment><USER10> I suspect the specific design flaw they're referring to is the graphite tips of the control rods, and the fact that, for the first few seconds of a SCRAM, the reaction rate is _increased_. And the control rods jammed in that position.

Yes, there was serious human failure in Chernobyl. But when the maximum emergency "oh shit" safety feature works by making things even more unsafe before shutting stuff down, that is the sort of design flaw that probably should be criminal.

<comment><USER11> The 2nd design flaw is the positive void coefficient due to it using light water as a coolant and graphite as a moderator. In its scheme, the light water is a neutron absorber, and if steam voids form in it, there's less water absorbing neutrons. More neutrons -> more split atoms -> more heat -> more/bigger voids, this repeats until the reactor sufficiently disassembles itself: [https://en.wikipedia.org/wiki/Void_coefficient](https://en.wikipedia.org/wiki/Void_coefficient)

Such designs are illegal in the US, one of the reasons all but the latest version of the CANDU reactor can't be used here.

<comment><USER12> Yup. Means you can use lower enriched uranium since the reactor is primarily graphite moderated and merely water cooled (one of the most "efficient" designs possible), but it's unstable by nature and potentially very dangerous, as we've seen.

</comment></comment></comment></comment><comment><USER13> The most interesting thing about the Chernobyl disaster is that it seems like human inhabitation is a more destructive force towards wildlife than the levels of radiation that are present - wildlife seems to flourish in this area.

<comment><USER5> Quite the contrary. I lived there in the 90-ies. The nature just recovers, and in 3 years humans are forgotten by wildlife. Moose and blackcock will stare at you from a 2 meter distance not recognising the threat anymore. Basically nature swiftly took back what was colonised by humans during centuries of industrial and agricultural activity there in just few years. So the event shows how insignificant humans are.

<comment><USER14> I would rather say the contrary. You can see "our" significance there, anmials forgetting their most dangerous hunter after not even 3 decades. Thats the difference, a society that can remember.

<comment><USER5> Unfortunately, the society has no memory as a system. Certain people have.

</comment></comment></comment></comment><comment><USER15> Two years ago I was lucky enough to visit Chernobyl with an organized tour out of Kyev. Strange to think of part of this planet as a forbidden zone, even stranger that it's a tourist attraction.

<comment><USER16> It's kind of turned into the world's weirdest nature reserve.

<comment><USER17> -Definitely. I had a tour there a couple of years ago, and the takeaway memory (in addition to the slightly eerie feeling of having been dropped into a massive Fallout game) was as we walked across a bridge over a small canal, I saw the biggest sturgeon-y fish I'd ever seen.

The guide shrugged and observed something along the lines of 'This is what happens when #2 in the food chain suddenly becomes #1.'

Considering the number of people who now go on Chernobyl tours, I am just waiting for the Lonely Planet crowd to label the place 'spoiled' ;)

</comment></comment></comment><comment><USER5> Basically 30 years after it become more and more clear that only the USSR was capable of containing such events properly. In 1986 Soviet Army soldiers with impregnated coats and shovels in just 2 weeks ensured containment of the accident to the controllable level. Something Japanese government in the 21st century cannot achieve in Fukushima with nanotech and robotics in 5 years.

<comment><USER18> The severity of the events is not comparable and the one in Japan was, to a great extent, a consequence of a major natural disaster. There would have been no need for the Soviet Union to display its (rather dubious) expertise in containing such events if it hadn't created it in the first place.

<comment><USER19> An expertise in spending human lives, dubious indeed.

</comment></comment></comment><comment><USER20> Well, looks like we're about 1.00011779755% of the way until it's safe again.

[https://twitter.com/chernobylstatus/status/72495666416050995...](https://twitter.com/chernobylstatus/status/724956664160509952)

<comment><USER21> Someone who clearly doesn't know about half-lives and exponential decay!

</comment></comment><comment><USER22> Half of Europe got contaminated with the fallout for thousands of years, from the north down to the Alps many countries were and still are effected. The same idiotic disaster happened again in Japan (and could have been easily prevented by attaching generators, but fearing loosing the face, it was a cultural problem), and contaminated huge parts of the ocean, Hawaii and the west coast. Only a few countries stopped using or never used this very problematic technology. Hopefully, we don't have to see a third such disaster. Neither Soviet Union (USSR) nor Russia, Ukraine or Japan paid other countries money for the damage their action or non-action they did.

[https://en.wikipedia.org/wiki/Chernobyl_disaster#Effects](https://en.wikipedia.org/wiki/Chernobyl_disaster#Effects)

Apparently the downvoters are either lobbiest of the atom lobby, from those named countries or should read more about the history. The true history isn't always nice.

<comment><USER10> Coal power is probably responsible for more radiological deaths and injuries than nuclear power, certainly in normal operation (although given the acute impact of specific release events, you might have to include the entirety of the Industrial Revolution to balance out again, which isn't necessarily a fair comparison).

On the other hand, if you want to go for specific acute events, hydroelectric dams make nuclear power look safe. The only way to claim otherwise is to choose your dates to ignore the failure of the Banqiao Dam (171,000 deaths) and take the unreasonable high end of death toll estimates from Chernobyl and Fukushima. Presently, Mosul Dam is an excellent example of just how dangerous and real major dam failures can be.

<comment><USER22> All true, but there is one difference, those are visible, their danger is visible or can be smelled (at least by educated people). The half life of C137 and other are invisible and contaminated larger areas and will be not good for people health for many hundreds and often thousands of years. So these two disasters are rather serious, and there isn't even an real solution where to store the waste of atomic plants. Just dumping the waste somewhere in Nevada, Ural, Kazakhstan or at the bottom of the ocean isn't a real solution. No other energy technologies (beside fusion) needs any thinking about storage of waste (secure storage for thousands of years).

</comment></comment></comment><comment><USER23> Is news coverage of an old nuclear accident Britain's way of consoling Ukraine after failing to offer significant support in the fight against Putin's invasion?

</comment><comment><USER24> >> Design flaws led to a power surge, causing massive explosions which blew the top off reactor four

Anybody else catch this wildly inaccurate representation of what caused the explosions? While there certainly were design flaws, it's well-known that this disaster was a direct result of the recklessness of the reactor's operators. I have to wonder if this mischaracterization is an attempt to further scare the public about nuclear power.

<comment><USER12> It's unconscionable for such a reactor design to have been made and put into service in the first place. The particular bungled test that caused the disaster was somewhat of an exceptional circumstance but the RBMK design was really just a ticking timebomb waiting to go off. If it wasn't that test it would have been something else, maybe it wouldn't have been as bad, but it would almost certainly have been at least Fukushima scale regardless.</comment></comment>


Clearest sign yet of dark matter detected - <AUTHOR> http://www.newscientist.com/article/dn18303-clearest-sign-yet-of-dark-matter-detected.html?DCMP=OTC-rss&nsref=space <comment><USER2> This experiment seems fundamentally flawed to me. If they see things they can't explain in other ways, it could be dark matter.Or it could just be things they can't explain in other ways. I must be missing something.

</comment><comment><USER3> In case anyone else is confused, this is the same story we saw a little while ago; nothing new has happened.</comment>


Network Solutions' DNS was down - <AUTHOR> http://www.networksolutions.com

<comment><USER2> Their facebook page has been updated:

Network Solutions is experiencing a Distributed Denial of Service (DDOS) attack that is impacting our customers as well as the Network Solutions site. Our technology team is working to mitigate the situation. Please check back for updates.

[https://www.facebook.com/networksolutions/posts/101514681058...](https://www.facebook.com/networksolutions/posts/10151468105866020)

</comment><comment><USER3> This is one of the reasons why I self-host DNS. Even with tons of users, the resources it takes to serve DNS requests pale compared to what you have to put behind your application servers.

Of course if you are using a CDN to provide your users with better locality, you might want to look into a service that provides localized DNS distribution, but the inherent caching feature of the DNS protocol might make that an unneeded additional burden (I remember a very old Stack Exchange podcast episode where they were talking about this, coming to the conclusion that self-hosted DNS and dns-internal caching is good enough for them).

When you self-host your DNS, you ensure that no provider can suddenly redirect to an ad-filled parking pages if users mistype hostnames and you can make sure that you can fix DNS when it's down. It's also much easier to transfer domains between registrars because there's no need to export and import DNS config - instead, your server just keeps serving the exact same data.

Finally, this allows you to keep the DNS config together with all other configuration files in puppet/chef/git/whatever you use. which further helps future deployments and/or configuration changes.

<comment><USER4> I thought that even if you self host - isn't it your registrar that points the dns records to your dns servers? Would someone with self-hosted DNS still be working in this situation? (doesn't the DNS query first go to network solutions, who refers it to your name servers?).

I'm not trying to argue, I genuinely need to know the answer as I'll have to explain it to many other people, later today...

<comment><USER5> No, they just go into the zone.

You run a server for example.net. Your server will respond to any requests sent to it for records in that zone.

Someone attempting to reach your site will query the parent zone (.com) for NS records for your zone. So they will query for NS records for example.com against a server which is authoratitive for .com.

(How do they find .com server? They ask the root servers. How do they find the root servers? That's the bootstrap info.)

</comment></comment></comment><comment><USER6> Honest question from a networking beginner:

So suppose right now I've got two name servers configured, NS93.worldnic.com and NS94.worldnic.com. These are down as they're the part of the Network Solution's name servers that are having issues.

If I had added more, for instance if I used Amazon's Route53 and added two name servers of theirs _in addition_ to the *.worldnic.com ones, would my site be reachable right now?

<comment><USER7> Yes, but there may be delay, because the nameservers are tried in random order, and so each server that is down will have to time out before users move on to the next.

<comment><USER8> (I work on Route 53).

We've done a lot of experiments on this one and we've found that the most common resolvers make 3 tries to 3 different servers by default. At first those servers are picked at random, but over time the resolvers usually "home in" on what the least-latent nameserver is. Once they do, and have a good round-trip-time estimate for how long it takes to respond, they stay using it. But they have a hair-trigger; if the nameserver doesn't respond, they'll very quickly fall-back to trying the other nameservers.

In practice what that means is that up to two of your nameservers may be completely unresponsive and the effects will be pretty negligible. So if you're using multiple DNS providers and want to protect against one going off- air; use no more than two nameservers from each provider.

That said, for all of the reasons above, and some more, the Route 53 SLA currently only applies if you use all four Route 53 nameservers.

<comment><USER9> Any thoughts on where/how is this 'home in' state is saved? Other the cache and filtering/acl state resolvers should be stateless, so would be interested in any details, especially if this is on a per-zone, or per-set of nameservers or etc basis. I've never seen bind9 act like this.

<comment><USER8> I haven't read the bind source in a long time, but my best guess is that it's in memory.

[http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch02_06.h...](http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch02_06.htm)

Has some details, and I believe Bind and PowerDNS call it "Smoothed RTT" or SRTT.

<comment><USER9> interesting, not a ton of details of how. off to the source I go, thanks. sounds like it assigns a 'score' of some sort to each authoritative ns.

<comment><USER10> This might help - section 4.4 has formal details on the Bind server selection algorithms: [http://ocw.mit.edu/courses/mathematics/18-996-topics-in- theo...](http://ocw.mit.edu/courses/mathematics/18-996-topics-in-theoretical- computer-science-internet-research-problems-spring-2002/lecture-notes/dns.pdf)

<comment><USER9> yep definitely, an interesting implementation, and certainly almost impossible to guess from passive observation. thanks.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> This[0] FB post is the best I can come up with as an explanation.

> Yesterday, some Network Solutions customer sites were compromised.

The funny thing is, they have a link in their post going back to their site, which of course doesn't work.

[0]: [https://www.facebook.com/networksolutions/posts/101514668014...](https://www.facebook.com/networksolutions/posts/10151466801446020)

<comment><USER11> That explains my friend's site yesterday. Requests to his site sometimes resulted in the display of a banner page by "Islamic Ghosts Team," but not all the time. I noticed that Network Solutions was apparently running Apache 2.2.22, which has a few security flaws (I'm pretty sure he doesn't use a VPS).

</comment></comment><comment><USER12> TechZone360 (ugh, so many ads) article with a little more information:

Network Solutions Experiences Hijacking of DNS Records [http://www.techzone360.com/topics/techzone/articles/2013/07/...](http://www.techzone360.com/topics/techzone/articles/2013/07/17/345902-network- solutions-experiences-hijacking-dns-records.htm)

<comment><USER11> A comment in the article pointed out that this one seems very similar to a Cisco article from a month ago: [http://blogs.cisco.com/security/hijacking-of- dns-records-fro...](http://blogs.cisco.com/security/hijacking-of-dns-records- from-network-solutions/)

</comment></comment><comment><USER13> If your name servers are *.worldnic.com it appears you are affected.

First mention on Twitter was an hour ago [https://twitter.com/thefrost/status/357483942082920449](https://twitter.com/thefrost/status/357483942082920449)

</comment><comment><USER14> Site down? Don't link to it. Bad netiquette. Jesus christ.

</comment><comment><USER15> Seeing this as well, appears to be DNS only at this point.

<comment><AUTHOR> You're right. Title updated.

</comment></comment><comment><USER16> Our site has been sporadically up and down for the past few hours. Glad I know the culprit finally. Hope this gets resolved soon

</comment><comment><USER4> Oh crap. Today is going to be a bad day for me.

<comment><USER17> If the mail server goes down again it'll be a bad day for us too.

<comment><USER4> We run our own mail server, but the MX records come from network solutions :(

<comment><USER4> DNS for our domains seems to be back up now, for now at least.

In case anyone is interested, looking at our google analytics it appears this started sometime around 6AM MST, and got 'fixed' around 8:45AM MST. Of course it's impossible to say exactly when, because of DNS TTL & caching.

</comment></comment></comment></comment><comment><USER18> We're slowly coming back online, there are reports of a (D)DOS attack against them but I can't find a source.

<comment><USER2> Some talk here [1] of a recorded message from their support number that they are currently experiencing a DOS attack.

1\. [http://www.webhostingtalk.com/showthread.php?t=1285835](http://www.webhostingtalk.com/showthread.php?t=1285835)

</comment></comment><comment><USER19> I've been in panic mode trying to figure out why our applications have gone down. At least now I know why.

<comment><AUTHOR> Ditto. I just spent an hour hacking at my firewall rules before I tried the obvious thing: going to the server's IP.

It doesn't matter how long I do this... DNS problems always get me.

<comment><USER20> Have you thought about setting up with an external DNS monitoring service? It's cheap and really comes in handy over the years.

</comment></comment></comment><comment><USER21> Just what I wanted to wake up to. Client emails asking me why their sites were down. Sigh.

</comment><comment><USER22> Why did I click on the link to a down website? What did I expect? Shame on me.

</comment><comment><USER4> This appears to be a problem again this afternoon (1:44PM MST)

</comment><comment><USER17> Their mail server appears to be online.

</comment><comment><USER23> Back up.</comment>


Show HN: Product Hunt for the Outdoors - <AUTHOR> http://www.outdoorhunt.net

<comment><USER2> I don't like that you're playing off the name of an established firm.

<comment><AUTHOR> thanks man, appreciate the comments.</comment></comment>


A good developer has a natural, almost visceral aversion to complexity - <AUTHOR> http://sigpwned.com/content/complication-what-happens-when-you-try-solve-problem-you-dont-understand <comment><USER2> In the paper No Silver Bullet [1], Brooks makes a distinction between accidental complexity and essential complexity. He claims that most complexity remaining in contemporary systems is essential.

Moseley and Marks disagree with his premise in the paper Out of the Tarpit [2]. They propose an approach based on functional and relation model to minimize accidental complexity.

Even if you don't agree with the conclusions or some of the premises in this papers, both provide an excellent read on the subject.

[1] [http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBulle...](http://www.cs.nott.ac.uk/~cah/G51ISS/Documents/NoSilverBullet.html)

[2] <http://web.mac.com/ben_moseley/frp/paper-v1_01.pdf>

<comment><USER3> I got about halfway through Out of the Tarpit. I found their claims implausible. The way to refute my reaction is to build a great system using their approach. Anyone done it?

</comment></comment><comment><USER4> _Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it._

\-- Brian Kernighan of " _K_ &R C" and AW _K_ fame

<comment><USER5> Hm so that explains why it's so hard to debug rails apps. :-)

<comment><USER6> If you're having serious issues debugging Rails apps (or any app built on a major web framework), you are doing things _horribly wrong_.

If you're just quasi-trolling/shitposting, please go back to Reddit.

<comment><USER7> Rails and Ruby can have a little magic thrown in that makes it potentially difficult to debug.

<comment><USER8> Rails itself is not that difficult to debug after it has been refactored to less magic with 3.X. What's difficult to debug is all the plugins written in brittle-dsl-with-lots-of-magic style

<comment><USER9> That's not necessarily true. I've found more edge cases and odd behaviour from Rails in a project that's always been 3.0+ and never used 2-style conventions than I ever found in, say, the .NET libraries.

"Magic" is definitely a problem when it comes to debugging, but eliminating magic isn't a silver bullet for making code easier to reason about, particularly when there's errors. Rails still, almost without exception, throws obscure errors that give no indication to what actually may have gone wrong, and there's still quite a lot of magic left that can behave in odd ways in ActiveRecord.

</comment></comment></comment></comment></comment></comment><comment><USER10> The problem with these sentiments is that complexity is relative--what one developer finds simple another can completely reasonably find complex. So yes, excess complexity is bad, but what defines _excess_? Are two Python nested for-loops significantly "more complex" than, say, foldM? I think so, but others obviously disagree--van Rossum thinks even _normal_ folds are _more_ complex!

The real interesting question is not whether you should strive to make your code complex (clearly not) but rather what "less complex" actually entails. Does this mean less moving parts? More parts that are simpler? More verbose code that is more explicit? Less verbose code that is easier to read at a glance? More math? Less math? Code that looks uniform? Code specialized to the given domain (and therefore less uniform)?

I have strong opinions on these questions, but I have no answers. I've met others with strong opinions exactly the opposite of mine. They don't have the answers either. It is, ultimately, not an easy question.

<comment><USER11> The answer actually IS objective. The limit of complexity is defined by the fact that our short-term memory can simultaneously hold only five entities, plus or minus two. So, if the code requires one to hold more than seven elements in mind simultaneously - no one will be comprehend it, even the programmer who wrote it.

I once inherited a module written by a more junior developer. He indiscriminately used several dozen global variables that were used and modified in various parts of the program without much of a system. I spent about two months trying to understand how the module worked without much success. Ultimately, I had to completely re-write it (with great difficulty) to get rid of global states, and bring the number of entities affected by each function to under five-to-sever.

This biological limitation affects our development tools. That's why we have object-oriented programming. The goal is to keep the number of items we have to deal with at any moment under that magical limit of five to seven. Incapsulation is a key component of OOP used for this purpose. Without it all will be lost.

Sometimes I think of an alien race capable of keeping track of 100 items simultaneously, and try to imagine what their programming languages look like.. :)

<comment><USER12> The question that comes to mind for me: how do we define "entities" in the context of writing software?

Especially given gorelik's observation that complexity really derives from the combinatorial explosion of connections, are objects with internal state the best way to manage that complexity? If every call of a public method from another object is a connection in the graph our entities are an (object, message) pair, and a situation involving 3 objects with 3 public methods each exceeds our limitations.

Contrast this with a pure-functional approach. If you can express your algorithm with immutable data and operations that create new transformations of that data, you could (hypothetically) have fewer things in mind at any one time: the data being operated on, and the single operation being performed. It doesn't break down quite so cleanly in reality, but use of pure functions where possible largely obviates the benefits of state encapsulation as provided by most modern OO languages.

<comment><USER11> I think we only need to count entities we need to keep in mind _simultaneously_. For example, a hypothetical File object can have dozens of methods, but to open it I only need one: File.open("..."). Internally, File may contain a dozen of variables, all of which may be updated by this call. But I don't need to know about any of them due to encapsulation. If I did, I'd be unable to write this code.

OOP (when done properly) enables us to focus at any time on a sub-part of the system containing five entities or less, so that we can understand that particular slice of the system. The slice can be very low-level (a private helper function of the smallest class), or very high-level (invoking a large subsystem through a facade interface, <http://en.wikipedia.org/wiki/Facade_pattern>). A typical REST API would be a good example of the latter.

I like benefits of the functional programming too, but I think functional and OOP work together rather than being in contradiction to each other.

<comment><USER13> "OOP (when done properly) enables us to focus at any time on a sub-part of the system containing five entities or less"

...

"I like benefits of the functional programming too, but ..."

Your response makes it sound as though you believe OOP is the magic that allows encapsulation or modularization.

Functional programming also enables us to focus at any time on a sub-part of the system. You don't need OOP for that. In fact, you don't even need functional programming for that. For example, you could get by with nothing more than subroutines and functions (whether they be first class or not).

<comment><USER11> That's true, functions can work quite well for smaller apps, and/or apps specifically suited for that style.

But there are many apps that have complex internal states. Subroutines and functions don't say anything about how to deal with it. This state ends up being global variables, which is a big issue.

I once worked on a complex desktop app written with functions and global data. It was nearly impossible to modify it, or understand what it does. A click on a button could execute 1,000 lines of code modifying dozens of variables, resulting in effects throughout the application. Debugging a seemingly simple issue could take an inordinate amount of time. We had to re-factor the entire app into OOP and model-view design to stabilize it and move forward.

The app had about 30,000 lines of code. So, based on this experience, I'd say it's too large for the functional style. When I start a new project I often don't know how large it'll get, so the safest approach is to default to OOP. If the functional approach will prove more appropriate down the road, it should be relatively easy to integrate functional design in those parts of the app where it's required.

</comment></comment></comment></comment></comment></comment><comment><USER14> There's a tricky problem that comes up in teams. A "bad" developer can hack and slash and _appear_ to implement new features in a certain amount of time, and a "good" developer who takes the time to do everything right may actually produce less of obvious value in the short term. When approaching software restructuring, you have to make damn sure that your management chain understands the importance of the refactoring and can evaluate the time you spent for its actual worth. If your organization uses "metrics" or other weasel words to examine productivity, tread carefully.

It's also worth noting that even if you _believe_ you know how to improve/simplify/whatever, _it may be worse than you think_ and sometimes you don't figure out the extent of the complexity until days have gone by.

This, like many things, is a trade-off and not a set rule. In brand new code, by all means make it small and pretty and documented and whatever else would win it an award; but in established code bases be smart about what you "fix".

<comment><USER15> At my last company we had a co-founder like this. He would implement stuff extremely quickly, often at odd hours to fix a pressing bug. However, the code was just garbage from a maintenance standpoint.

It was hard to criticize, though, because he pretty much single-handedly got the company off the ground by quickly implementing features people were willing to pay for. This code was good enough to get the company up to $2 million annually.

The downside is we spent about a year re-writing the software to get it to a state where the company could scale to higher levels. During that year we had to stop adding new features.

I remember getting very frustrated with the code quality, but I often wondered whether that was just a price we had to pay to get cash flow positive.

<comment><USER16> Yeap, that was the price. It's called technical debt and sometimes it makes sense to have it.

Dirty code not always has to be refactored. Most of dirty code just dies together with useless functionality (wrong guess on business side).

</comment></comment></comment><comment><USER17> Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity.

— David Gelernter

This resonates with me. The article makes a fine point about removing unnecessary complexity, but in the real world you can't be perfect in that regard - not for a large system anyways. So maybe we should allow a little more complex code if we can use the beauty of the product to hide it.

<comment><USER18> You can't be perfect but you can at least try to reduce complexity. Saying "just paint over it with pretty colors when you're done" invites unchecked complication. That attitude is what drove all the monkey/ninja patching that we saw with some early Ruby modules. They were beautiful, yes, but it made some code impossible to reason about.

</comment></comment><comment><USER19> A good developer has a natural, almost visceral aversion to _unnecessary_ complexity.

There, fixed that for you.

'Make it as simple as possible, but not simpler' (Einstein, as quoted by Niklaus Wirth.

<comment><USER20> quoth the article: "It's only by diligently trying to avoid all complexity that one can in fact avoid unnecessary complexity."

Amusingly you seem to support the author's argument that running around making changes when you don't really understand whats going on leads to lower quality code.

<comment><USER21> Well played sir

</comment></comment></comment><comment><USER22> While it's ONE of the nice principles to remember; however, it's not the golden rule. Often times it's a matter of tradeoff. The complexity upfront can be for the simplification later down the road. E.g. defining a DSL would be an extra complexity upfront but simplifies and streamlines work down the road. A good developer knows how the make the judgement call to balance the tradeoff in complexity.

<comment><USER23> That's not what I'd call a tradeoff. Problem complexity isn't the same thing as incidental complexity. If a DSL is useful for the problem domain, it's not "extra complexity", it's a simple (albeit hard to implement, simple != easy) and elegant solution.

<comment><USER22> A DSL is an additional functionality adding more components to the system and thus increases its complexity. A DSL incurs extra learning cost that new developers coming onboard need to spend more effort in learning.

You can have a simple library or util module with the standard function API instead of building a DSL. They work just as well in many designs.

It is a tradeoff when deciding to use DSL or not.

</comment></comment></comment><comment><USER24> Python has a tendency to create non-complex programs in my experience. Today I rewrote a shell script with Python and now its much, much more elegant and easy to understand.

I guess what Im saying is that the programmer need some help from the language to make the software non-complex. Even trivial things often becomes complex in low level languages.

<comment><USER25> Agreed, till you hit a problem that requires 10,000+ lines of code. I love Python to bits but for this one large website I am working on I wish it was written in C# Java or some other statically typed language.

When you have a large project I will always take the compile time checking that tends to resolve a lot of bugs over unit tests to verify the same thing. Especially when it comes to large re-factoring efforts.

<comment><USER14> One of the most important things programmers can learn is that you don't have to choose one language per project. Binding, say, Python and C++ in the same program can be very valuable (though it is not trivial, even with SWIG). Some code benefits from the simplicity, clarity, testability and huge standard library of the scripting language, and the remaining code gains performance and expressiveness to handle its greater complexity.

</comment></comment></comment><comment><USER26> I've also met bright people, mostly coders, who have told me they adore complexity. Even one young man who advocated hyper compact self-modifying code.

<comment><USER27> Don't we all do that to some degree? There isn't a fixed drop off point for "too much complexity" that's fit for everyone. Consider programming languages, are APL or Prolog "wrong"? Or, compared to something like Oberon, are Ruby, Python and Java?

<comment><USER28> You're implying that APL is complicated. It isn't. It was designed for regularity and simplicity. Iverson and his group worked on that for 7 or 8 years (can you imagine!) before they began implementing it, and what they came up with remains one of the great high water marks of software design.

This brings out a problem with the OP and the discussion. We readily dismiss things as complicated that are merely unfamiliar. The converse is also true: we don't see complexity once we've become habituated to it. And we become habituated surprisingly quickly.

So how do we distinguish between complexity and unfamiliarity? Without some reliable distinction, this is all in the eye of the beholder.

<comment><USER29> I think you're throwing out the baby with the bath water. The fact that unfamiliarity _can_ be mistaken for complexity does not mean that complexity is impossible to recognize or avoid.

There are some cases where you can, for example, radically simplify a complex algorithm by using an unfamiliar toolkit (Feynman diagrams, Lisp, etc.) but there are also cases where a solution is obviously more complex than it needs to be even within its existing framework.

<comment><USER28> Oh, I don't claim that complexity is impossible to recognize. It's really important to do so. But how?

Most judgments of complexity we currently make have a lot to do with familiarity. (Is the 40-line spreadsheet program at <http://www.nsl.com/k/s/s.k> complicated or simple?) You assume something similar when you say "obviously more complex than it needs to be". When is complexity obvious? When it exceeds what we habitually consider ok.

What we really need is an objective measurement. Do we have one? We sort of do, insofar as the research on this seems to point in one direction: shorter programs are simpler. That doesn't answer every question - you still need a way of measuring program length and defining what a program is - but it's the beginning of an objective answer.

<comment><USER26> For evaluating a refactoring or using a library/framework, you can compare the number of statements that would be used to add a given feature before vs. after the refactoring.

What's harder is to evaluate the effect of adopting a certain pattern or framework will have on the cost of future refactorings. I don't think people do even a back of the envelope estimation of even just the first number. The number of statements put in can probably be used to estimate the cost in man hours.

<comment><USER28> My preference would be to put it in when it pays for itself (i.e. makes the code smaller) and not before. Otherwise it's too easy to fall victim to one's own spin.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> a related formalism is <http://en.wikipedia.org/wiki/Kolmogorov_complexity>, the idea that the shortest possible program _defines_ the complexity of the problem. Thoughts:

\- you might not have seen enough cases be able to characterise the true problem, e.g. in some situation a constraint exists, but you've only seen one instance of that situation

\- reusing standardized components can enable you to solve the problem more quickly (even though one-size-fits-all doesn't really fit)

\- Kolmogorov complexity doesn't account for efficiency, space nor time, only that the eventual answer is correct. Efficiency often requires ugly hacks

<comment><USER31> There is a resource bounded version of Kolmogorov complexity. It might even be a more useful measure for certain things. For example, a simple enumeration can prove any arithmetical statement that can be proved, but it can take time exponential in the size of the solution. With some resource weightings you might get a better idea of how hard the problem is in actual practice.

</comment></comment><comment><USER32> I think that a good developer is one who can strike a balance between correctness (solving the problem at hand), elegance (the system is no more or less complex than it must be) and consistency (the "culture" of the program is the same in all of it's components).

I would put an aversion to complexity in the same box as an attraction to it. I.e. atheists are fundamental in the same way that christians are. Agnostics know what's up.

</comment><comment><USER33> Best and most correct headline I've read on HN in a long time. Well done.

</comment><comment><USER34> Anyone have recommendations about the linked book?

Refactoring: Improving the Design of Existing Code [http://www.amazon.com/Refactoring-Improving-Design- Existing-...](http://www.amazon.com/Refactoring-Improving-Design-Existing- Code/dp/0201485672)

<comment><USER35> Another book on refactoring that I'd highly recommend is "Working Effectively with Legacy Code" by Michael Feathers. This book gives you lots of practical hints about how to start refactoring a large, messy code-base. While the task may seem overwhelming at first, you can start by getting small chunks of the code refactored and testable.

<comment><USER34> Wow, you got me there. "Working Effectively with Legacy Code" would be even more directly in-line with what I'm looking for. Way too much Java EE stuff in the code base I'm working with right now.

</comment></comment></comment><comment><USER36> Something I have started doing; Whenever I create anything, whether it is a program , website copy and email or whatever is take a step back and say "How can I make there be less of this?" rather than "how can I make this _better_ " or worse " _cleverer_ ".

I think education in general rewards complexity, getting bonuses in English class for using long passage of flowery words with many synonyms or extra credit in CS for adding 200 lines but reducing O(n^2) to O(n log n).

<comment><USER37> >> getting bonuses in English class for using long passage of flowery words

That depends on who your teacher is. My teacher taught that good english should be understood by as many people as possible while retaining all of its meaning. The goal of English is to communicate.

He was a good teacher because the top 65% of our class got into the top 35% of the state for English, while our school was below average in just about every other subject.

</comment></comment><comment><USER38> Once I got over the fact that simple code does not equal bad code was I able to level up in skills.

Now I focus on simple solutions. That is why I've come to enjoy Ruby.

</comment><comment><USER39> "It's always bothered me that you can simplify "Simplify, simplify, simplify" ... <facepalm>

</comment><comment><USER40> It can be argued that, at no point we understand the problem fully and complexity is natural in any software after some development progresses.

</comment><comment><USER41> What is it called when a certain amount of complexity is introduced, that serves to reduce overall complexity?

<comment><USER42> Example?

<comment><USER43> Refactoring. You have to move this logic from A to B, thus adding some complexity to B, reducing the overall complexity because this logic really belongs to B.

Note that during refactoring you will have twice the logic, which is the worst state, so you can't stop in the middle and say you'll finish later.

</comment></comment></comment><comment><USER44> > I may be an introvert.

Introvert != Misanthrope.

</comment><comment><USER45> YG WQ J SABVB 7UH TYHGFAW CDR

</comment><comment><USER46> I'd say that a good developer has had his natural affection for complexity beaten out of him by that merciless bitch experience.

</comment><comment><USER47> I'll bet some developers are literally "embarrassed" to write and share "simple" code.

Maybe "trivial" is good.

If you can "write something in a weekend", it's easy to maintain. If you lose the code, you can rewrite it. And maybe it will be better the second time.

When a project becomes so complex you cannot easily rewrite it, is that a good thing?

<comment><USER48> Well, we know what happens when something becomes "too big to fail", don't we?

</comment></comment><comment><USER49> From the post: """It's always bothered me that you can simplify "Simplify, simplify, simplify""""

No, you can't really. You can just say "simplify" but it does not convey the same message.

That is, it conveys a suggestion to simplify (the first part) but it doesn't convey that simplification has so extreme importance that it's worth to repeat the message (the second part).

<comment><USER39> Thoreau just _might_ have been ironic.

<comment><USER49> Yes, and both the poster's thought and my response might have been tongue in cheek too.

It's not like I thought of it as a serious question, I just added it for the benefit of anyone confused by the contradiction.

</comment></comment></comment><comment><USER47> The hero is the negative coder. McIllroy said something to that effect. The hero is the simplifier.

<comment><USER50> Speaking of McIllroy, reminded of this relevant story: [http://www.leancrew.com/all-this/2011/12/more-shell-less- egg...](http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/).

<comment><USER47> Wasn't there also a book called "Programming Pearls" by Jon Bentley?

</comment></comment></comment><comment><USER47> By this measure, there are a lot of developers who are not good.

So what are they? Great?

Seriously, how do we describe developers who have a visceral perversion toward complexity?

There are a lot of developers who love complexity.

<comment><USER27> _"There are a lot of developers who love complexity."_

Regular expression complexity or AbstractSingletonFactoryImplementationBeanStoredProcedure complexity?

<comment><USER33> Both are awful. I have a particular disdain for regex abuse. I like to say that there are 3 stages in the use of regular expressions.

1) You don't get them and think they're magical

2) You learn regular expressions, and find all kinds of places to apply your knowledge of greedy modifiers and positive lookbehinds.

3) You learn enough to realize that regular expressions tend to be extremely brittle and try as hard as you can to avoid them.

There are a lot of very dangerous developers stuck in level 2.

<comment><USER51> Regular expressions are just like everything in programming. Used properly they are a huge boon. Used improperly, they're a disaster.

Here's a practical example. I spent half a day coding this algorithm (ASCII string in STEP format to an array of Unicode code points) in 70 lines of C++ without regular expression. It took me 15 minutes to recode it in Perl 6 using regular expressions:

        while $step.chars > 0 {
            given $step {
                when /^ '\\S\\' (.)/ {
                    @unicode.push(ISO8859toUnicode($page, 128 | $0.ord ));
                }
                when /^ '\\P' (.) '\\'/ {
                    $page = $0.ord - 'A'.ord + 1;
                }
                when /^ '\\X' [ '2' | '4' ] '\\' (<hexdigits>+) '\\X0\\'/ {
                    @unicode.push(:16($0));
                }
                when /^ (.)/ {
                    @unicode.push($0.ord);
                }
            }
            $step = $/.postmatch;
        }

This (admittedly completely untested) version is drastically shorter and much less brittle.

</comment></comment></comment></comment><comment><USER52> The worst feeling is working in someone else's overly complicated, messy code. It's like having to work covered in shit. The ick feeling is constant and overpowering.</comment>


Kirkpatrick: Bitcoin Matters Because It Is Transnational, Nongovernmental - <AUTHOR> http://techonomy.com/2013/12/kirkpatrick-bitcoin-matters-transnational-nongovernmental/

<comment><USER2> This has been my #1 argument for bitcoin. I have a bank account in Australia, and a bank account in the US. For me to move money I can:

1\. swift transfer - minimum $30, takes a couple weeks

2\. paypal transfer - no fees, but exchange rates are awful, takes a couple days

3\. go to an ATM, withdraw money from my overseas account, walk into the bank and deposit that same money. Around $15 per withdrawal, instant.

Now with bitcoin, I deposit, transfer, then withdraw. Admittedly, it's still not instant since I'm using coinbase, but I feel it will get there eventually.</comment>