What is math? - <AUTHOR> http://scienceblogs.com/goodmath/2009/12/what_is_math.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+scienceblogs%2FCyKN+%28Good+Math%2C+Bad+Math%29 <comment><USER2> (I have a math degree)

I think the OP still commits the common error of focusing too much on what math studies rather than how it studies it, to a mild extent. Math, to me, is a style of thinking, and the corpus of math knowledge is this style of thinking applied to particularly well-suited domains.

That style of thinking is characterized by a few things. One, obviously, is rigor: every step is justified by formal rules, there are no appeals to intuition or leaps of logic. Most people's impression of mathematics stops there, that it's a list of rules like you're taught in grade school (because that style of memorization is the only way your teacher got through math in college). There's a lot more to it though.

For example, there's a heavy focus on interpreting a single fact in many ways. There's a lot of bridging knowledge between different sub-disciplines of math, and they work a lot by interpreting a mathematical structure in new ways. There's a lot of treating abstractions as new concrete topics of study. There's a lot of exploration.

Abstractions are well-suited to math because you can make them clean and simple enough to be amenable to complete rigor. This doesn't mean that math- style thinking is limited to worlds populated only by platonic ideals. And I think that's another core disconnect between the potential of math, and its realization in the education system, is that the arbitrary rules of symbol- manipulation are described as applying to illusionary ideals, not real things. There needs to be a bigger focus on motivating the ideals as modeling something useful, because they do, and that connection to the concrete helps a lot at getting a grasp on the topics.

I don't do very much "math" in my day job (other than working with numbers ;P) but that style of thinking is still a great benefit. The real world doesn't often allow math-level rigor, but you can still show exactly where the rigor is missing in your line of reasoning, which lets you identify assumptions, and then challenge them. The focus on abstraction and fundamental principles of systems is also useful, especially because it helps to apply experience from one domain onto another.

<comment><USER3> _One, obviously, is rigor: every step is justified by formal rules, there are no appeals to intuition or leaps of logic._

I am not certain that is entirely true. In areas that are long settled, this has often been made true, but that is often long after the fact, and often done through a process of "monster barring".

That is someone proposes a definition upon which theorems are built, and someone else later will present an object which meets the technical definition but which clearly did not meet the intent of the definition. So the technical definition is revised to exclude that. And the process repeats, narrowing the definition to remove that problem but often in the process making it more difficult to come to an intuitive understanding of that formal definition. One historical example of this was in the definition of polygon.

Areas of active research do tend to appeal to intuition, at least to a degree, until the formalism can be completed. Historically that formalism has often come from other hands than the original researchers and often either in the process of "monster barring" or as the final touch after several iterations of it.

In practice, even in areas where full rigor is absolutely possible, it can be terious beyond any use if there is no debate or challenge. Mathematical papers often do not have complete formalism and even text books on fully settled areas often do not try to justify every single step if there is no reason for it. Perhaps a better definition is that it must be possible in principle to justify every step by formal rules.

<comment><USER2> You are correct that the definitions are usually motivated by a particular problem or attempt at modeling something. However, if a mathematician arrives at a "bad" result, the reaction is not always to revise the definition.

Sometimes we think it's really awesome that the definition is general enough to capture additional phenomena in the same framework. Sometimes these degenerate ideas lead to interesting areas of research in their own right, like how adding some strange Godel-related axiom to number theory leads to Supernatural Numbers. Sometimes the theorems that are developed are not applicable to their original subject of study, but can be applied to another by re-interpreting their meaning, like non-Euclidean geometry. Sometimes the unintuitive result is simply accepted, like Godel's theorem. Sometimes our intuition is simply wrong, so unintuitive edge cases like Dirac spikes end up being fundamental tools in physics and signal analysis.

Intuition is often used to motivate the definitions or the axioms, but they are clearly labeled as definitions and axioms. What I was trying to say is that the chain from axioms to conclusion must be complete, with every step explained and approved. It's this method of explicit exposing your thought process, to yourself as well as to others, that I've found really useful outside of just the realm of mathematics.

<comment><USER3> _However, if a mathematician arrives at a "bad" result, the reaction is not always to revise the definition._

Certainly not, I meant that as an example, not as a full description of all cases.

 _What I was trying to say is that the chain from axioms to conclusion must be complete, with every step explained and approved._

But this is what I am trying to say does not always happen, or at least does not always happen right away. Another commenter, mreid cited Thurston's essay "On proof and progress in mathematics" which discusses this in far more detail and far more authoratitively than I possibly could. Hardy also touches on it in his "A Mathematician's Apology".

Mathematics which is long settled, the type of thing generally studied in high school and for most of undergraduate mathematics education, is often (but not always) presented in this format, with axioms and definitions cleanly laid out and tiny steps form one to the other to arrive at the theorem.

Mathematics for working mathematicians does indeed involve this, but it also often involves intuitive leaps, thoerems where the first proof is only vaguely sketched out, and reasoning from diagrams. They normally try to clean this up by the time it is published, but for a variety of reasons even there it is often not perfectly rigorous and hardly ever in tiny steps with every step justified by axiom or previous proof.

There are many things held in common knowledge that are never cited. This is of course fine if the proofs are available, but steps away from that school house rigour immediately. Even beyond that, it is not uncommon for some ideas to only be sketched, and occassionally errors are found in the omitted steps in those sketches years after they have been formally peer reviewed and published.

These sketches are used in proof of absolute formalism often just for the sake of time and space in the journal, but occassionally because no one has ever actually gone through and filled in every detail at all, trusting to the more intuitive logic of the sketch.

The assumption in most cases is that it could be made perfectly rigorous if the need arised, but that is often only actually done if there is some question or debate.

</comment></comment></comment></comment><comment><USER4> The best description of math that I have ever encountered of what math is is the book _The Mathematical Experience_ by Davis and Hersch.

Don't be scared by the fact that it is a book. It is very accessible since it is divided into little articles on different areas of math. A lay person can read it and gain a sense of what this math stuff is and how varied it is. A PhD can read the same material and will appreciate it on a much deeper level.

Let me give one data point. I know more mathematicians who became interested in math because of reading _The Mathematical Experience_ than any other book. Seriously.

<comment><USER5> Hm. I've not read it, but I have read a rather scathing review of it by Martin Gardner (whose opinions I usually respect). disagreeing with it on fundamental philosophical grounds.

<comment><USER6> That's interesting. Gardner describes himself as a journalist interested in math and science, but specifically not a mathematician. It's interesting that he disagrees with two mathematicians on the question of what math is.

I find MG fantastic, but sometimes his articles and books lack depth. He is a wonderful writer and populariser, but I wonder whose side I would take if this were a real debate.

But it isn't. There's room for both opinions. I've never met Gardner and am now unlikely to do so, but I know a few people who know him fairly well. I'll ask their opinion when I get the chance.

Do you have a reference for that review?

<comment><USER7> _Do you have a reference for that review?_

[http://www.cs.nyu.edu/pipermail/fom/1997-November/000128.htm...](http://www.cs.nyu.edu/pipermail/fom/1997-November/000128.html)

<comment><USER6> Cool - thanks.

</comment></comment></comment></comment></comment><comment><USER8> Professor John Stillwell writes, in the preface to his book Numbers and Geometry (New York: Springer-Verlag, 1998):

"What should every aspiring mathematician know? The answer for most of the 20th century has been: calculus. . . . Mathematics today is . . . much more than calculus; and the calculus now taught is, sadly, much less than it used to be. Little by little, calculus has been deprived of the algebra, geometry, and logic it needs to sustain it, until many institutions have had to put it on high-tech life-support systems. A subject struggling to survive is hardly a good introduction to the vigor of real mathematics.

". . . . In the current situation, we need to revive not only calculus, but also algebra, geometry, and the whole idea that mathematics is a rigorous, cumulative discipline in which each mathematician stands on the shoulders of giants.

"The best way to teach real mathematics, I believe, is to start deeper down, with the elementary ideas of number and space. Everyone concedes that these are fundamental, but they have been scandalously neglected, perhaps in the naive belief that anyone learning calculus has outgrown them. In fact, arithmetic, algebra, and geometry can never be outgrown, and the most rewarding path to higher mathematics sustains their development alongside the 'advanced' branches such as calculus. Also, by maintaining ties between these disciplines, it is possible to present a more unified view of mathematics, yet at the same time to include more spice and variety."

Stillwell demonstrates what he means about the interconnectedness and depth of "elementary" topics in the rest of his book, which is a delight to read and full of thought-provoking problems.

<http://www.amazon.com/gp/product/0387982892/>

</comment><comment><USER9> Math seems to me a bit like love, you have to experience it to understand it. Definitions and discussions like the OP might help a little, but don't get at the essence. No-one who reads such a definition will suddenly come away knowing what mathematics is.

I had a few epiphanies in my life that made me understand what mathematics is. One of them was understanding why it is that there are infinitely many primes - I think I learnt more about what mathematics is in the moment that proof clicked than I have from reading hundreds of discussions of "what is mathematics". The experience was, simply, miraculous.

</comment><comment><USER10> Also check out the reddit thread that inspired this post - [http://www.reddit.com/r/AskReddit/comments/abiax/can_someone...](http://www.reddit.com/r/AskReddit/comments/abiax/can_someone_explain_mathematics_to_me/)

Some very eloquent responses in there. I was moved.

</comment><comment><USER11> Does not quite answer the question, but a true ode to mathematics:

"Mathematics, rightly viewed, possesses not only truth, but supreme beauty—a beauty cold and austere, like that of sculpture, without appeal to any part of our weaker nature, without the gorgeous trappings of painting or music, yet sublimely pure, and capable of a stern perfection such as only the greatest art can show. The true spirit of delight, the exaltation, the sense of being more than man, which is the touchstone of the highest excellence, is to be found in mathematics as surely as in poetry."

Betrand Russell: "Mysticism and Logic and Other Essays". [<http://www.gutenberg.org/etext/25447>]

</comment><comment><USER12> I agree. The way most people understand what math is and the way we teach math is horrible. The math curriculum is a disservice to everyone that's been exposed to it. I think mathematicians and scientists alike are realizing this and beginning the long process of fixing it in schools and eventually the culture. Some of the most creative people in the world today are not musicians or artists but rather mathematicians. (and as a corollary computer scientists, engineers, etc.)

I recommend "A Mathematician's Lament" by Paul Lockhart [1]. He further investigates what math is, how we can better teach it and how it's portrayed in our culture.

[1] <http://www.maa.org/devlin/LockhartsLament.pdf>

EDIT: I also posted this in the linked article. But wanted to provide this great paper to the HN crowd too.

</comment><comment><USER13> For me, math is all about consequences. I'm extremely poor mathematician and my background is much more about computer science, yet I'm fascinated with this simple fact.

You define few simple structures, and, in consequence, get an enormous amount of structures' properties, more abstract structures and facts about newly created structures.

Thing like an algebraic structure can be understood by a clever seven years old. However, it simply takes stating structure such as an algebraic structure combined with a space, to enable existence of many other structures, more abstract or more specific, with their own properties, and similarities.

This is a very powerful thing. For me, math is all about this 'generative' way of thinking.

</comment><comment><USER14> My favorite definition of math, courtesty of [http://www.win- vector.com/blog/2008/08/what-is-mathematics-r...](http://www.win- vector.com/blog/2008/08/what-is-mathematics-really/#more-21)

"Mathematics is the minimal environment to preserve ideas."

</comment><comment><USER15> My own definition: "Math is a language for describing phenomena that can be precisely defined."

</comment><comment><USER16> Math is the study of verifiable, undebatable truth. If a system is fully understood, it is susceptible to mathematical study.

<comment><USER17> _Math is the study of verifiable, undebatable truth._

A certain Mr. Gödel would disagree with you there.

<comment><USER5> No, I don't think he would. He'd point out that there are things which cannot be placed in the realm of verifiable and undebatable, but that doesn't mean there are no things which can be placed in that realm.

<comment><USER17> Gödel's intent was to show that there are things that are "true" but not "provable". So to say that math is the study of things that are verifiably and undebatably true is at odds with that.

<comment><USER18> Can math study everything that is true? No. As far as the things it studies goes, are they true? Yes.

</comment></comment></comment></comment></comment><comment><USER19> Since everybody has a definition for math, it seems, I'll give it a whirl.

Math is the act of creating a self-consistent system of symbology and symbolic abstractions that, at some place, exactly mirrors reality (even if that place is only the counting numbers). The belief is that since nature is also self- consistent and ontologically hierarchical that by working inside a parallel symbolic system we can discover aspects of nature we never knew existed. Note that the systems have gotten so complex that in many fields math is entirely theoretical and never "closes the loop" back to observed reality. In fact, some would argue that applied math is more in the realm of physics, whereas "true" math is entirely abstract.

Is that anywhere close?

</comment><comment><USER20> baby don't hurt me ...

don't hurt me ...

no more ...</comment>


RethinkDB is shutting down - <AUTHOR> https://rethinkdb.com/blog/rethinkdb-shutdown/ <comment><USER3> RethinkDB is one of the developer tools that we at Stripe most looked up to.[1] The team had so many good ideas and rigorous, creative thoughts around what a database could be and how it should work. I'm really bummed that it didn't work out for them and have enormous respect for the tenacity of their effort.

I'm also excited to have them join us here at Stripe. As we've gotten to know Mike, Slava, and the other Rethinks -- and shared some of our plans with them and gotten their feedback -- we've become pretty convinced that we can build some excellent products together in the future. I'm looking forward to learning from all of them.

[1] (And, for me, even before Stripe -- I started learning Haskell with Slava's Lisp-interpreter-in-Haskell tutorial back in 2006... [http://www.defmacro.org/ramblings/lisp-in- haskell.html](http://www.defmacro.org/ramblings/lisp-in-haskell.html))

<comment><USER4> I secretly (not 'secret' anymore I guess) and irrationally trust Stripe to do good on RethinkDB.

Also, TIL: Slava is defmarco. Yeah defmarco, that's how I read it for a long time. I especially love this piece from _defmarco_ [http://www.defmacro.org/ramblings/fp.html](http://www.defmacro.org/ramblings/fp.html)

<comment><USER5> > Also, TIL: Slava is defmarco

Just another +1 to the "OMG it's him/her?" moments regularly experience while reading HN. Thanks for mentioning.

</comment></comment></comment><comment><USER6> Why does nobody seem to have any introspection on why RethinkDB failed? Clearly there are some major problems that people re ignoring. If my favorite DB (I must mention Kx Systems once a month) folded, I could give you a laundry list of issues where things went sideways, but all I see is glowing praise and comments about the best tech not always winning (KDB knocks the socks off of everything, but I sure can give you a list of places it fails).

This isn't meant to be harsh, but these are times to learn, not simply pat each other on the back.

<comment><USER7> _> KDB knocks the socks off everything else_

...but the licence is 250k dollars a year so big fail for startups.

<comment><USER8> That's the salary of a single employee. Surely they can afford a database on the payroll.

<comment><USER9> Many early stage startups can't afford even a single salary. By the time enough cash is on the table to consider those kind of purchasing decisions, the initial round of architecture decisions have typically been made, and been cemented into the initial version of the software.

E.g. I've worked on more than one startup where the first angel investment wasn't on the table before 6-12 months into development, and where that first round in some cases was below $250k

On top of that you also have the issue of finding someone that knows it, and the associated staffing risk that comes with that (yes, I'm sure you can always find someone, but at what price? there are place I can go where I couldn't throw a stone in any direction without hitting someone that "knows" Postgres or MySQL or both sufficiently well to be an acceptable tradeoff)

In many startups the tech choices end up being made not just based on what fits and what is affordable, but also based on what you can find affordable people to work with (including e.g. co-founders or other people willing to do initial work for equity) - sometimes that can lead to niche tech getting used. But far more often it means picking from a small set of the most common alternatives.

<comment><USER10> So then the startup needs to get by with what it's got and earn money until they can afford it. Just like everyone else does with literally everything else.

<comment><USER9> Yes, and that is exactly the point: This means databases like Postgres or MySQL gets entrenched over options like KDB that costs a lot of even get started with. By the time they could afford the license, the cost of switching has risen dramatically.

</comment></comment></comment></comment></comment></comment><comment><USER11> It seems that unfortunately RethinkDB the company was architected in such a way that the success of their product, in terms of performance and developer experience, led to a decrease in revenue.

This shutdown therefore goes a long way to say how talented and ethically correct the team was, something extremely evident in how they put correctness and reliability in front of performance.

In short, RethinkDB is a very solid piece of software that does well where (many) other NoSQLs fall short, that is:

      * easy HA and automatic failover
      * easy auto sharding
      * rational query language
      * ease of administration and awareness (webUI)
      * realtime capabilities
      * perform well on the Jepsen test!

Now, what could have they done differently to stay afloat? What avenues do we have to fund fund such great projects, whose _point_ is being OSS? (I mean, one of the selling points of RethinkDB is that one can trust it in this land of NoSQLs that promise but don't deliver, and this is in part thanks to their open development processes)

<comment><USER12> Please dont make excuses for their failure. "Developer experience" and "performance" are never reasons for failure. What does lead to failure is

\- lack of mass adoption - they didnt solve a problem everyone had

\- lack of nitch adoption - they didnt solve a problem a few people had badly

I can tell you 4 features that I view more important than change subscription

\- can run in any ecosystem - pouchdb/couchdb and waterline are examples of single apis in different environments. Even being able to use the database 100% in memory as a redis alternative would be nice.

\- supports transactions across shards natively - this is a difficult but important feature that mongodb is missing

\- supports document id transaction and table transaction - if Im only updating two documents, I have no interest in making many financial transactions wait for a table to be finished being used when I only care about 2 documents in that table.

\- "sync" feature on a table - pouchdb supports this for syncing a client with a server

Rethinksb failed because, despite its sweet name, it wasnt solving that important of problems.

<comment><USER13> Does RethinkDB not support transactions? I thought it did.

<comment><USER11> "RethinkDB operations are never atomic across multiple keys. For this reason, RethinkDB cannot be considered an ACID database."

source: [https://rethinkdb.com/docs/consistency/](https://rethinkdb.com/docs/consistency/)

However, certain operations on a single key, like incrementing a counter, are atomic.

<comment><USER13> I wish they had added transactions. It seems like such an important feature.

<comment><USER14> ACID correct distributed transactions create very, very painful performance problem because you have to lock across multiple physical machines separated by network connection(s).

Or y'know, you just don't do them correctly and accept a substantial rate of quietly corrupted data.

There isn't really a good option unless you have absurd amounts of money compared to your transaction volume.

<comment><USER13> ACID correct distributed transactions are possible. Google's F1 paper shows how: [https://static.googleusercontent.com/media/research.google.c...](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41344.pdf)

Very, very painful problems are very, very valuable.

<comment><USER14> They are possible but they are not possible to make per formant compared to the alternative.

Google falls under the "absurd amount of money" camp.

> Protocol Buffers have performance implications for query processing. First, > we always have to fetch entire Protocol Buffer columns from Spanner, even > when we are only interested in a small subset of fields.

There are a number of performance costs documented in the paper. Simply because you can solve it via money doesn't mean it works for all situations.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> I just want to personally thank Slava for his exceptional work over the past few years - at every step him and his team have been classy and professional, and brought real creativity and intelligence to the world of databases and startups.

Its clear to me that Rethink is the model for future databases - its just that DBs have a long gestation as no-one wants to risk their data until the code is aged like a fine wine. Its an important longterm technology play - just the kind we need to improve things for all of us.

In two or three years I think they would be making money, I think this is a failure of capitalism or imagination our HN/SV community.

To those several of us who have the power to write a check, please consider doing so, Rethink have been relentlessly building the future [ and you will make money ]

<comment><USER16> I'm not sure you can chalk this up to a failure of capitalism. Postgres is a tough database to contend with and it's mature and open source. People like to hate on mysql/mariadb, but it also has a massive open source community.

As a company choosing open source technologies, the popularity _is important_. Otherwise you run into issues finding answers to common problems and you end up paying through the nose for support.

<comment><USER17> > _Postgres is a tough database to contend with and it 's mature and open > source._

Presumably, that's in part why CockroachDB decided to be more-or-less Postgres-compatible on the wire, and embraced SQL.

<comment><USER18> > CockroachDB decided to be more-or-less Postgres-compatible on the wire, and > embraced SQL.

I was about to post that a quick grep of CockroachDB source turned up no references to postgres, libpq or anything obvious to back that up that claim but then I noticed my workspace was out of date, so I after a git pull/git grep I now see that you are correct. Commits to add postgres-compatible parsing and wire protocol appear to have landed late last year. _Why wasn 't I informed!_ So thank you for this - time for me to take another look at it.

<comment><USER17> They're also trying to make the information catalog compatible-ish as well, so that existing web-style frameworks that parse the information schema to determine datatypes and whatnot work out of the box.

</comment></comment></comment></comment></comment><comment><USER19> Wow. I was seriously rooting for them. I'm looking forward to Slava's posts about their challenges on the business side. There's a part of me that's angry that MongoDB - which some would say has made an objectively worse product - has succeeded.

My initial thought is that MongoDB has done a way, way better job at SEO. The number of blog posts about RethinkDB pales in comparison to Mongo. I wonder if they got beat on sales as well? Not sure.

<comment><USER20> Mongo also got there "first". I mean, Mongo isn't much compared to Rethink, but they're both in the "not a traditional SQL database" camp and Mongo came before and had all the hype first.

I wouldn't be surprised if people a) didn't use Rethink because they're happy with Mongo and its popularity b) hated Mongo and saw Rethink as too similar/didn't research it enough.

<comment><USER21> Well, Couch DB got there first but it didn't help them much. I think you're right it was mostly about social media marketing.

<comment><USER22> Early couch had scaling problems. We built a product around it and had a terrible time keeping it running at scale. Ruined erlang for me, too. Not from the language, but the problems with the build tools.

</comment></comment></comment></comment><comment><USER23> I hope this isn't true. Having worked at/on multiple competitors I have nothing but respect and admiration for the work the RethinkDB team has done to make a great database and development platform.

This was real technology! I'm truly sad that the environment is such that great work like this can't continue to be funded.

Thanks for showing everyone how to write amazing documentation, caring about the fundamentals, and for the incrediblly snazzy admin panel.

<comment><USER24> Everyone at RethinkDB was incredible to work with.

 _Thanks for showing everyone how to write amazing documentation_

Thank you! (Really. I'm RethinkDB's documentation writer/editor.)

<comment><USER25> I have always wondered why there isn't a tech company that just does kick ass documentation for companies. Seems like a small group of people who make kick butt stuff in this area.

Really, you did have fantastic documentation, as the original said. Kudos.

<comment><USER24> Thank you. And...hmm. That's an interesting question.

<comment><USER26> The Rethink docs truly are incredible.

Do you have any guides or books you recommend for writing good documentation? What software did you use to produce Rethink?

Sorry to see Rethink go.

<comment><USER24> The documentation is all maintained in Markdown and built with Jekyll, so it's pretty straightforward. There were a few custom Jekyll tags. For writing, I used the venerable Mac editor BBEdit; obviously any text editor can do a fine job here, but there are some subtleties in BBEdit I liked. Its "open file by name" command can open multiple files with the same name at once, for instance, and its find/replace functionality goes above and beyond the call of duty.

For books/guides, it's hard to say. Find documentation you like a lot and think about what makes it good--the organization/taxonomy is really important to pay attention to, as well as the tone (formal, conversational, weird, etc.). As shocking as this might be around here, the _Microsoft Manual of Style_ is useful as a specifically technical guide, and it's good to have a relative recent edition of the _Chicago Manual of Style_ kicking around as a reference. And, just being familiar with standard grammar and punctuation rules is important. A lot of people aren't. (A lot of people who aren't still think they are.)

<comment><USER26> Hahaha. That is surprising! Thanks for the helpful advice.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> Very sad to hear, but hopefully the software will continue to be developed in an open source format.

Keep this in mind when you invest in a certain technology: some organizations, especially nonprofits (for example, the Apache Software Foundation, Python Software Foundation, the new Node Foundation) are probably going to support and develop their software for extended periods of time relative to, say, a startup or for-profit (Parse, MongoDB and RethinkDB immediately come to mind).

<comment><USER28> This is why the key product should be open-source. Else it's too scary to invest in it: what if the company behind it folds, and you end up in a dead end?

Only certain super-behemoths like Microsoft or Apple can afford to have their infrastructure products being closed-source.

<comment><USER29> How many people in the world can work on a large DB, even with source?

I am all for open source, but it doesn't make things like this is easy as some make it out to be. For example with Linux source, how long would it take me to fix a video driver bug? Perhaps a year?

<comment><USER30> His point is a little more subtle than that. When you're choosing a database engine to build your company on, knowing that it's open source provides some level of guarantee that _someone_ will continue to maintain it if the company/developer folds, even if that someone is not you.

Therefore, if you're the one building the database, open-sourcing it de-risks your product to your potential customers, to some extent.

<comment><USER31> To expand on this point, if you look at Linux development, multiple companies are contributing to the project! The product exists outside any single organisation.

Of course closed source products can also be collaborations, but open source + open development practices can make this a smooth and natural result.

</comment></comment></comment></comment></comment><comment><USER32> This is honestly quite depressing for me to hear. I've always liked the team and the fantastic product they created. A couple of years ago, when I was working on a DB product myself, I met a few of their team and I was just blown away by how nice and welcoming they were, even to someone developing a product that could potentially compete with theirs.

Later onwards, when I was working on an NLP startup earlier this year, I opted to use RethinkDB because I had seen how clean, smooth, and fast its internals were. When I had a hiccup with running a cluster in here cloud and tweeted about it, Mike and others from. The RethinkDB team instantly reached out to me and helped me resolve the issue.

<comment><USER33> Hi Haneef :D I was one of the peeps you met at OSCON. Hope to see you around and on Twitter still <3

</comment></comment><comment><USER34> A shame that a company like mongo can exist while a company like rethink folds.

<comment><USER35> I believe this is because the Node.JS community still recommends MongoDB as the _perfect_ database engine for their projects. There is even a name for their stack — MEAN, MondoDB + Express.JS + Angular.JS + Node.JS — which is kind of ironic because considering the rapid evolution of the JavaScript ecosystem having an acronym like that will make no sense in a couple of months since now people prefer React-like libraries / frameworks. Besides the JavaScript community I don't know of any other that enjoys to use MongoDB — which to be fair it's not that bad for what it offers, but you know — or ships it by default in bundle installers which are preferred by many young and/or newbie developers.

<comment><USER36> Don't laugh -- there's now a thing called MERN, which is basically MEAN with Angular replaced by React.

The entire sell of MongoDB in the Node community seems to be "it speaks JavaScript and you can store objects in it". Which of course fails to take into account any of the strengths and weaknesses of MongoDB (in the latter case especially the lack of cross-collection transactions or fast joins -- which in my experience account for 90% of the problems Node developers face with MongoDB).

The main reason MongoDB is popular in the Node community is that both reached peak hype around the same time. So it made perfect sense to bundle both of the "hottest" technologies together. Except by the point Angular 1 reached peak hype MongoDB was already facing criticism, so MEAN mostly seems to bask in its afterglow.

If you had asked me last month, my prediction would have been a RethinkDB+Node+React (or RethinkDB+Node+Angular2) stack popping up to challenge MEAN, though the RethinkDB+Node bit seems to have already been addressed by Rethink's own Horizon.

<comment><USER37> Could be worse - might be ANGER - Angular.js + Node.js + Grunt + Elixhir + RethinkDB. That might even live up to it's name! Though I guess you could always go full tilt towards insanity and choose MongoDB + Angular.js + Node.js + Grunt + Express.js - MANGE.

</comment></comment></comment></comment><comment><USER38> Really sad to hear this. I always had a ton of respect for you guys and your commitment to solid technology. (I mean y'all even passed Aphyr's Jepsen tests out of the gate [1]) You've also always paid a great deal of attention to interface, both in your query language and in administration.

One of your engineers even wrote once that maybe you took longer than you should have and over-engineered some things, but now that that was in place y'all would be better off for it. I'm sorry that didn't wind up being the case, at least as far as your company is concerned.

RethinkDB was at the top of my list of technologies I want to build something on. I even went to your (one?) meetup in Boulder. I guess my t-shirt is now a collectable :-/

But I'm happy for y'all that you wound up finding a great place you can all work together. Best of luck!

[1] [https://aphyr.com/posts/329-jepsen- rethinkdb-2-1-5](https://aphyr.com/posts/329-jepsen-rethinkdb-2-1-5)

</comment><comment><USER39> Just started a new project at my company using RethinkDB, very early stages, but I was amazed at how well this was documented and implemented. Coming from different ORMs to use with MongoDB, ReQL was a joy to work with and I didn't even want to use an ORM(for me at least, others may disagree).

Sad day to me, but as an open source tech, I hope and trust it will continue to live on.

It sounds like the company landed at Stripe. Good for them. Glad they weren't left out in the cold.

Thank you all very much for your hard work. In my short period of time I have had using RethinkDB, it's been a pleasure to work with.

<comment><USER40> Exact same boat - I've based a few new api's with RethinkDB in the background - hoping it stays alive.

</comment></comment><comment><USER41> I'm very upset to hear this. RethinkDB, and the team behind it, have been inspirational to me and it has transformed my day to day development workflow. Their dedication to developer experience (amazing docs, ReQL, admin tool,...) has been something I've particularly admired. I'm relieved that the team has a new home though and it's fantastic that a company that has similar traits is the destination - props to Stripe and the RethinkDB management team for making this happen.

I hope to see RethinkDB to live on in the OS community.

</comment><comment><USER42> I used Slava's blog to learn about Lisp and went on to build a product with Weblocks, which was a continuations-based web framework that Slava created back in the day (I only recently finally deleted a forgotten 8-year old todo about merging in my refactored Weblocks formview). Random trivia (kind of) - the syntax and concepts in Weblocks actually bear some resemblance to Goat, which is a framework that Patrick had created and used to build the original version of the Stripe dashboard (likely just because both of them come from a Lisp-heavy background).

I had just started a new company using RethinkDB, and it was definitely poised to be my go to database for new projects. Anyway, all this is to say, for someone who I know only through his works, I have great respect for Slava and want to thank him for the work he's done. Here's to hoping that RethinkDB finds a way to continue.

</comment><comment><USER43> Slava is one of the smartest people I've met (and I'm sure the rest of the team follows suite) - it's indeed sad that the RethinkDB company is no more.

I feel we're at a stage where some of the key technologies/platforms are coming out of relatively small companies (docker, storm, rethinkdb, to name a few), however, it appears it can be tough to make a business out of this alone.

I'm consequently very happy to see that the RethinkDB team have found a home at Stripe and hope that works as a setup to allow the talent to flourish and keep producing great work/innovations.

</comment><comment><USER44> > We're excited that the members of our engineering team will be joining > Stripe

So is this one of Stripe's BYOT hires?

<comment><USER45> I would be curious to know this as well

</comment></comment><comment><USER46> This is very sad. RethinkDB is my favourite database engine of all time.

I have huge respect for the RethinkDB team - They've put the product above everything else and they've made it accessible to as many developers as possible by making it open source.

I think that in spite of this announcement, I will likely continue to use RethinkDB.

</comment><comment><USER47> I recognize there's hundreds of different factors that played a role in the story of RethinkDB and its relatively poor adoption. I'd like to touch on one specific point (probably far from the most important one) - the name.

I think you guys introduced friction _very_ early on with some of the developers, because of your name. Given the context of our times where many of the devs joke around about "yet another 'revolutionary' database that claims to be different and then does the same thing, but dropping some crucial functionality" (for which I primarily blame MongoDB), "RethinkDB" can be considered a bit of a sardonic name. It can also read as "we need to reject the notions other databases are built on and rethink it all", which to more conservative devs can feel as an attack on decades of thought and design around their beloved MySQL and PostgreSQL.

Basically, I think this name might actively discourage developers from adopting your db or at least playing around with it.

<comment><USER48> Now if we're going to talk names, CockroachDB is the one with the problem. I'm very interested in the project and follow it closely, but going to my senior management and saying "we're going to bank the company on Cockroach!" is going to be a _really_ tough sell.

</comment></comment><comment><USER49> Per Crunchbase:

        Dec, 2013	$8M / Series A2
        Sep, 2011	$3M / Series A
        Apr, 2010	$1.2M / Seed
        Jun, 2009	undisclosed amount / Seed

Did the company have any revenue or was that the only money the company had to run on?

Assuming that info is correct, that's pretty slim for building a "hard tech" type of company. Building a database (from scratch no less) is a lot of up front work. Even after it's built you need to convince tech people to want to use it, convince their bosses to let them use it, and even then, hire sales people to sell support contracts.

<comment><USER13> Did RethinkDB spend $8M in 3 years?

<comment><USER49> > Did RethinkDB spend $8M in 3 years?

Not necessarily. It's possible they still have cash on hand but limited runway. Anything leftover would go back to investors.

That's assuming they never had any revenue. If they had money coming in, they could have spent that as well so the formula gets more complicated.

</comment></comment></comment><comment><USER50> If RethinkDB is really better than Mongo then where is the blog post about it?

Where are all the scaffolding tools? The examples?

I have only heard of Rethink because I read HN every day. But no one knows about it. That is obviously the reason it failed - bad marketing.

<comment><USER20> It sucks because the Rethink site is well designed, they have a good brand design and mascot, the docs are great, and the team is (was?) open and responsive. They talked at conferences, did podcasts, etc. A little bit of sales work and marketing would've gone a long way.

Of course, it's hard to be profitable at NoSQL after Mongo either got all the hype years before or turned people off the concept entirely.

<comment><USER51> That's the problem, they were too good.

Developers like hackable systems with bugs and problems they can solve, this is how they get "experts", bigger communities grow, more posts exists, the project get more attention. E.g. WordPress, it is not one of the most used CMS out there because it is the best.

But, not always the best system is the winner.

</comment></comment></comment><comment><USER52> RethinkDB was simply too good to be true. I've been reading Slavas defmacro.org probably since he started writing it, and was watching where he will end up. It was no disappointment that he created this with his cofounders, and while I'm a bit sad they couldn't find a viable business I know they are young and ambitions, we will hear from them.

Go Slava!

</comment><comment><USER53> For people mourning the loss of rethinkDB, and who are interested in alternative document based NoSQL DBs under development, please checkout ArangoDB. It's my favorite NoSQL database. I have no affiliation with them.

Beautiful query language called AQL, and graphing support (multi-model) baked in.

<comment><USER54> Calling stored procedures microservices always makes me laugh.

</comment></comment><comment> andrewl-hn Loved that they took care of the engineers! Stripe is a great place to work where their expertise is surely welcomed.

<comment><USER55> This is what I thought was the best detail of all this. I don't know the details so this may not be totally accurate, but it sounds like they didn't just shut down and let everyone fend for themselves. Looks like they helped make sure all their employees were taken care of. Too many employers just throw their employees by the wayside when the business goes south. So kudos to them for taking care of their folks.

</comment></comment><comment><USER56> Does anyone have experience with Postgres' pubsub[1] as a means for realtime apps?

1\. [https://www.postgresql.org/docs/9.6/static/sql- notify.html](https://www.postgresql.org/docs/9.6/static/sql-notify.html)

<comment><USER57> One of the big differences that RethinkDB has going for it is that its connections are based on coroutines, so it's really efficient to have thousands of open connections. Postgres uses one process per connection, so it's much harder to scale.

<comment><USER58> pgbouncer

<comment><USER59> How do you pgbounce a bunch of poller connections? pgbouncer has an event- based acceptor on the front, and a connection pool on the back. If all the connections in the pool are taken, then it will queue up the incoming connections until a backend connection is available. If all backend connections are long-polling, then incoming connections will just hang.

<comment><USER58> If all the connections in the pool are taken, then the database wouldn't have been getting meaningful additional work done anyway, regardless of your scheme for accepting connections.

Having 100-1000x more active connections than you have cores on the box is worse than useless, it's actively detrimental.

<comment><USER57> Except it works just fine for RethinkDB because it was designed from the ground up to efficiently send changes from the shards directly to open connections. It's a design tradeoff postgres didn't make and they get other benefits rethinkdb doesn't have. But for this use case RethinkDB has a distinct architectural efficiency advantage

</comment></comment></comment></comment></comment></comment><comment><USER60> I'd fund Slava and Mike again in a second. - Paul Graham on twitter

</comment><comment><USER61> Rethinkdb is great software that was really designed with technological goals, one after the other, in mind. I'm a bit surprised to see the company shutting down. I mean, in some way, it's years they work at the project, but in the final usable form the project is not so old after all... Anyway to make it viable for the project to have a good live as an OSS project, there is to build a big community of core developers, and that's hard, so as a first step what I would do to ensure the viability is to strip-down it as much as possible in order to reduce the codebase of the fundamental part of RethinkDB to a more manageable size/complexity.

</comment><comment><USER62> Holy shit, my worst nightmare is realized. I LOVE RethinkDB, I use it for EVERYTHING. It has everything I've ever wanted in a database. Relational documents, realtime feeds. Sadness. Someone better be picking up from where they left off.

<comment><USER12> You can pick it up where they left it off. It may sound cold and hostile but often open source projects fail because consumers cant become contributers. Perhaps finding a way to fund it like bounty source is a good path foreard

<comment><USER62> You're right, I can't become a contributor. I don't have the time, nor anywhere near the skill set to build a relational database.

<comment><USER12> You can build the skills, though I respect you may not have the time.

</comment></comment></comment></comment><comment><USER63> Interesting, I expected ArangoDB close shop before RethinkDB.

I found both nice and even built a product on top of rethink over the last twelve months. Guess I was blended by the hype :D

<comment><USER53> I would have guessed the same, just by amount of splash RethinkDB had on YC compared to Arango, but the truth is I MUCH prefer ArangoDB. Their AQL is a beautiful replacement for SQL. Javascript style query languages are what I hate the most about a lot of NoSQL Databases. The multi-model support is also really cool, i.e. not having to commit to graph/non-graph before even starting the project. Foxx I generally don't find as useful/interesting. I hope everyone who was "into" rethinkdb starts looking at ArangoDB now.

<comment><USER63> lol, now I'm anxious and will go back to postgres ;)

</comment></comment></comment><comment><USER64> Mike has been one of the most genuine and helpful people I've met - <USER2> offering to lend an ear or offer suggestions and feedback. It must be really difficult to stop doing something that's been such a core part of your effort and thoughts for so long. I hope you and the team find interesting and engaging things to work on.

</comment><comment><USER65> Very sad to know that RethinkDB is shutting down. This was one company that I wanted to see being successful! A great tech team taking on a hard technical problem. Even if they are closing down, I hope they have changed the landscape.

Also having followed Slava for a sometime, nothing but respect and admiration for him!

</comment><comment><USER66> RethinkDB advanced database technology. Congratulations on a good run. Like many things, we may not realize the impact of their work today, but with the product going open source, it can serve as both a learning tool/inspiration for new platforms in the future, as well something to build on. I imagine the product will take its place in the halls of database history, even if it didn't succeed in the market financially. This is a legacy to be proud of, and glad to see the team has somewhere awesome to go!

</comment><comment><USER67> A while ago, I heard how good RethinkDB is and tried to check it out and found this page.

[https://rethinkdb.com/docs/sql-to- reql/javascript/](https://rethinkdb.com/docs/sql-to-reql/javascript/)

The more complex the query becomes I just felt everything was getting less intuitive compared to the SQL version and ended up not actually using it.

For anyone who switched from SQL, I'd like to know how it felt to write RethinkDB queries. Did they start to feel fluent later on?

<comment><USER68> I haven't used RethinkDB in ages, but when I did, I used it exclusively for a year.

It took a few weeks for ReQL to really sink in, but once it did, I much preferred it to SQL. As my sibling comment says, its very linear: do this then this then this then this. It also feels very much like sequence processing in functional languages (and I was using Clojure at the time, so it really meshed very well).

I also found it much easier (than SQL, at least in my limited experience) to reason about performance because I knew what it was doing. Is this looked up by index? Yes, because that's the command I used.

So, yeah, ReQL actually ended up being one of the things I liked _most_ about RethinkDB.

<comment><USER69> Especially the "known performance" bit. One of the things I fight with constantly in SQL Server is never getting consistent performance from a more complicated SQL query. The query plan could change from one day to the next if the plan falls out of cache.

With ReQL you new exactly how indexes were being used, and how the data was being accessed. No trying to guess what the query optimizer was doing in the background.

<comment><USER68> Exactly. I didn't appreciate this as much as I perhaps should have while working with RethinkDB, but I've been working on optimising SQL queries lately and... man I wish I were working in ReQL. It really made me appreciate how easy (compared to SQL) ReQL is to mentally estimate performance.

</comment></comment></comment></comment><comment><USER70> I would be very interested hearing @coffeemug's views on the tension between building a business and building an open source product. (Those I know who have done this range from "never again" to "lost a fortune in sales")

</comment><comment><USER13> I wish RethinkDB had published a performance benchmark against Hadoop. It'd be enough to show the world how ahead of its times RethinkDB is.

I also wish I knew what RethinkDB's investors are thinking.

<comment><USER71> By Hadoop, do you mean HBase? Something else? I'm not sure how much overlap there is. Rethink is geared towards ad-hoc OLTP-type patterns (albeit with a document-like data model), whereas Hadoop is oriented around batch/stream processing. A better comparison would be CouchDB or MongoDB.

</comment></comment><comment><USER72> This is heartbreaking. I have used it for a couple of different projects and it's just a dream to work with.

</comment><comment><USER73> I think I'm gonna try and teach myself to work on this in its new open source incarnation, because I was rooting for it hard while it was still a company, but it was perpetually in a state of "soon, not yet", and now "not yet" is never unless the people who want it step up.

</comment><comment><USER74> What was RethinkDB's business model and why didn't it work?

<comment><USER75> Trying to sell opensource software with great documentation.

<comment><USER24> I knew I should have left out a few verbs on every page!

</comment></comment></comment><comment><USER76> This is really sad. RethinkDB is an amazing product.

</comment><comment><USER77> Bummer. Had Rethink in my list of things to eventually tinker-with. Is it stable where it should still be considered as a viable choice for your tech stack, or is this pretty much a deal-breaker?

<comment><USER78> RethinkDB is production stable as shown by a number of users running it in production, this won't change that. I'm optimistic that it'll do just fine as an open-source project.

Jeroen / VeXocide here, one of the RethinkDB engineers

</comment></comment><comment><USER79> This is sad - Was planning on moving from Postgres to Rethink as our plan once we start to hit scalability limits / needing to shard. I guess we will see how the open source efforts go.

</comment><comment><USER80> That is sad. We were considering switching to RethinkDB from MongoDB.

<comment><USER24> Don't write off RethinkDB yet.

<comment> ryan-allen I hope not, I've always wanted to use it, it seems like a great product!

</comment></comment></comment><comment><USER81> While RethinkDB looks amazing I'm glad I didn't listen to the people here demanding me to switch from MongoDB. In the future I will just stick with what works.

<comment><USER82> In my experience RethinkDB "just works" and Mongo didn't.

<comment><USER81> MongoDB has served me well but HN almost convinced me to change even if I haven't had any problems. I'll never listen to you guys again because if I did I would be stuck with a scrapped database.

<comment><USER82> RethinkDB isn't getting scrapped. You're sounding a little dramatic.

</comment></comment></comment></comment><comment><USER83> Their chance of surviving would have increased dramatically if users could install rethinkdb as addon on Heroku.

Availability as a service was an issue, the compose deal did not work well for me, as my stuff was hosted on heroku.

Anyway, rethinkdb is probably the most awesome database I've tried.

[https://github.com/birkir/react-starter-kit- rdb](https://github.com/birkir/react-starter-kit-rdb)

</comment><comment><USER84> RethinkDB fits into the category of products i love but do not use because i do not want to manage the underlying servers. I've moved to Firebase and other 'services' on the Google, AWS clouds.

Given that this is the way many of us are operating (i.e. 'moving to the cloud'), i wonder what the state of open source software is going to be in the coming years ...

<comment><USER85> I'd like to caution you about doing this. Look at Parse. Not owning the "underlying servers" your product runs on is a liability, not a benefit.

<comment><USER84> We did weigh the options for/against but went with Firebase because they got acquired by Google and the Founders (and Google) made public promises not to shut it down.

Again, we don't rely entirely on Firebase. There is always another database (like AWS Dynamodb or Google Cloud Datastore) in the picture ... but again all hosted in the cloud ... not much servers to manage for my team.

If Google and AWS shut down ... thats when the fit shits the fan :)

<comment><USER86> > If Google and AWS shut down

I would be more concerned about what happens if your account on Google or AWS is shut down - much more likely, and less notice if it were to occur.

</comment></comment></comment></comment><comment><USER87> Haven't played with it, but everyone about RethinkDB looks positive. Hopefully it will continue to develop in the open source community.

There are so many projects that really need attention to keep open source growing. I started looking at what I could do for IRCv3 projects recently because I'd really like to support an open source alternative to Slack.

</comment><comment><USER88> Quite a sad development. I always thought they would have found more success if they had adopted MongoDB's API (or similar).

<comment><USER57> Personally I'm really glad we didn't go that route. ReQL is an amazing, well thought out language. You could make the same argument about Mongo should have emulated SQL. In practice other factors dominate.

<comment><USER89> Mongo already had "won" the NoSQL battle. So if rethink had made it compatible with mongo's query language, I can imagine that when Mongo was getting all the bad-press many would have jumped their backend to Rethink, without having to worry about modifying their application.

Of course, this is with the benefit of looking back, but the parent's hypothesis has legs.

<comment> ivan-kleshnin What are you talking about man? There are tons of successful NoSQL databases with non-JSON query syntax. Neo4J, Redis... should I continue. I never missed this format using ReQL and it would be a bloat to support both in parallel.

</comment></comment></comment></comment><comment><USER90> This is really so sad. RethinkDB is top notch. Truly a great team.

</comment><comment><USER91> As a former employee at Rethink, I'm super sad to hear about this, but know that they are all great people capable of even more than what they have accomplished with this amazing database! Will continue to recommend RethinkDB ferociously to everyone I know and will always fondly look back at my time there!

</comment><comment><USER92> Never used RethinkDB, but this is the first time I've seen an announcement this written as "we are shutting down, the team is moving to Stripe" rather than "We've been acquired by Stripe! Nothing will change except our product will stop working in 30 days"

Much respect for the no-BS announcement.

</comment><comment><USER93> Why is there no "Pricing" section on their website? how were they making money? (if any)

<comment><USER36> Try the "Services" section. As far as I know they only offered commercial support and training. I'm not sure whether they also had a "dual licensing" model (i.e. allowing customers to give them money to get a copy of RethinkDB with a proprietary license instead of AGPL) but it's certainly not mentioned on the website.

<comment><USER93> hmm...dual licensing should really have been clearly advertized, together with corresponding commercial pricing. Most enterprise customers won't evaluate products that are on AGPL only, even for internal needs.

<comment><USER36> To be honest, I didn't realize it was AGPL until they shut down (though I have to admit I haven't used it in any real project and thus haven't really evaluated it too deeply).

My understanding would have been that AGPL means all code that interfaces with the database (i.e. all code that uses ReQL) must also be AGPL. That would have instantly disqualified RethinkDB for me (whether the understanding is right or not) and I'm sure I'm not the only one to think that way.

Considering even GPL-licensed software often prominently advertises commercial dual-licensing, this seems like a major oversight (if it wasn't for ideological reasons).

<comment><USER94> > My understanding would have been that AGPL means all code that interfaces > with the database (i.e. all code that uses ReQL) must also be AGPL.

The client drivers are licensed separately under the Apache license. Only the database server itself is AGPL. Read the last question on the rethinkdb.com FAQ: [https://rethinkdb.com/faq/](https://rethinkdb.com/faq/)

<comment><USER36> Oh, absolutely. That is why I said "intuition". It doesn't matter what the license _actually_ means. It only matters that it's a huge red flag that may prevent people from investigating further.

</comment></comment></comment></comment></comment></comment><comment><USER95> RethinkDB is an amazing product. I've had the pleasure of using it a few times in my projects and the experience has always been very smooth. I would recommend RethinkDB to anyone, and you guys should be very proud of your work.

I'm sad that all that excellent engineering hasn't translated into a profitable business model. Part of me wants to suggest you make a donation campaign, and I'd be happy to become a regular donor. But it's understandable and respectable that you guys want to move on to other ventures.

I've also used Stripe's API and their systems are also very good. I'm glad to hear you'll find a place with another solid engineering team and I wish you guys all the best.

</comment><comment><USER96> This is very sad to hear this looked like a real product.

Quite off-topic but has anyone managed to implement something similar to Changefeeds in MongoDB? RethinkDB sends both old data and new data and watching the oplog sounds like a bad idea.

<comment><USER57> That's what literally everyone does for changes on mongo, from Meteor to Firebase. There isn't another way

<comment><USER97> Honestly interested: how do you know Firebase works that way and do you have any links to more info about how Firebase works?

<comment><USER57> I talked with them a while back. It's possible now that they're at Google they've changed their back end to work without mongo or whatever, but at least pre-google, that's my understanding.

<comment><USER98> no, notifications have never worked through oplog watching. It's a custom application layer infront of persistence that sends the mutation transition to registered parties. The oplog is too coarse grained.

<comment><USER57> Ah, ok, I must have misremembered. Apologies

</comment></comment></comment></comment></comment></comment><comment><USER99> I have tinkered with RethinkDB a lot recently. It's the NoSQL DB (and the DB of any kind, I believe) that has the deepest focus on real-time features, that mixed up with Golang's concurrent model can support really powerful and highly scalable real-time apps.

But my question is, what are your thoughts on building more than a product but a business with RethinkDB? Will the support quality decrease? Will Stripe offer architectural consulting? Will developers be interested in learning ReQL?

</comment><comment><USER100> Since our startup is build entirely on Tornado + RethinkDB + Emberjs + Python , this is a huge blow.

But i do not worry , since this is announced many folks willing to support from community and many willing to contribute to RethinkDB in terms of both profit sharing and code steps up.

Also Stripe and Compose.io step up , to stand with RethinkDB .

I for one , a Startup Enterprenuer and Founder of Software Agency from Myanmar , Promise to share at least 5% of our profit on projects developed using RethinkDB to keep it Running .

</comment><comment><USER101> It is sad to see that making a living from development tools is becoming less and less an option.

Kudos to the RethinkDB team for trying, and giving us a very useful DB.

</comment><comment><USER102> Slava is awesome. Rethink is awesome. Hope Stripe realizes investing in Rethink dev could pay massive dividends in developer goodwill.

</comment><comment><USER103> I'm sad for this. I really liked rethinkdb and thought the potential for future development seemed really promising. They seemed to really know how to ship -- it's sad to imagine the momentum they had created fizzling out ... i would've liked to have seen what they would have came up with over the next couple of years ...

</comment><comment><USER104> Really sorry to hear it Slava. You guys were doing great work. At the end of the day, I think that open source has really killed pure database companies aside from the incumbents. We'll see where MongoDB ends up but they have the advantage that a support contract business model works when your product needs support.

</comment><comment><USER105> I love Rethink and Horizon. Are there great risks in continuing to use Rethink even if development has stopped?

<comment><USER106> Probably not. It's all open-source and they're trying to get a development community going around the project.

</comment></comment><comment><USER107> To be clear: As part of shutting down, you guys found new jobs as you could for employees? That's rad!

<comment><USER108> For the engineers, it seems... Were there any other employees?

<comment><USER107> Yeah, I realized a while later: Same report could be from a toxic situation: I got me and by buddies out, didn't care about the rest.

I didn't get that vibe from the article, tho.

</comment></comment></comment><comment><USER109> I've been working on a Clojure RethinkDB driver for about a year now, and I've always been incredibly impressed with the Rethink team. Their openness, friendliness, and helpfulness when asking questions has always been outstanding. You'll be sorely missed all.

</comment><comment><USER110> I never used it in production (lack of need, not a lack of interest), but I always enjoyed playing with RethinkDB. Really fantastic work - both under the hood and the presentation on top. Be proud of the work everyone did. Stripe is a great home to end up at!

</comment><comment><USER111> This is the most sad I've ever been for a software project folding. Good luck to the team.

</comment><comment><USER112> This is sad. Looking forward to the post-mortems. A question in the interim: Did rethink ever consider building a SaaS business around the product? What were the reasons against it? Were there (a lot of) customers asking for a hosted version?

</comment><comment><USER113> [https://github.com/rethinkdb/rethinkdb/commit/2cfc76a754ede7...](https://github.com/rethinkdb/rethinkdb/commit/2cfc76a754ede73d039884924b7c6ae91843ac6b) :(

</comment><comment><USER114> Wow, I've always used RethinkDB for toy DB stuff here and there, but nothing serious. I loved how well everything was put together, from the documentation to the homepage. Hopefully the project can live with OSS contributions.

</comment><comment><USER115> Core tech products are hard to sell. With so many passengers on big data boat - MemSQL / VoltDB / Postgres / DataStax / DataBricks / Cloudera / Horton many more.

Your sales force strength becomes critical.

Waiting for insider insights.

<comment><USER116> Not only your sales force, technology is also a big differentiator: all of the mentioned technologies are very different from one another. My bet is on MemSQL

</comment></comment><comment><USER117> I find it hard to trust HN users as I was about to adopt and migrate from MongoDB to rethinkDB based on consensus by HN user comments about it being undeniably superior, yet it was actually close to shutting down apparently.

<comment><USER118> Well... The consensus is that RethinkDB is technically superior (and much more pleasant to use), but unfortunately that doesn't prevent it from being in a hard position business-wise...

</comment></comment><comment><USER119> Just wanted to say good luck with everything to the team, and especially to neumino - you've personally helped me years ago on freenode writing some long ReQL queries when I first started experimenting with Rethink. :)

</comment><comment><USER120> I don't know what to think. I am angry and sad that my favorite db is going away?! On the other hand, I am trying to understand and be supportive of the team behind it, as I have huge respect for them and their work.

</comment><comment><USER121> Ive been teaching my siblings programming. It took them literally a day to learn rethinkDB.

That should say a lot about how amazing RethinkDB is. It's unfortunate to see this get shut down as RethinkDB is pretty easy to work with

</comment><comment><USER122> Looking forward to the more detailed writeups since I'd love to read why it wasn't possible to build a sustainable company around such an excellent product.

Good move by Stripe to pick up these fantastic engineers.

</comment><comment><USER123> I'm not familiar with RethinkDB - what was their monetization strategy?

<comment><USER124> Sell support contracts. Kind of similar to MongoDB's strategy, but they were too late to the party. Also the "support" open source business model doesn't always scale well and works better when the product quality and documentation isn't so first rate (like Rethinkdb's is).

<comment><USER125> I've always found that to be a perverse incentive model. I don't know how to do any better though. Maybe shaming companies that use OS projects heavily into donating? Not really sure how to scale that either.

<comment><USER126> I currently pay someone else to host a rethinkdb cluster. I'd rather pay rethinkdb.com to do that, but they didn't offer.

I am sure they considered it and figured it wasn't a good model for them. It is unfortunate that I have (with much pleasure) used rethinkdb in several projects, yet haven't had a chance to pay them for a service that would be useful to me.

<comment><USER36> As I understand it, running a SaaS business is a huge undertaking in itself, so doing that while maintaining an open source database can be daunting and -- like any business -- risky.

</comment></comment></comment></comment></comment><comment><USER127> Massive bummer - Slava and Mike and the team were super top-notch. RethinkDB will always be my goto to explain the delta between a great and a poor first experience for any dev tool.

</comment><comment><USER128> Best of luck guys! RethinkDB is still #1 to me :). Hopefully this ship keeps sailing!

</comment><comment><USER129> Sad news, but I Gotta Believe!

</comment><comment><USER130> Anyone has insights in firebase? I hope firebase will not get the same troubles.

</comment><comment><USER131> Looking at their website, they are being used be: * Nasa * Jive * wise.io, mediafly etc

Just another confirmation that many of those companies list all these big well-known 'customers'.. except they are just lying. Maybe someone in nasa downloaded rethinkdb once and they just listed them there?

<comment><USER94> If you'd scrolled another 10cm down the page, you would have seen the testimonial from NASA:

> At NASA, RethinkDB is radically simplifying how we provide real-time > services in support of Extra-Vehicular Activity. -- Collin Estes, Director > of Software Engineering, Chief Architect - MRI Technologies Inc. - NASA / > ESOC

My guess is that RethinkDB failed financially because they had a lot of users but not a lot of customers. Most users weren't buying support contracts.

<comment><USER131> Sorry, how is this possible? Lots of users. Lots of value. But no money? Makes no sense.

<comment><USER132> Consider the price of air.

</comment></comment></comment></comment><comment><USER133> This is depressing :/ I'm hoping RethinkDB will have an afterlife.

</comment><comment><USER134> Ok I'm going to go with: Rethink is dead, long live Rethink!

</comment><comment><USER135> I loved RethinkDB. I'm sad.

</comment><comment><USER136> I'm glad they are joining Stripe, both of them great and cool companies.

</comment><comment><USER137> I await to hear postmortem on what went wrong

</comment><comment><USER138> this seems to me kind of acquihire

</comment><comment><USER139> Удачи)

</comment><comment><USER140> My greatest condolences to you guys. I have met with Slava a couple times, and with Mike several. They are incredibly down to earth and I felt they were very important to contributing to the democratization and humanization of databases (an otherwise unfortunately very vicious and elitist industry).

So what is next? I need to strongly remind people that both Mozilla Firefox and Blender were Open Source projects that survived their parent companies. This is not a death statement, and very easily could be a rebirth of Rethink.

Despite working on a competing database, I want to take a moment to explain why RethinkDB is the best in its chosen niche, by comparing it to other options out there:

\- MongoDB. You won't get realtime updates and relational documents if you use MongoDB compared to RethinkDB.

\- MySQL/Postgres. Rethink's awesome ReQL query language is a joy to work with compared to standard SQL. Without Rethink, you'll be missing document storage and live queries.

\- gunDB. Our model is Master-Master, which while we think is great, it fundamentally restricts you from building Strongly Consistent systems, like banking apps, etc. RethinkDB is the only realtime updating Master-Slave system out there. They clearly win here.

\- Redis. RethinkDB still has amazing speed and performance, but offers so much more than Redis by itself can.

\- Hadoop. I know less here, but I've heard that RethinkDB has an amazing query optimization engine. Automatically taking your query and sharding it out across the distributed storage system.

RethinkDB is a winner in these technical aspects and fits for a very well defined problem. I encourage people to still use it and contribute to it if their business matches that. Don't let news like this deter you, or else we would have lost gems like FireFox and Blender.

Best regards to you guys, you are awesome.

</comment><comment><USER141> How long have the Mets fans been doing that hammer cheer?

Because it looks eerily similar to another arm swinging chant that another NL East team does.

<comment><USER142> Watch out for the Braves next year, won 20 of last 30 and 12 of last 14.

</comment></comment><comment> saiko-chriskun ugh.

</comment><comment><USER143> Time to rethink RethinkDB.

</comment><comment><USER144> :(

</comment><comment><USER145> People saying they "failed" \-- I disagree. It is VERY hard to sell products that are essentially free. Its largely down network effects and luck or having an _in_ with the good old' boys network. Its not more popular than every other db..so what.. And the best systems are rarely the most popular. Btw popularity is not merit.

But they made a badass database that relatively speaking IS very popular. So thats not failing. Thats winning.

Also maybe these people are being more honest and responsible than some startups that keep flushing millions knowing they are unlikely to ever have a positive cash flow.

Plus getting acquired by some company like Stripe, realistically, whether there was some big exit or not, is the dream of many people.

So given the reality of the startup scene to say they 'failed' is a joke.

<comment><USER36> I agree in so far as that RethinkDB didn't fail as an open source project. RethinkDB is a great piece of technology with an even greater community.

But RethinkDB evidently failed as a company. The announcement indicates we might learn more about how it failed specifically but at this point it seems like it simply didn't achieve one of two things: become cashflow positive or gain another investment/acquisition.

It also seems the open source project will live on.</comment></comment>


Android creator Andy Rubin is making a free dashcam - <AUTHOR> http://www.engadget.com/2016/02/09/andy-rubin-works-on-free-dashcam/ <comment><USER2> The paranoid in me says we don't need yet another surveillance channel. But the public loves "free" stuff enough that this just might be successful.</comment>


UARS satellite: New images of tumbling spacecraft - <AUTHOR> http://legault.perso.sfr.fr/uars_110915.html <comment><USER2> I can't decide if this is a dumb question or not, but why does something like the ISS always face the surface of the Earth in the same direction? For example:

[http://www.youtube.com/watch?feature=player_embedded&v=7...](http://www.youtube.com/watch?feature=player_embedded&v=74mhQyuyELQ)

I know the reason the moon is always facing the same face toward us is because it has locked its own rotational rate to match it orbital rate due to "tidal like" forces acting back on the moon.

So, maybe I just answered my own question, I guess they purposefully added a rotational component to the ISS so that it is always facing the surface as it orbits? Why do that instead of staying fixed according to the stars? Maybe that is too disorienting for the astronauts.

<comment><USER3> Control Moment Gyroscopes:

[http://en.wikipedia.org/wiki/Control_moment_gyroscope#Intern...](http://en.wikipedia.org/wiki/Control_moment_gyroscope#International_Space_Station)

</comment></comment><comment><USER4> Is there a page somewhere where I can see when it will be visible in certain regions of the world?

<comment><USER5> <http://www.nasa.gov/mission_pages/uars/index.html>

<http://www.youtube.com/watch?v=-hRsgdyFQjM>

6.5 tons of equipment burning into the atmosphere should be visible at the naked eye even in daylight.

<comment><USER6> <http://heavens-above.com/> has satellite listings, too...

(Maybe not so reliable for a falling satellite I guess, though).

</comment></comment></comment><comment><USER7> aliens

</comment><comment><USER8> The sky is falling.</comment>


Facebook ought to ditch its public offering - <AUTHOR> http://www.ft.com/intl/cms/s/0/cd03c402-4dba-11e1-a66e-00144feabdc0.html#axzz1lG2xKYNe

<comment><USER2> Behind mandatory registration.

<comment><AUTHOR> Damn. I sailed through without a problem. May be because I hit the link via google news and I think if google is the referrer, the FT don't force registration. Shame because it's a good read.</comment></comment>


Ask HN: Had an increase of 60k likes on my fan page and most of them are fake - <AUTHOR>

Hi Guys,
Couldn't find any helpful documentation on FB and have tried contacting their support team but, without answer.
As of the 1st of June, I had 1500 organic likes on my Fan Page. Getting a few likes every day. As of the last few weeks, that number has climbed to 65k. From the looks of it, the people are from India, Indonesia etc... (my page is very localised to my city).
I want to remove these extra likes and don't know how. Does anybody know what this is about? <comment><USER2> They belong to a swarm of accounts that sell likes. So they are liking your page to make the likes that they were purchased for look more legitimate.</comment>


The world simply can't afford China-style coronavirus lockdowns - <AUTHOR> https://www.scmp.com/comment/opinion/article/3077055/world-simply-cant-afford-china-style-coronavirus-lockdowns <comment><USER2> My next project: 1) gather SEC income statements sorted by industry, sector, and year. 2) gather death statistics, sorted by cause and year. 3) create a model of deaths as a function of parts of the economy shutting down. 4) create a model of Coronavirus transmission as a function of segments of the economy shutting down. 5) make an apples to apples comparison between the costs of quarantine to the costs of no quarantine.

Hacker news will be hearing from me soon.

</comment><comment><USER3> We can't afford not to have lockdowns. The forcing function will become more and more evident...</comment>


A classless class—on using more classes in your HTML - <AUTHOR> http://csswizardry.com/2012/10/a-classless-class-on-using-more-classes-in-your-html/

<comment><USER2> Genuine question, what's the difference between semantic markup and OOCSS. My understanding of semantic markup is that you only use classes when you're referring to trees of markup e.g. .section p{} as opposed to just p{}. What's the practical difference when using OOCSS?

<comment><USER3> They're different approaches to managing the connection between presentation and the page. Mainly it's whether you're handling changes to the presentation primarily through the CSS or through the HTML.

-Semantic markup stresses using classes on DOM elements that describe what they are rather than how they look. Example: instead of using span class="red", use span class="error", to avoid the ridiculousness of having .red {color:blue;} in your CSS if you want to change it.

\- OOCSS is an attempt to use reusable components for presentation to manage the complexity of maintaining large amounts of stylesheets. In the previous example, you'd probably still run into exceptions - if you had one error that you wanted to be blue, but keep the rest red, you'd have to add more specificity to do it: .thisoneexception .error {color: blue;} Now you're dealing with specificity wars (<http://numiko.com/labs/2011/css-specificity- wars/>) and maintainability issues.

The benefit of OOCSS is in simplifying things to make your life easier by reusing code. For example Nicole Sullivan's media object ([http://www.stubbornella.org/content/2010/06/25/the-media- obj...](http://www.stubbornella.org/content/2010/06/25/the-media-object-saves- hundreds-of-lines-of-code/)) This is a type of layout that shows up all over the web. Instead of rewriting the css to achieve that layout for every individual semantic element, you just use those classes to get that layout.

A downside to this approach is that presentational info tends to creep into your HTML, which can get awkward. But at the end of the day, you have to tie the presentation with the DOM somehow. There are pluses and minuses to both approaches.</comment></comment>


Applying machine learning to the freight industry - <AUTHOR> http://blog.traintracks.io/data-culture-interview-kontainers/ <comment><USER2> Applying machine learning to any industry.

Here's a checklist that I just came up with:

      Step 1. Pick an industry. Any industry.
      Step 2. Find a problem that can be formulated as a function.
      Step 3. Is that function non-trivial? If not, go back to Step 1.
      Step 4. List all the input parameters for that function.
      Step 5. Is any of them accurately observable? If not, focus on that parameter and go back to Step 2.
      Step 6. Apply some ML to it. (Choice of the tech wouldn't matter that much.)
      Step 7. Had some improvement?

<comment><USER3> Now write a startup AI and raise your millions

<comment><USER4> To be fair, that seems a pretty accurate list. You will find yourself stuck in step two quite often.

<comment><USER5> Wrong. What about an industry where data is either hard or unethical to gather such as the medical industry?

<comment><USER4> Isn't that step 5? I took that to be: "Do you have all of the data necessary to formulate an answer? If not, focus on solving that problem or eliminate the need for the data you can't get by going back to step two and picking a formula that doesn't need the data you can't get."

</comment></comment></comment></comment></comment><comment><USER6> A lot of the statements made in the article are rather questionable.

Applying "digital learning" to saying schedules and saying that is a data culture? If the input is bad, improve the input of the data. What is stated regarding outdated schedules highly depends on the company. Some companies might be bad, but why try to improve bad data?

It seems more that they don't know about the different schedules you usually have. One is the proforma. It tells you that there should be a weekly call on some weekday at some time. But then for practical purposes you look at the estimated times the vessel arrives.

In the article they pretend that a vessel suddenly departed a day early without anyone knowing. That's really not how that works. Cargo needs to be delivered to the terminal. You're not going to silently advance such a vessel and not be able to fill it up with cargo. Cargo which then stands at the terminal for 6-7 days and causing problems for the next call (too much cargo).

Then this one: > We're still pretty much the only company that tries digitalization of an end to end shipment.

What about [https://www.inttra.com/](https://www.inttra.com/) ?

That the shipping industry as a whole is very inefficient is known. But it still seems like a lot of statements made in this article are rather questionable.

<comment><USER7> > We're still pretty much the only company that tries digitalization of an end > to end shipment.

They are totally BS'ing there:

Diversified Transportation Services (DTS) has had digital end-to-end shipping since at least 2009. That platform has made them a fortune. (Source: I worked with them for 5+ years and selected them as our preferred 3PL vendor because it was all web-based from end-to-end):

[http://www.dtsone.com/our-technology/](http://www.dtsone.com/our-technology/)

<comment><USER8> So I went to the site and you can't make a booking there. So you have to email in for a quote. Where is the digitalization there?

</comment></comment></comment><comment><USER9> Flexport, which is a YC company, seems to be doing the same thing. Their guy is on here regularly and should have something to say about this.

Flexport, though, is an real freight forwarder. They take responsibility for end to end delivery as a common carrier. If you shipped through Flexport and it's stuck on a bankrupt Hanjin ship somewhere, it's Flexport's job to get it unstuck. Does Kontainer do that? They seem to be more like a price and schedule comparison site / lead generation system.

<comment><USER10> Xeneta does it as well. They published an article a few months ago explaining how they use NLP to help their sales team with lead qualification: [https://medium.com/xeneta/boosting-sales-with-machine- learni...](https://medium.com/xeneta/boosting-sales-with-machine-learning- fbcf2e618be3#.we0iu9t6i)

<comment><USER8> Xeneta is more on data analytics of freight rates and doesn't allow bookings. So not a competitor to Kontainers

</comment></comment></comment><comment><USER11> That was an interesting article. In the past I have worked with bulk commodity shipping (i.e ore + coal) rather than commercial freight. In my case the company owned the berth the and the unloaders. So it was a similar but slightly different problem space. The biggest issue was obtaining a reliable schedule from the ships. When I worked there the harbor master communicated directly with ships captain about expected arrival date etc and it was all stored on spreadsheets.

There is probably room in this space for some ML smarts similar to what is in the article (extrapolating arrival times based on weather, ships condition, Panama Canal data etc.) and forecasting ahead for a more accurate arrival date.

The benefit for doing this is because of something called "Demurrage" which comes into play. Demmurage is a special type of charge that is incurred when there are unloading delays. It wasn't unheard of because of the absence of accurate scheduling for multiple ships to arrive within close proximity of each other. When this happened the ships would be forced to lined up outside of the harbor either waiting for tug boat availability to tow them into berth or waiting for actual space on the berth. They'd be sitting there racking up demurrage charges. There is a pay off in optimising berth scheduling, whether its large enough to build a company around I'm not sure...

<comment><USER12> > There is a pay off in optimising berth scheduling, whether its large enough > to build a company around I'm not sure...

It's a small but quite lucrative market. We're talking about less than 10 players for 10M+ contracts.

Do you know if demurrage charges are applied for vessels sitting offshore as storage?

<comment><USER13> As I understand it the demurrage charges apply when a third party doesn't receive the goods (or the use of the ship) by the expected time, so presumably isn't applied if the ship is intended to hold the goods offshore over a particular period.

There's a big market in scheduling and monitoring systems for commercial aviation but the economics are very different (delays equal very expensive fuel burn and have safety and environmental implications, schedules are tight and turnaround and connection times measured in minutes, time slots at certain airports are multimillion dollar tradeable assets) as is the level of regulation.

</comment></comment></comment><comment><USER14> What happened to the gold standard of logistics industry, which is Operations Research (OR)?

OR has essentially been customized to this domain long before generalized ML appeared on the scene - I can't imagine some of-the-self sci-kit learn libraries have improved on this much.

<comment><USER5> I think OR only works if the models are linear.

<comment><USER15> Huh! what ?

I think you are thinking of linear programming, and OR is way more than that. OR is the first chapter of an OR book.

<comment><USER15> Too late to edit, meant LP is the first chapter in an OR book.

</comment></comment></comment></comment><comment><USER16> Freight Industry is not that simple, though. In some ports, it envolves a huge infrastructure, country laws (inspections from health authorities, customs and even navy sometimes) and so on.

In that case, 20 calls are just the beginning. You can't ship a matchbox without hiring a company to do the (sometimes dirty) job for you. Data culture worth nothing in places like that.

<comment><USER7> Spot on. I love ML, I love the potential. But as a former logistics systems manager I would NEVER trust anything that applied "fuzzy" logic to the already frangible processes that are involved in working in (and depending on) international logistics and 3PL.

Customs brokerage is the big thing for me - there is no substitute for a great customs brokerage house - those guys and gals work magic and have contacts at every level in even the most obscure countries in the world.

</comment></comment><comment><USER17> A potential problem with this business model is that small-medium enterprises who lack logistics departments (target market for the product) tend to buy their goods Delivered Duty Paid, which means the seller arranges the transportation. If the seller is in China, they are _required by law_ to appoint a licensed freight forwarder agent to place the ocean booking for them. So you really cannot play ball in the eastbound transpacific trade until you have a licensed operation in the PRC--which requires forming a Joint Venture corporation with a Chinese company.

And it sounds like this company wants to streamline online booking, SLI and B/L creation and shipment tracking, but I don't think I saw anything about handling ordering of or payment for the goods themselves, so it's still up to the buyer and seller to arrange purchase orders, commercial invoices, letters of credit, etc.

</comment><comment><USER18> "We're still pretty much the only company that tries digitalization of an end to end shipment."

Bullshit

</comment><comment><USER19> HN interface comment: This list is displayed badly in Android Chrome. I get an invisible 24-char-wide horizontally scrolling box to see the items in. Definitely suboptimal for reading. fovc's comment below in this thread also demonstrates this issue in the list.

Does anyone else have this issue?

<comment><USER20> Why not get one of the hacker news reader apps? I use one called 'Materialistic'.

<comment><USER21> Why should we need an app to read a website?

<comment><USER20> We shouldn't. But one is free to make that choice, while awaiting for the possible improvements that would resolve the website issues praguing them.

<comment><USER20> *plaguing</comment></comment></comment></comment></comment>