To Build Truly Intelligent Machines, Teach Them Cause and Effect (2018) - <AUTHOR> https://www.quantamagazine.org/to-build-truly-intelligent-machines-teach-them-cause-and-effect-20180515 <comment><USER2> In the 1980s, when everybody was trying to do AI with some flavor of predicate calculus, he extended that to probabilistic predicate calculus. That helped. But it didn't lead to common sense reasoning. The field is so stuck that few people are even trying.

Working on common sense, defined as predicting what happens next from observations of the current state, is a classic AI problem on which little progress has been made. I used to remark that most of life is avoiding big mistakes in the next 30 seconds. If you can't do that, life will go very badly. Solving that problem is "common sense". It's not an abstraction.

The other classic problem where the field is stuck is robotic manipulation in unstructured situations. McCarthy once thought, in the 1960s, that it was a summer project to do that. He wanted a robot to assemble a Heathkit TV set kit. No way. (The TV set kit was actually purchased, sat around for years, and finally somebody assembled it and put it in a student lounge at Stanford.) 50 years later, unstructured manipulation still works very badly. Watch the DARPA Humanoid Challenge or the DARPA Manipulation Challenge videos from a few years ago.

Great PhD thesis topics for really good people. High-risk; you'll probably fail. Succeed, even partially, and you have a good career ahead.

<comment><USER3> I worked on AI-via-predicate-calculus, as a successor to Cyc, and I think the main thing I learned is that people are incredibly bad at predicate calculus. Even when we behave "logically", it's an after-the-fact rationalization for a conclusion we arrived at much faster with heuristics.

When we think-about-thinking, or talk-about-thinking, we do so in the language of language, which quickly leads to logic. And that leads us to think that the logic is the thinking. But in fact it's a rare, specialized mode of thought. The primary mode of thought -- the one that keeps us from making big mistakes for a half-minute at a time -- is that irrational one that's very easy to fool if you put effort into it, but which actually gets it right for most of reality (which isn't, generally, trying to trick you).

<comment><USER2> _When we think-about-thinking, or talk-about-thinking, we do so in the language of language, which quickly leads to logic. And that leads us to think that the logic is the thinking. But in fact it 's a rare, specialized mode of thought._

Yes. Language is not thinking. Language is I/O.

<comment><USER4> What do you think about the language of thought hypothesis? Some people would say internal monologue is how they think.

<comment><USER5> Ah, what you mean by "is" gets tricky.

You might literally interpret this as "is internal monologue _a form_ of thought" and the answer is clearly yes, on sum logical level, it's brain activity.

You might literally interpret this as "is internal monologue _the ONLY form_ of thought you have" and the answer seems just as clearly no and the question seems simplistic.

But I think people who say that usually mean "is internal monologue _the primary-in-some-way form_ of thought you have" and there the debate gets heated but if you reveal statement, you reveal the confusion is mostly in debating "what's primary in brain activity". But if you think about, lot of debates about human thought is about which part is primary in a fashion we can intuitively feel.

</comment></comment></comment></comment></comment><comment><USER6> While the article is a nice Q&A with Pearl about his new book, The Book of Why, there is a very detailed technical tutorial from 2014 at [http://research.microsoft.com/apps/video/default.aspx?id=206...](http://research.microsoft.com/apps/video/default.aspx?id=206977) that provides a very in depth explanation of causal calculus / coutnerfactuals / etc. and how these tools should be used

<comment><USER7> Slides are here btw: [https://media.nips.cc/Conferences/2013/nips- dec2013-pearl-ba...](https://media.nips.cc/Conferences/2013/nips- dec2013-pearl-bareinboim-tutorial-full.pdf)

</comment></comment><comment><USER8> Simulating a mind is not the same as simulating mind processes.

I doubt that you can create a mind that's similar to a human mind without the relevant elements that are took for granted when we think of a human being: senses, perception, pain, pleasure, fear, volition... a body! and the real- time feedback loop that connects us to our environment and our peers.

The same could be said about animals' minds. That's why it's still impossible to make even a mosquito brain. It's a question of _texture_. Making a decision for a human involves a complex cloud of subsystems working in unstable equilibrium, more of a boiling cauldron than an algorithmic checklist. When you're scared, you're not just _thinking_ that somethind is dangerous and rather avoid it, you are _feeling_ something very uncomfortable and you _want_ to stop it.

What if you want to advance in creating some kind of simpler mind _now_ when you still haven't the means to build a complete organism? That's an interesting problem. Would immersing programs in a virtual world be useful? Or would it be better to make robots face the real world directly? I believe that you need, as a minimum, a system that integrates sight with hearing and touching sensors, and some kind of incentive system.

After some results, maybe using machine learning, the emergent organization could be applied as a building block to more complex robots. Meanwhile, trying to teach machines some human capabilities will not lead to generalized IA, but to more of the same we have now, that it's very useful, just not quite qualifies for the label.

<comment><USER9> >senses, perception, pain, pleasure, fear, volition... a body!

Yes! Almost all neural networks have no self-model and thus no self-awareness because they cannot perceive themselves. They only see the inputs. They do not see the result of their actions.

This makes developing a self-model impossible. They cannot develop an internal model of internal vs external causes. What their "boundary of influence" is. Differentiation between internal and external causes.

They are trained and then used, immutable, unlearning after training. Even if they could perceive their outputs during training and/or evaluation, they cannot perceive themselves otherwise, making it practically impossible to deduce by themselves what they even are. They can't inspect themselves.

The causal loop needs to be closed for all of this to happen.

<comment><USER10> The "self-model" you're talking about is the agent in the Reinforcement Learning framework. It moves between states in an environment and learns from reward it earns from each action.

<comment><USER9> Yes, although I wonder if, or how well these self-models develop in practice compared to the world-models. Say, if a 2D-agent has a rectangular body shape, it probably won't develop a high-level representation of that fact unless its actions allow it to perceive it accurately. Purely figuring that out from collisions produced by basic actions (rotate left, rotate right, move forward etc.) seems to be practically infeasible. It has neither sight (observing self-movements) nor self-touch (which would allow it to observe its boundaries and relate it to what it has seen).

</comment></comment></comment></comment><comment><USER11> "Teach them cause and effect" ... yep, that's pretty much what everyone's been trying to do since the 60's. The problem is that nobody will touch the core issues of consciousness because it's inherently political. It requires confronting some of the biggest taboos in science: anthropomorphizing animals in biology, discussing consciousness seriously in physics, and looking at how economics and information interact with a skeptical eye toward the standard economic narrative.

</comment><comment><USER12> Causal inference is the next big leap in AI. Once the relatively(!) low- hanging fruit of pattern recognition are picked to exhaustion, and once we can get more comfortable with symbolic reasoning with respect to theorem proving / hypothesis testing / counterfactuals, "real" reasoning machines will arise.

<comment><USER13> I'd like to hear more about this. How do you see this coming about?

<comment><USER12> Definitely a combination of current ML (basically fancy nonlinear regression to MLE targets) with symbolic reasoning. Either alone are insufficient.

Symbolic reasoning is basically learning a lot of "if-then" statements and chaining them to make inference. Causal reasoning consists of defining conditional dependencies of current state on past state, then extrapolating based on the encoded assumptions. It requires some notion of object relation both in a literal sense as well as subtler relationships. Regression techniques are being ham-fisted to fit these roles but the popular ML of today is still just pattern recognition and cannot be called "reasoning" per se.

I don't work directly in this space but I see it following closely the architecture of the human brain for a while before departing to more distilled forms of knowledge management structures.

<comment><USER10> Neural networks do exactly what you are describing as "symbolic reasoning". It seems to be a common thing recently to dismiss modern ML techniques as curve fitting, but these fundamental models are extremely powerful.

Neural networks are capable of approximating any system to arbitrary precision.

<comment><USER12> This is theoretically true, but it's like saying "computers can compute any function, given enough time and resources".

There is a need to construct logically-deduced models which impose an inductive bias so that your regression methods are efficient. That's where reasoning comes in, and where automated reasoning methods should be useful.

</comment></comment></comment></comment></comment><comment><USER14> I'm not sure that's necessary. Early humans didn't know why a lot of things happened, such as why rubbing sticks makes fire; they just learned to use them from trial and error. The physics of it were beyond them. I see it more as goal-oriented: "I want fire, how can I get it?".

I suppose that's cause-and-effect in a loose sense, but one doesn't have to view everything as C&E to get similar results. It seems more powerful to think of it as relationships instead of just C&E because then you get a more general relationship processing engine out of it instead of a single-purpose thing. Make C&E a sub-set of relationship processing. If the rest doesn't work, then you still have a C&E engine from it by shutting off some features.

<comment><USER15> They understood cause and effect. They didn't know the causal chain in depth, but they did know that rubbing sticks together caused fire. They also knew that dumping water on the ground did not cause it to rain. Thus they could distinguish between correlation and causation.

<comment><USER16> Did they really understand cause and effect? Primitive cultures frequently used religious ceremonies (cause) to effect changes in the natural world. It didn't actually work, but somehow they fooled themselves into believing that it did.

<comment><USER17> I was recently reading an essay (can't find it this second) about how some religious ceremonies actually introduced helpful randomness.

For example, if you hunt to the east and find good game, you'd keep hunting to the east. Eventually you'd kill everything over there or get them to move, and your hunting would get worse. The optimal approach might be to randomize the direction you hunt, so that game doesn't learn where you're hunting.

The society couldn't say WHY the ceremony was good, but long term if they kept applying the ceremony they'd have better outcomes than societies that didn't.

Sometimes superstition is just that ... but I'd also bet there are unintuitive/surprising benefits behind a lot of it.

<comment><USER18> There are psychological benefits. If you believe that things like rain are within your control then you can be confident instead of feeling helpless.

Obviously religions take advantage of this desire for the illusion of control and convince followers that practicing the religion will keep their lives free from external bad influences.

<comment><USER17> Sure — I think the randomization concept particularly interests me because it's NOT just psychological. There's actual real-world benefit to doing rituals/read entrails/listening to people speaking tongues vs. not because our instinct or normal habits aren't always right.

</comment></comment></comment></comment></comment></comment><comment><USER19> There are a number of "things" that we should "teach" machines to create ones that are "truly intelligent". Besides this kind of "cause / effect reasoning", one could argue that an intelligent machine needs some baseline levels of what you might call "intuitive metaphysics", and "intuitive epistemology".

You could probably argue that the cause/effect stuff is subsumed by one of these at a certain level of abstraction, but I think it makes sense to treat them as separate.

Related to the idea of "cause/effect" and possibly falling into the overall rubric of "intuitive metaphsyics" is some notion of the passage of time. That is, in human experience we link things as "causal" when they happen in a certain sequence, and within a certain degree of temporal proximity.

Eg, "I touched the hot burner then instantaneously felt excruciating pain" is an experience that we learn from. "I walked through the door and four days later I felt pain in my knee" probably is not.

Our machines probably also need baseline levels of some sort of intuitive versions of Temporal Logic and Modal Logic as well.

[https://en.wikipedia.org/wiki/Metaphysics](https://en.wikipedia.org/wiki/Metaphysics)

[https://en.wikipedia.org/wiki/Epistemology](https://en.wikipedia.org/wiki/Epistemology)

[https://en.wikipedia.org/wiki/Temporal_logic](https://en.wikipedia.org/wiki/Temporal_logic)

[https://en.wikipedia.org/wiki/Modal_logic](https://en.wikipedia.org/wiki/Modal_logic)

<comment><USER20> I'd agree with that and I think winograd schema make this very obvious, take for example:

 _(1) John took the water bottle out of the backpack so that it would be lighter.

(2) John took the water bottle out of the backpack so that it would be handy_

What does _it_ refer to in each sentence? It's very obvious that a machine that solves this must understand physics, have a rudimentary ontology about objects and human intuition and so on.

I think it's straight-up sad how little progress there has been on these very fundamental problems which articulate what common sense and intelligent agents are about.

<comment><USER21> Can this be CAPTCHA instead of goddamn crosswalks? Asking for a friend…

<comment><USER22> As a non-native English speaker I'm struggling here a little bit. I'm _guessing_ that you mean that in the second sentence, "it" refers to the bottle not the backpack? But that certainly wouldn't have been my first answer to this question(in general any sort of captchas that are based on language skills are not great, not everyone who consumes your content speaks your language).

<comment><USER21> Yep, excellent point. Oh well, back to squinting at traffic lights…

</comment></comment></comment></comment></comment><comment><USER23> I recently joined a team that does a lot of causal analysis, mostly marketing related, and was wondering what the best resources are to get more familiar with this subject (books, lectures, online courses etc.). I am picking up the author's other book, _Causality: Models, Reasoning and Inference_ , but wondering what other sources people recommend.

<comment><USER19> Maybe a book or two on Structural Equation Modeling?

[https://en.m.wikipedia.org/wiki/Structural_equation_modeling](https://en.m.wikipedia.org/wiki/Structural_equation_modeling)

</comment></comment><comment><USER24> It's funny that I knew who this would be by or interviewing just from the title. I like Judea Pearl and a lot of his ideas, but at the same time I think he overstates their importance and hypes them up more then he should.

</comment><comment><USER25> @dang, hate to be that guy, but can we add "[2018]" to the title?

<comment><USER26> This was kind of passé, even in 2018.

</comment></comment><comment><USER27> I can build an AI with common sense reasoning in about 9 months. The problem has already been solved. Why do we care so much about making computers more like people? Isn't that excessively cruel? Part of the utility of computing is that computers don't have needs for fulfillment, companionship, communion. We deploy them in awful conditions to do the most horrible, tedious time-waster jobs. Why do such minds need to be human?

<comment><USER28> I wonder how it could even be considered "cruel"? Cruel to other living human beings, perhaps. To the machine or its simulation software? No.

Any human-like AI is still a "fake" \- any notion of emotion, pain, empathy etc. we attribute to them is only a simulation. It simply doesn't matter. It amazes and amuses me to think that people might actually give a damn what the machine is "feeling". I think people who truly believe this are out of touch with reality and frankly, with other human beings. The machine doesn't really care about us, it's a bunch of ones and zeroes no matter how you slice and dice it.

Even after training them on cause and effect, they still don't care. I don't buy the "if it looks like a human, sounds like a human, it's human" argument at all.

<comment><USER29> Cruel is also in the mind of the one doing the cruelty. People worry about being cruel to plant, to pets, to their cars. Its natural and normal, because we are empathetic beings. Not something to try to unlearn or avoid; its a big part of our humanity.

<comment><USER28> A plant or an animal, yes. A car though? Only reason to worry about being "cruel" to a car is that mistreating it will result in larger repair bills and a need to replace it earlier. Same thing with a computer. But each to their own I guess.

<comment><USER27> When your car is smart enough to assemble Ikea furniture, it'll also be smart enough to quietly resent you for making it assemble furniture all day.

<comment><USER18> No, it would probably enjoy it. If you were making it clean the toilet all day then it would start to resent you.

</comment></comment></comment></comment></comment></comment><comment><USER30> I'd say pain. But that's only me.

</comment><comment><USER31> Isn't reinforcement learning essentially a representation of cause and effect?

<comment><USER26> No, it's a representation of which actions lead to good outcomes given a set of input data. There is no explicit symbolic reasoning about causal factors or their outcomes involved in classic RL, and it's very unlikely that any such symbolic representation evolves implicitly under the hood. A neural net in an RL system is just a souped-up version of the tabular data used in the earliest RL systems.

<comment><USER10> The reinforcement learning framework is perfect for representing cause and effect. An agent could learn that in a state of no fire, taking an action of rubbing sticks together would transition into a state of having fire. This concept is formalized as learning the dynamics function.

</comment></comment></comment><comment><USER32> related, a deepmind-paper i found fascinanting:

[https://arxiv.org/pdf/1901.08162v1.pdf](https://arxiv.org/pdf/1901.08162v1.pdf)

</comment><comment><USER33> Saw only recently that Judea Pearl was a guest on Sam Harris' podcast: [https://samharris.org/podcasts/164-cause- effect/](https://samharris.org/podcasts/164-cause-effect/).

The preamble is depressing, since the episode aired right after a mass shooting, but Pearl gives a brief overview of his thinking.

</comment><comment><USER34> Most people don't even know how to run an experiment to verify causation. They chant the mantra: "correlation does not equal causation" then go back to correlating everything they see in the world.

</comment><comment><USER35> Interesting formulation - because I think children learn about cause and effect.

any hooo....

</comment><comment><USER36> I strongly believe there's overemphasis on AI, artificial intelligence, vs augmented intelligence.

<comment><USER37> Do you have an indication that they are all that much different? Meaning, would the techniques or strategies used to develop augmented intelligence be that much different than what is going on in AI?

</comment></comment><comment><USER38> A "truly intelligent machine" is a contradiction of terms. They can not have intelligence like humans (AGI or whatever the current buzzword is). Humans are not solely material.

<comment><USER39> Not with that attitude.

Seriously. Extraordinary claims etc etc. If you want to claim humans are not solely material, you need to give some sort of evidence of a phenomena beyond the physical. You can't use intelligence per se as your evidence as then your argument is circular.

<comment><USER38> It has been demonstrated for millennia. And I don't know what your strange intelligence straw man has to do with anything. Even elementary metaphysics covers this.

<comment><USER39> This is just neo-geocenterism.

>Of course the Earth is in the center of the solar system. We must occupy a privileged space in this universe. Its been demonstrated for millennia.

Thinking is done with neurons. Neurons are subject to the same physical laws as the rest of the material world. Therefore thinking can be done by a machine (if nothing else, by a physics simulation of neurons).

To refute this logic, you must show some thought is not being done by neurons or that neurons are not subject to physics.

<comment><USER38> I don't see why you feel the need to keep setting up these straw men.

It might make for nice rhetoric, but it is more than a little disingenuous. Not only was that geocentrism piece not an argument or claim that I've made, but I've never seen anyone make it in that manner either. But perhaps you know that and were intentionally misrepresenting their arguments.

Back on topic, no, your concluding claim is not true. To reach your conclusion you would, at the minimum, need to assume that a machine can simulate arbitrary physical phenomenon, which is not a forgone conclusion. For instance, the "thinking done by neurons" you refer to made be reliant on some facet of the real numbers that is simply not computable. Perhaps at any level of approximation of it, what we discern as AGI may not manifest. Etc.

But, finally, your premises are faulty. What most people really mean when they reference AGI or "truly intelligent" is not intelligence, but wisdom. Computers have been "more intelligent" than humans for a long time now if it simply means arithmetic and recalling trivia. Now, noting that, isn't it possible that such wisdom is dependent on dependent on the will, the soul, etc?

So we arrive back at the true point of contention - you are a materialist. I claim that materialism has been handily refuted for thousands of years. Then you fell back on pretty much every freshman level fallacy in the book. On the other hand, I suspect some of your misrepresenting of "classical" philosophy was not intentional, and just the result of getting most of it second hand from the Kurzweil (AI) and Dawkins (geocentrism) type literature. It is wise not to be so dismissive of pre-"Enlightenment" thinking.</comment></comment></comment></comment></comment>


£50m funding to regenerate Silicon Roundabout - <AUTHOR> http://www.number10.gov.uk/news/50m-to-regenerate-old-st/

<comment><USER2> Spending any money on 3D printers is a complete waste of resources when building a new facility like this. Spend the money on the building's infrastructure and networking which will still be in use long after its finished and not just for the PR launch.</comment>


Listen up, Retailers. Point of Sale is Doomed on Facebook - <AUTHOR> http://faceitpages.com/blog/point-of-sale-doomed-on-facebook/1533/

<comment><AUTHOR> What do you guys here think about ecommerce within Facebook?</comment>


What Is an Analytics Translator and Why Is the Role Important to Your Org? - <AUTHOR> https://www.linkedin.com/pulse/what-analytics-translator-why-role-important-your-kartik-patel <comment><USER2> Pretty sure the term you're looking for is just "analyst".</comment>


Stuck in Google's Doghouse? Solution: mail DoJ - <AUTHOR> http://www.nytimes.com/2008/09/13/technology/13nocera.html?pagewanted=all

<comment><USER3> I'm having a hard time believing sourcetool's argument that they were more than an arbitrage spam site.

It is a bunch of scraped content, with ads around it. I don't see any additional value provided by sourcetool and I definitely don't believe the search engine argument as search engines generally add value by at least ranking pages somehow, there doesn't appear to be any logical order to how the pages are ranked more than when they appeared in the sourcetool database.

Some pages are nothing more than a series of keywords with ads around it, here's a perfect example chosen at random, I landed on a page for a business called "Sundeal", nothing but keywords.

The "Brief Description" are the exact words for the title tag of Sundeal's homepage, all other content (that is not part of the standard sourcetool layout) is simply the keywords meta repeated twice.

Even looking at the copyright notice down the bottom of the page "Copyright © 2005-06" makes it hard to believe this is in any way, shape or form a professional Internet Business.

I'd almost be inclined to say this article was paid placement itself.

Mod me down for those who don't agree, but I hold nothing but contempt for this sourcetool site.

<comment><USER4> It's pretty much a glorified website directory, and not a great example of the types of sites that have a legitimate beef with Google's heavy-handed tactics.

<comment><USER3> _Google's heavy-handed tactics._

I don't agree with this, I think Google has every right to provide it's main customers (searchers) the best possible product that they can. If anything, removing sites like these actually cut into Google's profits.

I have no problem with directories that are trying to drive legitimate, organic traffic to their sites, nor do I have a problem with any kind of web directory - I think that anyone who is adding value to the net should be commended.

I just think that if their whole reason for existence is to convert inbound adwords clicks into outbound adsense clicks by using scraped content, how can that possibly be valuable?

Most people here could easily replicate this site in the space of an afternoon and have the content up within days - grab an RDF dump from DMOZ, insert those URL's into any off the shelf spider and capture meta data from those pages and mash it up = instant spam site, does it add value? Most definitely not.

<comment><USER5> I think what josefresco was trying to say was that there are other situations in which Google has been "heavy handed" with what are reported as real sites. This obviously isn't one of those.

</comment></comment></comment></comment><comment><USER4> Excellent article exposing what most people who do business with Google already know. Search arbitrage or not, Google is in a position to force out anyone they are not 'partners' with.

This case isn't nearly as bad as many arbitrage cases out there, and I would argue that even true arbitrage is healthy for the market, identifying and exploiting inefficiencies in the ad market and correcting them (and who's to say you can't make some money doing that?)

Example of 'helpful/legit' arbitrage: you buy from AdWords the keyword "mortgage" and then geo target your ads to only customers in California, sending them to a page with AdSense ads for the keyword "California mortgage" which pays higher than the national/non geo-specific term.

The problem with this is Google wants both the 'mortgage' term AND the "California mortgage' term and objects to you profiting from their advertisers over paying.

</comment><comment><USER6> I've read too many stories about ad arbitrage and the massive amounts of money these guys make. It seems just a few notches above email spam, but damn if $155k/mo profit isn't tempting. I can't see myself working so hard to pollute the internet, even if there is good money in it. I'd rather spend my time creating things of genuine value.

<comment><USER5> +1: it's frustrating to try and build cool stuff, and see people raking in the dough with junk like this. I don't really feel sorry for them when Google comes along and dumps them, as they weren't really making anything people wanted.

<comment><USER7> No. If they were doing something "no-one wants", they'd be making no money - <USER2> bit like if I tried selling ice to the eskimos.

People were clicking on his Adwords ads (which would have to be properly descriptive - due to Google's policies) out of choice and were then browsing the guy's site before some of them were clicking on Adsense ads (again, properly described and out of choice).

If someone didn't like the sound of an ad, why would they click on it? They were clicking on the ads, and short of being forced at gunpoint, they obviously "wanted" to click on them.

<comment><USER8> That's a very weak analysis. The point you're replying to is that this site had no content, not that its users didn't "want to" use it in some metaphysical sense.

This site was exploiting a difference between google's advertising cost and its advertising payout. They would buy ads to drive traffic to more ads, and make money on the difference. That's all. The site itself didn't matter, it was all about ads. Google, to their credit, discovered that they weren't making a profit from this customer, so they adjusted their prices accordingly.

<comment><USER7> > This site was exploiting a difference between google's advertising cost and > its advertising payout.

And? If you go to work and get paid $50,000, your employer is "exploiting" the difference between the value of your work and what they pay you. That's not a bad thing. An employer adds a lot of value (a team, equipment, various capital expenses) a typically employee could not use on their own.

So it goes with this guy's site. He might have been exploiting a difference, but he was also adding value. If he were not, then the advertisers of the ads he was making money on would have been advertising where /he/ was advertising.

Arbitrage is not in itself bad or deplorable. People seem to have a personal vendetta against it on the Internet, however, due to their undeserved phobia of advertising - an industry that has pretty much fueled our economy (and the Internet generally) for a good 50 years now.

<comment><USER5> > Arbitrage is not in itself bad or deplorable.

No, but it is annoying because it ends up producing lots of junk on the internet that doesn't really contribute to people finding the information they want - it actually puts another layer in the middle in many cases. I have no problem with advertising, when combined with something of actual interest or value.

> If he were not, then the advertisers of the ads he was making money on would > have been advertising where /he/ was advertising.

Or he was just exploiting a temporary hole in the market, in which case, good for him, but he has no right to complain about getting shut down by the same market.

</comment></comment></comment></comment></comment></comment><comment><USER9> Maybe it's just me but I'm calling a major BS on the $155k/m profit claim.

1) Assuming he got 100k visitors per month

2) Assuming each arb gets him $0.10 per click.

3) Assmuning 50% of the visitors click 1 ad (and that's wildly optimistic)

His profit would be 50k x $0.10 = $5k/mth

If he were to get $155k in profit per month. he needs to get about 3 million visitors per month. I checked Alexa, Compete and his site is nowhere that figure.

Not sure what's his motive in inflating the profit figure though. He's only going to attract more competition to his field and kill his business in the process.

Maybe he's planning to write an ebook to convince people into believing that it is easy to earn that much with search arb and hence, he'll use the NYtimes article as evidence.

With each ebook selling for $99.99 and 100% profit margin, it'll take him only 1550 sales/month to meet his imaginary $155k profit claim. Now, that's a business plan!

<comment><USER9> Ok. I'm going to eat my words now.

He did get 3million visits per month.

<http://www.quantcast.com/sourcetool.com/traffic> (Change the period to All- Time)

Massive drop from 3million visits in April 06 to 100k in April 08 and now 10k in Aug 08.

Amazing if he attracted the 3 million people to his site purely with Adwords alone.

I wonder how many terms he has to bid for (> 100k?)

</comment></comment><comment><USER10> Does anyone have any experience actually using this site for a purpose? How was it?</comment>


Why SalesLoft Takes Candidates Through Five Rounds of Interviews - <AUTHOR> https://hypepotamus.com/community/how-we-work-salesloft/ <comment><USER2> Went to their site. I hate pricing pages that don't have prices.</comment>


DNA is object code - <AUTHOR> http://www.eyeondna.com/2008/07/16/what-does-dna-mean-to-you-14/

<comment><USER3> Easier said than done, as I'm sure Andres Yates knows. Biologists have DNA libraries, they can mark expressed genes for debugging, they can link and run this object code (with varying results) -- but there's no general compiler to generate this code, and it's nontrivial to write one without fully understanding the machine architecture.

There are about 30,000 human genes, spread over 3 billion base pairs, coding for tens of millions of different proteins. Given how proteins and RNA interact with DNA, and DNA interacts with itself, the language for describing molecular biology usually isn't discrete math, it's statistics.

I think this is why Yates is accusing biologists of treating DNA as the abstraction that represents proteins, when really, it makes more sense the other way around. It seems like in the past couple of years the best fundamental research has been in proteomics, rather than genomics, probably for this reason -- bioinformaticians are recognizing that analyzing the expressed proteins, done efficiently, can give better information than raw DNA about what's actually going on in a cell.

</comment><comment><USER4> This article somewhat touches upon the issue of "bio-programming" but it doesn't give credit where it is due.

People have been studying "bio-compiler/machine code" for decades. The difficulty is that there are many different compilers at work. Just to name a few: protein folding, chemical gradient regulation, inter/intra-cellular signaling, etc. All of which "compiles" chemical composition into actual physical function. But each of the process alone is so complex, it takes years to un-cover a small portion of the black box, not to mention most of these "compilers" are inter-dependent with each other. So it is close to impossible to use the limited knowledge we have un-covered to predict other novel code -> function compilation. I worked in a protein folding lab before. Just to be blunt here, no one really has a clue.

</comment><comment><USER5> I disagree completely.

For it to be object code, it would have to be compiled from something. If anything, DNA is the thing compiled (and _modified_ ) several times from the ACGT form down to the protein form. Nature doesn't operate on the "hidden abstraction layer", it modifies directly the DNA, which is a very very strong clue that the meaning is _there_ , not elsewhere. Why does cross-over mixes large sequential swaths of chromosomes? Because genes (the meaningful units) are sequential, and are relatively unlikely to be messed up by such an operation. The requirements of evolution impose much structure on DNA.

I wouldn't call DNA source code either.

Furthermore, while the idea of building higher abstractions sounds nice in theory, it fails, because it's _not an engineering problem_. It's a science problem, and anyone who has some experience with physics or chemistry knows that models have to remain simple for them to work at all. Meteorological models suck. Climate change models suck. Modelling a single cell is super hard. I wish we could get better models for biology, but it just seems really unlikely. The current approach to discovering gene function seems very reasonable to me.

<comment><USER6> > For it to be object code, it would have to be compiled from something.

Nope. In fact, object code doesn't even have to be assembled from something.

It just has to be made available to an execution engine.

And yes, folks modify object code.

And, even if there was some source somewhere else, that doesn't imply that the meaning isn't in the object code. (Meaning can be in multiple places.)

<comment><USER5> ... right, but the point of the top post is that we should be looking for "the source"... Maybe that wasn't formulated properly.

The point comes down to science vs engineering, induction vs building from parts. Biologists are already building models (model != programming language!). Models are the holy grail. They are just damn hard to get right.

</comment></comment></comment><comment><USER7> This assumes that there is a simple, coherent way to describe life - <USER2> source code. There doesn't have to be such a description. Maybe we were just lucky with physics and the ability to describe the universe with simple equations (until we got to quantum mechanics and relativity theory and things became messy again). With genomics, things can very well stay messy: after all, life evolved at DNA level.

</comment><comment><USER8> _There's a reason why Window's object code is everywhere, but the source code is top secret._

Might be a bad example. You couldn't use the source even if it wasn't secret. That probably protects windows' copyrights more than the other.

</comment><comment><USER9> No - DNA is not object code; it's much closer to Lisp.

Some of it is code, some of it is data, some of it is _macros_.

And it's all the self-modifying output of random genetic algorithms.

<comment><USER3> DNA is trillions of monkeys typing on typewriters for 4.5 billion years and throwing away every page that doesn't contain any readable words.

And sometimes a page happens to turn into another monkey, typewriter or page. Actually, I can't think of an analogy that come close to describing the hairiness of biology. It's the origin of all hair; it eclipses all else.

</comment></comment><comment><USER10> Spaghetti code.

</comment><comment><USER11> Amazing article. Instead of limiting it to genomics, I would apply this sentiment to nearly all parts of biology. The field needs to grow up and start using the powerful principles of building abstractions and leveraging advanced mathematics like physics did around Newton and before.

<comment><USER12> I disagree. Biology had built complex abstractions, it is just that (outside of specific bioinformatic domains) mathematics has consistently proven not to be the appropriate language for describing complex, messy biological systems.

I like the DNA-as-code analogy. Getting the 'source code' is not the stumbling block - this is becoming far easier with high throughput sequencing methodologies. The real difficulty is writing the code. I have spent the last 3 months constructing 15kb of DNA by classical molecular biology techniques - and this was largely acheived by cut and pasting from existing DNA sequences. The cost of synthesizing large DNA fragments is currently >1 dollar / base. When this falls to trivial levels I think we will really start to see DNA programming taking off.

<comment><AUTHOR> > Getting the 'source code' is not the stumbling block - this is becoming far > easier with high throughput sequencing methodologies.

I don't really know anything about biology, but as a programmer, the article's suggestion that DNA is "byte code" and not source makes sense. To get actual high-level human comprehensible source, I think we'd need to build abstractions on top of DNA object code. Not that I have any idea what these abstractions might look like.

The article compares genomes to Windows, and I don't really know anything about biology, but it might actually be easier to reverse engineer ourselves than Microsoft's operating system, since (as far as I know) our "binary" is much smaller :)

<comment><USER12> Ultimately it comes down to sematics but I think of DNA as source code. DNA is already human-comprehensible. The organisation of genes within the sequence is actually fairly straightforward and probably not that different from how you would invent it from first principles given the constraints of the storage medium. We can routinely mix and match existing sequence components with predictable consequences. There is no need to invoke a higher level of abstraction than this.

I would say that the object code is the set of RNAs present in the cell and the program is the state of all of the macromolecules in the cell - proteins, lipids, carbohydrates etc. Essentially the program is running on the organic chemistry virtual machine.

When it comes to 'writing' artificial DNA the complexities are that firstly we do not understand the intricacies of how genes are turned on and off, although there is not reason that we should not come to understand this. This is the area that I am working in. The second major problem is that we cannot 'invent' new proteins as we do not how to predict the 3D shape and chemical behaviour 'folding' from the protein sequence. With massive increases in computational power and clever algorithms it is possible that this difficulty will be overcome.

<comment><AUTHOR> Very interesting, thanks.

</comment></comment></comment></comment></comment><comment><USER13> We all are a mystery to ourselves, and will keep it till the end of our days...

(Poor humans, they will never be able to stop God from smiling about their relatively poor scientific investigations...)

;)</comment>


Dr. Brainlove – The most Burning Man thing ever - <AUTHOR> http://www.theatlantic.com/technology/archive/2014/07/colossal-brain-shaped-jungle-gym-is-the-most-burning-man-thing-ever/374407/

<comment><USER2> Super cool. Great find.</comment>


Show HN: Database Labs – Postgres as a Service - <AUTHOR> https://www.databaselabs.io/pricing/ <comment><USER3> > Yes, all databases are operationally managed by us. You never have to worry > about maintaining the database or operating system.

I am not sure whether not having control over upgrades is a feature or a bug.

> We set up and maintain an optimized Postgres instance

Optimized for what ? Any non-trivial database is going to require tuning, for which there is no one best way - only custom choices.

<comment><AUTHOR> Hi, Database Labs founder here.

> I am not sure whether not having control over upgrades is a feature or a > bug.

I think different people will have different answers to that question depending on their circumstances and abilities. Some want full operational control over everything, and others would much rather just have a database to use that's always upgraded, monitored, backed up, and so on. Our target market is the latter group.

Bear in mind that doing your own sysadmin work for your database is not free. Besides the direct costs of paying someone to do the upgrades, test the backups, and so on, it diverts human time and attention away from other endeavors. Human time is a tech company's greatest asset, and we are betting that a significant number of people are prepared to pay someone to handle all of that for them, so they can focus on their core business.

> Optimized for what ? Any non-trivial database is going to require tuning, > for which there is no one best way - only custom choices.

Yes, you are absolutely right. Out of the box, our databases are tuned for what we perceive to be a "generic average web app workload" on the underlying host type that they use. I realize this is rather vague and does not cover many use cases.

Use case specific tuning is definitely on the feature list for future versions. Do you have any insight on how that could be implemented in such a way that it'd be a good value for you? In other words, can the broad array of custom choices be reduced to any smaller set of useful patterns?

<comment><USER3>
        >> I am not sure whether not having control over
        >> upgrades is a feature or a bug.
        >
        > I think different people will have different answers
        > to that question [..]

Yes, as long as the features remain reliable. But sometimes, though rarely, an upgrades retires an API or worse, changes a default behavior. I guess that you have thought about that, but that is what I meant with my original question... Sometimes you have to choose between feature stability and newer versions (for new features or, more importantly, bugfixes). How will you handle that balance ? What guarantees does the customer gets either way ? Doesn't making it explicit to the customer comes in conflict with hiding the gritty details of database server operations ?

<comment><AUTHOR> Our guarantee to the customer with regard to the upgrade process is that we will use our best efforts and accumulated knowledge to make the right decisions about how to manage the thorny questions around the upgrade process, to which there are no universally correct solutions, so that they don't have to do so.

Of course, it's very easy to say some nice-sounding words like that. The real evidence can only be demonstrated over time, after many successive trials, through building up an ongoing relationship of trust with our customers and repeatedly demonstrating that we make the right calls most of the time.

With regards to breaking Postgres changes specifically, they are rare and almost always announced well in advance, giving us ample time to message the users, prepare them, and manage the transition.

I see this stage of the database market as analogous to e-mail in the early 2000s. At the time, most people read e-mail delivered by a custom Sendmail, Postfix, or Outlook installation. Many felt that the numerous gritty details of running an e-mail server meant that every site needed its own mail daemon, customized to its particular needs.

There were a few email-as-a-service offerings like Hotmail, but many admins felt they were too limited for serious business use cases.

It turns out that most businesses actually just needed GMail -- a really well done email-as-a-service platform. Sure, there are still some places that really do need a custom e-mail setup, and they continue to use custom software. For 80% of all businesses, though, a Google Apps GMail account is more than adequate. They trust that GMail's admins will make the right call. We aim to do the same for databases.

<comment><USER3> I still run my own mail server... But I understand your point - the reasons I still do are mostly not technical.

</comment></comment></comment></comment></comment><comment><USER4> I'd like to see distinctive feature list (and not the underlying cloud provider's features). How is this better than spinning up a pg instance on AWS RDS? Heroku Postgresql? Or if you're running a Rails app, pointing Cloud 66 at your repo and your Digital Ocean account, and getting a full stack built?

<comment><USER5> A feature list would be nice. One reason you might want to avoid Amazon could be that you're competing with Amazons other business, so using their AWS would be a bit weird, not that I think Amazon really care.

Option and competition is good, and being able to buy into a well managed hosted Postgresql is really appealing if you don't have the resources to manage a database installation yourself. Currently the alternatives for Postgresql is really expensive. EnterpriseDB have a nice offering, but it's really expensive.

All this of cause assumes that databaselabs.io isn't just two guys with a server in their basement.

<comment><USER6> _All this of cause assumes that databaselabs.io isn 't just two guys with a server in their basement_

Or two guys with an AWS account!

</comment></comment></comment><comment><USER7> What does this mean:

"All databases are fully managed and tuned by us"

So... reactively you get tired of seeing disk io so you make indexes for me, and/or I'm not allowed to define my own indexes, or are you talking more server level like shared_buffers and work_mem? Or a third level like hardware level where I'm using more CPU so you give some to me and take it away from an instance not using it so much?

Just saying I'd see a difference in language like "schema level" vs "server level" vs hardware level.

I'm indecisive about this. As a gamble, should I use you guys and pay a little more for someone else to worry about differing levels of management and tuning, vs spin up my own and worry about it myself...

<comment><AUTHOR> Hi, Database Labs founder here. That phrase could be a little clearer, I agree. I'm going to update the site soon to incorporate the feedback I've gotten.

What we mean is that the Postgres system itself is "server / OS level" management. We set up a reasonable set of defaults for a generic workload per server type, and you get superuser access to the Postgres server to do what you like with in terms of internal structure (schema, indices, users/roles, and so on.)

We handle backups, OS upgrades, Postgres upgrades, monitoring, OS-level security, firewalling, intrusion detection, and other sysadmin-like stuff. We are on call 24 hours a day to deal with the issues that will inevitably arise, and we proactively work to minimize the frequency with which they happen.

The value proposition lies in how you want to spend your time. Our feedback so far indicates that a significant number of people would rather pay someone to handle all of the sysadmin chores and focus their time on their core app.

Thanks for the feedback. I'll be updating the page soon to try to make the value proposition clearer.

</comment></comment><comment><USER8> I don't see anything here about replication or even backups. To me that is why I'd use hosted Postgres. RDS gives me multi-AZ failover but no access to the slave for scaling read-only queries, no way to configure pushing WAL archives, etc. (They do offer slave access for MySQL, so hopefully this is just a matter of time.)

Going up against RDS, Heroku Postgres, and the dozens of existing hosted Postgres vendors is a tough market. You have to offer more than just `apt-get install` and some tweaks to postgresql.conf!

<comment><USER9> > Fully backed up continuously, offsite, via WAL logging

<comment><USER10> Replication and backup solve different problems. What if I accidentally drop a table and need last night's backup? Are they archiving the WALs too so you can do point-in-time recovery?

<comment><AUTHOR> Hi, Database Labs founder here.

We do nightly snapshots plus ongoing continuous WAL logging, so yes, you can do point-in-time recovery to any moment in the retention window. The retention window is 14 days minimum, with longer windows available upon request.

<comment><USER10> That sounds sensible, thanks; I'd misunderstood and thought you were doing continuous replication to another PG server, now I realise you're archiving WAL to S3.

</comment></comment></comment></comment></comment><comment><USER11> Congrats on your launch!

I'll offer some questions I'd be asking if I were on your board of directors. I hope they are helpful as you grow.

\- It looks like your model assumes a base 50% materials cost. (I'm assuming you're storing WALs in customer's S3 accounts, not yours.) After adding staff and other costs, how likely is this to reach break-even?

\- And at what scale?

\- How do you differentiate if/when Digital Ocean starts moving up the stack (assuming they will eventually want to move into higher-margin products a la AWS)?

</comment><comment><USER12> This looks nice! As others have mentioned, more details on what exactly "fully managed" and "optimized" entails. I don't think the pricing is quite worth it just for removing the server provisioning aspect (because others do that for cheaper), but if you can automagically make my queries run faster without me needing to think about it, then you're onto something. If that's the selling point, I'd love to be able to find more details about it!

</comment><comment><USER13> I have a question for database wizards!

I'm developing an application that uses lots of little blobs of JSON to represent objects. (Who isn't?)

I'm going to put them into a database, probably Postgres, maybe also Mongo or something like that.

I'd like to keep the important JSON objects checked into git, either with the source code they belong to, or as a separate repo. It needs to export and import them all one to a file, as normalized pretty printed JSON, so git can track and merge changes line by line, and recreate the entire system including source code and matching data at a later point in time. Not everything in the database needs to be tracked in git, just the important bits of JSON that need to be kept in sync with the code.

What I want to avoid is having a huge monolithic database backed up in a different way and on a different schedule as the source code is being tracked, so the important JSON data is mixed up with bulky transient tables in SQL dumps, so it's slow and tedious to recreate the source code with the matching data. What I want is for it to be easy to track and merge and revert changes to that important JSON data, and to back up the data in lock step with the source code that depends on it.

Somebody must have tried something like this before -- is it a crazy idea, or is there a better approach, or some system that tackles this problem already? Thanks in advance!

<comment><USER14> How much data are we talking about? If it is small and static, then it can probably just be stored in git. If it is dynamic and/or large, the typical solution is to have a separate table with diffs and timestamps. You could even add the git checksum since you want it synced with git.

I would love to be more helpful. If you want to talk further about your particular problem and possible solutions, please contact me: rpedela at datalanche.com

</comment></comment><comment><USER15> Taking a look at it, I would do something similar to what compose.io does with its pricing model ([https://www.compose.io/pricing/](https://www.compose.io/pricing/)). Giving out a free tier, gives the best introduction to something like a database as a service.

It was what brought me over to a paid plan at compose.

</comment><comment><USER16> If your ticket priorities are "highest" or "high", "high" is just "normal".

</comment><comment><USER17> What kind of reliability/fault tolerance guarantees do you offer? Do you implement multi-master clusters for postgres and offer a simple interface? Or do you just install Postgres on a machine for someone?

<comment><AUTHOR> Hi, Database Labs founder here.

We offer 99.99% uptime, with refunds for outages beyond that.

We can set up read replicas manually for you at this stage; a user interface control for that is in the works. Multi-master is not available yet. If many people want that, we'll add it.

What we do is a bit more than "just" installing Postgres on a machine. We manage it for you as a system. By that I mean we do the sorts of boring operational sysadmin tasks that are often overlooked and not accounted for when one considers running a server: we do uptime monitoring, backups, firewalls, operating system and Postgres patches, security / intrusion detection, and so on; and we have staff on call 24 hours a day to handle the inevitable problems.

All that stuff costs time and money, and we've found that many people prefer to pay someone to handle it all so they can focus their time on building out their core business rather than on learning to be sysadmins.

</comment></comment><comment><USER18> How much configuration changes do we have access to behind the scenes? Any chance the pg_hba.conf is available to the owner? Similarly, do we have access to create additional roles/users?

<comment><AUTHOR> Hi, Database Labs founder here.

You get superuser access to the Postgres server, so administratively you can do anything at all that can be done from an interactive psql session - create/delete/update databases, roles/users, privileges, and so on.

We don't currently have any way for end users to tweak pg_hba.conf or other backend config files. We open up port 5432 for SSL-encrypted connections from psql or any other Postgres-compatible software. Does that cover the cases where you'd want to modify pg_hba.conf?

<comment><USER18> Nice to hear about superuser. That's great.

Unfortunately it doesn't sound like it will cover my use-case, but admittedly my scenario is a weird one (see [http://schemaverse.com](http://schemaverse.com)).

Either way, thanks for the response and best of luck with the service!

<comment><AUTHOR> Er. Wow, that's a pretty awesome idea!

You can create and update user roles without altering pg_hba.conf, which I think would let you run most of that. What's the case where you'd need to alter pg_hba.conf directly?

<comment><USER18> Thanks! Come try it out sometime :D You clearly have an equal love for postgres.

I asked because we have been considering ways for people to easily deploy their own instance of the game (likely for educational purposes). So I try to keep an eye open for new db services.

The technical reason for the requirement is that players connect from all over but the system also needs to be able to connect as each player - <USER2> without knowing their password. We normally handle this with a trust relationship between specific servers. Alternatively we could be using a superuser account and SET ROLE but that would require some other changes as well.

</comment></comment></comment></comment></comment><comment><USER19> The smallest thing is $10/month, that's way too expensive.

I think you might get more traction if you did more to explain exactly what someone would be getting that price BEFORE you showed them the price.

Right now, the feature area (below the pricing), is so sparse and all over the place that it's a chore to read.

It seems like you're going to completely manage the database side? if so, then maybe you should say something like "we'll be your database guys". If it's not that, and it's just hosting the database/making sure it's up then have some sort of message specific to that?

<comment><USER5> I think $10/month is pretty cheap, assuming the service is good.

We're so use to getting a "free tier" or paying for some obscure gigabyte-hour / dingo-dyno tier. I like that these guys are upfront with that you need to pay, and having easy to understand prices.

<comment><AUTHOR> Hi, Database Labs founder here. We indeed are very upfront and transparent -- no hidden costs, and no teaser free tier followed by a massive price jackup once you actually get any significant traction.

Free tiers also invite abuse by shady actors (spammers and so on) and tire- kickers who generate support load but don't ever actually buy anything, which we just don't have the resources to deal with yet, as a small company.

It seems so far that $10 is a reasonably low price point for trying it out that people are willing to give it a shot, and it filters out a lot of the bad actors.. maybe when we're larger, we'll revisit the free tier idea.

<comment><USER19> Yeah so I didn't mean that you should sell it for free, but the issue here is that I an easily rent a VPS (and I do) with better specs for cheaper and it's not super clear exactly what you're offering on top outside of "VPSes to run database x" on.

</comment></comment></comment></comment><comment><USER20> So basically you are clearly specifying you are using DigitalOcean to host it, and just multiply the price by 2 :/.

I don't know if that would attract someone, it doesn't work for me. Not enough features for twice the price. I would advice only a small increase (+10% or so).

Quick general question:

I have a server in Montreal. My server hosting doesn't have SSDs for cheap. For a semi-big database (2gb), is it better for me to get a DigitalOcean with SSD in New York? Would that improve my database, or will the ping slow it down too much. (in my example the ping would be of about 23ms)

<comment><USER21> If the whole database is 2GB, can you get a server big enough to have all your data in memory, or at least the hot part of your data? That would be better.

<comment><USER20> It looks like a safe method is to make the innodb_buffer_pool_size a lot bigger, and it will in fact store all the db in memory.

(Otherwise you need to set up a backup or a replication in case the server goes down)

I'll play around with it, thanks!

</comment></comment></comment><comment><USER22> Wouldn't be better to host a web application and the database on the same server for better performance?

<comment><USER22> I'll answer my question. They tackle this problem by advertising as such: "Lives in DigitalOcean, near your app" So basically, for optimal performance, my app should be hosted on DigitalOcean.

</comment></comment><comment><USER23> does it have the ability to restrict access from specific IP's ?</comment>


Redesigning CloudFlare - <AUTHOR> https://blog.cloudflare.com/redesigning-cloudflare/

<comment><USER2> I joined the beta UI test in January, and even reported a bug regarding to handling of special characters, namely '<' and '>', in passwords submitted to CloudFlare. So now the new dashboard is finally rolled out to all users.

Several new features found (as a free-tier user) (maybe some of the following were previously pro features):

\- More detailed analytics: Unique Visitors / Cached or Uncached Requests / Content Type Breakdown / Traffic Map / Top Visitor Origins / percentage of Traffic Served Over SSL

\- HTTP Strict Transport Security (HSTS) settings

\- Authenticated Origin Pulls toggle

\- Traffic Control / Keep track of firewall events for your site (by request id (Ray ID), IP address, etc.)

\- Mobile Redirect / Redirect visitors that are using mobile devices to a mobile-optimized website

\- a note field for each firewall access rule

My suggestions:

\- Hide the li.slider-nav-prev and li.slider-nav-next as they are unnecessarily displayed on wide screens. Nothing happens when users click on them (until more 'tabs' are added).

\- Update the 'Page Rules' tab to match the new design.

</comment><comment><USER3> As a programmer I really appreciate these kinds of things as a rough howto and source of inspiration. It would've been cool if they showed how those roughs translated into finished UIs though!

</comment><comment><USER4> I'm a big fan of CloudFlare, but there were some maddening regressions in usability with this redesign. My favorite so far is the newfound inability to append trailing dots when adding MX records -- this worked perfectly well before, but is now met with a rather unhelpful error message [1].

I'd really like to see a more widespread adoption of regression testing for UX, because CloudFlare is certainly not alone in this department.

1\. "Invalid hostname: Use '@' to represent the root domain."

<comment><USER5> This nonsense drives me batty. Im guessing theyre importing this behavior from bind and godaddy. Its what many customers expect, regardless of how broken it is.

</comment></comment><comment><USER6> For a moment I thought it was going to be about them no-longer blocking Tor.

<comment><USER7> Or fixing underlying systems so they don't randomly go down in the middle of the day. Which seems to happen quite often. [https://www.cloudflarestatus.com/history](https://www.cloudflarestatus.com/history)

<comment><USER8> I saw a lot of slowdowns (expected, and not major) while I tested out Cloudflare, but the worst part about the experience was the dropped requests that somehow got stuck between the users browser and my servers.

I tried to debug it, and gave a script to their engineers to reproduce, but we did not find a solution.

</comment></comment></comment><comment><USER9> I have a feeling it will look like digital ocean</comment>


My list of things to boycott SOPA - <AUTHOR> https://plus.google.com/u/0/103713120145925411926/posts/CbLDnkVZCUm

<comment><AUTHOR> Please create your own list based on what you use and buy for daily usage. Post it everywhere on blogs, facebook etc</comment>