Facebook may lose 80% of users by 2017, say Princeton researchers - <AUTHOR> http://www.theguardian.com/technology/2014/jan/22/facebook-princeton-researchers-infectious-disease <comment><USER2> So the argument is:

\- Facebook's growth curve looks like that of an infectious disease

and

\- "Ideas, like diseases, have been shown to spread infectiously between people before eventually dying out, and have been successfully described with epidemiological models,"

therefore

\- Facebook will die out as per the epidemiological model.

Allow me to respond to that in a manner appropriate to the level of rigorousness of the argument:

Bullshit. Shoddy analogy at best, wilfully stupid attention whoring at worst.

<comment><USER3> Why do you believe this analogy will not apply to Facebook?

Social media is called 'viral' for a reason: because its spread is apparently analogous to infectious disease. This analogy certainly does seem to apply to other memes and social networks of the past - why would Facebook be an exception?

<comment><USER4> The argument isn't that it _won 't_ apply to Facebook. Rather, the assertion that the analogy _will_ apply is unscientific. It is an assertion of the form: A and B have behaved the same so far. Thus, A and B are of the same nature, and will continue to behave the same indefinitely--an improperly drawn conclusion

"Viral" is just a word. The fact that we have repurposed it to refer to electronic media does not magically impart to electronic media the properties of biological viruses.

<comment><USER3> The conclusive headline (use of the word _will_ ) is the Guardian's editorial decision, not used by the scientists, if that's the main objection.

The article has a more measured statement: "Extrapolating the best fit model into the future suggests that Facebook will undergo a rapid decline in the coming years, losing 80% of its peak user base between 2015 and 2017."

Observing common network effects and using it to make predictions seems like valid scienfitic research to me. The hypothesis may or may not be correct, but it's a (very) testable and falsifiable hypothesis. The science is good.

[http://arxiv.org/pdf/1401.4208v1.pdf](http://arxiv.org/pdf/1401.4208v1.pdf)

 _Edited to add_ \- jarrett: I accept your point that the research could be more thorough; it's a shame only Myspace data appears to have been used. However, I think this is a valid thread of research and the word 'bullshit' was unwarranted.

<comment><USER4> Yes, it is a testable and falsifiable hypothesis. So is "George Washington will be elected President in 2016." Nonetheless, we can fairly argue that both hypotheses lack a firm grounding in the evidence.

> Observing common network effects and using it to make predictions seems like > valid scienfitic research to me.

It's valid I suppose, but purely speculative at this point. It would be much more meaningful if a study demonstrated that social networks _almost always_ behave like viruses in both their growth and decline, than to simply observe a similarity and growth and extrapolate the decline.

<comment><USER5> >Nonetheless, we can fairly argue that both hypotheses lack a firm grounding in the evidence.

Then make that argument. Because just saying "I don't like it" over and over is not making any such argument.

<comment><USER4> Which of the above posts is "just saying 'I don't like it' over and over?" This thread is a discussion of the structure of a certain argument. To recap:

swombat3 explains why he thinks Princeton's method of reasoning by analogy is flawed. ronaldx disagrees, asking why the analogy wouldn't be applicable. I reply that, in my view, ronaldx has disagreed with a different point than the one swombat3 made. ronaldx replies in defense of Princeton's claims, citing the testability and falsifiability of the hypothesis. I reply that there is little evidence for the hypothesis, despite its testability and falsifiability.

So, all participants have advanced specific, well-articulated arguments throughout. I don't see anything similar to "I don't like it."

Humorously, this discussion has become rather meta by now. We're now arguing about the form of argumentation used in a discussion that was itself about forms of argumentation. It's like we're living out an LSAT question. I find that sort of conversation hard to resist, so I suppose I'm just rising to the bait.

<comment><USER6> >swombat3 explains why he thinks Princeton's method of reasoning by analogy is flawed. ronaldx disagrees, asking why the analogy wouldn't be applicable. I reply that, in my view, ronaldx has disagreed with a different point than the one swombat3 made. ronaldx replies in defense of Princeton's claims, citing the testability and falsifiability of the hypothesis. I reply that there is little evidence for the hypothesis, despite its testability and falsifiability.

There's not an argument in this entire paragraph. Is it meant to be a list of pointers to arguments?

Neither "X is(n't) flawed," "X is(n't) applicable," nor "X has (very little/lots of) evidence" is an argument.

An argument for falsifiability is an argument that the statement of a particular belief has content and is not just a trick of language, but can't be said to be an argument for or against that particular belief.

<comment><USER4> > There's not an argument in this entire paragraph. Is it meant to be a list > of pointers to arguments?

As stated, it's a recap, or summary, of arguments previously made. So no, the arguments themselves are not contained or fully expressed in the summary. In this sense you're correct that it's a list of pointers to arguments--arguments which can be readily located earlier in the same thread.

> Neither "X is(n't) flawed," "X is(n't) applicable," nor "X has (very > little/lots of) evidence" is an argument.

Correct. Those are conclusions. The arguments presented in support of those conclusions are available earlier in the thread.

> An argument for falsifiability is an argument that the statement of a > particular belief has content and is not just a trick of language, but can't > be said to be an argument for or against that particular belief.

Agreed. That's why I said the falsifiability of Princeton's hypothesis was not an argument for the _likelihood_ of that hypothesis. I think we're on the same page about this.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> There are so many people that are saying this can't happen for a variety of reasons, at least that is the common reaction I am seeing. I think this type of denial is misplaced.

That search traffic trend (assuming it is accurate and not some type of bug) is very worrisome, incredibly worrisome.

I did a comparison of Facebook, Yahoo and Google search trends in Google Trends. Neither Yahoo or Google saw the same type of decreases, and Google has tons of mobile accesses too, especially since it is built into the UI of Android phones, no need to search for Google.

[http://www.google.ca/trends/explore?hl=en- US&q=/m/02y1vz,+/m...](http://www.google.ca/trends/explore?hl=en- US&q=/m/02y1vz,+/m/045c7b,+/m/019rl6&cmpt=q&content=1)

I don't think one needs to use a fancy disease model parallel in order to predict doom for Facebook, you just need to look at those search traffic trends.

I think this article is generally right in the broad strokes if something doesn't change -- can there be a Facebook game changer here?

<comment><USER8> Navigational searches on Google from users going to Facebook are being displaced by direct access to the FB app on their smartphones, which is not measured in Google Trends.

That, and the assumption that FB is equivalent to MySpace circa 2006, make me completely dismiss their claim.

<comment><USER7> That is why I did the comparison with Google, Google is built into the UI of Android and it is also integrated into the Omnibar of Chrome (or whatever it is called) so there is also a displacement of search traffic too on Google, but it didn't see those declines. Now this isn't a perfect control, but it is something...

<comment><USER8> FB habits are very different from Google or Yahoo. Last earnings call, FB said that half of their daily users are mobile _only_. About 25% of Google searches are mobile.

[http://techcrunch.com/2013/10/30/nearly-half-48-of-daily- use...](http://techcrunch.com/2013/10/30/nearly-half-48-of-daily-users-of- facebook-are-now-mobile-only-says-ceo-zuckerberg/) [http://www.businessinsider.com/mobile-sends-a-quarter-of- sea...](http://www.businessinsider.com/mobile-sends-a-quarter-of-search- traffic-2013-7)

</comment></comment></comment></comment><comment><USER9> The thing about infectious diseases (the model they are using) are that the virii just die and that's that. What is not clear is where 80% of Facebook's users would _be_ in 2017. Google+ ? Somehow I don't think so. This would be much more compelling for me if there was some Facebook alternative that was growing rapidly in the 14 - 24 demographic but the Princeton guys don't mention one, and I've not come across it yet. Its hard for me to believe that 80% of Facebook's users will stop using it and go back to no equivalent.

<comment><USER10> > Its hard for me to believe that 80% of Facebook's users will stop using it > and go back to no equivalent.

Really? Why? Who's to say that "social media" (at least in the sense of a unified platform with a real name) wasn't a fad?

Plenty of people are moving to a more fragmented internet life, with personal messages on Snapchat, photos on Pinterest, discussion on Reddit, etc.

<comment><USER11> Case in point: in the 1990s, portals were _big_ , and every popular website wanted to be a portal. Likewise, between 2006 and now, most popular websites integrate social features.

What people seek in Facebook, they'll start finding in more directed services. Facebook was made for a world where smartphones and affordable or free fast mobile internet access was rare. A shrunk version of the regular web version can be enough for adults who are already used to Facebook, but teenagers and children will flock to user experiences that explore the advantages and idiosyncrasies of smartphones.

Maybe Facebook the company will own some of these new services and interface ideas, but Facebook the old timeline/friends/profile service will get obscured by the new, shiny, more intimate new services.

<comment><USER12> Agree! Indeed, the comparaison with portals springs to the mind. While the amount of items (links, people, services, cultural niches) available increases, the need for more specialised and fragmented avenues of consumption increases. It's not difficult to imagine a scenario when one can pick and mix completely their online experience and still find their their social connections across different platforms, with the use of some meta tool, like an OpenId that also exposes the patterns of activities of one's friends.

As a purely empirical, nonrepresentative sample, I can see that most of my friends on Facebook are fairly quiet nowadays and my own account is virtually dead. It's still quite useful to have a FB a/c in order to authenticate on other apps; maybe FB will transforms itself into the aforementioned meta- tool...? Until it's superseded by a more specialised one...

</comment></comment></comment></comment><comment><USER13> For such a bold claim, I'm not really impressed with the model. Basically, the authors take the well-known SIR model [1] (susceptible -> infectious -> removed) for simple modeling of infectious diseases and modify its removal term to be infectious as well (rather than the infected population just decaying exponentially).

The big problem I have with their model is that the population flow is still one-directional, so ANY infection modeled with these equations will eventually go to zero. There is no term in the equations to account for social adhesion that would prevent people from leaving, and there is no pressure for people who have left Facebook to join again. The authors have validated their model by curve-fitting it against MySpace's decline after the fact, so there's no real prediction here.

It's an interesting model, but take any predictions based on it with a grain of salt.

For anyone interested in reading on similar subjects, here's a paper I co- wrote in which we incorporate a reinfection term into the SIR model and use it to model viral memes [2,3].

[1] [http://en.wikipedia.org/wiki/Compartmental_models_in_epidemi...](http://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#The_SIR_model)

[2] [http://www.sciencedirect.com/science/article/pii/S0307904X11...](http://www.sciencedirect.com/science/article/pii/S0307904X11002824)

[3] [http://stash.synchroverge.com/files/viral_memetic_model.pdf](http://stash.synchroverge.com/files/viral_memetic_model.pdf)

</comment><comment><USER14> Looks like this thread was killed by the flamewar detector and then resurrected? Or was it flagged? It troubles me when conversations on HN are just "disappeared" like that.

For those who didn't notice: this article disappeared from the front page, and another related submission ([https://news.ycombinator.com/item?id=7105451](https://news.ycombinator.com/item?id=7105451)) eventually rose to the front page, where I commented that this was strange and linked to my post on the matter ([https://news.ycombinator.com/item?id=7105414](https://news.ycombinator.com/item?id=7105414)). The newer submission was then killed and this article was resurrected. My post was also briefly killed, though it was brought back with a reduced rank. Not sure what happened, but it's all a bit confusing.

</comment><comment><USER15> Previous discussion from a different report of the same new: [https://news.ycombinator.com/item?id=7104904](https://news.ycombinator.com/item?id=7104904) (19 points, 3 hours ago, 18 comments)

The first comment is long and interesting: " _Um, folks, this is a non-peer reviewed paper written by some Princeton students. [...]_ " [https://news.ycombinator.com/item?id=7103987](https://news.ycombinator.com/item?id=7103987)

</comment><comment><USER16> Facebook is way more integrated into everything than MySpace ever was. This is not just a post pictures and sell music kind of place (although it certainly is a big part), this is everything from hardcore socialresearch platform to businesses making their entire living off the platform to entertainment and so on.

The thing with Facebook is that it's not for the youngest people anymore it's for those who used to be young (+25)

And so naturally kids aged 17 doesn't want to be were their parents and older siblings are hanging out. That does not mean that FB those on FB right now will drop out if anything I think it will grow.

<comment><USER17> I think it's dead man walking, especially with an unsustainable revenue base.

<comment><USER16> Care to elaborate?

<comment><USER18> their price implying they'll have 150% of all advertising dollars spent in any form. Or something roughly like that.

Doesn't mean its dropping to zero, just astoundingly overvalued.

</comment></comment></comment></comment><comment><USER19> There seems to be a call here for a better-quality top comment. I may not succeed in providing one, but I will try. [Pauses to finish reading article.]

"John Cannarella and Joshua Spechler, from the US university's mechanical and aerospace engineering department, have based their prediction on the number of times Facebook is typed into Google as a search term."

That's a convenient methodology, but of course it's a methodology that cannot be applied to anything before the availability of Google search data, so it doesn't even provide a model for explaining why Google supplanted AltaVista. (Hint: even at its healthiest, I don't think most users of AltaVista found AltaVista by doing a Google search first.)

"They tested various equations against the lifespan of Myspace, before applying them to Facebook."

Myspace, of course, is the classic example of a social networking site that once looked unstoppable, until it pretty much died. But data-fitting to just one data set is probably not enough model testing for making a prediction about a different social networking site.

"But Facebook's chief financial officer David Ebersman admitted on an earnings call with analysts that during the previous three months: 'We did see a decrease in daily users, specifically among younger teens.'"

Now we're talking about some meaningful data that actually pertains directly to Facebook. If Facebook corporate officers are concerned about a trend, maybe that trend is really meaningful to Facebook's business prospects.

"Investors do not appear to be heading for the exit just yet. Facebook's share price reached record highs this month, valuing founder Mark Zuckerberg's company at $142bn."

Well, that's the nub of the issue for anyone who buys shares of Facebook stock. If it still looks like holding Facebook stock allows a profitable exit, maybe there is nothing to worry about here (at least for investors).

The article engages in further speculation about Facebook making a lot of money in the future. That could happen. My prediction about Facebook stands: "Facebook will go the way of AOL, still being a factor in the industry years from now, but also serving as an example of a company that could never monetize up to the level of the hype surrounding it. I used to see friends on AOL. I never felt an obligation to help AOL monetize just because of that. Networks are a dime a dozen. Right now, Facebook is a very convenient network, and I like it. I do not predict that Facebook will make a lot of money because of users like me."

I could be proven wrong, but that's what I think the future of Facebook holds. I admit my methodology is just about entirely drawing an analogy with AOL, which I used a lot back in the day.

<comment><USER20> _data-fitting to just one data set is probably not enough model testing for making a prediction about a different social networking site._

I've watched the lifecycles of a LOT of social sites, from the beginning days of BBSs. Lots of "but _this_ one is _different_ " sites. They have _all_ gone thru pretty much the same lifecycle ending in stagnation & abandonment around 7 years after starting. Some of them (CompuServe, AOL, MySpace, others which were just as big and even more forgotten) took the social tech world by storm, were poised to take over the world, and garnered lots of investment because they were so darned unstoppable. Most users got bored and moved on. Like Zaphod Beeblebrox, they're dead - they just haven't stopped moving yet. ALL OF THEM.

And Facebook shows absolutely no meaningful differentiation from that pattern.

(I want to say "now get off my lawn", but many may miss the intended humor.)

<comment><USER21> Well Facebook is 10 years old next month and still growing. Thats a pretty meaningful differentiation from the pattern.

<comment><USER22> All the other social networks were growing right up until they didn't. They had a similar percentage of the online world.

<comment><USER23> Right, and Facebook will continue to grow until it doesn't, but that wasn't the point he was responding to:

> And Facebook shows absolutely no meaningful differentiation from that > pattern.

The implication of this claim is that 10 years and growing is not meaningfully different from 7 years and stagnant.

</comment></comment></comment></comment></comment><comment><USER24> Speaking only anecdotally, I notice that up until a few years ago, it was common among my friends and acquaintances to _join_ Facebook. Now the trend seems to be to _leave_ Facebook. Not in great numbers, just here and there, and more than seem to be signing up.

<comment><USER25> Well, there's obviously a saturation point - once almost everyone (in a given social circle) has joined, there are no more people left to join. At that point, those who haven't joined probably never will.

</comment></comment><comment><USER26> Using an SIR model seems a shady approach for this model. The model inherently assumes an amount of time where a person is "infectious." They modified the traditional SIR model, Also, they never allow migration from the Recovered class to the Susceptible class again, meaning that once a person stops using Facebook, they will never use it again. It seems to not take into account age buckets (where Facebook may be more "infectious" with different age groups).

</comment><comment><USER27> Here's the direct link to the Princeton study cited in the article:

[http://arxiv.org/pdf/1401.4208v1.pdf](http://arxiv.org/pdf/1401.4208v1.pdf)

</comment><comment><USER28> One thing I don't see mentioned but once or twice is that one of the reasons the model fits MySpace is BECAUSE Facebook came around and offered a better model. Where is the better model that people are going to be leaving Facebook for? Google+? Maybe, but unlikely.

I don't buy that people are going to quit using social media, or that it is a fad. I am looking for that thing that will displace Facebook, or disrupt their network effect, but right now, I don't see anything that would work for the 2-5 year projection they make in the paper. Still possible for something to pop up, of course, but haven't seen the potential replacement for Facebook yet.

<comment><USER29> > One thing I don't see mentioned but once or twice is that one of the reasons > the model fits MySpace is BECAUSE Facebook came around and offered a better > model.

Salient point. I can't name another popular one among older-than-teens in the same vein (twitter I feel is a different sort of thing), and while I sometimes don't really understand why I continue to use facebook, I definitely continue to use it.

</comment></comment><comment><USER30> Separately from the disease analogy, Facebook could exhibit reverse network effects on the way down. Brad Burnham & Fred Wilson have also talked about reverse network effects.

Here is a link from Fred talking about Single User Utility in a Network: [http://www.avc.com/a_vc/2012/12/single-user-utility-in-a- soc...](http://www.avc.com/a_vc/2012/12/single-user-utility-in-a-social- system.html)

\---

And, as I have said before, network effects help on the way up and hurt on the way down. If I get great single person utility from your service, it is less likely that I will follow my friends out of it when your service ends its stay on the hype cycle and the iTunes leaderboard

\---

Here are some background reading from the Social Network Researcher Danah Boyd:

[http://www.businessweek.com/magazine/content/11_27/b42350539...](http://www.businessweek.com/magazine/content/11_27/b4235053917570.htm)

\--- Social networks appear to be a very peculiar business—one in which companies might serially rise, fall, and disappear.

Danah Boyd, a senior researcher who studies social networks at Microsoft Research, attributes their instability to the way users can bind themselves by race and class, taste and aesthetics. Influential peers pull others in on the climb up—and signal to flee when it's time to get out. "The thing about user adoption and user departure is that it's not a steady flow," says Boyd. "Think of it as, you're knitting a beautiful scarf, and you're knitting and knitting, and you get a bigger and bigger scarf. Then someone pulls a loose thread at the bottom. And it all unravels….

"Facebook did a fantastic job of hiding behind the panic around Myspace and basically saying, 'We're totally safe,' " says Boyd. Myspace's inability to build an effective spam filter exacerbated the public impression that it was seedy. And that, says Boyd, contributed to an exodus of white, middle-class kids to the supposedly safer haven of Facebook—a movement she compares to the "white flight" from American cities in the second half of the 20th century. Myspace was becoming Detroit. \---

<comment><USER31> I think another close analogy is fashion.

</comment></comment><comment><USER32> "The 870 million people using Facebook via their smartphones each month could explain the drop in Google searches – those looking to log on are no longer doing so by typing the word Facebook into Google."

You think???

</comment><comment><USER33> I believe it. Facebook doesn't have anything going for it at this point other than the fact that everyone is on it. The problem is that it's becoming increasingly less interesting, to the point where it will be no more interesting than the Yellow Pages - everyone is in there, but nobody cares about opening it up anymore, except for once a year perhaps. At that point Facebook is dead, and it doesn't matter if people actually press that non- delete Delete button, or they stop logging in to it.

<comment><USER34> > Facebook doesn't have anything going for it at this point other than the > fact that everyone is on it.

Which is pretty huge. Even if I never shared anything and never casually browsed facebook, I still would not stop using it quite regularly, say a few times per week, for things like event planning, direct messaging people (Who keeps a list of friends' email addresses?).

So the question then becomes: if facebook is slowly turned into a contact book and event planner, does that mean the end of facebook? Does facebook require billions of people hitting millions of like buttons and farming animals on their walls in order to live?

<comment><USER35> > So the question then becomes: if facebook is slowly turned into a contact > book and event planner, does that mean the end of facebook? Does facebook > require billions of people hitting millions of like buttons and farming > animals on their walls in order to live?

It depends what you mean by 'end' but if this is all people do once there in the future, absolutely. There won't be enough daily active users to support advertising, which leads to a downward spiral. People may keep their accounts but Facebook's data (like any social network) is highly temporal - once you stop liking stuff they become more and more out of touch with ad targeting.

<comment><USER34> Exactly, but the reduced revenue is likely proportional to reduced operating costs. It will be the white-dwarf end of Facebook, but it would never die until someone creates a feasible replacement. Even at a fraction of its current size, being "just" everyone's contact book for one billion users is still quite a big deal.

So it's a definition of when Facebook is "dead" or "gone". It will never go away entirely.

</comment></comment></comment></comment><comment><USER36> Thinking about it, Facebook has a few things going for it. It's become an important communication channel outside of immediate family and Best friends. Collecting email addresses across multiple web mail accounts, that's a chore. Facebook has made messaging people easy. That convenience has got staying power, especially as in regards to mobile communication.

Teens aren't interested in Facebook anymore? Doesn't matter, they have no money to spend.

The sweet spot is advertising to older people with jobs.

The balance they need to find is the amount of directed advertising they can force on a user, without making them abandon FB... or just use it strictly as a messaging tool.

Scare off users from reading/liking/posting items in their feed, lose the other revenue stream: mining and selling social trend data.

<comment><USER37>
       Teens aren't interested in Facebook anymore? Doesn't matter, they have no money to spend.

Sure they do. They spend their parents' money quite well. Being only half-way facetious. It's what they spend it on. Newest gadgets. Clothes. Entertainment (iTunes or streaming music/tv shows/movies).

</comment></comment><comment><USER24> Facebook's appeal is largely casual entertainment. I say largely because there are some very practical features in the platform, like photo sharing and event planning/invitation. But it seems to me the bulk of its use is simply sharing links and anecdotes. Once the novelty of the medium wears off, people will look for the next entertaining fix.

I'm not sure how different it is from massively popular TV series of decades past, such as MASH or Dallas, where millions of people tuned in every week to see what would happen next. Eventually, all series die out. In the case of network TV, the medium itself, "what happened next" was cable TV, and then the internet.

I don't doubt it will be the same for Facebook (the product, not the company).

<comment><USER38> > Facebook's appeal is largely casual entertainment.

I don't know if that's truly accurate, at least among my crowd (a few years out of undergrad, who mostly joined Facebook in late high school).

The use of facebook for casual entertainment has largely faded. It was new and novel once, and now there are so many other forms of entertainment out there that for that purpose we could drop facebook in a second.

We (specifically my friends, I don't want to generalize to everyone in my demographic) use it because its a centralized way to stay connected. For the most part, my high school friends scattered all over the country when we graduated high school, and then my college friends did the same thing. Facebook's prime utility at this point is that we want to keep up to date on what those people are doing, and so far, everyone is still there. I'm not sure if there is something that can come along that take over that same role for us. Now we may grow up and stop caring about that sort of stuff, but I think it will take more than a few years.

<comment><USER29> > a centralized way to stay connected

This is what FB has pushed all along iirc, or at least it's the argument I've always heard, and only recently (I'm 31) have I noticed that this is really what I use it for. It's fun to see pictures from a friend's vacation in Vietnam, or to read that so-and-so-who-I-like-but-not-enough-to-regularly-call got a new job or got married or something. It's bizarre, but

> Now we may grow up and stop caring about that sort of stuff, but I think it > will take more than a few years.

...I only seem to care more over time, which is weird. I shouldn't discount making-more-interesting-and-smart-friends and the 'unfollow'-or-'hide all from foo on my newsfeed' features though.

</comment></comment></comment><comment><USER39> That paper basically extrapolates Facebook's future from one data point (the rise and fall of MySpace). I'd be more inclined to believe them if they analysed the life cycles of more than other social network, but this way their results are more than questionable.

</comment><comment><USER40> When something better comes along to replace or supplement it, Facebook use will undoubtedly level off or decline. Until then, I doubt it will decline much if at all.

It's gradually replacing all the independent communities with convenient Facebook communities and user groups, it's a convenient one-stop site for communicating with friends, sharing pics and generally relaxing at the water cooler.

Teens of course will always look for some alternative (WhatsApp, Reddit, etc) so as not to appear to conform to their parents' generation, but in reality there is no particularly great alternative that offers everything FB offers, especially in terms of sheer numbers of participants.

</comment><comment><USER41> As someone who joined the Internet bandwagon relatively late (circa 2000), whenever I see such reports on /viral growth/ of social website I wonder if email and usenet had a similar /viral growth/ in the 90s. Although the number of Internet users back then were small compared to now, they were still large enough in absolute numbers for some of these statistical analogies to apply. Usenet did eventually die out (for all practical purposes), but email is still going strong (perhaps not as much as at its peak, but it is nowhere close to being dead either).

</comment><comment><USER42> I love using facebook. It's great for connecting with friends and discovering my network. I post most of what I do there and twitter.

 _that being said_ I'm constantly looking for something new. It seems facebook has hit a wall in its cutting edge delivery of products and services. Is this a product of their IPO? I'm not sure how internally they've changed, but whatever happened, it seems to have changed how quickly the product has evolved externally.

Good luck to them though, staying #1 is difficult and requires an agile thought process.

</comment><comment><USER43> Facebook is used by different people for many different purposes.

In Ukraine right now it is the default news channel for the opposition with the mass protests going on now, and has served a similar function in other countries.

For some people it's a way to stay in touch with close friends.

For others it's a way to occasionally keep in touch with more distant friends.

Others use it as a contact/ address book.

Others use it for games.

I don't think it's going to die out, instead it's going to evolve.

I also do think it's possible it might die out, but way too early to know what will happen.

</comment><comment><USER44> After reading several articles about FB loosing teenagers because of "grandma knows FB" and "I prefer chats now", none of the grandma-age folks at my church, the population majority there, believe the news that FB is less of the future for communicating with the "younger generations" [because recruitment for sustainability is important].

I've stopped minding though; I no longer have a FB account, and at this point I'd prefer people learn by their mistakes.

</comment><comment><USER45> What?

The link is to a UK google trends page and doesn't seem to work. Basically it peaks right at the IPO time and has tailed back to the pre-ipo trend. Wouldn't call it a decline.

[http://www.google.com/trends/explore#q=facebook&cmpt=q](http://www.google.com/trends/explore#q=facebook&cmpt=q)

That appears to be the only referenced proof in the article (a google trends chart).

<comment><USER6> The pre-ipo trend at best looks flat, but really looks like it was declining. Facebook's emergence as an investment might actually be masking a decline in searches from people who are not investors.

<comment><USER45> Click the "forecast" button. Google disagrees.

<comment><USER6> Google, in this case, is a blind algorithm guessing at the continuation of a line. It knows nothing of IPOs.

<comment><USER45> Yes. Google does not take into account "viral" jumps in it's prediction algorithm for long term search popularity... they just simply "extend the line". Makes perfect sense. I forgot Google was run by middle school engineers.

</comment></comment></comment></comment></comment><comment><USER46> It's easy to say now that this mass Myspace migration happened, but its downfall was much more than Facebook showing up. e.g., It had a ton of technical issues, and it got really ugly / unwieldy.

If you're interested, the book "The Facebook Effect" does a good job describing the fall of Myspace.

</comment><comment><USER47> Facebook won't be going anywhere, just like Yahoo never did. Facebook Groups has way too many people locked in on daily basis. These are same people who are hooked on email and email lists.

</comment><comment><USER48> I think this is more indicative that most people use Facebook mobile. I understand Googling it from a desktop browser, but most people access FB by clicking the F icon on their smart phone.

</comment><comment><USER49> This is just the setup. They are actually modelling linkbait headlines to build a data set for a thesis on optimization of online marketing buys. You are the punchline.

That, or this is just bad science.

</comment><comment><USER50> I'll place a $100 bet against this claim. Any takers?

<comment><USER51> $FB

<comment><USER52> Translation: short the stock

<comment><USER53> Translation: buy the stock.

(They would like to bet against the claim that Facebook will lose most of their users. That's a bet on Facebook's long-term value, and maps to buying their stock.)

</comment></comment></comment></comment><comment><USER54> Step 1: Make totally ridiculous claims about social giant

Step 2: ?

Step 3: Profit

</comment><comment><USER55> Facebook sucks and it shall perish! It just plain sucks!

</comment><comment><USER56> Facebook is pretty dead traffic wise already...

</comment><comment><USER57> Then how will people log into my app?

/s</comment>


Finland's new Covid app downloaded almost 1M times in one day, population 5M - <AUTHOR> https://thl.fi/en/web/thlfi-en/-/koronavilkku-has-now-been-published-download-the-app-to-your-phone- <comment><USER2> That's quite impressive. I looked up the German Corona app on the play store and they have 5 Million total installs on a population of 80 million. The Apple store doesn't say.

I'm guessing we don't reach 20% though that Finland did in a day. While 42% of Germans said they would install the app [1]. There's a total of 17.5 million downloads (not installs) that puts an upper bound on current users [2].

I just wish there was more cooperation. In the EU at least there are so many apps and everybody is on vacation right now, limiting the usefulness of these apps.

[1] [https://de.statista.com/infografik/22008/befragte-zur- nutzun...](https://de.statista.com/infografik/22008/befragte-zur-nutzung- einer-anti-corona-app/)

[2] [https://de.statista.com/statistik/daten/studie/1125951/umfra...](https://de.statista.com/statistik/daten/studie/1125951/umfrage/downloads- der-corona-warn-app/)

<comment><AUTHOR> Yeah, optimally the app should have been global from the first place. For example if we consider the second wave of the epidemic, which in Finland showed signs of starting (but hasn't really started) straight couple of weeks after travelling abroad opened to several countries and then when the travel restrictions were put back on etc. immediately the contaminations went down again, so they were mostly just coming with people coming from abroad. Perhaps those peoples possible contaminations would have been possible to target already way before with a global app.

</comment></comment><comment><AUTHOR> Articles about downloads amount (en/fi): [https://newsnowfinland.fi/domestic/morning-headlines- tuesday...](https://newsnowfinland.fi/domestic/morning-headlines-tuesday-1st- september-2020) [https://yle.fi/uutiset/3-11520762](https://yle.fi/uutiset/3-11520762)</comment>


Optimising the disk footprint of GNU/Linux distributions for the Cloud (2013) - <AUTHOR> http://www.dicosmo.org/MyOpinions/index.php/2013/02/08/131-optimising-the-disk-footprint-of-gnu-linux-distributions <comment><USER2> paper: [http://hal.inria.fr/docs/00/67/43/79/PDF/paper.pdf](http://hal.inria.fr/docs/00/67/43/79/PDF/paper.pdf)

basically the idea here is that you can select on attributes like "fewest packages installed" or "smallest installed size" or "fewest changes to existing system" of the resulting set rather than just picking the first solution that satisfies the dependency tree.

I don't know how useful this is, given that (from the perspective of a package maintainer) most code is written to use one specific library; iow, there are few || dependencies in the tree, even for Gentoo, which supports almost every configuration that upstream does. other distros will have significantly fewer, given that their binaries will, by the nature of Linux linking, be linked to a single set of libraries (assuming no dlopen).

</comment><comment><USER3> Note that not all packages are created equal. The vast majority of base packages are a few kilobytes each. The space on a minimal system (e.g. Ubuntu core) is by far taken up by just a few packages: locales, charmaps, and tzdata. (You might also count the kernel, initramfs, etc. if you're trying to create something like a Docker base-image.)

Speaking of Docker base-images, I really wish Emdebian Baked ([http://www.emdebian.org/baked/index.html](http://www.emdebian.org/baked/index.html)) was still an active project. There's no reason "finalized" read-only cloud images should have apt installed at all—and therefore no need for any of apt's dependencies (of which there are shockingly many), or any of the metadata each package comes with to appease apt.

<comment><USER4> To avoid all the locales and stuff, use Musl libc. Alpine Linux is an option that supports it.

Redhat's Project Atomic can bake in RPMs using ostree.

</comment></comment><comment><USER5> Alpine Linux might be helpful for minimizing both RAM and disk footprint.

</comment><comment><USER4> The idea that you need 154 packages to run Apache is pretty sad. Part of it is base system bloat, the rest is tge idea you better link packages with all their possible options (unless you use gentoo).

<comment><USER6> The multistrap script at [https://gist.github.com/anonymous/50dfdfe99438e53c8e58](https://gist.github.com/anonymous/50dfdfe99438e53c8e58) produces a 425mb Debian system including vim, Linux kernel, Apache, perl and Ruby. After bzip2 that's 115mb, which is about a second's worth of GigE.

But that's assuming you even need to transfer or copy the base image, which in a healthy setup it should be possible to avoid -- the majority of Linux distributions bundle very similar content, and amongst virtual machines of the same distribution, the base systems are almost identical. It wouldn't be difficult to create a differential transfer protocol and/or virtualized block device for this specific use case that minimized copies and transfers.

There is plenty of open source tech for this already. For example with LVM2 thin provisioning it's possible to clone and resize a VM image from 2GB to 40GB, ready for boot in under 2 seconds.. [https://gist.github.com/anonymous/fdcbcc27278c287ce5e0](https://gist.github.com/anonymous/fdcbcc27278c287ce5e0)

</comment></comment><comment><USER7> Anyone can conver this article to a "apt-get install thinner" command?</comment>


NPM workspaces RFC (available in NPM v7 beta) - <AUTHOR> https://github.com/npm/rfcs/blob/latest/accepted/0026-workspaces.md <comment><USER2> About to try the npm workspaces.

Mostly for all my backend services (REST API) to publish the types of the API's outputs so the GraphQL facade can pick these up.</comment>


HN is about to overtake Slashdot. - <AUTHOR> http://markmaunder.com/2011/hn-is-about-to-overtake-slashdot/

<comment><USER2> Honestly, I'm a little surprised Slashdot is still as popular as it is. I quit using it in 2006 and have only rarely heard about it since. On the other hand, I guess HN is somewhat a niche site.

<comment><USER3> I stopped recently. I find the news are always late due to moderation, and there are just way too many 3-5 Funny than I'd like.

Plus I believe anything you can find there, also has been posted here.

</comment></comment><comment><USER4> Over the years my social news time has stayed around constant but has been split like this:

\- slashdot

\- slashdot < reddit

\- slashdot < reddit < hn

\- slashdot < reddit < hn

\- slashdot < reddit < quora < hn

With quora maybe a contender to overtake hn but probably not. I still check slashdot ever few weeks, reddit every week or so, and quora and hn multiple times per week.

Have other people followed similar trends?

<comment><USER5> I moved away from slashdot about 3 or 4 years ago.

For, it went: digg->reddit->HN.

I check HN+Reddit a few times a day.

</comment></comment><comment><USER6> As a hackernews convert from slashdot from last week, I'm happy to be a statistic.

</comment><comment><USER7> I'm surprised that it hasn't overshot Digg...</comment>


The Social Media Landgrab Is Over: Facebook, Reddit, And Twitter Won  - <AUTHOR> http://www.fastcompany.com/1794851/the-social-media-land-grab-is-over-facebook-reddit-and-twitter-won

<comment><USER2> Reddit has changed to such a degree that plenty of its early users want an alternative that doesn't currently exist.

The site is involved in a tug-of-war between users who want quality news articles and those who want pictures and jokes, with the latter overwhelming the site. It's not hard to imagine a successful competitor appealing to the more mature crowd, especially since Metcalfe's Law does not apply to the same degree with social news sites since a social news site only needs a few hundred active users to be useful.

Facebook is very entrenched and difficult to compete with. It's the universal identity directory that the Internet has always needed since the start. Very hard to directly compete.

I'm still not sure I completely 'get' Twitter. I think it's used for many purposes, many of which could be eroded by rather different and more specialised services. Its 'spying on celebrities' niche seems pretty entrenched, though.

<comment><USER3> Now that Facebook has implemented "subscribers", and owners of pages can broadcast to their fans, my use for Twitter is pretty much zilch.

I can hear from celebs, and I can hear about sales from my favourite stores, and I can hear about where all the food trucks are for lunch. All without visiting Twitter. It's a pretty big win.

</comment></comment><comment><USER4> The search engine and operating system landgrabs are over too-- just look at Windows 98 and Lycos.

\- 1999

<comment><AUTHOR> and Orkut in 2002. Also I remember in one of the postings on early stage Google story, someone remarked, when prompted to use Google that. "Thank you..I use Altavista. no more serach engines" only to come back next year to find out that Google was the more popular search engine then.

</comment></comment><comment><USER5> Hahaha-Except this isn't a landgrab when all you need is better user acusition or value propostion. Facebook has won identity, but not networking. Twitter? Reddit? Ask an average America, let alone global citizen what networks they use, not either.

Lots of opportunity.

</comment><comment><USER6> Where is Instagram, Youtube or Wordpress/Blogger in this? Google+ has yet to be tightly integrated into Youtube, Android and Chrome so i wouldn't count that out yet.

</comment><comment><USER7> I think Reddit is too US-centric. I really like Reddit, but communities from all over the world are quite small.

World pageviews for Reddit must be very large, but when you talk about global penetration, Facebook and Twitter are far, way far ahead.

I cannot walk 300 meters here in South America without seeing a billboard selling me some shampoo, with Facebook and Twitter logos prominently displayed.

<comment><USER8> I suspect it's also centered around a specific US demographic, say 14-30 as a perhaps too large estimate, and doesn't have much to offer those significantly outside it.

</comment></comment><comment><USER9> There are so many (very) large niche areas available that new opportunities abound. A specialist can (and should) outperform the generalist sites even where supposedly specialist areas exist within them.

We are shooting for just one in a sporting area and I can't believe just how big it is.

</comment><comment><USER10> That website seems like a "generate content for the sake of driving traffic, regardless of what you write, just give us ad impressions" pool. I'd prefer not to see such garbage.

</comment><comment><USER11> Ha, good one.</comment>


Build an Air Quality Monitor with InfluxDB, Grafana and Docker on a Raspberry Pi - <AUTHOR> https://www.balena.io/blog/build-an-environment-and-air-quality-monitor-with-raspberry-pi/ <comment><USER2> Measuring a sensor is so complicated...Influx, Grafana and Docker is not enough. You may want to throw in AWS, some Google API and not to forget: Tensorflow. A pinch of opencv with GPU support might make it _real_ software. Cross compile all this for windows that runs on RPi so corporate clients can trust it -- because buying a license always reflects seriousness.

<comment><USER3>
        > Measuring a sensor is so complicated...

I get the sarcasm, but sometimes it is useful to exercise "big boy" tools for projects that don't need it.

What better way is there to learn/explore these things than with a very simple project that does something remotely interesting or useful?

<comment><USER4> I think on the contrary we need to seriously reconsider these tools that don't make sense at the scale of the vast majority of projects. It's sad we've gone full circle to the 00's, didn't miss those Java EE days of real big boy tools.

Edit: current real-life example: I am currently developing a core tool for helping business users of a big industrial group. Client is amazed I was able to quickly develop a custom tool to answer their business needs. Code repo: 3 files: one HTML page, one vanilla JS file (less than a thousand lines), one lib to open XLSX files in JS.

<comment><USER3> Yeah, I remember the bad old days. The most spectacular P.O.S. from those days, for me, was SOAP. It makes me clench just thinking about it and it's wildly ironic name "SIMPLE object access protocol." What, like there are even more complicated protocols to transfer data? FML!

That said, sometimes you need/want to pick up some skills. I think it's good to do these on tractable problems that one can imagine scaling up smoothly, like this one. It's better than overly simple "hello world" and also better than trying to learn from a project where the technology is appropriately scaled and it would take weeks just to figure out what's going on.

</comment></comment></comment></comment><comment><USER5> Probably want to add a PM (particulate matter) sensor to the mix.

I've built a few similar devices using ESP chips and various laser dust sensors, highly recommend the Plantower PMS5003 - laser defraction, PM1-PM10 accuracy, ~$20 and there are good libraries available on GitHub for interacting with it.

Edit: [https://twitter.com/zensavona/status/1091949965306257409](https://twitter.com/zensavona/status/1091949965306257409)

<comment><USER6> I'm using a very similar stack! I've built 20 devices using the PMS5003, Spec Sensors O3 digital gas sensor, and a cheap GPS module connected to an ESP32. 6 have been mounted in the field (more coming soon!). They report sensor readings via LoRaWAN to a public-facing dashboard visible here: [https://graqm.org](https://graqm.org)

Devices being tested at an EPA air quality monitoring station: [https://imgur.com/a/joQvj](https://imgur.com/a/joQvj)

Desktop version: [https://imgur.com/a/yT1IK](https://imgur.com/a/yT1IK)

</comment></comment><comment><USER7> What's impressive is that you can get a sensor for temperature, air pressure, "air quality", and humidity for $12.80 in quantity 1. "Air quality" is strange. It measures volatile organic components, not CO, CO2, or particulates. Sensors for those cost much more. So this is measuring what's easy to measure, not what's useful for, say, HVAC control.

8GB and Docker, plus a "cloud" server, seems a bit much.

<comment><USER8> Assuming I have no idea about these things, which is true—I don't—how much is a decent CO2 sensor that can be connected to a Pi or similar setup?

I recently upgraded to double glazed windows in half the house, including all the bedrooms, and put a heat pump in each of the two used bedrooms. So I want to keep the windows closed for heat retention, but also want to keep them slightly open to reduce CO2 build up.

I sleep in my small bedroom with my two 16kg dogs, so it seems reason the CO2 level may rise to suboptimal during the night if the window is shut.

What I would like to do is make a DIY ventilation system that can move fresh, HEPA filtered, air from outside, in to the room.

Or am I over complicating things? Could I just use a small fan, something sized to replace, say, half the volume of the room every few hours, and just leave it constantly on? Or should I put a larger fan on a timer so it runs for a few minutes every hour?

Does any of this really matter?

Edit to add: any good resources to lose myself down a rabbit hole?

<comment><USER9> A good CO2 sensor that uses infrared absorption to measure concentration costs about $100.

[https://www.co2meter.com/collections/co2-sensors](https://www.co2meter.com/collections/co2-sensors)

<comment><USER8> Thank you

</comment></comment></comment></comment><comment><USER10> A similar, yet completely different project: [https://luftdaten.info/en/home- en/](https://luftdaten.info/en/home-en/) Can be seen as a "worldwide crowd sourced air quality measurement projects using cheap DIY sensor/data collector"

</comment><comment><USER11> The Docker part seems thoroughly unnecessary.

<comment><USER12> I can't understand why they would add anymore overhead on such a low powered device.

<comment><USER13> What overhead?

"Docker induces no significant overhead on CPU nor memory usage, compared to a native execution (worse observation: -4%; 0% on all others)" [1]

[1]: [https://roudier.io/2015/08/docker-vs-kvm-vs-native- performan...](https://roudier.io/2015/08/docker-vs-kvm-vs-native-performance- comparison/)

<comment><USER14> Think about how the stack works. I'm not saying this measurement is definitely wrong, but if you're finding exactly 0 overhead then you have to suspect there is something weird going on with how you're measuring it.

<comment><USER13> The processes are still running natively. The most common overheads would be due to network and storage driver and those can be mitigated with some simple settings. The Docker daemon is more or less a process supervisor at this point.

<comment><USER14> I think we have a fundamentally different view of what "natively" means and what it means to be "more or less a process supervisor". That's fine, but it also means we won't get to an agreement that we are both at peace with in this case.

<comment><USER15> What feature of Docker makes you consider it significantly more than a process supervisor?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I'm curious to hear from anyone who runs air quality monitors at home: how has knowledge of the quality of the air in your house affected your behaviour?

My house is 56 years old. I'm guessing the kitchen upgrade is at least 5 years old. The carpet is probably at least a 5 years old. There isn't much fresh paint in here.

Am I about right to assume I probably don't have much in the way off off- gassing from anything in here, or does carpet / furniture / melamine continually off-gas for it's entire life?

Anyway, I've got some idea that CO2 buildup is a thing, and humidity, and off- gassing, so... I tend to ventilate the house frequently even during winter. Even when it's -5 outside, I'll occasionally open one or more windows / doors and turn the kitchen exhaust fan on in order to draw fresh air in and across the house. I'll also occasionally open multiple doors / windows for 10 minutes or so in an effort to replace the majority of the air in the house.

I tend to eschew yet-another-device that needs maintenance / power / charging / monitoring / fiddling because I tend to do a lot of that at work and would rather just come home and not-have-to-maintain-another-97-machines.

So I'm interested in the _on average / sort of good enough / sometimes over- shoot-the-mark_ behavioural changes that would result _if I did have air quality monitors_.

<comment><USER16> We have a new house--about a year old now--here in Texas with all the efficiency and insulation stuff. I noticed after working in my office with the door and windows closed I didn't feel so good after awhile.

I got one of those trendy Awair monitors and stuck it on my desk and hooked up the iPhone app. And sure enough, when I started not feeling well it was because the CO2 was over 1500 ppm.

I don't know about the accuracy of the actual CO2 measurement, but I figure the delta is at least good enough to spot trends. And yeah, those times I don't feel well is always associated with a rise of CO2. I "fix" it by either opening the door and/or window or running the fan of the central air system. Our system also has a "bleed air" adjustment for outside air. I turned that up a bit, too.

The Awair also does "chemicals" and PM2.5. I'm surprised our new house doesn't an issues with those, but I do see PM2.5 go up when the window in my office is open and "chemicals" fluctuates throughout the day but at a low level. I'm not exactly sure what "chemicals" means in this context; I haven't really looked into it yet.

You might consider the Awair; I've been happy with it. I have several thousand systems that need tending at work and, same as you, I don't need to come home and do more. My wife's Windows gaming rig needs enough of that as it is...

</comment></comment><comment><USER17> We've been on the hunt for the most accurate Air Quality Monitor since we've just moved to the Middle East and have had a really tough time finding something accurate. Aside from building one and having it receive questionable ratings, does anyone have any suggestions on a super reliable machine they've been happy with that has proven its accuracy in some way?

<comment><USER18> Here's a lab writeup comparing a few models from about a year ago:

[https://smartairfilters.com/en/blog/are-cheap-particle- count...](https://smartairfilters.com/en/blog/are-cheap-particle-counters- accurate/)

Depending on which part of the Middle East you're in, you may need a PM10 (dust) monitor. The devices here just do PM2.5 (smog).

</comment></comment><comment><USER19> Has anyone been running this in the field for a few months/weeks.

I'm wondering how the SD card gets on with the constant writes into InfluxDB (assuming the samplesa are taken frequently)

<comment><USER20> SD cards fail but they're not a house of cards. I've logged into couch dB every minute for nearly 5 years. only about a million entries bit since it's replicated to other nodes a failed card is ok.

</comment></comment><comment><USER21> If you're interested in purchasing an air quality monitor, Awair is nice:

[https://getawair.com/](https://getawair.com/)

I learned about it from DHH's talk on air quality:

[https://www.youtube.com/watch?v=MRqh8oLY7Ik](https://www.youtube.com/watch?v=MRqh8oLY7Ik)

<comment><USER22> Unfortunately, only shipping to the US & Canada.

<comment><USER23> Did you try [https://getawair.co.uk/](https://getawair.co.uk/) ?

</comment></comment></comment><comment><USER24> I'm working on similar things, and at the moment I prefer Redis and Postgres. Redis just got streams, a bit like Kafka, and Postgres has extensions for timeseries.

</comment><comment><USER25> What do people think about the recommended sensor?

Is it reasonably accurate? Are there better alternatives?

<comment><USER26> The sensor doesn't appear to measure particulate matter, so I'd take the air quality reading with a large grain of salt.

<comment><USER27> To add on that, if you want to measure particulate matter take an SDS11 and have a look at [https://luftdaten.info](https://luftdaten.info)

</comment></comment></comment><comment><USER28> Ditch Grafana+Influx for Netdata and you are golden :)

<comment><USER29> Real question, why?

I'm running grafana + influx and it's doing the job well. The netdata git repo is full of marketing fluff and fails to convince me it's any better.</comment></comment>


Why is the ocean salty? - <AUTHOR> https://oceanservice.noaa.gov/facts/whysalty.html <comment><USER2> I like that the article begins with a tl;dr summary of

> Ocean salt primarily comes from rocks on land

Not many articles do that, but it only made reading the rest of the article more appealing to me, not less.

<comment><USER3> It's called the Inverted Pyramid structure, and it's how articles are supposed to be written. I learned it in junior high [[https://en.wikipedia.org/wiki/Inverted_pyramid_(journalism)](https://en.wikipedia.org/wiki/Inverted_pyramid_\(journalism\))]. But yeah, it's not how many articles come today:

1\. Clickbait headline that tells you nothing. (Unfortunately this article retains that flaw)

2\. Introduction by the author of --- the author! He had been thinking about this topic for a long time. He had this conversation with his colleagues about it (reproduced here). Then his editor finally challenged him to have a go at it. So here it is!

3\. Encyclopedic history of the topic (question still unanswered).

4\. Compendium of assorted controversy and minority opinion (majority opinion still left to be stated).

5\. The information.

6\. Return to the author, his life, what he's doing afterwards, what he has eaten for breakfast, his favorite color, etc.

7\. Request for comments, subscribe, like, share, etc.

<comment><USER4> >it's how articles are supposed to be written

It's how traditional straight news articles have historically been written in large part for practical reasons. Those reasons were particularly evident for wire service copy where the newspaper using the copy could pretty much cut off the article at any arbitrary point to fit it into whatever hole they had in their layout.

For feature articles and many magazine articles, there's no hard and fast journalism rule to use inverted pyramid and never has been.

You may prefer that everything be written with inverted pyramid and that is certainly your right--and there are often good reasons--but it's not the "right" way to do things.

<comment><USER3> > for practical reasons

You really think there is no benefit to the reader?

I agree that the Inverted Pyramid is the mainstay of news and would be unfit for a novel and even some long features like you find in New Yorker magazine.

But the problem isn't that there are too many articles written in the Inverse Pyramid that should have been written some other way. The problem is that too many articles that should have been written in the Inverted Pyramid aren't. If you have problems with making judgments and using the word "should," I'm talking about writing in the practical interests of the reader. If the reader comes to the article for information, then the article should get to the point as soon as possible. If the reader comes for entertainment (like a novel) then the writing can follow some other path.

To say that the reason for the Inverted Pyramid was mainly so that syndicates could cut the article at any point to fit the space they had is to ignore all the benefits to the reader. The reader is presented with a large newspaper of various articles, and he is trying to decide which ones to read and which to skip, because he doesn't have time to read a whole newspaper from start to finish every day. Some stories, he just wants the gist, which is why even the headlines are supposed to present the whole story, obviously in outline. A hurried reader can browse just the headlines and know the overall news of the day. A less-hurried reader can read the first paragraph of some of the more interesting stories. And so on.

Even though we don't have paper newspapers as much, we still have readers with short attentions spans. In fact, more so.

</comment></comment></comment></comment><comment><USER5> I wonder why lakes aren't salty?

It's clear why rivers and lakes that eventually empty into the ocean are fresh. Rainwater washes the salt downstream to its ultimate destination.

But many lakes do not have an outlet that leads to the sea. Water flows in and evaporates. Where does the salt go in that case?

Or is it possible that the article doesn't tell the full story, and that salty rocks are confined to a limited number of areas?

<comment><USER6> Time scale. Lakes are static bodies of water for a few thousand to a million years at a time before some flood or glacier or whatnot flushes them out to the ocean. The ocean stores the accumulated salts of 4.7 billion years of surface rocks.

<comment><USER7> > The ocean stores the accumulated salts of 4.7 billion years of surface > rocks.

I've always wondered. Were the rocks really there for 4.7 billion years, or did God create the rocks in such a way to trick scientists into believing they've been there for 4.7 billion years?

<comment><USER8> Sarcasm like this doesn't typically go well here. This isn't Slashdot or /r/atheism. Believe it or not, there are religious people of various faiths on here, both in and out of the tech community. Statements like this don't add to the discussion, are frivolous and sorta mock peoples' believes.

<comment><USER7> I wasn't being sarcastic, or mocking anyone's beliefs, scientific or religious. Nor am I an atheist or got lost and think I'm on Slashdot. I was merely putting forth a question I've always thought was intellectually interesting, something that's supposed to be encouraged here. [1]

[1] [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

<comment><USER9> In that case, the answer to your question is that there is no answer, that there can never be an answer (unless God tells us) and that there does not need to be an answer.

If God really made it so that it's impossible to tell that they are not 4.7 billion years old, then it is simply impossible to tell so, hence there can be no answer.

And there does not need to be an answer, because if there really is no way to tell that they are not 4.7 billion years old, then by definition there cannot be any situation where it would make a difference. So, it's perfectly valid to just state that they are 4.7 billion years old.

I am in fact atheist, this is the viewpoint that I have from the discussion whether maybe our entire universe is just a computer simulation ran by some alien race or such.

If we talk about it with the religious tangent, there's of course further questions: Some people interpret the Bible to contain an age of the universe. So, is that interpretation of the Bible wrong or not? And if it's not, why would God want to trick us with those rocks? Did he create the universe some few thousand years ago, but thought it'd be a more interesting world, if there was some backstory to it? So, does he want us to explore this backstory? Or is it a test of your faith in the Bible? ...which to my knowledge really doesn't state a concrete date for creation, so at least to me that'd be strange.

</comment></comment></comment></comment></comment></comment><comment><USER10> Love any science article that provides a clear, scientifically accurate answer to any question my 6 year old asks me.

That's a lot of salt, though: "if the salt in the ocean could be removed and spread evenly over the Earth's land surface it would form a layer more than 500 feet thick."

<comment><USER11> That sounds huge until you ponder that the water that salt is dissolved in _is_ a layer many hundreds of feet thick covering 70% of the surface. :)

<comment><USER12> What if you took all the water out of the oceans and layered it over the land? how thick would that water be?

<comment><USER13> Just a guess, but around 14000 feet.

If 3.5% of the water is salt and that would create 500 feet of salt if staked on land, then the remaining 96.5% would make 13785.7 feet of water assuming salt and water has the same density.

<comment><USER14> Right order of magnitude. There's 1.33×10^9 km^3 water in the ocean. .510×10^9 km^2 surface area on the earth. .292 of the surface is land. If I did the math right that's about 29,000 feet.

<comment><USER15> If your numbers are right, the quotient is about 2.7km which is 8555 feet.

<comment><USER14> 1.33/.51/.292 is about 8.9km. You're spreading the ocean over the surface of the entire earth instead of just the continents. Average ocean depth is 12,000 feet, and there's less land than ocean, so the answer must be greater than 12,000 feet.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> The US Geological Survey gives a slightly more nuanced answer ([https://water.usgs.gov/edu/whyoceansalty.html](https://water.usgs.gov/edu/whyoceansalty.html)), based (as I understand it) on comparatively recent progress in understanding this question.

It turns out that in addition to the "standard" explanation that the oceans' salt comes from rain dissolving rocks on land, another quite important contributing factor is the activity of hydrothermal vents on the ocean floor. As I understand it, the high temperature of the water emerging there helps it to carry very large amounts of dissolved minerals from deep in the crust back into the sea (and that our models of ocean salinity wouldn't work without this contribution).

</comment><comment><USER17> What I find fascinating is how in fact we are dependent on Natrium ([https://www.youtube.com/watch?v=J3HivpHP-5I](https://www.youtube.com/watch?v=J3HivpHP-5I)), presumably because our organisms originated from oceans to begin with.

Yet still, if dominating salt were Lithium or Potassium, we'd still probably happen to evolve, yet with slightly different cellular features.

<comment><USER18> Interesting that you say Natrium (as opposed to Sodium), but Potassium, not Kalium. I thought use of the two variant names for those elements was 100% correlated. Are there regions of the world where that is not the case?

<comment><USER17> I just screwed up at being smartass :)

It is Kalium here too, but I did heard Potash before when referring to a mineral or fertiliser.

</comment></comment></comment><comment><USER19> Supposing a terraforming species (like humans) never arose, will the ocean get saltier and saltier over the eons and eventually be inhospitable to all but the hardiest of microbes?

<comment><USER20> IANAG, but you're not accounting for processes that remove salt from the ocean. All of our salt mines come from somewhere -- crust that's been elevated to make an inland sea, that gradually evaporates and leaves a salt deposit. This can then get buried.

Possibly when the tectonic processes stop on Earth, the oceans will continue to get salty from weathering of rocks. And you won't have much addition of water from volcanism, only a little bit from space. But life gets generally hard without active tectonics anyway.

</comment></comment><comment><USER21> It's completely breathtaking how massive our planet is in every measure that matters. And then we find out how big Jupiter is, VY Canis Majoris... The universe is a wonderful place!

<comment><USER22> I've often wondered what living on a earth-like planet as large as Jupiter would be like. People on the other side of this "planet" would be aliens to you.

<comment><USER23> Nice thought but earth like planets can never get that big because of gravity.

<comment><USER24> A rocky planet the size of jupiter is not physically impossible. It is almost certainly incompatible with life, but there is nothing in the laws of physics that would cause such a sized planet to explode or collapse.

<comment><USER25> It would not explode or collapse, but it would almost certainly be molten liquid and/or gaseous rock for a very, very long time

<comment><USER24> Yes that is why I said it is unlikely to be compatible with life.

It would almost certainly be molten at the surface with no water no matter the distance from the star due to radioactive decay.

</comment></comment></comment></comment></comment></comment><comment><USER26> [https://science.nasa.gov/earth- science/oceanography/physical...](https://science.nasa.gov/earth- science/oceanography/physical-ocean/salinity)

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

</comment><comment><USER27> This made me wonder towards if the ocean is therefore becoming saltier & if so, at what pace? Found: [https://www.seeker.com/are-the-oceans-getting- saltier-176509...](https://www.seeker.com/are-the-oceans-getting- saltier-1765098598.html)

<comment><USER28> The oceans are not saturated with salt, and there aren't many processes that extract salt from the ocean, but the process that made the oceans salty to begin with continues.

Also, the Earth is slowly losing its atmosphere, and with it -presumably- some water.

Of course, there's still a lot of water in rocks, so it's possible that the oceans could gain water and thus less salty.

But my guess is it's getting saltier.

<comment><USER29> Any idea about this line from the seeker article above?

> "Salt ions themselves aren't added or removed from the ocean, but water > molecules are freely gained or lost through the processes of evaporation and > precipitation, or freezing and melting of ice," said Ruth Curry, a senior > research specialist at the Woods Hole Oceanographic Institution.

 _" Salt ions aren't added"_. That doesn't seem right...

<comment><USER30> Woods Hole is a fine research institution. I think you can assume they were trying to make the concept accessible to layman.

And I think they are trying to not get into all the complexities (yes, Na+ and Cl- ions are added/removed in some natural processes, but many times less readily than water). One could easily point tectonic processes and salt loss via evaporite layer deposition, but you don't lose a lot by not going into the weeds.

</comment></comment></comment></comment><comment><USER31> > By some estimates, if the salt in the ocean could be removed and spread > evenly over the Earth's land surface it would form a layer more than 500 > feet thick, about the height of a 40-story office building.

Needless to say [almost] every land plant and creature on Earth would die in such an event. I just wonder (out of pure bizarre curiosity) what would happen if the salt in the ocean could be removed and put somewhere in the outer space - what part of the ocean life would survive and how much impact would it have on the land life.

<comment><USER32> I'd be curious to know how much energy would be required to separate all that salt from that water, especially in terms of the total solar energy Earth receives. If, hypothetically, all that solar energy were devoted to desalinization, how long would it take?

</comment></comment><comment><USER33> What I'm wondering is why humans can't drink the water from the most ubuquitous reservoir on earth.

<comment><USER34> Because we come from the middle of Africa

<comment><USER33> That was hundereds of thousands of years ago and we (well, many of us) have adapted to drinking milk (as adults) during that time.

So even though much of the planet is covered with sea water very few mammals have developed the ability to use sea water for hydration. I just find that surprising.

<comment><USER35> Processing milk is a digestive change, and one that mammals are all able to do at some point. It's not a very far leap. Processing water with the sea's salinity would require changes to how our cells are constructed, or at least would require massive changes to our kidneys. There's simply no (or not enough) selection advantage for it to have happened.

</comment></comment></comment></comment><comment><USER36> Posing this question to a young earth, christian, literal bible believer will generate interesting conversations.

<comment><USER37> I strongly suspect that it won't.

</comment></comment><comment><USER38> Is ocean salt equilibrium?

</comment><comment><USER39> I'd be salty too if I had such a rocky interaction with the world.</comment>


Rules for Data Modeling with DynamoDB - <AUTHOR> https://www.trek10.com/blog/the-ten-rules-for-data-modeling-with-dynamodb <comment><USER3> > Normalization was built for a world with very different assumptions. In the > data centers of the 1980s, storage was at a premium and compute was > relatively cheap. But the times have changed. Storage is cheap as can be, > while compute is at a premium.

Normalisation isn't primarily about about saving storage, it's about avoiding update anomalies i.e. correctness.

<comment><USER4> Great point! It was originally about both of these things, but the storage aspect isn't discussed much anymore because it's really not a concern.

The data integrity issue is still a concern, and I talk about that in the book. You need to manage data integrity in your application and think about how to handle updates properly. But it's completely doable and many people have.

<comment><USER5> > You need to manage data integrity in your application

This is just another way of saying you need to implement your own system for managing consistency. Dynamo offers transactions now, but they don't offer actual serialization. Your transaction will simply fail if it runs into any contention. You might think that's ok, just retry. But because you've chosen to sacrifice modelling your data, this will happen a lot. If you want to use aggregates in your Dynamo, you have to update an aggregate field every time you update your data, which means you create single points of contention for your failure prone transactions to run into all over your app. There are ways around this, but they all come at the cost of further sacrificing consistency guarantees. The main issue with that being that once you've achieved an inconsistent state, it's incredibly difficult to even know it's happened, let alone to fix it.

Then you run into the issue of actually implementing your data access. With a denormalized data set, implementing all your data access comes at the expense of increasing interface complexity. Your schema ends up having objects, which contain arrays of objects, which contain arrays... and you have to design all of your interfaces around keys that belong to the top level parent object.

The relational model wasn't designed to optimize one type of performance over another. It was designed to optimize operating on a relational dataset, regardless of the implementation details of the underlying management system. Trying to cram a relational set into a NoSQL DB unavoidably comes at the expense of some very serious compromises, with the primary benefit being that the DB itself is easier to administer. It's not as simple as cost of storage vs cost of compute. NoSQL DBs like dynamo (actually especially dynamo) are great technology, with many perfectly valid use cases. But RDBMS is not one of them, and everybody I've seen attempt to use it as an RDBMS eventually regrets it.

</comment></comment></comment><comment><USER4> Author here! If you want more, I just released a book on DynamoDB yesterday --> [https://www.dynamodbbook.com/](https://www.dynamodbbook.com/) . There's a launch discount for the next few days.

The book is highly recommended by folks at AWS, including Rick Houlihan, the leader of the NoSQL Blackbelt Team at AWS[0].

Happy to answer any questions you have! Also available on Twitter and via email (I'm easily findable).

[0] - [https://twitter.com/houlihan_rick/status/1247522640278859777](https://twitter.com/houlihan_rick/status/1247522640278859777)

<comment><USER6> After seeing Rick's Re:invent talk, the one where at about minute 40 everyones' heads exploded, I emailed him (I'm in a very far away other department of Amazon) to ask him for more, because everything he was saying was absolutely not the way my group was using DynamoDB (ie: we were doing it wrong).

He could have ignored my email entirely. He's a busy guy, right? I wouldn't have held it against him at all. Instead, he was super nice, provided me with more documentation, and honestly was just really helpful.

If he recommends your book, I'm buying it.

<comment><USER7> Link please?

<comment><USER4> Rick has had the most-watched re:Invent talk the last three years.

Here are the links for each:

\- 2019: [https://www.youtube.com/watch?v=6yqfmXiZTlM](https://www.youtube.com/watch?v=6yqfmXiZTlM)

\- 2018: [https://www.youtube.com/watch?v=HaEPXoXVf2k](https://www.youtube.com/watch?v=HaEPXoXVf2k)

\- 2017: [https://www.youtube.com/watch?v=jzeKPKpucS0](https://www.youtube.com/watch?v=jzeKPKpucS0)

Additional DynamoDB links here: [https://github.com/alexdebrie/awesome- dynamodb](https://github.com/alexdebrie/awesome-dynamodb)

</comment></comment></comment></comment><comment><USER8> > "With denormalizing, data integrity is more of an application concern. > You'll need to consider when this duplicated data can change and how to > update it if needed. But this denormalization will give you a greater scale > than is possible with other databases."

There's the big catch. As another poster pointed out, normalisation is not about efficiency. It's about correctness. People have been quick to make the comparison between storage and compute cost. The high cost of development and bug-fixing time trumps both of them by an order of magnitude. The guarantee of referential-integrity alone that SQL offers helps eradicate an entire class of bugs for your application with no added effort. This article glosses so blithely over this critical caveat. Whenever this discussion comes up I'm quick to refer back to the yardstick of "Does your application have users? If so, then its data is relational". I can't wait for the day when we look back at NoSQL as the 'dancing sickness' of the IT world.

It's also worth questioning: 'At what scale does this tradeoff become worthwhile?' Another poster here correctly pointed out that modern versions of Postgres scale remarkably well. The tipping point where this kind of NoSQL implementation becomes the most efficient option is likely to be far beyond the scale of most products. It's true that completely denormalising your data will make reads much faster, this is undeniable. This does not mean you need to throw the baby out with the bathwater and store your master data in NoSQL.

<comment><USER5> > I can't wait for the day when we look back at NoSQL as the 'dancing > sickness' of the IT world.

It does have some compelling use cases. It's just relational data isn't one of them. If you have a use case with a low potential for write contention, a tolerance for eventual consistency, a very simple data structure, and a high demand for read throughput, then it's great. One area that I've seen it used with great success is content publishing. You have one author, perhaps an additional editor/proofreader, the content is one document (with perhaps one other related document, like an author bio), and hopefully you want thousands or perhaps millions of people to be able to get decent read performance. Another example could be pretty much anything you'd typically use a Materialized View for in a DB. You can compute the view in your RDBMS, periodically publish it to a document database, and then offload all read throughput to a better suited system.

NoSQL is usually used wrong imo, but that doesn't mean there aren't ways to use it right. There's valid use cases for graph databases and stream processing systems too. But they're not hip enough to produce the same volume of highly questionable web apps.

<comment><USER8> You're absolutely correct with the point about the materialised view use case. I wasn't going to labor the point going into extra detail in my post. The most successful use I've seen for NoSQL databases is aggregating complex relational data structures into a single document record periodically. You're entirely correct. It's not that the technology is inherently wrong ( in most cases, MongoDB is another story ) it's just the widespread misuse giving this technology a bad name.

</comment></comment></comment><comment><USER9> At what point do these auto-sharding databases like DynamoDB become worth the effort these days? You can squeeze a lot out of a single Postgres instance and much more if you go with read replicas or Redis caches.

When you start with a relational model you don't need a priori knowledge of your data access and you get solid performance and guarantees. If you need this access knowledge beforehand, is DynamoDB best for scaling mature products?

<comment><USER4> I just answered this on Twitter, but I think there are two instances where it's a no-brainer to use DynamoDB:

\- High-scale situations where you're worried about performance of a relational database, particularly joins, as it scales.

\- If you're using serverless compute (e.g. AWS Lambda or AppSync) where traditional databases don't fit well with the connection model.

That said, you can use DynamoDB for almost every OLTP application. It's just more a matter of personal preference as to whether you want to use a relational database or something like DynamoDB. I pick DynamoDB every time b/c I understand how to use it and like the other benefits (billing model, permissions model, performance characteristics), but I won't say you're _wrong_ if you don't choose it in these other situations.

<comment><USER10> Does the connection model problem go away when using serverless rds? [https://aws.amazon.com/rds/aurora/serverless/](https://aws.amazon.com/rds/aurora/serverless/)

<comment><USER11> I don't know about aurora serverless.

But aws offers a proxy exactly for this purpose.

[https://aws.amazon.com/rds/proxy/](https://aws.amazon.com/rds/proxy/)

<comment><USER10> Very interesting. Thank you for sharing.

</comment></comment></comment></comment></comment><comment><USER12> There is a lot more you should learn about DynamoDB but I appreciate the effort of the author. Please read the AWS documentation, it's not that big and explains vital things that just aren't in this article. Very important things like:

\- LSI can't be created after table is created

\- GSI late creation generate back pressure on main table

\- If you have an LSI, your table will not scale beyond 10GB

\- How often a table will scale up and down per day/hour?

\- Cost of auto-scaling in cloudwatch (alarms aren't free)

...and so much more. I've been working with Dynamodb for over 2 years now and I love it.

<comment><USER4> One note on this -- if you have an LSI, you can't have an _item collection_ larger than 10GB, where an item collection refers to all the items with the same partition key in your main table and your LSI.

A DynamoDB table with an LSI can scale far beyond 10GB. That said, I would avoid LSIs in almost all circumstances. Just go with a GSI.

<comment><USER12> Thank you for the clarification abd12, you are right. I only create LSI if I know for sure the data within a given shard will not go beyond 10GB... since we never really do we always go with GSI.

</comment></comment></comment><comment><USER13> I love postgresql.

Did business with a startup, signed up, started getting service, they play an intermediary biller / payor role.

Because of an issue in company name used in signup their billing system fell over and didn't setup billing.

But what was crazy is a quickly realized this shop was a noSQL shop. NOTHING connected to anything - so since they hadn't built any reports to cross check any of this they literally did not notice (I noticed other consistency issues elsewhere).

In a SQL database this stuff especially around accounting / money is 101 stuff, but noSQL seemed to really struggle here based on how they'd set it up.

I finally bugged them to charge us, but even that was a bit goofy (basically it looked they exported some transaction to a credit card system - but I doubt had any logic to handle failed payment issues etc).

We have one other vendor where the amount actually charged is a few pennies off the receipt totals - issues with doubles, rounding and application logic or something which doesn't simply use the same number (from database) for order / item detail and total and billing.

So at least in finance / accounting, a ledger which is basically a source of truth, and is linked / summarized / etc in various ways to other parts of systems (sales tax, receipts, credit card charges by order etc) really results in some free consistency wins that don't seem to free in nosql land.

<comment><USER14> Operational data stores are not reporting data stores. A healthy system would fire change events to which a reporting system subscribes, placing the data where it belongs in the reporting data model.

<comment><USER13> Except what happens when change events are dropped.

in SQL, normalized, ref integrity on - you simply never get out of sync.

</comment></comment></comment><comment><USER15> This is a great post, and DDB is a great database for the right use cases. I want to give a shout out to FaunaDb to anybody looking for alternatives - <USER2> also serverless and crazy scalable, and usage-based pricing. Its downside is its proprietary FQL query language, not because it sucks (it doesn't!) but there is a learning curve. They provide a rich GraphQL interface as an alternative to FQL. Its upside vs DDB is a much richer set of functions including aggregations, and first-class support for user defined functions. Their attribute-based permissions system is phenomenal. Its definitely worth a look if you're considering DynamoDb but want something that takes less upfront planning about access patterns.

</comment><comment><USER16> Having spent a few years working with DynamoDB to build multi-region, multi- tenancy platforms, I must say that DynamoDB is a good fit as a supplement datastore i.e. you should only store a sub-set of information managed by your serverless microservice. DynamoDB multi-region replication is just amazing. Unfortunately, we had a few massive billing spikes with DynamoDB, and we end- up adding pricing measurement and tests to track read/write units in all our functions.

I generally don't recommend DynamoDB as primary data store irrespective of your use case. It takes too much time to model the data. With every new requirement, you have to redo a lot of modelling exercise. Choices you made in beginning start looking bad and you will not remember why you created that particular combination of the composite key or local secondary index which offers no benefit due to incremental changes. Transaction support is painful, existing SDKs just don't cut.

I often wish some of the GCP Firebase features are available in DynamoDB like namespace, control on daily throughput to avoid billing spikes and transaction support.

</comment><comment><USER17> Curious, besides being a truly serverless and scalable database why else would one choose to model relational data in DynamoDB? For the 'single table design' scheme the author talks about you are in a world of hurt if you need new access patterns? which is highly probable for most systems.

<comment><USER18> Because it's managed and works "forever".

<comment><USER17> Already implied that in "truly serverless and scalable database". My point is that it would be very dumb to not use something like postgres for relational data unless you really need those dynamodb features.

</comment></comment></comment><comment><USER19> DynamoDB seems to be so low level that it takes a lot of design and programming effort to get right. Are there any higher level solutions that build on DynamoDB that take care of these things automatically? For example denormalization sounds pretty error prone if you implement it by hand.

<comment><USER4> It's different than a relational database in that you need to model your data to your patterns, rather than model your data and then handle your patterns.

Once you learn the principles, it really is like clockwork. It changes your process, but you implement the same process every time.

Honestly, I think part of the problem is that there's a lot of bad NoSQL content out there. A little standardization of process in this space will go a long way, IMO :)

</comment></comment><comment><USER20> > To handle [compound primary keys] in DynamoDB, you would need to create two > items in a transaction where each operation asserts that there is not an > existing item with the same primary key.

There are other approaches--in cases where I've needed compound keys I've had success using version-5 UUIDs as the primary key constructed from a concatenation of the compound key fields. The advantage is that Dynamo's default optimistic locking works as expected with no transaction needed. A potential disadvantage is if you frequently need to look records up by just one component you'd need a secondary index instead of the primary doing double duty.

</comment><comment><USER21> Thanks for this Alex! Will definitely check this out. DynamoDBGuide.com was a huge help to me when I was learning serverless last year to build wanderium.com. There's definitely a learning curve for DynamoDB but the performance is really good.

Do you talk about the best way to do aggregations in your book? That's one of the more annoying downsides of DynamoDB that I've kind of had to hack my way around. (I combine DynamoDB streams with a Lambda function to increment/decrement a count)

<comment><USER4> Thank you! Glad you found DynamoDBGuide.com helpful :)

Yep, I do talk about aggregations in the book. One strategy that I've discussed is available in a blog post here[0] and involves using DynamoDB Transactions to handle aggregates.

If you're looking for large-scale aggregates for analytics (e.g. "What are my top-selling items last month?"), I have an Analytics supplement in the Plus package that includes notes on different patterns for analytics w/ DynamoDB.

Let me know if that helps!

[0] - [https://www.alexdebrie.com/posts/dynamodb- transactions/#hand...](https://www.alexdebrie.com/posts/dynamodb- transactions/#handling-counts-and-preventing-duplicates)

</comment></comment><comment><USER22> Once you get comfortable modeling your data in Dynamo, it becomes hard to justify using RDBMS with all of the overhead that goes along with it. Dynamo is not for every use case, of course, but as long as you design the table generically enough to handle adjacency lists and you don't mind making more than 1 query sometimes, it works really well.

<comment><USER23> I disagree. I spent a few months with it and it was a bit of a nightmare. It fits certain use cases and AWS and others push it as a good use case for more than it should be.

Have geo data? Need a count? Need to look something up for your team member and you don't have time to setup BI tools? Want to query something differently because of design changes? The answer is pretty much no or you can but it'll take some extra thing for all of those.

We ended up picking up an Aurora Serverless and it is working just fine. We can quickly make changes as business cases change, our entire team can query it for now (until we have fancier tools on the biz end), and we are able to move much more quickly.

<comment><USER22> Yep, if you need aggregated data at all for operational purposes, Dynamo isn't a good choice. A lot of the hardship people have with Dynamo is not really understanding how to model their data correctly. If you don't design it correctly from the start, you are f*cked, and I sympathize with that.

</comment></comment></comment><comment><USER24> IMS ([https://en.wikipedia.org/wiki/IBM_Information_Management_Sys...](https://en.wikipedia.org/wiki/IBM_Information_Management_System)) called and wants its segmented hierarchies back. :-)

</comment><comment><USER25> "Normalization was built for a world with very different assumptions. In the data centers of the 1980s, storage was at a premium and compute was relatively cheap."

But forget to do normalisation and you will be paying 5 figures a month on your AWS RDS server.

"Storage is cheap as can be, while compute is at a premium."

This person fundamentally does not understand databases. Compute has almost nothing to do with the data layer - or at least, if your DB is maxing on CPU, then something is wrong like a missing index. And for storage, its not like you are just keeping old movies on your old hard disk - you are actively accessing that data.

It would be more correct to say: Disk storage is cheap, but SDRAM cache is x1000 more expensive.

The main issue with databases is IO and the more data you have to read, process and keep in cache, the slower your database becomes. Relational or non-relation still follows these rules of physics.

<comment><USER26> > This person fundamentally does not understand databases.

Oh boy I do love hackernews :).

It sounds like you've spent a lot of your career in a SQL world. Have you worked a lot with DDB/MongoDB/Cassandra? If not then give it a whirl with more than a toy application and share your thoughts. Already done that? Try the brand new "constructive criticism" framework.

Instead of "this person fundamentally does not understand databases" based on 13 words in a 1200+ word article, consider: "I disagree with this statement and here's why".

You get all of the karma with none of the ad hominem! Win win!

</comment></comment><comment><USER14> There is an unhealthy attachment to relational data stores today. It's a tool, not an architecture or solution. We shouldn't start with them and often should exclude them from our operational implementations. Reporting and analysis systems benefit tremendously from relational data stores. But we learned years ago that separate operational and reporting systems provided optimal performance.

I suggest those of you still unfamiliar with nosql operational data storage patterns trust companies like Trek10 and Accenture (where i saw great success).

</comment><comment><USER27> This is great advice, wish I had it before I started working with DynamoDB. Hot keys can be a particularly nasty landmind.

</comment><comment><USER14> There's an aspect to software development relating to speed/agility. NoSQL data stores offer a schemaless approach That reduces a great deal of unnecessary friction. The amount of time we've spent managing relational schemas is ludicrously expensive. There are still great usage patterns for relational, but operationally is not one of them. I'd argue it's an anti- pattern.

<comment><USER28> I would not call NoSQL data stores more agile. While it is true that you can add new columns at any point in time the same cannot be said about supporting new access patterns you didn't design for.

<comment><USER29> People often confuse startup speed with agility. The talk "Agility ≠ Speed" does a good job of critiquing that idea. Agility is about the ability to change direction gracefully. NoSQL definitely gets you started quickly—as OP noted, you avoid much of the overhead of data modeling and making changes to schemas—but at a certain point you can get into real trouble, and that will slam the brakes on your velocity. I've experienced the same thing with weakly typed languages. These sorts of tools can be very useful in the right use cases, but trading away some of the guardrails can extract a large cost if you aren't thoughtful and careful.

<comment><USER14> If I hadn't been on large corporate projects that were wildly successful in extreme shortened periods of design and development, I wouldn't make my arguments.

Adapting to the needs of a given domain may require a relational data store, but it's my experience those are rare occasions.</comment></comment></comment></comment>