Americans tune in to 'cancel culture' – and don't like what they see - <AUTHOR> https://www.politico.com/news/2020/07/22/americans-cancel-culture-377412 <comment><USER2> I have to admit I only recently tuned in to "cancel culture". Up to now it was just something vague that I thought you lived with in Berkeley.

But recently it feels more personally relevant (and dangerous) as it has moved from repudiation of celebrity / repugnant-level inflammatory opinions to people's everyday legitimate questions and doubts.

It says to me "even you, average person, need to be careful and edit what you say for fear of having your life upended for saying the wrong single word about something". People getting fired from jobs for one badly phrased comment or a moment caught out of context on video. Or fired or forced to resign for not being all-caps in favor of the latest movement. You feel danger in airing partially formed or not-fully-onboard-with-the-movement opinions, aside from the most trusted friends.

Maybe it's just magnified out of proportion because it's in the news so much.

The problem is that people so vehemently believe they're right, on both sides. It's not that the underlying sentiment doesn't have some merit -- it's that the person or movement believes they cannot be wrong, and anyone disagreeing must be the embodiment of evil. Especially when movements become so symbolic (none of us can know all the details, we advocate for symbols), how can we so confidently think that we are completely right about that symbol and what it implies we should do? When was the last time you were fully onboard with everything a symbol represented?

Our culture has become dominated by (or has incentivized) such extreme views, because that's what it takes to make the news. And of course, it's dominated by people who have _partial_ knowledge about a situation and think they're right _in theory_ \-- but that's the most dangerous position to be confident about. I used to take positions like that too. But I found that reality is much more complex than expected.

It's hard to be a moderate voice against passion. You tend to think that people with such deep feeling (if they're rational people) tend to be angry about something legitimate. But it has gone to the extreme that every issue, no matter what proportion, has risen to outrage.

This isn't healthy. The point is to make progress. How do you have progress when the details and nuance can't be discussed rationally for fear of being labeled a non-believer? Silence = complicity? Most people are silent on an issue, you just made them co-conspirators, not contributors to the solution.

People can't be outraged about the entire world, all the time, and cause our society to swing from issue to issue like this, and anyone who is moderate or questions how such a movement is getting to its goal gets pilloried.

</comment><comment><USER3> Cancel culture are witch hunts organized over social media.

There is a good comparison to be made with McCarthyism. Other than the political identities of those wielding the tools and those targeted, what is happening today is the same.

In the end Arthur Miller stopped McCarthy with a play about the Salem witch trials. That play introduced the phrase "witch hunt", and McCarthy was defanged by the transition from fear to mockery.

We need a new Arthur Miller.

<comment><USER4> > We need a new Arthur Miller.

100%

I'm convinced the only way to effectively fight it is through comedy.

It was noticeable and bad when I went through college around 2010. But now it's been intensified as the same people I saw in college (those storming university offices until speakers they found "dangerous" withdrew) begin moving into the urbane, bien-pensant, privileged stations at media institutions, etc.

This recent Ryan Long video really hit the right tone I think.

Laugh at the tyrants and they're disarmed.

[https://twitter.com/ryanlongcomedy/status/128520849751747379...](https://twitter.com/ryanlongcomedy/status/1285208497517473793?s=20)

</comment></comment><comment><USER5> The big problem I see is discussed at the end of the article. Language is difficult to interpret and many times we misinterpret one another. When communicating we have a certain amount of assumptions we make about the other person's argument. If these are in good faith these tend to go smoothly, although there's always hiccups. The problem I see is that we're in a hyper partisan environment so the assumptions we are making about others' opinions are extreme. For example there's two assumed positions on immigration: let everyone in vs kick everyone out and build a wall. Of course the vast majority of people believe something in between (because both extremes are pretty unrealistic) but that's hard to determine without good communication. If you're pro DACA and you talk to someone that is pro restrictions you are likely to assume the person holds the extreme version of build a wall and kick everyone out (as in White Nationalism) despite that they probably have a more nuanced viewpoint. I believe this is happening because 1) the news is showing us these extremist people because it generates more hate, and thus more views/clicks and 2) people are co-opting some of these terms to dog whistle so it is hard to distinguish who is dog whistling (aka a white nationalist) vs who is oblivious to this context and using it in earnest. Which if it is latter, presuming they are the former makes it more likely that they turn to the former because you back them into a corner where that's where they can get support from.

This all, I believe, comes down to a phrase I have been finding myself repeat more and more.

> There are three components to communication: What is meant, what is said, > and what is heard. They don't have the all be the same thing.

So I think we need to better train ourselves to try better at hearing what was intended and trying to say what we mean. In addition we need to stop turning to this reactionary based news, I believe this is why many (including myself) have turned off social media. Having lived in many parts of the country what I've learned is that everyone, no matter how simple their education is, has a nuanced view on everything. But I've also learned that trolling people, exaggerating arguments well beyond their merit, and "winning" have become more and more acceptable. There's a lot of people who just want to "get 'em" with a sick burn instead of having a conversation. I believe this is where we have broken down (and yes, I do think this is all related to the cancel culture).

<comment><USER6> I agree that we need to be better listeners.

I disagree that this is the reason for cancel culture. This isn't about misinterpretation. It's typically about bad-faith interpretation. There's a very deliberate effort to destroy anyone who disagrees in the slightest from an ideology. When you disagree, anything you do or say will be construed, regardless of how tortured the reasoning, as meaning what the cancel-mob wants it to mean, in an effort to destroy your life.

This is straight out of the revolutionary playbooks. "Rules for Radicals", Lenin's brand of Marxism, Mao's Cultural Revolution...

This is not "oops, they misunderstood." It would be a much smaller problem if it were that.

</comment></comment><comment><USER7> There is a reflexive aspect to this discussion in that cancel culture can't be discussed openly and honestly, for fear, valid or not, of being cancelled.

It will be interesting to see what the long term effects of this are.

<comment><USER5> Interestingly enough the post itself is being shown as flagged. Kinda ironic if you ask me.

<comment><USER8> > Interestingly enough the post itself is being shown as flagged. Kinda ironic > if you ask me.

Eh, flagging isn't "canceling." I flagged it because many people can't help pontificating against some straw man of theirs whenever they see some culture war term, and that's pretty obnoxious.

<comment><USER5> In that case why not downvote the comment and move on? I think the article did good by mentioning, though I wish they dived deeper on this, that these words have very different meanings to people and that the assumptions we make about peoples' perception are often inaccurate. Personally I wouldn't flag a post if the conversations are off topic. Just downvote the off topic comments and move on. The difference I see is flagging a post says "the post should be removed" which is more similar to what many think of "cancel culture" while downvoting says "you have your opinion, but I disagree."

Edit: WOW that was quick, but fair. You're entitled to your opinion.

<comment><USER8> > In that case why not downvote the comment and move on?

No one can downvote posts. Only comments can be downvoted, and then only if you have enough points.

> Edit: WOW that was quick, but fair. You're entitled to your opinion.

I also can't downvote replies to my own comments, so I hope that wasn't directed at me.

<comment><USER5> > No one can downvote posts. Only comments can be downvoted, and then only if > you have enough points.

I don't see this as an issue because posts fall off the front page quickly. Using the flagging feature as a form of downvoting seems, to me, as an inappropriate equivalent because flagging acts more like a super downvote and is more intended for notifying of posts that need to be removed because they violate rules in a certain way.

> I also can't downvote replies to my own comments, so I hope that wasn't > directed at me.

Not directed at you (no one can downvote replies). It was just funny that less than a minute after posting I got a downvote. I had a good laugh and this was more intended as funny and not an attack on anyone. Sorry if it came off differently.

</comment></comment></comment></comment></comment></comment><comment><USER9> I don't want to be the preacher yelling that nothing is new under the sun, but I feel like I'm reading an article written by somebody who doesn't know what a boycott is. I feel like the only major difference is that boycotts were traditionally supported by voting blocs, but these "cancellations" seem to cross party lines. Otherwise, though, isn't this the same sort of outrage that folks had had last century when African-Americans chose en masse to not spend money at establishments whose management they found to be acting offensively?

<comment><USER10> Boycotting is an economic mechanism, "cancelling" is a social one. It's not just not buying things associated with a person, it's completely shunning them.

Another issue is that organizing a boycott took enough effort that it took conviction about the reason. With cancelling it's dogpile at the drop of a hat, leading to the thread of cancelling is leading to a stifling of speech.

<comment><USER11> The mechanism underlying boycotts and shunning is the exercise of free relations. The thing which takes boycotts and shunning from individual water droplets to a flood is public conversation, whether over the web or elsewhere.

</comment></comment></comment><comment><USER12> The politico article links this, to their credit: [https://www.cnn.com/2020/07/07/politics/fact-check-trump- can...](https://www.cnn.com/2020/07/07/politics/fact-check-trump-cancel- culture-boycotts-firings/index.html)

</comment><comment><USER13> "the practice of withdrawing support for (or canceling) public figures and companies after they have done or said something considered objectionable or offensive."

Imagine unironically arguing that public figures and companies should be actively supported despite doing objectionable and offensive things.

<comment><USER14> Imagine not understanding that there may be some disagreement about whether something 'considered objectionable or offensive' is truly objectionable or offensive, having problems with shoot-first-ask-questions-later approach to canceling people, or believing there may be some gray area in anything in the world.

Look, we can do this back and forth all day unless we all agree there is nuance to anything - including cancel culture. There are great applications of free association (the benign aspect of cancel culture) and there are poor mob justice applications of cancel culture. Let's not pretend the issue is black and white.

Or in other words on one end of the spectrum you have moral progress and on the other end you have witchhunts/mccarthyism/moral panic.

<comment><USER13> > Imagine not understanding that there may be some disagreement about whether > something 'considered objectionable or offensive' is truly objectionable or > offensive

And this is really the crux of the issue. If I find what you have done to be objectionable or offensive, it shouldn't matter that there is debate about what society at large considers objectionable or offensive, you have lost my personal support. If lots of people also consider it objectionable or offensive, and they all subsequently withdraw their support, that's how things are supposed to work. You don't get to decide what other people get offended by, nor do you get to decide how long it should take them to get offended by it. If my support is valuable to you then you shouldn't do those things which I say offend me for fear of losing my support. If you don't value my support, then you are free to ignore my cancelling of said support. This is what it means to live in a free market of ideas.

Let's not pretend that this issue is some complicated and nuanced situation. There have always been weirdos out there who get vocally offended by dumb things - maybe you pissed off a bunch of flat earthers by having a globe in your profile pic - and nobody cared. The reason people are concerned about cancel culture is that they recognize that some of the things they have said or done or plan to do could legitimately be considered objectionable and offensive by a significant number of people, and rather than choosing to address their own behavior they instead choose whine about how unfair it is that people don't unconditionally support them.

<comment><USER15> >> whine about how unfair it is that people don't unconditionally support them...

There's a difference between 'not unconditionally supporting' someone who offends you and, mob-handed, hounding that person, their associates, their employers in an attempt to have them ostracised, sacked and their life ruined.

<comment><USER13> Imagine you went into a McDonalds and the cashier called you a racial slur. I think it would be perfectly reasonable to tell people that this happened and why it offended you. I think it would be quite reasonable if other people agreed that such behavior was unsupportable. I think it would be perfectly reasonable to request that McDonalds take measures so this sort of thing doesn't happen again. I think it would be perfectly reasonable for others who are also appalled that this happened to do the same. I think it would be quite reasonable to stop frequenting McDonalds if they instead did nothing. I think it would be quite reasonable for McDonalds to make the requested changes for the sake of not losing those paying customers.

Now let us consider the reverse. Would it be reasonable to say that you shouldn't tell anyone this happened to you? Would it be reasonable to say no one else should be able to form an opinion on this? Would it be reasonable to forbid you from asking McDonalds for any sort of change to address the issue? Would it be reasonable to force you to continue frequenting that McDonalds if it didn't? Would it be reasonable to forbid McDonalds from firing their employee for a decision they had made which McDonalds considers to be wrong?

No, there is no middle ground between forcing people to support things and them being free not to support things; it's a boolean situation. Cancel culture is merely a large number of people deciding to excersize that freedom to not support things.

Sure should a situation move beyond people just complaining on twitter - perhaps people start doxxing or inciting violence - then that is unacceptable. But that's not what we are talking about here. If you have the freedom to say what you wish, they have the freedom to denounce you for what you say. If you can't take it, you shouldn't dish it out to begin with.

<comment><USER16> I remember an article about how the knitting community got "into a purity spiral". I don't think criticism can be brushed away like you try to do. I wouldn't want to cancel you, even if I think your position is objectionable.

<comment><USER13> If you say and do things you are proud to say and do, then it is easy to brush off criticism. If a community goes into a purity spiral and deems something I'm proud of to be wrong, they're doing me a favor expelling me as I want no part in it. Again, consider the flat earthers - their criticism means nothing to me because I am proud of supporting science, and I will continue to support science regardless of any consequences.

Criticism only stings when it is valid. If you say or do things you're not proud of, and someone calls you out on it, you can't simply ignore it, you have to address it, and that may be uncomfortable if not downright painful. However it is not the fault of the party laying valid criticism that you feel uncomfortable. You did something you are not proud of, and this is merely the consequence of it.

If you have a problem with my position, I strongly encourage you to tell my that it's hurt you, tell me why, and suggest how I should behave differently. This goes for both the person I'm replying to and anyone else who might read this. Assuming you're a reasonable person, I do not wish to make you feel uncomfortable, and if I have I would like to change my ways so I won't do it in the future. If you simply assume I'm an asshole and say nothing, then I will have no opportunity to rectify the situation, and I will go on just being, at least in your eyes, an asshole. Now if your objections are dumb, I may very well ignore them and continue being what you view as an asshole, but in that case I will be doing so with pride, and you too can continue to hold your position with pride.

A system where everyone expresses their minds and we all bear the consequences of our actions is much better than one where we bite our tongues and hope that everyone else does as well.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Cancel culture isn't a recent trend - there are entire websites dedicated to cancel culture on college campuses, such as [https://www.thecollegefix.com/](https://www.thecollegefix.com/). Free thought, free inquiry, and open debate are under attack from those that want only their worldview to prevail. It is a direct threat to a free society and much has been written about it recently from Quillette ([https://quillette.com/2020/07/01/on-steve-hsu-and-the- campai...](https://quillette.com/2020/07/01/on-steve-hsu-and-the-campaign-to- thwart-free-inquiry/)) and Harper's ([https://harpers.org/a-letter-on-justice- and-open-debate/](https://harpers.org/a-letter-on-justice-and-open-debate/)) and others. It's become so extreme, that there are now even people trying to cancel Steven Pinker, famed author of bestseller books like "The Better Angels of our Nature" ([https://www.nationalreview.com/2020/07/the-forehead- slapping...](https://www.nationalreview.com/2020/07/the-forehead-slappingly- stupid-attempt-to-cancel-steven-pinker/)).

I'm not sure how to fight back except to create direct consequences for those pursuing cancellation. Perhaps we need to shame and demand the firing of everyone who signs such letters (those who demand censorship and cancellation of others).

</comment><comment><USER18> Young people have different views from their parents and grand-parents, new at 11.

Cancel culture is just the stupid name given to the eternal "kids these days" complaint. Old people get pissed off when young kids discover and begin leveraging their political capabilities. This really isn't very different from complaints about rock & roll, hippies, or any other previous instances of young people using their economic influence to shape the views of society. Elvis shaking his hips on TV seems so quaint today, but lots of middle-aged and older people of the era found that highly offensive.

I'm getting to the age where I'm about to flip into the old man category here. But for now, I'm happy to see that young people aren't going to let assholes push them around and are fighting back with the tools they have available to them. There are loads of teenage girls out there who are half my size with twice the courage.

<comment><USER19> Yes, getting a Mexican-American fired for unknowingly making a hand gesture is just "kids these days". It's so simple! ([https://www.nbcsandiego.com/news/local/sdge-worker-fired- ove...](https://www.nbcsandiego.com/news/local/sdge-worker-fired-over-alleged- racist-gesture-says-he-was-cracking-knuckles/2347414/))

<comment><USER5> From my understanding this specific gesture was turned white supremacist through 4chan's efforts to turn mundane and everyday things into hate symbols "because it'll be funny." [0]. It should be noted that this is more than just the okay symbol and they are trying to co-opt everything until everything is meaningless [1][2][3][4][5][I could go on, seriously]. They literally see this guy getting fired as a success because now people are using hate symbols and don't know it.

> __DON 'T FEED THE TROLL __

[0] (ok)[https://mashable.com/article/ok-hand-gesture-hate-symbol- ant...](https://mashable.com/article/ok-hand-gesture-hate-symbol-anti- defamation-league-white-sumpremacy/)

[1] (LGBT flag) [https://www.reddit.com/r/4chan/comments/f1g3m1/anon_creates_...](https://www.reddit.com/r/4chan/comments/f1g3m1/anon_creates_a_hate_symbol/)

[2] (#) [https://www.rt.com/news/460490-4chan-hashtag-symbol- nazism/](https://www.rt.com/news/460490-4chan-hashtag-symbol-nazism/)

[3] [https://knowyourmeme.com/memes/its-okay-to-be- white](https://knowyourmeme.com/memes/its-okay-to-be-white)

[4] (milk) [https://www.nytimes.com/2018/10/17/us/white-supremacists- sci...](https://www.nytimes.com/2018/10/17/us/white-supremacists-science- dna.html)

[5] (larger list showing co-option of several symbols) [https://www.wired.com/2017/05/alt-rights-newest-ploy- trollin...](https://www.wired.com/2017/05/alt-rights-newest-ploy-trolling- false-symbols/)</comment></comment></comment>


Show HN: Scaling NPM in VMs with Npmserve - <AUTHOR> https://blog.plaid.com/npmserve/ <comment><USER2> Wow! I think it's worth emphasizing that in the given example, the time taken to install all dependencies went from 8m10s to 7.5s. Seems like a huge productivity boon for any teams working with Node.

<comment><USER3> Is there really no way to get closer to normal performance for networking in Virtual Box?

Also, why not use Linux VPS? Also, take a look at Docker as an alternative to Vagrant/Chef. Also, take a look at pnpm.

<comment><USER4> Infrastructure guy at Plaid here.

> Is there really no way to get closer to normal performance for networking in > Virtual Box?

Unfortunately not! It takes many different tweaks, tunes, and hacks to squeeze performance out of VirtualBox. To make matters worse, NPM as a tool is pretty slow in general -- in fact it's become somewhat of a joke in the community[1]. npmserve solves this by offloading the work to a remote server, so the npm install process becomes as simple as fetching and expanding a tarball.

> Also, why not use Linux VPS?

This is something we may move to if performance becomes an even bigger issue. We use vagrant-aws[2] in our integration testing environment to achieve a similar effect.

> Also, take a look at Docker as an alternative to Vagrant/Chef.

We don't currently use Docker (in this use-case at least). It's definitely an option, though! Using Chef here is pretty handy, insofar as we can use the same infrastructure code we use on production, so our developer environments are as close to production as possible.

> Also, take a look at pnpm.

Nice, this is the first I've heard of this project. We looked at ied[3], but we weren't comfortable moving over to it without also moving our production infrastructure.

        [1]: https://www.npmjs.com/package/nplaym
        [2]: https://github.com/mitchellh/vagrant-aws
        [3]: https://github.com/alexanderGugel/ied

</comment></comment></comment><comment><USER5> Wouldn't it be easier to commit node_modules to the source control server? Then you don't have to do npm install on build servers.

<comment><USER6> The problem is checking megabyte after megabyte of the massive dependency trees that everyone is obsessed burdens source control pretty hard.

</comment></comment><comment><USER7> The root issue is clearly NPM's terrible performance, but it seems to have been exacerbated here by VirtualBox's terrible networking.

Given that you're talking about developer environments, wouldn't it have been simpler to just try a different virtualisation tool like Parallels, VMWare or (if you're on Windows) Hyper-V ?</comment>


Moreutils: The utilities package every Linux developer should know (2015) - <AUTHOR> https://rentes.github.io/unix/utilities/2015/07/27/moreutils-package/ <comment><USER2> I regularly use errno, ts, and sponge; I've found them quite useful.

errno helps when you find yourself with a raw error number in a debugger, log, trace, or memory dump, or if you just want to figure out the most sensible errno code for your API to return.

"ts %.s" helps when debugging how long a program takes.

sponge solves the "read this file, process it, write the same file back out" problem.</comment>


Don't spend much, do everything yourself. - <AUTHOR> http://behindtheclock.timmyontime.com/post/89337404/dont-spend-much-do-everything-yourself

<comment><USER2> Of course, "DIY" here doesn't mean you personally. If there is an area of expertise you lack, by all means, reach a domain expert for help and bring him or her on board. I wasted 2 months of my life trying to become a graphics artist; my hacking suffered for it, my business suffered for it, and my RSI prone arm suffered it (not to mention the taste buds of everyone exposed to my "art work")

</comment><comment><AUTHOR> By "doing everything ourselves", we also learn how it works and we are in control. Accounting is a good example. It could cost us hundreds and we would not know that much about our finance. Until the day we have more money and we found a accoutant that we can really trust, we'll do it ourselves.</comment>


Languages as Libraries - <AUTHOR> http://blog.racket-lang.org/2011/03/languages-as-libraries-pldi-2011.html <comment><USER2> From the title, reminded of a blog post by one of the Fogcreek guys: [http://blog.bitquabit.com/2009/05/20/your-language- features-...](http://blog.bitquabit.com/2009/05/20/your-language-features-are- my-libraries/)

</comment><comment><USER3> This is the actual chapter about it from the guide <http://docs.racket- lang.org/guide/languages.html>

Co-incidentally, I was tinkering with Racket this afternoon and completed their Quick Intro tutorial. Racket's centralized library distribution system PLaneT gives Racket a good environment. Coming from the ruby world, that means a lot to me.

Anybody who wants to start with Racket, even with no prior programming experience would need just the docs and nothing else. Racket has excellent and detailed docs. More-over their quick intro skims thru racket by teaching you to create some super-simple 2D graphics (think circles and squares).</comment>


Why Britain has 17,000 pregnant men  - <AUTHOR> http://www.washingtonpost.com/blogs/ezra-klein/post/why-britain-has-17000-pregnant-men/2012/04/06/gIQAC2oJ0S_blog.html

<comment><USER2> It sounds like their software is incompetently designed. It should perform at least some basic validation at data entry time, like not letting you enter "pregnancy" for a man or asking "are you sure" when you enter "heart bypass surgery" for a ten-year-old.</comment>


Pattern-emitter: Node event emitters with support for regular expressions - <AUTHOR> https://github.com/danielstjules/pattern-emitter

<comment><AUTHOR> Here's a small lib I made this past weekend. I wanted to be able to listen to patterns for a specific module, but most implementations I found weren't that consistent with EventEmitter. Most had differences in behaviour when emitting events, handling exceptions, lacked support for domains, etc. So this is a quick attempt at keeping things consistent with, and inheriting from lib/events.js.

Hope this might prove to be useful!</comment>


Cloud Insurance for consumers: Is this for real? - <AUTHOR> http://cloudsurance.com/

<comment><USER2> Hi there, co-founder @guisebule reporting in!

It is absolutely real and I personally believe that the lack of cloud insurance in the cloud computing world is a scandal waiting to happen. Dropbox and Box have tens of millions of customers between them, but they fail to offer a proper SLA to most of them or protect them against worst case scenarios properly by insuring against the obvious risks.

Think about that, millions of small businesses with their files in the cloud, but no protection against worst case scenarios. Its a problem guys, we are going to try and fix it.

</comment><comment><USER2> For those interested, I post on Medium about this subject about why I think this is the most important conversation in cloud computing right now, it will provide context.

[https://medium.com/@guisebule/dropbox- box-887adfa7217b](https://medium.com/@guisebule/dropbox-box-887adfa7217b)

</comment><comment><AUTHOR> hmm... seems like great promises but will getting back a few $$$ really make me feel better about the cloud services I use if they go down?

Sounds similar to an SLA but across many services

<comment><USER2> The difference being that cloud insurance will actually compensate you if the worst happens. Right now, the most an SLA will give you is service credits.

Its a problem. When things go wrong and your customers get hurt, you should be doing more than giving them more of your services for free.

<comment><AUTHOR> Obviously like the concept but still quite skeptical. What onus would be on me as the user to show you how much it hurt my business that gmail was down for instance? Will you re-imburse me for my usual MRR I would have gained that day?

<comment><USER2> That's a great question, its one we struggled with for months and we are still refining the details of the future offering.

The short answer is that compensation will be initially capped to a predetermined level, at least at first, because there is still so much that we cannot yet quantify properly.

The long answer is that insurance is based on the notion that we as cloud insurance providers can properly and accurately calculate the costs of certain events (data loss/downtime) happening on a group basis for a corporate consumer. But it's really hard to calculate the costs on an individual basis, so asking an individual consumer to quantify their estimated losses for the downtime/data loss they have experienced is always going to make everybody's headache, you can imagine the calls with the loss adjusters.

As cloud providers (both founders are cloud providers), we know exactly how much downtime, data loss we have suffered from historically, I consider this inside information almost, but it's not enough data.

We can also scrape the interwebs for any publicly available information on critical events occurring, we can gather as many data points as we possibly can, but ultimately it is still not enough to provide us with the risk visibility that we need to properly start calculating costs to an individual level, we need more data and lots of it.

Only when we have large pools of insured cloud consumers to measure over a period of time, will we begin to become properly informed on the true costs of downtime, data loss and cyber-attack on a group and individual basis.

Eventually, I can see cloud insurance becoming just another form of insurance like any other, the risks understood and quantified accurately on a group basis, but we still have a long way to go until we get there.

For the foreseeable future, expect capped compensation and plenty of data gathering from the emerging cloud insurance industry.

It's a brand new field of insurance, we have yet to work everything out properly to the point where we understand it at scale, but we are making great progress and I think we have a head start on the traditional insurance industry being cloud providers and industry insiders.

I hope that I answered it to your satisfaction, I was really hoping somebody would post about us here so we could get the really hard questions we are looking for, HN is the place I come to feel stupid and if anyone asks us the hard questions, I knew it was going to be you guys.

</comment></comment></comment></comment><comment><USER2> Seriously though, somebody ask us a question we do not know the answer to. Why do you think I am here?</comment>


Ask HN: Would YC accept a consulting business? - <AUTHOR> <comment><USER2> Unlikely. They're only interested in businesses that use software to scale with enormous margins. Consulting scales with salaries. Software scales nearly infinitely.

<comment><AUTHOR> But I have seen a few.

For example -

AnnieCannons - They seem to be a pure software consultancy, but aimed at transforming survivors of human trafficking into software developers.

Any thoughts on this?</comment></comment>


Bravadosoft's Trial Sun Server - <AUTHOR> http://blog.bravadosoft.com/index.php/2007/08/21/meet-jacob-our-sun-fire-x4200-m2/ So at Bravadosoft we're trying a new Sun Fire X4200M2 for a bit.  I'll keep folks updated on it.<p>BTW, this is my first post of original content to the group.  Please massacre as needed.  Taking all the help I can get.  :)<p> <comment><AUTHOR> So at Bravadosoft we're trying a new Sun Fire X4200M2 for a bit. I'll keep folks updated on it.

BTW, this is my first post of original content to the group. Please massacre as needed. Taking all the help I can get. :)</comment>


.NET Core nightlies available for all Windows architectures, including ARM64 - <AUTHOR> http://woafre.azurewebsites.net/universalnetcore <comment><USER2> ARM64 probably for this qualcomm SoC:

[http://www.theverge.com/2016/12/7/13866936/microsoft- windows...](http://www.theverge.com/2016/12/7/13866936/microsoft- windows-10-arm-desktop-apps-support-qualcomm)

<comment><AUTHOR> Not only that, but yes ;)</comment></comment>


Ask HN: Is the word "Computer" outdated? - <AUTHOR> I had a discussion with myself while driving the other day (who doesn't do that?), and I saw this jumbo ad for "PC computers", which got me smiling, since the C stands for computer anyway.
But it got me thinking at the same time - back in the old days, computers really were computing and were used for it, but nowadays the computing part is just an underlying cause/feature for their existence, but we use them mainly for media consumption and communication, so naming them computers doesn't feel right any more - it's like cars would be called spinners because spinning wheels (or engine) is what gets us around.
Your thoughts? <comment><USER2> Calculators don't work by moving pebbles around, but they're called calculators anyway (from Latin _calculus_ , literally "pebble"). On the same note, is the point of movies the fact that they're _moving_ images? Yet the name derives from this.

TL;DR: Do you want a logical language? Try Lojban, not English ;)

</comment><comment><USER3> Computer is definitely dated. Check out this job offer classified ad from May 2nd, 1892:

[http://danwin-cdnx.s3.amazonaws.com/words/wp- content/uploads...](http://danwin-cdnx.s3.amazonaws.com/words/wp- content/uploads/2013/02/Screen-Shot-2013-02-18-at-1.24.21-AM.png?3c4b43)

</comment><comment><USER4> I think the definition of computer has expanded. Mainframes used be all that was computers. Then minis. Then PCs. Now phones and tablets. Our cars have computers in them. It's just a short form of "Computing Machine."

</comment><comment><USER5> What would you call them in that case? The whole "I'm a PC, I'm a Mac" campaign means that consumers now see PCs as "Microsoft computers" (and the rest of us generally use it interchangeably with "computer"); you would need a new encompassing term for the ol' tower on your desktop type of cat voyeurism device.

As time goes on the etymology of words generally becomes questionable: I don't think "computer" being inappropriate is a good reason to drop it.

That being said "desktop" is what I use, I rarely use "computer" these days.

<comment><AUTHOR> Don't know what the alternative would be, I don't own a Microsoft computer, so I always refer to mine as _mac_. I agree, to many folks Microsoft == Windows == Computer

</comment></comment><comment><USER6> I'm from Germany and here the people use the word "computer" or "PC". Some people even say "Rechner" which is a rather crude german translation of "computer", which is also used in "Taschenrechner"/"pocket calculator".

But only for desktop computers.

For the rest, most people use their concrete names like "notebook", "netbook", "laptop", "tablet", "smartphone", "server", etc.

<comment><USER7> Depending on what Chinese you speak, computers translate to "Electronic calculator" or "Electric brain". There strangely isn't a notion of "personal" computing.

(phones are electric speech)

</comment></comment><comment><USER8> It's not really outdated; more or less that the use of the word will change.

They're still computers, but computers are now just the engines running a huge array of devices. After all, I think the computer is going to be the next motor.

For clarity I think it's better to call "PCs" desktops or laptops for the time being.

</comment><comment><USER9> It also makes little sense to call most phones "phones." They're also cameras, camcorders, MP3 players, maps, browsers, etc.

As devices converge it may someday no longer make sense to have more than one device with serious processing power. I'm not sure I care much what we'll call it at that point.

</comment><comment><USER10> I still use my computer to compute (spreadsheets anyone?) so no, leave it alone! I want to compute!

</comment><comment><USER11> Weird. I had this exact same thought last night when I was going to bed. That seems to happen to me a lot; think something before bed, and then see it within the week. I should play lotto.

In all seriousness, though, "computer" describes a device that, well, does a computation. And while they definitely still do this, more now than ever, that's not what we use them for. We use them, truly, as communicators. Same with the word "phone". Really, the words have become obsolete because the actual product is obsolete, too. We think of computers in terms of what we use them for, not what they do inside them.

</comment><comment><USER12> You could use the word "ordinator" like the French « ordinateur ».

[http://fr.wikipedia.org/wiki/Ordinateur#.C3.89tymologie](http://fr.wikipedia.org/wiki/Ordinateur#.C3.89tymologie)

</comment><comment><USER13> There isn't a better word though.

The worst is when people try to use a different name, like "box".

Yes, technically millions of different devices are computers, everything from sim cards to satellites to robots to TVs.

When someone asks to look at your computer, you don't show them your phone, even though there is very little technical difference, you show them your laptop or desktop computer.

</comment><comment><USER14> One case is a Raspberry Pi - they are undoubtedly a computer, but as far as I know most people don't refer to them as that when they own one, they just refer to it as "my Pi" or "my Raspberry Pi".

</comment><comment><USER15> It is more hip to use 'puter.</comment>


Oh, the Places You'll Go - <AUTHOR> http://daltoncaldwell.com/oh-the-places-youll-go <comment><USER2> "I am not sure if Dr. Seuss realized that this particular book would hold deep significance to anyone, or that generations of young people would be given this book as a graduation present."

I'm sure no one could have predicted just how successful it would become, but he did put an enormous amount of thought into the messages he was sending. This NPR interview with the author of a new book about Dr. Seuss is very interesting:

[http://www.npr.org/2011/10/05/141085044/gustav-tadd-and- todd...](http://www.npr.org/2011/10/05/141085044/gustav-tadd-and-todd-dr- seuss-lost-stories)

He made a lot of war propaganda early on in his career, and it seems that this is one of the things that had a profound impact on him and the later books were partly an attempt to make up for that.

</comment><comment><USER3> > Rather, it's that these interviews really, truly are an accurate description > of what was going on in their head during the game. It's our fault for > expecting a compelling narrative. Our expectation of divining some deep > insight into their creative process is fundamentally flawed.

\--

This point is pretty spot on. I can imagine that when you're doing something that is percieved in hindsight as "great"; if you spent all your time doing it thinking about how "great" it was, you'd probably make all the wrong choices because you'd be all worried about making it look "great" in hindsight.

<comment><USER4> What I'm about to say might be absurd, but I've found this to be true of me playing computer games. I'll use Civilization II as an example -- I used to play Civilization II quite a bit, and occasionally I did absurdly well. If it ever got to that point and I paused to look at how good I was doing, I would then get out of the flow and be worried about messing up the game, worried if I was doing everything optimal, etc. I would inevitably end up not doing as well as I would have if I just kept on playing as normal.

</comment></comment><comment><USER5> bah humbug,

How much muscle memory did Zuckerberg have? Couldn't have been that much as he was so young.

I think this post is missing a larger point. You don't need to get to the point that "creating and shipping products is muscle memory". You just need to ship products. We've all seen the examples of Rovio (60+ products before a hit) or Id (4 products before hit?). And there's probably also plenty of examples of first product hits as well. Seems like important part is shipping. Not being a master of your craft.

Of course maybe that's not what people want to hear and I certainly would like to know tips that would make it more likely that the things I ship, write, create will be well received and popular but I can certainly name many products, libraries, app that are not the product of "someone with a finely honed craft."

And so that's the true story. It's not that people who do great things don't have an interesting story because to them it's just a normal day and they're so awesome they don't recognize it. It's that greatness comes from doing. The more you do the more chances for greatness.

<comment><USER6> You picked the perfect example to be wrong about :)

Facebook ships every day, and in the early days they shipped continually because they were editing the code on the live servers (no revision control even). I doubt that anyone would have called the very first version of facebook "great", but they've shipped thousands of times since then, and now they have product with a billion users. And of course Facebook wasn't his first product either -- remember the Facemash story?

<comment><USER7> And Synapse before that...

</comment></comment></comment><comment><USER8> This is by far my favorite children's book; I read it to my son at least once a week. After our first reading, I immediately realized how relevant its message is to entrepreneurs, so I'm glad to see it show up on Hacker News. One more blog post I should have written only to see someone else beat me to it. =)

Its basic message is to embrace failure. You're going to fail, things will be difficult, and you probably won't be great at everything. All of that should absolutely not deter you from trying what you want and living the life you want to live.

<comment><USER9> A friend performed it as a reading during our wedding ceremony - it was particularly fitting as we had just quit our jobs and were about to embark on an open ended round-the-world honeymoon.

</comment></comment><comment><USER10> "Similarly, in software, you can't be thinking about which programming language you are using ... MongoDB or MySQL... You will never hit the proverbial fastball if that is the sort of junk filling your head. Rather, creating and shipping products needs to be muscle memory."

That's a vague statement, but I interpret "muscle memory" to mean "have a good default toolset" in this context.

It makes a lot of sense to have a default toolset -- tools that work well in a lot of situations that you understand very well, which together cover most of the problem space you work in. That frees you from getting lost in the weeds trying to decide which tool to use each time. However, it still very much matters what tools are in that default toolset.

It takes a lot of effort and study to understand and choose the right set of default tools. If the options are MySQL and Postgres (or ruby/python, etc.), you need to pick only one as your default choice, otherwise you get distracted trying to make that decision for every project. It's not so much whether the technology overlaps or not, it's whether you perceive the applicability to overlap. For instance, if you perceive MongoDB to be useful as a primary datastore, it can't easily coexist in the default toolset with a SQL system; but it can if you perceive MongoDB to be more of a caching layer or for special-purpose processing.

Of course, you should recognize the signals when you're dealing with a different kind of problem that may require a non-default tool.

<comment><USER11> _I interpret "muscle memory" to mean "have a good default toolset" in this context._

I don't. In sports, we use "muscle memory" to refer to on-the-fly adaptations that athletes have to perform without conscious thought. For example, a basketball player sees his defender lean too far in one direction, and he automatically knows when to stop, jump and shoot in order to avoid being blocked. The shooter did not have to consciously think "Oh, he leaned that way, so I need to correct this way." That's too slow. The right thing to do is ingrained from hours of drilling and live practice. My sport of choice is Brazilian jiu-jitsu, and I see the same thing with myself all the time. When I feel my opponents weight shift, I don't consciously _think_ about how to flip him over. If I do, he'll already have moved. I just _know_ what to do, based on years of drilling and live training.

So, I extend the metaphor to software to rather the opposite of what you said. Always applying a default toolset is the opposite of on-the-fly adaptations. "Muscle memory" for solving software problems is being able to reason about what you know you can handle without having to pick a technology up front. It's having an intuition of what what the technology allows you to do. You're not thinking in terms of technology, you're thinking in terms of solving the problem and being able to easily classify things as "I know how to handle" and "I don't know yet how to handle."

The benefit of software over sports is that we have the luxury of time; we have the time to check our intuitive guesses through rational evaluation.

<comment><USER12> There is a quote, I'm not sure the answer but in a nutshell is says that amateurs practice until they get it right. Professionals practice until they can't get it wrong. I think that is very true in all disciplines.

</comment></comment></comment><comment><USER13> A small gem to add to a wonderful post:

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

Enjoy. Or get moved. Whatever works for you.

<comment><USER14> Lovely, but I like this "reality-based" version too... <http://www.youtube.com/watch?v=wIP8lFWa_mg> (by college-humor)

<comment><USER15> Wow, that's great too!

</comment></comment></comment><comment><USER16> Oh the Places You'll Go is a superb children's book that takes apart difficult problems such as conformity, risk-taking, complacency and failure. It follows a young protagonist through a psychedelic landscape discussing the painful, confusing and wonderful places we will all eventually go -- if we just try. What could be better?

</comment><comment><USER17> "Similarly, in software, you can't be thinking about which programming language you are using, and whether you are using MongoDB or MySQL, or whether photogrid layouts are the hot new thing or not. You will never hit the proverbial fastball if that is the sort of junk filling your head. Rather, creating and shipping products needs to be muscle memory. You just need to have clear eyes, a full heart, and be ready to show up and play."

Muscle memory comes from doing something many times. Watch the new barristas at Starbucks and compare how they use their hands to vs experienced barristas. Or a plumber. Or a physician. Or a programmer.

It takes time. Unless I am understanding what the OP is saying he seems to be implying that you can "just do it" and be in the zone that allows you to avoid thinking about "which programming language you are using".

When someone asks me a question about something that I have years of experience in I have all the answers immediately without thinking and I know the questions to ask and the nuances and can even correct the wrong information being given to me. That took years reading, learning and experiencing things. It doesn't come overnight. Along the way the learning process did involve "junk filling" my head.

</comment><comment><USER18> This might be off-topic, but - wow, what a great-looking, well-designed blog this is. Congratulations.

<comment><USER19> It's on Dustin Curtis's Svbtle: <http://svbtle.com/>

<comment><USER18> OK, well I'd never noticed that blog network before. Well congrats anyway to the artist behind that - a great looking, minimalist design.

<comment><USER20> The thing that annoys me most about it is the "kudos" thing that animates on mouse-over. I've accidentally "given" kudos a couple of times before I figured out what it was so I could avoid it.

<comment><USER21> It is pretty sweet on mobile. On the desktop it offends my sensibilities as much as, say, using HTTP GET to affect state.

<comment><USER22> what if the mouse-over triggered a POST?

</comment></comment></comment></comment></comment></comment><comment><USER23> In addition to having this book in our kids' collection, my wife gave this book to the young gal she donated a kidney to a year ago this week. As with many well done pieces of art, I am sure, it is amazing how one thing can take many different shapes for so many people.

</comment><comment><USER17> "During my tenure in the music industry, my favorite part was getting to meet people that created truly Great music." ...

"What is fascinating to me is that Great creation stories all sound surprisingly similar. Something along the lines of "yeah we went in the studio and put down some tracks, and they sounded pretty good, and we had to redo a couple of things, and then when put out the album.""

Do we have any info on the process that the people who didn't create "great" music used? Perhaps many of those used the same process. And what is the definition of "great" music anyway? Is it music that wins awards, or, the most popular music, or music that is critically acclaimed or music that is downloaded the most?

</comment><comment><USER24> > _"when an athlete is interviewed and says things like "well, we just went > out there to play today, and we got some good momentum and powered through > the other team," it's not that the athlete is a moron lacking the cognitive > capacity to accurately explain to us what happened out on the field that > day. Rather, it's that these interviews really, truly are an accurate > description of what was going on in their head during the game."_

There's a bit of a switch from a last shot question to a "what do you think of your team" question. Intelligent thoughtful and specific answers to questions about specific plays are quite common (e.g. Tiger Woods discussing his shots after a match).

What is common is that athletes may be less articulate than your typical office professional when describing those events. This interview with Wayne Rooney regarding his goal of the year hits some of the issues: [http://espnfc.com/us/en/news/1071240/beautiful-game- beautifu...](http://espnfc.com/us/en/news/1071240/beautiful-game-beautiful- mind-.html)

BTW, the best Dr Seuss book is "One Fish, Two Fish."

</comment><comment><USER25> I always wondered if people like the guys in Led Zeppelin realized, as they were writing some of their most epic and timeless songs, that they were creating something as truly significant as they were. Perhaps when you're creating something as an individual, it's hard to know that you're doing something great as it happens. But I'm curious if it's the same when you're 4 people in a room and that "magic" happens that can only be experienced when you've found that fit with other creatives that results in something truly original and innovative. I feel like, on some level, in cases like that, they had to know.

<comment><USER26> I think Page and Plant did know. We learn and live by how others react to us. It's how we get a sense of who we are, how "good looking" and "smart" we are. It's a constant process of self and peer evaluation and grading, although often implicit.

Page didn't always rock. No doubt he had to figure it out like everyone else, but when he did he was clearly a Great song writer and riff maker. And that's Great with a capital G.

</comment></comment><comment><USER27> I don't think "what were you thinking when you created this" is EVER that interesting a question. Too short a time interval, and too vague and undirected. "What were you thinking when you typed this semicolon?"

However, two types of questions are interesting (at least for me -- of engineers and entrepreneurs; not really that interested in athletes or musicians, but I think it's general).

1) How did you solve this specific problem or decide to make these specific tradeoffs (micro)

2) How did you get to this point (macro) (this has to be asked in a more specific way, unless the person is a really skilled or experienced interviewee

<comment><USER17> "is EVER that interesting a question."

Agree and it feeds into the idea that you need to have some grand plan in your mind at all times. When you read stories about people in the news they are always presented as very clearly being "a" or "b". "He always knew he wanted to be President" or "He wanted to be a ball player but ended up being President". Anyway the question can in some cases even be annoying and make you feel defensive. I dated a girl once who insisted on knowing what it was I liked about a particular dish. Why is it important why I like pizza? I just like pizza. Think a minute (if you are a straight guy) about why you like tits. Go ahead. Not sure about you but I can't answer that question. I just like the way they look. Is that an adequate answer? It triggers some thing in me that makes me feel good. I think it's easier many times to describe what you don't like, than what you like. I like air conditioning because high humidity makes me feel yucky. So air conditioning helps me avoid a negative feeling.

I think the key is like you detailed. In the specificity of the question.

</comment></comment><comment><USER28> Is the right-hand side of the text cut off on the iPad for anyone else?

<comment><USER29> Which iPad model and OS are you on?

<comment><USER30> I noticed it too - I'm on an iPad 2.

<comment><USER29> Can you (or anyone with this problem) please send me a screenshot? firstname.lastname@example.com. Thanks.

<comment><USER30> Shoot, sorry, I didn't see this comment until I left town for a week and left my iPad behind.

</comment></comment></comment></comment></comment><comment><USER31> I wish he had started with "Rather, creating and shipping products needs to be muscle memory" because that's the true gem of the article.

Oh yes, and I added the Doctor Suess book to my Amazon wish list.

</comment><comment><USER32> Internet archive has the original, btw: <http://www.archive.org/stream/ohplacesyoullgo00seusrich>

</comment><comment><USER33> What's so interesting about this is that the key message in "Oh, the Places You'll Go" is one which resonates for adults. Too many of our childrens books condescend.

</comment><comment><USER34> thinking dogma, all over again! (i.e. when thinking is seen as the opposite of doing .. and therefore bad!)

thinking is not bad ... you can think and still make great things, greatness doesn't have to be spontaneous or reactive ... it can be well thought, laid out and planned

just think about it .... and oh, the places you'll go :)

</comment><comment><USER35> My sister sent me a copy of this book when I finally completed my associate's degree (as a graduation present -- along with a stuffed toy in cap and gown announcing "I iz a brane."). It's a wonderful little book.

</comment><comment><USER36> "Games you can't win 'cause you'll play against you."

That caught my attention. Mostly the biggest obstacle in front is ourselves.</comment>


A History of Haskell: Being Lazy with Class (2007) [pdf] - <AUTHOR> http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf <comment><AUTHOR> FYI: A free course from the University of Glasgow just started today as well.

[https://www.futurelearn.com/courses/functional- programming-h...](https://www.futurelearn.com/courses/functional-programming- haskell)</comment>


Podcasts on Floppy Disk - <AUTHOR> https://shkspr.mobi/blog/2020/09/podcasts-on-floppy-disk/ <comment><USER2> It's possible to squeeze more data on to a 3.5" floppy while still remaining readable in a standard PC floppy drive. Two examples of this are Microsoft's DMF format [1] (with 1680KB capacity) and IBM's XDF format [2] (with 1860KB capacity).

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

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

</comment><comment><USER3> Could a bespoke audio player could enhance low bitrate audio back to sustained listenability? Seems like the sort of thing machine learning is good at.

<comment><USER4> 1.4MB of English text (uncompressed) is about 250k words. If you could compress a voice model for speaker small enough, text-to-speech + a transcript might be a good compression method for a podcast.

<comment><USER5> That's a really intriguing idea. I wonder if you could go a step further and include a teensy amount of model data tailored to the original speaker(s). i.e. Telling the reconstruction algorithm "here's how he speaks" and "here's what he's saying".

<comment><USER4> That's what I was thinking.</comment></comment></comment></comment>


Glom – Restructured Data for Python - <AUTHOR> https://sedimental.org/glom_restructured_data.html <comment><USER3> It's a nice idea, but i never like writing what amounts to a DSL in strings in my code (yes, that applies to in-code SQL as well, although that's often unavoidable).

I prefer the `get_in()` method from Toolz: [http://toolz.readthedocs.io/en/latest/api.html#toolz.dicttoo...](http://toolz.readthedocs.io/en/latest/api.html#toolz.dicttoolz.get_in)

<comment><USER4> I agree, I don't like the magic string approach (even if it is mostly just dot-notation attribute lookup). However, there is some good stuff here, and nested data lookup when value existence is unknown is a pain point for me.

In addition to the string based lookup, it looks like there is an attempt at a pythonic approach:

      from glom import T
      spec = T['system']['planets'][-1].values()
      glom(target, spec)
      # ['jupiter', 69]

For me though, while I can understand what is going on, it doesn't feel pythonic.

Here's what I would love to see:

      from glom import nested
      nested(target)['system']['planets'][-1].values()

And I would love (perhaps debatably) for that to be effectively equivalent to:

      nested(target).system.planets[-1].values()

Possible?

\--- edit: Ignore the above idea. I thought about this a bit more and the issue that your T object solves is that in my version:

      nested(target)['system']

the result is ambiguous. Is this the end of the path query and should return original non-defaulting dict, or the middle of the path query and should return a defaulting dict? Unknown.

The T object is a good solution for this.

<comment><USER5> The other problem that T solves and nested doesn't is being able to reuse a spec. Once you have a spec, whether created with T or directly, you can call glom multiple times with the same spec, pass the spec to another function, tc.

<comment><USER6> That's called defining a function.

</comment></comment></comment></comment><comment><USER7> This might have been unintentional, but I suspect "Spectre of Structure" and "Python's missing piece" refer to Nathan Marz's specter library for clojure [1], similarly touted as clojure's missing piece. I tend to agree in the case of specter, given the mind-boggling types of transformations that are easily (and simply) expressed in it (and often run faster than idiomatic clojure as well). Highly recommended if you ever need to work with deeply nested data structures.

[1] [https://github.com/nathanmarz/specter](https://github.com/nathanmarz/specter)

<comment><AUTHOR> Total coincidence! Reading the README, Nathan and I are definitely on the same wavelength though. When I get a chance I'll add it to the analogies doc: [http://glom.readthedocs.io/en/latest/by_analogy.html](http://glom.readthedocs.io/en/latest/by_analogy.html) :)

<comment><AUTHOR> What's really interesting is that we're approaching the same ideal state from different directions. Specter goes from Clojure's immutability to something more practical, from Python's super dynamic system to something more declarative and immutable.

</comment></comment></comment><comment><USER8> This is really cool. Did you ever consider an API to do the reverse - <USER2> insert a value at a particular point in the data?

My interest stems from this issue[0] on the Ruby issue tracker to make a symmetrical method to Hash#dig (which does something similar to, but more limited than glom) called Hash#bury. The problem in the issue was that inserting a value at a given index in an array proved difficult and unnatural in Ruby, so I was wondering if there were other solutions out there.

Another question occurs to me - does glom only support string keys?

[0]: [https://bugs.ruby-lang.org/issues/11747](https://bugs.ruby- lang.org/issues/11747)

<comment><AUTHOR> glom not only supports more than string keys, it also supports assigning to non-dictionary objects. That's a part of the API we're working on right now, actually.

As for the data insertion, mutation may be in the future, but for now glom only transforms and returns new objects. Definitely something to think about though, bookmarked! :)

<comment><USER9> Check the updateIn, mergeIn, mergeDeepIn methods in immutable.js. Maybe even asMutable, asImmutable for mutation.

</comment></comment></comment><comment><USER10> There is also this Python lens library. [https://github.com/ingolemo/python- lenses](https://github.com/ingolemo/python-lenses)

I can't say how they compare, but they have some overlapping features.

</comment><comment><USER11> My favourite approach to this so far, that I would like other libraries to copy, is Elixir's Access protocol, which gives you e.g.:

        foo = %{key: [[1, 2], [3, 4], [5, 6]]}

        path = [:key, Access.all, Access.at(0)]

        get_in foo, path
        # => [1, 3, 5]

        update_in foo, path, &(&1 * 10)
        # => %{key: [[10, 2], [30, 4], [50, 6]]}

        foo
        |> put_in([:key, Access.all], "foo")
        |> put_in([:new_key], "bar")
        # => %{key: ["foo", "foo", "foo"], new_key: "bar"}

That third form is essentially the equivalent of building up a complex object through a series of mutations—but entirely functional.

</comment><comment><USER12> This seems like lenses for python... neat! I often use python to mess around with things, and almost always miss Haskell's lenses when doing so. This seems like an interesting solution.

</comment><comment><USER13> I haven't played with this yet, but it looks really handy. I deal with much more JSON on the command line than I'd like, so I think having both a single library and command line tool to reshape that data will make that much easier. I've used jq a few times, but when I want to move a little beyond what it does I usually end up writing a Python script. Hopefully this will make that transition smoother.

<comment><AUTHOR> Haha, I'm all for console usage, but let me tell you, there's nothing quite like that feeling of moving a working spec into a dedicated application with exception handling, logging, etc. :)

</comment></comment><comment><USER14> I'm not really versed in the idioms/social mores of Python, so please take the following with a grain of salt:

This seems like it usefully solves a problem, but the invocation pattern is suspect to me -- Instead of "glom" taking the target for picking-apart plus a magic little bit of DSL, what if "glom" took a single parameter, the aforementioned DSL, and returned a function that would perform the corresponding search when called on a target? Even if Python or this package optimises away repeatedly searching (by the same spec|in the same manner), the convention the package prescribes is odd to me, right after the first few paragraphs of intro.

<comment><USER15> Python regex library does this, optionally

<comment><USER16> Similarly, statistical distributions in SciPy can be used in "frozen" form (pre-parameterized) or in a more general form where you supply the parameters at the same time you are requesting some attribute it the distribution. Seems to me to be a situation where one is useful if you expect reuse, and the other is useful if you don't.

</comment></comment></comment><comment><USER17> It seems to me like the advantage to focus on here is the improved error / `None` handling, which will speed debugging and make handling expected edge cases easier. I've seen a lot of inexperienced developers tripped up entirely by this kind of data access, and seen plenty of experienced developers waste time debugging it because of the exact error cases the announcement references.

The `T` object, which the article describes as its most powerful, can be a useful pattern in some situations, but it's worth pointing out it isn't new or unique to this project.

The author says in another thread here that he first started working on the "stuff leading up to glom" in 2013. One older example, which is virtually identical though less complete, is this Stack Overflow answer I posted in 2012: [https://stackoverflow.com/a/9920723/500584](https://stackoverflow.com/a/9920723/500584)

I'd seen the general pattern even before that post, if not the Pythonic syntax. I don't think that it's much of an improvement over defining a `lambda`, so again I would say the thing to focus on is the improved debugability and the simpler, dot-notation-as-generic-attribute-or-item- accessor syntax. I think `T` is largely a distraction, or should be reserved for advanced users.

<comment><USER6> I would like to see the author debugging an application with 10 levels of object wrapping that had one of the middle object's name misspelled.

Libraries like these shine only if they have brilliant tracing and debugging capabilities; otherwise are too easy to reduce to literally a single function.

<comment><USER18> [http://glom.readthedocs.io/en/latest/api.html#debugging](http://glom.readthedocs.io/en/latest/api.html#debugging)

affordances to add tracing prints, or drop into a pdb at any level

The Inspect specifier type provides a way to get visibility into glom's evaluation of a specification, enabling debugging of those tricky problems that may arise with unexpected data.

Inspect can be inserted into an existing spec in one of two ways. First, as a wrapper around the spec in question, or second, as an argument-less placeholder wherever a spec could be.

Inspect supports several modes, controlled by keyword arguments. Its default, no-argument mode, simply echos the state of the glom at the point where it appears:

</comment></comment></comment><comment><USER19> It looks quite similar in spirit to Clojure's Specter library ([https://github.com/nathanmarz/specter](https://github.com/nathanmarz/specter)), and even seems to have a nod to it (The Spectre of Structure).

<comment><AUTHOR> Oh nice! Total coincidence, I assure you. Still, I should read on this and add it to the analogy doc: [http://glom.readthedocs.io/en/latest/by_analogy.html](http://glom.readthedocs.io/en/latest/by_analogy.html)

Declarative data transformation generates a lot of comparisons (almost all of them great, though!).

</comment></comment><comment><USER20> Looks really neat.

Striking a balance between ease of use / simplicity and powerful features is a tough exercise but you did well.

I can foresee the CLI being quite useful to do away with the run-of-the-mill sed / awk / grep [...] mess. Specifically for the less CLI inclined people out there.

</comment><comment><USER21> in a similar spirit, i wrote "sanest", sane nested objects, tailored specifically for json fornats: [https://sanest.readthedocs.io/](https://sanest.readthedocs.io/)

it does not have the exact same feature set though. my focus was mostly on both reading and modifying nested structures in a type safe way.

</comment><comment><USER22> Compare/contrast with pstar: [https://github.com/iansf/pstar](https://github.com/iansf/pstar)

</comment><comment><USER23> Can it be used bidirectionally, without having to repeat the work?

I have a need to transform between pairs of structures, in both directions, and ever since I found JsonGrammar ([https://github.com/MedeaMelana/JsonGrammar2](https://github.com/MedeaMelana/JsonGrammar2)) I've been pining for a Python version.

<comment><AUTHOR> It depends on the complexity of the spec, but we've already done some programmatic building of glomspecs, so for many cases I think the answer is yes! Once we feel out the patterns I think glom will gain some utilities for this purpose.

<comment><USER23> Thanks, that's awesome!

</comment></comment></comment><comment><USER24> I had a quick look, but I didn't see filtering expressions, only shaping expressions. It seems like glom is more of a result shaper/mapper. Can you filter with glom (maybe with lambdas or something)? I could see the two going together quite well if you were "glomming" a big Python object.

<comment><AUTHOR> Filtering is supported through the OMIT value: [http://glom.readthedocs.io/en/latest/api.html#glom.OMIT](http://glom.readthedocs.io/en/latest/api.html#glom.OMIT) (another example: [http://glom.readthedocs.io/en/latest/snippets.html#filtered-...](http://glom.readthedocs.io/en/latest/snippets.html#filtered- iteration) )

Lambdas and functions are always a safe fallback, but glom does its best to keep your specs readable and roundtrippable (gotta love a nice repr()).

<comment><USER24> That's cool! Thank you for pointing it out!

</comment></comment></comment><comment><USER25> There is already a well established Gnome project with the same name: [http://www.glom.org](http://www.glom.org) It is a GTK+ front-end to PostgreSQL, similar to Microsoft Access.

</comment><comment><USER26> This reminds me a little of the excellent dpath lib: [https://github.com/akesterson/dpath- python](https://github.com/akesterson/dpath-python)

</comment><comment><USER27> I'm probably being dense, but I don't see a good description of the input data types supported - the CLI says "json or python".

It would be great to have clarification if this is JSON only, or supports other data structures, or parsers could be plugged in?

<comment><AUTHOR> From within Python, all objects are supported by default. If you can parse it, you can glom it. You can even register additional behaviors for specific types to keep your specs tight: [http://glom.readthedocs.io/en/latest/api.html#setup-and- regi...](http://glom.readthedocs.io/en/latest/api.html#setup-and-registration) (example: [http://glom.readthedocs.io/en/latest/snippets.html#automatic...](http://glom.readthedocs.io/en/latest/snippets.html#automatic- django-orm-type-handling))

The CLI is in a pretty preliminary state, usable but not as robust as it will be in a few weeks. It only supports built-in parsers (JSON and Python literals) What formats are you thinking? YAML?

<comment><USER27> Aha. Thanks! I understand better now, I didn't realize it was so general- purpose :)

</comment></comment></comment><comment><USER28> This is pretty neat and is something I've been thinking about for a current project.

Does anyone know if something similar exists in Java/Scala land?

<comment><USER29> I think this is similar to lenses in FP languages - check out Monocle for Scala.

</comment></comment><comment><USER30> Aside: are there any libraries for JSON or dict-like formats with xpath-style querying that are as quick under the hood as lxml is for xml?

</comment><comment><USER6> I think this project defines the first step at transitioning pip to a js-like repository of single-function modules. Hurray for kool-aid.

</comment><comment><USER31> I'm curious about how the author replaced DRF with glom

<comment><AUTHOR> DRF still takes care of negotiating formats, etc., but it replaces the serializers. I'll see about getting an example in the repo, stay tuned.

</comment></comment><comment><USER32> Shameless plug: [https://www.npmjs.com/package/safely- nested](https://www.npmjs.com/package/safely-nested)

Nothing special, glom just reminded me of it.

</comment><comment><USER33> Looks slick!

</comment><comment><USER34> The writing style is just insufferable. Even the API documentation is littered with hyperbole and self-congratulation. We get it, you're proud of your work and _extremely_ proud of yourself.

> "as simple and powerful as glom"

> "big things come in small packages"

> "small API with big functionality"

> "power is only surpassed by its intuitiveness"

> "simplicity is only surpassed by its utility"

> "shortest-named feature may be its most powerful"

For heaven's sake, give it a rest!

It's a big red flag about your priorities that when I go looking for a precise specification, I can't find answers to simple questions and instead end up wading through incessant marketing phrases. I tried, and I finally gave up halfway through the API doc. It might even be the case that glom is a good idea—but you're making it really hard to trust you as a source of objective information about it.

Show, don't tell. My advice to you: you'll generate more interest if you delete every congratulatory word on those pages and focus entirely on helping your readers understand what glom does instead of trying to sell it to them.

<comment><AUTHOR> Hey Ka-Ping! Maybe I did get carried away :)

How I wish one could publish a dry document and expect people to read all the way to the bottom. I've published enough libraries to know that's not the case. glom's free software so it's all there, as "shown" as can be.

But referring you to the code wouldn't be very considerate either. Instead, here's this literate code version that I prepared in advance. Hopefully this will be of more help to you: [http://glom.readthedocs.io/en/latest/faq.html#how-does- glom-...](http://glom.readthedocs.io/en/latest/faq.html#how-does-glom-work)

<comment><USER35> In [http://glom.readthedocs.io/en/latest/tutorial.html#access- gr...](http://glom.readthedocs.io/en/latest/tutorial.html#access-granted),

> After years of research and countless iterations, the glom team landed on > this simple construct:

'years of research', 'countless iterations', 'glom _team_ ', really?

<comment><AUTHOR> You're yellin at a tutorial man. You gotta let some flavor text slide. :)

That said, I'm no liar. Kurt and I (as a team), really did write stuff leading up to glom in 2013 (years ago), and have written stuff like it enough times that I've lost count (countless :P). If this isn't research, I don't know what is. Heck, I'm even getting a fun little peer review!

<comment><USER36> don't sweat it dude. I've noticed a lot of people on hn are crabby assholes for absolutely no good reason. like on the post linking to Google's codelabs (where there are hundreds of tuts about all sorts of things in the Google ecosystem) there were only two comments and they were complaints. and recall that every time an electron app is posted almost every comment is whining about the performance. and every time a rust article is posted there's whining about how it's more complicated than js. and every time there's a js article posted there's whining about how it's not type safe like rust. and every time someone posts a personal page someone has to point out how it's "garbage on mobile" as if they're doing people a favor pointing out flaws (as if they don't understand that mobile is the most heterogeneous platform out there). I swear people don't know how to be grateful for free shit or just keep their mouths shut when something doesn't tickle their own particular fancy. I wager it's a defense mechanism because they themselves aren't making anything and so they need assert their superiority in some way (because people that are busy doing stuff don't have time to complain about things irrelevant to their own work). kudos to you and Kurt for releasing a library to the community that's different and interesting and fuck the haters.

<comment><USER37> This needs to become a copy pasta + a version where we s/hn/reddit/g and every friggin salty post needs it shoved to them.

</comment></comment></comment></comment></comment></comment><comment><USER38> Cool... it looks like... errr... javascript :D</comment>


Five things we need to know about technological change (1998) [pdf] - <AUTHOR> https://web.cs.ucdavis.edu/~rogaway/classes/188/materials/postman.pdf <comment><USER2> A related talk, delivered a few months before TFA: "Neil Postman, 1998: six questions on technology" [https://www.youtube.com/watch?v=dBlfPhsrvtw](https://www.youtube.com/watch?v=dBlfPhsrvtw)

Neil Postman was very far-sighted; "Amusing Ourselves to Death" still stands up extraordinarily well. He was heavily influenced by Marshall McLuhan but is much less opaque.</comment>


Show HN: I built a crowdsourced Covid-19 directory in 13 hours and streamed it - <AUTHOR> https://twitter.com/matteing/status/1239491163922587648 <comment><AUTHOR> Hey folks - it's me, the creator. Any questions let me know!</comment>


Robert Zubrin: how to go to Mars right now - <AUTHOR> http://www.spectrum.ieee.org/aerospace/space-flight/how-to-go-to-marsright-now

<comment><USER2> I think the most interesting aspect of the Mars Direct-style plans is that they can potentially be one-way. The largest expense with a trip to Mars in terms of technology and resources is getting back out of the Martian gravity well and back to Earth. If you go far enough into the Mars Direct-style approach, there's no particular reason why you need to be in any hurry to come back and you can think about sending crews in the dozens rather than single digits.

I'm not sure I can see NASA doing a one-way mission, but I'll be first in line if SpaceX or whoever tries it.

</comment><comment><USER3> I just watched Apollo 13 last night and I have to say, I'm sad i wasn't alive during the space race - the very concept thrills me.

But it appears that while we have the technology to get to Mars today, we lack the impetus - something that the article addresses, but not wholly.

We went to the moon to beat the Soviets. It would be more likely that we would persue a manned Mars program if we had someone to beat.

As it stands, I feel it's more likely that a manned Mars program will be undertaken by the various commercial ventures out there than by any government.

<comment><USER4> _We went to the moon to beat the Soviets._

That's half the truth. The rest of the truth is: We went to the Moon out of _sheer terror_.

In fact, the Moon trip itself was a side effect. The space race took the form of a race to the moon because "the race to the Moon" was a much more joyful marketing slogan than "the race to design and build the next generation of ICBMs that will enable cities and towns like yours to be destroyed with even greater precision."

Remember that the Moon race was conceived in the early 1960s. ICBMs were a brand new technology. Everybody knew that we had to build more of them, keep improving them, stay ahead in them -- they'd seen the H-bomb tests. People who had lived through the 1940s -- Stalingrad, Auschwitz, Nanking, Bataan, Dresden, Nagasaki -- naturally found it difficult to have faith in human decency and restraint; they all thought World War III was inevitable, and probably imminent. This was several years before the Cuban missile crisis and a decade before the ABM treaty.

But it was hard to stay cheerful when talking about the world's rapidly expanding nuclear arsenals, so the space race was portrayed as a game to get astronauts and/or cosmonauts to the moon, and everyone had a lot of fun playing along. Enormous quantities of money were poured into rocket research, the military on both sides of the Cold War got their high-tech missiles and spy satellites and electronics, and in the end we got to watch some truly amazing pictures of people walking on the moon and feel proud. Smiles all around. A big win for everyone.

But the Moon itself was a secondary goal. A Macguffin. The Soviets didn't even bother to go, and their effort seems to me to have been rather halfhearted. By 1969 they had long since achieved the important goal anyway: Better rockets. The USA followed through but quickly got bored with the actual "moon" part. The _Apollo 13_ movie talked all about that: Mere months after the first moon missions, the remaining ones attracted scant public interest.

So I find the space race fascinating, and I understand the nostalgia for it, and I'm glad some good came out of the cold war, but I don't want to live through anything like it if I don't have to.

<comment><USER5> I'm fascinated by comments like this one, which relate a historical narrative explaining what motivated some event. How do I tell if it's true? What would it mean for it to be false? If it's true (which it is, presumably,) could you tell another story that was just as true, but completely different? There's nothing controversial about the idea that the space program was motivated by the desire to test military technology (indeed, everyone assumed this was the purpose of North Korea's recent "satellite launch" or whatever.) And yet the story being told here is much "bigger" than that fact.

(If you have trouble seeing what I mean, here's an example: <http://news.ycombinator.com/item?id=624495> . People see the same facts and write completely different stories.)

<comment><USER2> This is something I recently ran into in another thread, and I didn't get into it there because it seemed too meta and unproductive, but this seems like a good opportunity.

When we talk about history we are not talking about a binary system, we're talking about experiences related through perspectives. There is rarely an absolute truth to history, and the longer back we go the less certain our understanding tends to be. The situation is even worse when we start talking about motivations.

In this case, the motivations of the space program weren't simply military, or rather, they were military to the military, but if you read about or speak to the people involved, you're not necessarily going to hear that. For some of the people, the moon race was genuinely about exploration and wonder, for others it was exploration used as cover for ICBM research, etc. It is very easy to conflate the motivations of the individual with the motivations of the institutions they are associated with, and this frequently ends up cheapening one or the other.

<comment><USER4> _It is very easy to conflate the motivations of the individual with the motivations of the institutions they are associated with, and this frequently ends up cheapening one or the other._

Very well put.

It would be a mistake to see the space race as something which was "only" about military ambition. It was about different things to different people, and it grew more meanings over time.

But, though there are a thousand different histories that can be written about any event, some historical perspectives are more useful than others for answering particular questions. For example, when you ask "how come the country was happy to write NASA a series of blank checks during the 1960s, but not since?" it's valuable to remember the military angle. In the 1960s the development of better space technology was understood to be a matter of life and death for millions if not billions. Now... not so much.

<comment><USER5> > But, though there are a thousand different histories that can be written > about any event, some historical perspectives are more useful than others > for answering particular questions.

This seems like a really good way to evaluate historical scholarship (amongst other metrics, of course, unless Mencius Moldbug and Howard Zinn happen to be our greatest living historians.)

</comment></comment></comment></comment></comment></comment><comment><USER6> I think that Moon is much important milestone than mars in the shorterm. The main reason is that Moonh is the huge resource of Helium-3, which should be a main energy resource of the next centuries. Who dominate the moon will also dominate the energy of the future. This is the main reason, why Chine, USA and Russia take a look more at the Moon than Mars.

<comment><USER7> Without knowing anything specific, I'd venture to guess that the distance has something to say too.

</comment></comment><comment><USER8> I don't think it's ever been the technology that's prevented us going to Mars - its the cost and the will of the people. A 25% bigger budget for NASA is still bigger, and considering right now even the ISS looks to be in trouble, you would need someone or something very special to get the public behind more space missions.

<comment><USER9> Hmm.

NASA: 17.6 Billion. TARP Bailout: 700 Billion.

Your tax dollars at work...

I'd love to see what a company like SpaceX could do if they had a yearly grant (qualified by demonstrable successes) of 25% NASA's budget.

<comment><USER10> Nice comparison. Sad though.

</comment></comment></comment><comment><USER11> Interesting plan, but massively glosses over some very hard things.

Land 40 tons using a parachute????

And of course galactic radiation that is going to be bad for the crew (how bad is a subject of debate that I already had, so am not going to repeat).

<comment><USER2> One of the cornerstones of the Mars Direct approach is that it takes advantage of the solar system's orbital mechanics such that the actual trip is relatively short in comparison with the duration humans have spent in space so far. I think you probably have a point about 40 tons aerobraking in the atmosphere and then popping a parachute, but I wouldn't expect either to be a deal breaker.

The NASA Design Reference mission is essentially a modified version of Mars Direct, so I would expect reading up on this would provide solutions to these problems, or at least it will go into more detail than this brief article.

</comment></comment><comment><USER12> We need a permanent presence in space, not a series of one off jaunts. Mars is too far and our technology too limited to colonize. It would just be a flag plant. However the moon is within our reach.

Spending resources on Mars now will only delay our permanent presence in space.

Manned missions to the Moon to set up a colony. Robotics for the rest of the solar system. It's the only way.

<comment><USER13> I don't understand this at all. Your first sentence is bold yet your second is hesitant. Make up your mind, my friend! :-)

</comment></comment><comment><USER14> Relevant:

[http://www.veoh.com/browse/videos/category/animation/watch/v...](http://www.veoh.com/browse/videos/category/animation/watch/v14085830Cq24yFjf)

</comment><comment><USER15> it needs competition, private companies would be all over this if they could profit from space exploration. Setup a law that states that any landing on the planet will get the lander all land for 250 miles, and you'd have hundreds of missions lifting off trying to get a piece of the pie.

<comment><AUTHOR> I am all for private enterprise and creating incentives, but would that work? We know that there are metals and minerals that could be mined in asteroids and other planets. But, so far no private mission has been carried out. In fact, only recently have private companies started launching satellites into orbit, which is kind of trivial when compared to mining the Moon, or Mars.

Last but not least, suppose that you would grant any spaceship landing in Mars the right to own all land within 250 miles. Sounds great, but why wouldn't they explore and mine the entire planet if they could?!? It's not like you have CCTV cameras on Mars to know what they're doing, where they're mining, etc. Hence, in a way that's a false incentive.

<comment><USER15> That's because the cost does not justify the payout. Sure you could go and mine on Mars, but there is no guarantee you'll keep the land if you find anything. By setting up a rule that if you explore it, it's yours...you'd have companies rushing to plant their flag...not because they wish to explore, but to lay a claim of ownership on the area for the future.

As far as companies mining the entire planet, sure they could, but they'd be poachers. The 250 mile area claim would have legal rights of ownership backed by earth governments.

The rule would obviously need to add some extra provisions to drive innovation. I dunno, require colonies within 100 years, or trips every decade to show the flag etc.

There is a reason that pretty much every single explorer on earth was financially backed by either a company or a gov't grant.</comment></comment></comment>


Create a Landing Page for your iPhone App in Seconds - <AUTHOR> http://myapppage.herokuapp.com/ Example: http://myapppage.herokuapp.com/demo?appID=471966214 <comment><AUTHOR> Example page: [http://myapppage.herokuapp.com/demo?appID=471966214](http://myapppage.herokuapp.com/demo?appID=471966214)</comment>


Introducing the Swift Summary Book - <AUTHOR> https://github.com/jakarmy/swift-summary <comment><AUTHOR> A summary of Apple's Swift language written on Playgrounds.

Apple's documentation is great for learning Swift, but who's got the time to read all that?

This summary cuts to the chase. It is directly written on the Playgrounds platform, which makes it very interactive. You can tinker around with it as much as you like!

Help this open-source project grow! \- Give a star on GitHub. \- Fork the Project \- Share it with the community

Thanks!</comment>


HBO's Silicon Valley excuses the tech industry's moral failings - <AUTHOR> https://www.newscientist.com/article/mg24432592-400-how-hbos-silicon-valley-excuses-the-tech-industrys-moral-failings/ <comment><USER2> How do you expect all of these free service to actually make money? They are businesses, after all.

If data can't be sold, many people need to prepare to pay for everything.

<comment><USER3> It's possible to make money off of ads without collecting any personal data. Print publications and TV have been doing this for ages.

YouTube could target ads entirely based on the content of the video being watched. For example, if I'm watching a video of someone playing a video game, chances are that I'm interested in video games and they can show me ads for video games or gaming computers. They don't have to know anything about me or my viewing history to be able to do this. If I'm watching a video of a talk on functional programming, they can show me ads for high-end laptops. Same if I'm reading an article about programming on medium.com or some other blog site.</comment></comment>