Ask PG: How Critical Should I Be? (meta - flagging) - <AUTHOR>

I'm definitely in the "up-vote the good stuff" camp, but contributing to HN includes the far less enjoyable tasks of occasionally down-voting and flagging.
I know HN employs an "excessive flagging" threshold to prevent abusive flagging (pg mentioned this eons ago, but I can't find the link). The "Enough rope to hang yourself" design works well with engaged users who care about the quality of HN, but the design seems to break down when there's too much bad stuff to flag/down-vote. The most obvious break down is when emotions run high on some topic, and we're flooded with bad comments, throw-away trolling accounts, and redundant but up-voted submissions. But on everyday terms, if I was to flag every single violation of the site guidelines I see in the /newest queue, I'd very quickly hang myself on the anti-abuse code.
Even seemingly well-intentioned people get hung by the anti-abuse code:
https://news.ycombinator.com/item?id=5454106
Too much of a good thing is often bad, and a well-intentioned person with an itchy mouse finger could easily flag too much. At present, there's just no way to know where the "too much" line is, or what kind of infractions should be flagged.
pg, could you provide more guidance on what you want to be flagged?
I've got a few ideas for potential ways to provide feedback on good/bad flags to users in their profiles without spoiling the anti-abuse code. I could either email them to you or post them up in the "Feature Request" thread where they belong.
p.s. Also could you please add "gossip" and "X is down" messages to the list of off topic stuff in the site guidelines? <comment><USER2> On the forums I run I have the policy that to flag something is an exceptional thing... and that when it happens it's because something exceptional has occurred.

I feel that the whole flagging system is for two reasons:

1) Legal enforcement against illegal material: child porn, hate material, etc.

2) The way in which the community communicates to me the community standards... where the subjective line of acceptability is

In the first instance, I only receive a couple of flags a year even on a community with 250k actives per month.

On the second, I receive a flag every day or two.

Flags generate emails to all of the admins and moderators, it's a "drop things and look at this" event.

When we receive a flag we will ignore it if: The person is an habitual flagger (over-sensitive), or the person always flags the subject of the flag (chip-on- shoulder/bias).

We're attempting to listen to and gently adjust the subjective acceptable standards that are communicated to us, but without introducing a system in which a small number create a wild amount of vocal bias.

Hence... if someone flags often, they lose their ability to flag as they're creating disproportionate noise in the feedback mechanism.

So long as people on the communities I run reserve the flag for the truly exceptional and unacceptable, then everything works well.

Now, assuming similar intent in the system exists here, I'd say it's best to avoid flagging unless it's essential to flag.

<comment><AUTHOR> Thanks for the input. Great points.

The flagging system on HN shares some similar aspects to the ones you mentioned (congrats on 250K active users!), but in many ways, it's a completely different system and has a slightly different intent. It only takes a few flags from established users for new submission to be marked [dead] and invisible to most people, save those who have "show dead" enabled in their profile. In this sense, HN flagging is designed to crowd-source the task of removing spam, abuse, and off-topic material from the site.

Essentially, flagging is community cleanup, and it's the reason why the flag link is so prominent... --You probably remember when the front page didn't have flag links. For a long time, only the /newest page had easily accessible 'flag' links. The change of putting 'flag' links on the front page was made because junk kept getting up-voted onto the front page, and since most people didn't know how to flag (by visiting the 'link' link), the result was discussions about inappropriateness.

Flags on HN work differently than what you described. If you flag something and it gets flagged by enough other people (tempered by anti-abuse ring flag/vote detection) to be marked [dead], then it was a "good" flag. Similarly, if you flag something and _not_ enough others flag it to become [dead], then it was a "bad" flag. The more "good" flags you make, the more weight is given to them, and of course, the more "bad" flags you make, the less weight is given to them.

(NOTE: Above I'm paraphrasing something pg posted eons ago, and I can't find the link, so I might not have the details perfect, and the details may have changed since then.)

Also, flags reduce rank in the HN sorting, but exactly how flags reduce rank is undisclosed (contra-factor --see pg's second post here):

<https://news.ycombinator.com/item?id=1781417>

If you flag something, and it does not go [dead], your flag still has some effect, but the details of whether said flag is "good" or "bad" are unknown. All I can say for sure is if something is highly up-voted, and also heavily flagged (i.e. _contro_ versial), it sinks down the ranking and off the front page very quickly even if it is never marked [dead].

It's a very clever design, reduces the workload on mods/admins, and enables you to do some other interesting stuff...

Most of the details are not public, but I'd bet PG uses the good/bad ratio to determine things like the per-user threshold value where flagging is disabled for a user. I also suspect it would take some other count and/or good/bad threshold of flags per-submission or per-post for admins/moderators to be bothered with any kind of alert. Why bother the mods/admin when enough known- good users have flagged it to [dead]? These two points are pure speculation on my part, but having the good/bad flag ratio per-user allows you to lighten the workload on mods/admins.

Of course, pg not elaborate on the anti-abuse code, and I sincerely doubt he will neither confirm nor deny anything I've said publicly because he just can't without jeopardizing the effectiveness of his anti-abuse code. (Yes, I'm intentionally giving him an out).

On the other hand, having PG provide a bit more instruction on what he wants flagged could be really useful to the users watching the /newest queue, prevent well-intentioned folks from unnecessarily triggering the abusive- flagger threshold, and at the same time, help improve the quality on HN.

</comment></comment><comment><USER3> This is a good point. It happened to me for one of my very occasional HN posts, in which I presented our startup idea to HN for feedback. It was flagged for no apparent reasons while on front page top, and this impaired quite a lot its visibility. I'm not implying there were any deliberate malicious attempts, or organized obscure interests, behind flagging it, but as of today, I can't understand why it was. It would perhaps be useful to include a mandatory short motivation whenever you are flagging a post, which may be automatically delivered to authors' HN profile, so that they may be able to more easily understand the reasons behind the report.

</comment><comment><USER4> I tripped this flagging threshold a while back, flagging submissions which I thought were offtopic for HN. Alas, no more "flag" links for me. Apparently, one shouldn't flag stories as a substitute for the fact that they can't be downvoted.

<comment><USER5> To my knowledge, links actually can be downvoted - but only after you yourself have >500 karma.

<comment><AUTHOR> No, after 500 karma, you can down-vote comments, but not submissions.

I fairly sure there is a second karma threshold (or other gating mechanism) which gives you the ability to down-vote someone who you've replied to, or is replying to you. --I'm not sure how it works, and it's not public information, so asking for details is pointless.

In essence, the second level seems to mean you're trusted to use down-votes wisely.

Personally, I often up-vote people who reply to me with disagreements (even if they are too strongly worded). My reason is simple; I may never agree with them, but I _DO_ appreciate the time they took to give me their point of view.

<comment><USER6> _I fairly sure there is a second karma threshold (or other gating mechanism) which gives you the ability to down-vote someone who you've replied to, or is replying to you._

I'd like a reality check on this statement. What have other users observed? I think the routine behavior is that users with downvote privileges on comments can downvote comments other than those that are direct replies to their own comments and submissions. But I could be mistaken. What is the general case for most users who can downvote at all?

I agree with the OP that the best policy here is upvote what is good. Upvote early and often if you see good stuff.

A previous thread I saw suggested flagging blogspam ruthlessly, because that supports the community guideline "Please submit the original source. If a blog post reports on something they found on another site, submit the latter."

<http://ycombinator.com/newsguidelines.html>

<comment><USER4> I would like to be able to upvote stories without the story going into the "saved stories" section of my user profile. I use this (perhaps obsolete) feature as a means to mark things I would like to reference later, and upvoting everything which was quality but which I don't want to reference again would defeat the purpose.

Having a separate "save" link which puts articles into the saved stories section would address this use case. Or perhaps one day I should go back through all my saved stories and bookmark the ones which are still relevant so that I can upvote all submissions which are good. Maybe a future version of HN will do away with "saved stories" as it's likely the intent of upvoting articles is meant to be the same as upvoting comments... and there's no "saved comments" section.

</comment></comment></comment></comment></comment><comment><USER7> I've had 2 things that I thought weren't great but weren't terrible flagged and pushed to spot 301 in the last couple months. I don't know if they should have been or if it was excessive.

They were:

<http://yourereallypretty.com> <http://tommy.authpad.com/this-is-why-you-ship>

</comment><comment><USER8> The spirit of Postel's Law applies: <https://en.wikipedia.org/wiki/Jon_Postel#Postel.27s_Law>

Upvote a lot.

Ignoring is usually better than downvoting.

Flag anything that's a blatant retail advertisement. "The best shoes at rockbottom prices!"

</comment><comment><USER9> On that note - mods and supers, can I please have my flagging privileges back?

</comment><comment><USER10> I've losy my flagging ability a long time ago too. Whats more concerning is the abuse of the flagging system to hide articles people that don't want others to seee. like articles not showing Apple or Google in a good light, or articles friendly to Microsoft... like the Surface review, for example.</comment>


Solar now 'cheaper than grid electricity' in every Chinese city - <AUTHOR> https://www.carbonbrief.org/solar-now-cheaper-than-grid-electricity-in-every-chinese-city-study-finds <comment><USER2> Fundamental problem of this type of article: comparing $/kWh across energy sources without accounting for energy dispatchability. ([https://en.wikipedia.org/wiki/Dispatchable_generation](https://en.wikipedia.org/wiki/Dispatchable_generation)) See people commenting on Germany and Portugal situations or articles by this man ([https://medium.com/@oliviercorradi](https://medium.com/@oliviercorradi))

<comment><USER3> Yes. There are times in the German power grid when you can get paid for consuming (green) electricity!

<comment><USER4> Charging an EV sounds like the best way of taking advantage of that.

<comment><USER5> Too bad the grid is too dumb to let end-users actually get these prices.

And the distribution and transmission prices are usually fixed. But I think they should float with supply and demand too: the drivers of upgrades and failures are the peak-time users of capacity.

That's what we do with data, don't know why we don't do it with electrons.

<comment><USER6> Some EV manufacturers are ahead of the game.

[https://electrek.co/wp- content/uploads/sites/3/2017/02/contr...](https://electrek.co/wp- content/uploads/sites/3/2017/02/controllable-charge-laod.png)

<comment><USER5> My fear is some grid will sign an exclusive deal with XYZ company when they should really just expose the prices and markets to end-users.

Why yes, my intelligent electricity agent would like my dryer to book 2 kWh at 4AM-5AM with a 4cent penalty to me if you cancel.

Most of my loads are thermal, and I have lots of thermal banking available. If electricity prices are negative, run my A/C full tilt.

<comment><USER6> I encourage you to engage with and work with legislators in your jurisdiction to ensure open market exchanges exist, and that utility and consumer signaling are open standards.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> > "There's also the fact that companies just can't be bothered a lot of the > time – there are roofs all over Europe where solar could probably save > money, but people are not jumping to do it."

That's why believing in market forces alone is a little naive. There has to be a little nudge from the government.

<comment><USER8> I live in a large apartment building in the Netherlands, during the last home owners association meeting we discussed installing solar panels. The problem is the huge uncertainty the government creates. At the moment it is allowed to just deduct the amount of power you create from the amount you use and pay for the remainder. This way the government does not collect energy tax on the energy you create from your solar, thus they treat this as a subsidy. They announced that this subsidy will end by 2023, it is not clear how things will be after that time. Most of the home owners agreed that the risk they will change it into a regulation that will be (financially) bad for us is too large so we are not installing them until there is more clear.

But even then, the government changes at least every 4 years, how am I supposed to make a long term investment - (solar takes about 10 years for return on investment around here, with current regulation) - if I don't know if I will be screwed by the next administration? Especially now that the support for the "climate change denial party" is growing.

<comment><USER9> A climate change denial party in the NETHERLANDS OF ALL PLACES?!

Wow, I hope they like being under water.

<comment><USER10> It is a strategic denial. The Dutch government is (and has always been) as underhanded as possible when it can bring them profits. In this case the profits are in ignoring what is right and exploiting everyone else, a tradition that they have embraced for a very long time.

</comment></comment></comment></comment><comment><USER11> From engineering standpoint it is not an easy task to balance random load that comes and goes from solar, centralized solar plants is one thing but panels on the roof is another. While electricity is abundant running the grid is not such an easy task as it may seem. So this might explain why there is such push back from utility companies against uncontrolled user solar devices connected to their grid.

<comment><USER12> what does "balance the random load" mean in an engineering context? i would have thought electricity would balance itself?

<comment><USER13> Solar does weird things to the baseload.

Before solar, utility companies would install baseload plants (nuclear, coal, AFAIK) which output power at a constant rate for cheap. The idea is that your baseload plants would provide power right up to the trough of the demand curves.

Solar causes that trough to deepen but doesn't get rid of the peaks (see duck curve). That forces power companies to close down baseload plants, but add peaker plants (usually natural gas) which are generally more expensive to operate.

This is where grid storage enters for a green grid. It brings two benefits, it can raise the demand trough making baseload plants attractive. It can also drop the demand peak, decreasing the need for additional peakers plants.

The problem is that we don't have a lot of viable storage options. Best case for a region is having a lot of hydro available. Pumped hydro would make sense, but there aren't many places where you can install it (it requires a lot of water, land, local buy-in). Batteries work, but have cycle limitations. You could do flywheels, but they are expensive for the power stored. Heck, one even seen "fill a pit with gravel, heat it up, boil water during peaks to generate power". Which may make sense, particularly for colder regions where that heat could also heat housing.

<comment><USER14> This little gem has been exceeding expectations from the day it went into service: [https://www.bbc.com/news/world- australia-42190358](https://www.bbc.com/news/world-australia-42190358)

</comment></comment></comment></comment><comment><USER15> This isn't meant to be troll-y / snark-y, but if the USA factored out subsidies for Big Oil, and then added in the military costs associated with keeping the oil flowing, that would make solar look much more attractive.

<comment><USER16> Even if we become energy independent from ME oil, which we're net independent I think, (and about 90% on the crude side?) then we still have Japan, Europe and many parts in Asia which need uninterrupted oil supplies from the ME.

<comment><USER17> It's easy to ignore. Just as easy as 2003 when the American empire secured the ME oil unilaterally from Iraq by ousting Saddam while all other powers made no retaliation for the move other than strong condemnation which is really the same thing. No one liked it, but no one was really going to lift a finger to prevent it.

[https://en.wikipedia.org/wiki/Opposition_to_the_Iraq_War#Off...](https://en.wikipedia.org/wiki/Opposition_to_the_Iraq_War#Official_condemnation)

<comment><USER18> Even that purported rationale for the second invasion of Iraq was false. "We" secured that Iraqi oil to export it mostly to Asia.

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

<comment><USER15> It doesn't matter where it goes per se, as much as who controls it. Oil (read: the price of) is a weapon. Look what the crash (of the price of crude) did to Venezuela. If energy (read: oil) is essential to your economy then you can't let someone else yo-yo the price at will.

And thus, the first foreign country for POTUS DJT to visit was Saudi Arabia.

</comment></comment></comment></comment></comment><comment><USER19> This is the framing chosen by state propagandists.

<comment><USER20> Nothing in China is real and all the citizens are brainwashed about every topic with no accuracy whatsoever.

Remember when it was leaders from communist countries believing the US supermarkets were fake?

I think it would be more productive to dissect the particular nuances of this issue, as other comments have</comment></comment>


Electric cars pose little threat to oil demand - <AUTHOR> https://www.ft.com/content/502c4e3c-0d80-11e7-b030-768954394623 <comment><USER2> The article assumes that there won't be a spike in oil prices (we don't know).

It's also strongly underestimating China, which is the main producer and consumer of electric cars (also, if they decide to do something about pollution, this might shift dramatically).

I do agree that oil demand will remain strong.

China is the #1 producer and buyer of electric cars.

It's still 1/300th of all cars sold, so it's not mainstream, but the tremendous growth is there (see the graph on the first article). It's actually the U.S. that's lagging behind.

[https://www.wsj.com/articles/mind-the-shock-as-auto- investin...](https://www.wsj.com/articles/mind-the-shock-as-auto-investing- turns-electric-1481626699)

[https://www.forbes.com/sites/russellflannery/2013/04/26/warr...](https://www.forbes.com/sites/russellflannery/2013/04/26/warren- buffett-backed-chinese-automaker-byd-climbs-12-on-turnaround- update/#2dfc9f46783f)</comment>


How do you get new clients for marketing/creative services? (Poll) - <AUTHOR> http://www.strawpoll.me/12812353 <comment><AUTHOR> What is your favourite way to acquire new clients for marketing/creative services? (the most cost/effort effective, brings in higher quality clients)

Tell us about your winning process in more detail in comments.

I am just curious to know what other people do.</comment>


Potato paradox - <AUTHOR> https://en.wikipedia.org/wiki/Potato_paradox <comment><USER2> Not exactly the same, but I stumbled on another seemingly confusing math reality a little while back. It's probably obvious for places that measure their mileage in gallons/100 miles or kms or whatnot, but for MPG:

If you could chose to increase the average fuel economy of a car, which of these would save the most fuel:

1\. 10mpg -> 12mpg

2\. 12mpg -> 15mpg

3\. 15mpg -> 20mpg

4\. 20mpg -> 30mpg

5\. 30mpg -> 60mpg

Of course with a little thought, it turns out that they all save the same amount of fuel, but it's hard to wrap my brain around the fuel savings being equal between 10mpg-12mpg and 30mpg-60mpg.

<comment><USER3> A similar one I enjoy: you're driving two miles. After one mile, you've averaged 30MPH. How fast do you need to drive the second mile to have a trip average of 60MPH?

Answer: impossible. You'd have to travel the second mile at infinite speed to achieve this.

<comment><USER4> If you drive the first mile at 30 MPH and the second at 90 MPH you averaged 60 MPH ((30+90)/2). What is the math that gets "infinite speed" as the answer?

<comment><USER5> There is a good explanation of this here: [http://brainden.com/forum/topic/39-speeding- up/](http://brainden.com/forum/topic/39-speeding-up/)

<comment><USER6> Good Lord, it's frustrating to see so many people incapable of understanding such a simple thing.

</comment></comment></comment></comment></comment><comment><USER7> Another somewhat similar (in that the result is unintuitive) problem about false positives:

Imagine that you have an HIV test that is 95% accurate (false positive rate of 5%). and around 2% of tested population is infected with HIV. What is the probability that you actually have HIV when your test comes back positive? Is it 95%? Nope, actually just 29%. You do the test again.

Numbers from wiki about the paradox: [https://en.wikipedia.org/wiki/False_positive_paradox](https://en.wikipedia.org/wiki/False_positive_paradox)

<comment><USER8> Same issue comes up when you discuss effectiveness of ethnic profiling of Muslims/brown skinned people in airports. Sam Harris was unable to wrap his head around this and was sticking to his common sense intuition.

Strong profiling is not mathematically optimal for discovering rare malfeasors [http://www.pnas.org/content/106/6/1716.full?sid=3bc684ec-b59...](http://www.pnas.org/content/106/6/1716.full?sid=3bc684ec-b593-41e9-b03e-2e3f32bc42b0)

<comment><USER9> The Sam Harris article referenced, for anyone else who was unfamiliar with the controversy: [https://samharris.org/in-defense-of- profiling/](https://samharris.org/in-defense-of-profiling/)

<comment><USER10> Just wow.

</comment></comment></comment></comment><comment><USER11> > _You have 100 lb of potatoes, which are 99 percent water by weight_

Would this be less of a paradox if we talked about water balloons? Potatoes, in real life, are 80% water [1].

[1] [http://umich.edu/~elements/web_mod/potato/fact.htm](http://umich.edu/~elements/web_mod/potato/fact.htm)

<comment><USER12> You can't really "dry" water balloons. The water in them don't really evaporate.

<comment><USER13> The water does really evaporate, just takes a lot longer than potatoes.

</comment></comment></comment><comment><USER14> Reminds me of how bond yields work. If the interest rate guess from 1% to 2% on an existing bond, the bond itself has to lose 50% of its value. I think the potato story is somehow less intuitive.

<comment><USER15> That's true only if the bond has an "infinite" term. Meaning it pays interest forever but you never get your initial principal back

If a bond has say a one-year term then it won't lose 50% of its value if interest rates double from 1 to 2 percent because you still get your original full investment back after one year. It's value instead drops by about 1%.

For a longer term example, a bond purchased for $1,000 and 1% interest rate with 30 years left is worth $776 if interest rates rise to 2%

Source: [https://m.free-online-calculator-use.com/bond-value- calculat...](https://m.free-online-calculator-use.com/bond-value- calculator.html)

</comment></comment><comment><USER16> The birthday paradox comes up a lot in computing, I wonder if there's more places the potato paradox would apply.

<comment><USER17> Profiling code. If you have a hotspot that takes 99% of the time and optimize it until your whole program is twice as fast, now that hotspot takes 98% of the time.

<comment><USER18> hmm that actually sounds more intuitive than the potato example

</comment></comment></comment><comment><USER19> I wonder if this is ever used in marketing tactics to disguise the amount of loss

</comment><comment><USER20> Wikipedia has a list of paradoxes: [https://en.wikipedia.org/wiki/List_of_paradoxes](https://en.wikipedia.org/wiki/List_of_paradoxes)

</comment><comment><USER21> Simpson's Paradox is my favorite:

[https://en.wikipedia.org/wiki/Simpson%27s_paradox](https://en.wikipedia.org/wiki/Simpson%27s_paradox)

</comment><comment><USER22> This isn't the intuitive result? If one part in 100 of the potatoes is solid, and you want to increase that to 2 parts in 100 that's equivalent to 1 part in 50...

</comment><comment><USER23> no, really, it's true, I just tried it:

1 / 100: 0.01

1 / 99: 0.01010101

That's just a bit more than a percent of that percent of change, and not a 100% change, as would be required for a 2:98 ratio.

</comment><comment><USER24> Almost everyone I know could not solve it correctly without a lot of hints. Even when you say: "It is not the answer you first think it is". I like to use it when someone feels too smart and won't acknowledge that he might be wrong about something. For example, a friend was arguing that the moon landing didn't happen because the capsule was too small to hold the needed fuel. I asked him the paradox, he got it wrong. I followed with: "how can you believe to be right about rocket science, when you weren't able to get this simple question right?"

<comment><USER25> And how did the conversation go after that?

<comment><USER26> Does it matter a lot? Do you really need to be friends with a moon-landing denier?

<comment><USER23> Shows how easy it is to reject complicated things if you manage to get so much of the more simple things wrong.</comment></comment></comment></comment>


Firefox Send: Private, Encrypted File Sharing - <AUTHOR> https://send.firefox.com/ <comment><USER2> The last time this was posted I hacked up a quick and dirty Python client for Send: [https://github.com/nneonneo/ffsend](https://github.com/nneonneo/ffsend). I just updated it for recent Send changes, which streamlined the crypto and removed some redundancy.

Firefox's JS client requires the whole file be in memory in order to perform the encryption, and has to decrypt the whole file in memory in order to download it. My client doesn't have that limitation so it could theoretically upload much larger files (subject only to the server's upload limit).

<comment><USER3> have you bumped already into server upload limit?

<comment><USER4> Would that not simply be your specific allotted disk space, and bandwidth?

</comment></comment></comment><comment><USER5> I'm curious -- Mozilla says it can't decrypt the file on their side:

        Mozilla does not have the ability to access the content of your encrypted file [...]
        https://testpilot.firefox.com/experiments/send

How is the receiver able to decrypt the file -- i.e. what is the decryption key if not the URL slug, which presumably Mozilla has as well?

<comment><USER6> The key is the hash, which isn't sent over the wire when loading a page. Now granted it's accessible via location.hash in the client, but one has to trust Mozilla not to do that.

<comment><USER7> > one has to trust Mozilla not to do that.

Exactly. One has to trust Mozilla _every time one visits the page_. They could _easily_ configure it to be malicious one time out of a million (say); what are the odds that they would be caught?

Web-page-based crypto is fundamentally insecure, and Mozilla is committing an extremely grave error in encouraging users to trust it (as they also do with their Firefox Accounts). Security is _important_ , and snake-oil solutions are worse than worthless.

<comment><USER8> Send is meant to be an improvement on Dropbox & co for a specific use case.

Is it perfect? No, it isn't. But it is still a considerable improvement.

If you have a better solution in mind for the average user crowd, feel free to suggest it, of course.

<comment><USER9> Spec out and implement resource pinning, already. Like RFC 8246, but authored more with the user's interests in mind, rather than the service's.

As a show of nothing-up-the-sleeve, a service asserts that it's in a stable state and will continue to serve exact copies of the resources as they exist now—that they will not change out from beneath the client in subsequent requests. When a user chooses to use resource pinning, the browser checks that this is true, and if finding a new deployment has occurred, the browser will refuse to accept it without deliberate consent and action from the user (something on par with invalid cert screen).

This means that for a subset of services (those whose business logic can run primarily on the client side), the users need not trust the server, they need only to trust the app, which can be audited.

When deploying updated resources, services SHOULD make the update well- advertised and accompany it with some notice out of band (such as a post about the new "release", its changelog, and a link to the repo), so the new deployment may be audited.

When new deployments occur, clients SHOULD allow the user to opt for continuing to using the pinned resources, and services SHOULD be implemented in such a way that this is handled gracefully. This gives the user continuity of access while the user (or their org) is carrying out the audit process.

Areas where this would be useful:

\- HIPAA compliance

\- Web crypto that isn't fundamentally broken

\- Stronger guarantees for non-local resources used in Web Extensions—in fact, the entire extension update mechanism could probably be more or less rebased on top of the resource pinning policy

<comment><USER10> This would also have the added bonus that one could reload such pinned resources from anywhere once you got the pin. Even without TLS setup or having to trust certificate chains.

Caching proxies would suddenly become viable again because only the first download has to through HTTPS while "I don't have this in the local cache anymore, can you serve me this content" requests could go through sidechannels or outside the TLS handshake or something like that. Caches could even perform downgrade non-attacks.

<comment><USER11> How many pins would you expect a browser instance to have? I feel like most of the time the pinned content could fit in the browser cache and make this variety of proxy-side caching pointless.

<comment><USER10> Immutable content is a prerequisite for pins. The caching benefits mostly fall out of the immutability, not the pinning. So as long as the hypothetical standard would allow one to be used without the other additional uses could fall out of that stack.

<comment><USER11> My point is, those particular benefits only exist in a narrow circumstance where the browser is half-caching.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> As I recall, there was a Bitcoin wallet service which relied on securing the access key behind the '#' in the URL for its security -- turns out it's not perfectly reliable and shouldn't be used for protecting money. Likewise for files you really need to be secure.

Since boring crypto shouldn't have weird failure modes like this, I'm thinking this design is a big mistake?

EDIT: I think it was Instawallet and apparently while they had robots.txt set to prevent crawling, the theory was people typing their URL into Google (or Omnibar) would alert Google to the URL and it got into search results anyway.

I know that web-keys is based on the theory that since the fragment isn't sent by User-Agents in the Request-Uri that it's secure, but there are things that see the full URL which aren't conforming agents, and it just seems risky for any long-lived secret.

<comment><USER13> Given that it's explicitly a _short_ -lived secret (below 24h), and one-use - so probably Google crawler (or typing into url bar - presumably to immediately follow by Enter) would invalidate it on first access - I don't feel convinced any of those concerns apply?

</comment></comment><comment><USER14> It really is a shame that there still isn't a easy way (A person whose computer knowledge extends to using facebook), that I know of, of sending arbitrarily large files that isn't tethered to a specific cloud service and is also reliable (can tolerate connection dropping).

It seems that bitorrent protocols are pretty close, but I don't think there is a seamless client that allows for "magical" point to point transactions.

<comment><USER15> You're at a computer.

You need to connect to another computer.

First you need to know a route to that computer. If it has an externally reachable IP address and you know that, then great. If it has an externally reachable IP address and a DNS entry and you know _that_, then also great.

If you don't know the IP address or domain name of the other computer then you'll have to do some kind of lookup/exchange to find it. That means some kind of centralised service to provide the lookup functionality.

If the other computer doesn't even has an externally reachable IP address then a central service is going to have to act as a connection point which you can both connect to (or provide some other method of helping the two of you connect).

I'm not aware of any entirely decentralised system which would allow two computers which are behind NAT to find and then talk to each other. Or any obvious design which would work there.

<comment><USER16> Two thoughts:

\- IPv6 kind of helps here, at least if we hope that no NAT standard ever makes it into IPv6. Crossing my fingers.

\- There does exist at least one NAT hole-punching technique that can traverse two NATs with no central server using ICMP-based holepunching and UDP. Obviously, like all hole punching techniques, it only works on certain kinds of NATs, and firewalls can kill it.

<comment><USER17> > There does exist at least one NAT hole-punching technique that can traverse > two NATs with no central server using ICMP-based holepunching and UDP. > Obviously, like all hole punching techniques, it only works on certain kinds > of NATs, and firewalls can kill it.

I think you're referring to this? Clever hack indeed. [https://github.com/samyk/pwnat](https://github.com/samyk/pwnat)

</comment></comment></comment></comment><comment><USER18> They should add this as a shortcut button in Firefox. I think it makes even more sense than having the Pocket icon there. Not everyone may want to save their articles on another service, but pretty much everyone needs to send a file privately to someone else every now and then. So something like this should be super-easy to access.

I learned about Firefox Send when it launched but completely forgot about it until now. I would definitely use it more if it had an easy-to-access (read: not burried in the Settings page) shortcut in the browser.

<comment><USER19> It's a Test Pilot project, so easy-to-access may be deferred until they choose to upgrade it from Test to Release, but it is certain they'll consider ease- of-use _if /when_ they do decide to release it.

</comment></comment><comment><USER20> This is actually very useful. You can send files from and to mobile devices and desktop. Delete on download doesn't seem to be a problem, just adjust your storage strategy. Security could be acceptable for most use cases. I hope they add it to the browser.

</comment><comment><USER21> I think Mozilla should create a more privacy friendly analytics service, since they experiment with new projects

<comment><USER22> Do you know Piwik? Its a really nice open source, self hostable alternative to Google Analytics. I've been running it for years, very stable and great insight.

www.piwik.org

</comment></comment><comment><USER23> I've just checked the code. It indeed deletes the file once a download has been completely consumed, so it can't really replace other file-sharing services. BUT I wonder how does it deal with race conditions ? My guess is that if many people start a download at the same time, they'll all be able to complete it before the file goes away. At least that's how I'd see it working with S3 or local storage.

You could abuse it by sending the same file many times in order to create lots of download links; but there's little to gain in bandwidth savings: you might as well run your own server. The only advantage I'd see is hiding your IP address, but then you could also run a tor hidden service. The other would be bandwidth amplification by synchronizing all the clients (for big files).

<comment><USER24> The sender could open a download connection and stall it as far as possible (maybe keep the download rate shaped to some bytes/second, to prevent an inactivity timeout). That would open a large time window for further downloads.

<comment><USER25> I assume the file would be deleted as soon as any client finishes downloading. (If the files are backed by regular files on a unix-like system, then the existing open handles to the file will keep working, allowing currently- connected clients to finish downloading, but preventing any new clients from starting the download.)

<comment><USER23> Indeed, I tested this too, but forgot to mention. That's how it works.

</comment></comment></comment></comment><comment><USER26> It seems nice, but I think it should be made more explicit upon downloading, that you can only do that once. I can see myself e.g. downloading a file I received on my phone to take a quick look, intending to then download it again on my computer later. I would be surprised to see it just gone.

<comment><USER27> Known issue, apparently - [https://github.com/mozilla/send/issues/497](https://github.com/mozilla/send/issues/497)

</comment></comment><comment><USER28> One thing that could be improved with this is to have an option for a human readable/typeable link. I wanted to quickly transfer a file from my desktop to my phone. Used Send and realized I didn't want to type that cryptographic URL.

I ran the Send link through Typer.in (specializing in hand-typed urls) and it worked as I initially expected. However, it would be nice if Send had this functionality by default.

<comment><USER29> Typer.in stores the link you give it, and returns a human readable lookup link. The whole point of Send is that the link includes the secret key to decrypt your file. Whoever you give that secret to, including Typer.in can get the file.

The Send link must include the secret key, because no one else should get it, and that key must be of sufficient length to protect your file. Thus human- readable-izing it could do nothing to decrease its complexity and would just result in a huge string of words that were just as much as a pain to type in.

<comment><USER30> At least at the moment, downloading the file once removes it from Mozilla's servers. So in the event typer.in used the URL you provided to download the file, you would know as the file would no longer be accessible.

</comment></comment></comment><comment><USER31> If you only need to send text, [https://cryptopaste.com](https://cryptopaste.com) does everything client side and shows the ciphertext in a "staging area" before you commit it to the cloud.

You can instead save it as a self-decrypting document, attaching it to email, copy to thumbdrive, upload dropbox, etc.

<comment><USER32> Great implementation but doesn't work with Greek, spews out garbage. Here against original text in notepad.exe [https://i.imgur.com/n1WCsnZ.png](https://i.imgur.com/n1WCsnZ.png)

<comment><USER31> If you have a chance, please try again. UTF-8 support is added.

<comment><USER32> It works, thanks!

</comment></comment></comment></comment><comment><USER19> This is technically a dupe of [https://news.ycombinator.com/item?id=14901998](https://news.ycombinator.com/item?id=14901998) from a couple months ago.

</comment><comment><USER33> 1 download limit looks really problematic to me. Some times download just do not start or get aborted and then everything need to be done again.

Something like 3 downloads limit would make this more usable!

<comment><USER23> No, this is only deleted if all the file has been transferred.

</comment></comment><comment><USER34> Why do the Mozilla people keep doing this sort of thing? Aren't they supposed to be making a good browser?

I remember them telling me they are now going back to their core competences. I think it was after Firefox OS failed.

Not trying to piss on anyone's parade here, just wondering how this kind of thing keeps happening. I was wondering the same thing when Mozilla added Pocket and now Cliqz to Firefox.

What is the rationale here? Do they have leftover money they need to spend before January 1st or something?

<comment><USER35> Perhaps peruse this: [https://www.mozilla.org/en- US/mission/](https://www.mozilla.org/en-US/mission/)

Firefox is Mozilla's flagship, and the largest by far way in which we achieve our mission, but our goal is a healthy and open internet.

Additionally, this is a great way to determine whether something like this would work well as an in-browser feature, and we've built it in such a way that it works in more browsers than just Firefox on day one.

<comment><USER36> > ...and we've built it in such a way that it works in more browsers than just > Firefox on day one.

Sure wish other browser vendors would consider other browsers when releasing their products.

<comment><USER37> Google won't because the browser isn't their product. Your data and attention are their product, which they acquire in exchange for a free browser.

<comment><USER37> Unsure why this seems controversial. Google is an advertising company, not a Web browser company.

<comment><USER38> An advertising company with 60,000 employees whose interests overlap with this forum ;)

Most of the wealth in silicon valley comes from productizing eyeballs.

In related news, this just triggered someone into downvoting my entire post history!

</comment></comment></comment></comment></comment></comment><comment><USER39> I've just uploaded a 140MB file from my mountain cabin (in Viet Nam) and it was lightning fast. I then gave the link to a friend of mine residing in Melbourne, Australia and his download speed was blazing fast as well. Would be keen to learn more about the infrastructure setup behind this service to achieve such a good performance.

<comment><USER40> Probably Amazon.

</comment></comment><comment><USER41> This has been out for a while. I use it occasionally, but a single download is a narrow use case.

<comment><USER40> > a single download is a narrow use case.

Is it really? I mean, if I wanted to send a file to someone via Google's e-mail servers or a chat application like Facebook Messenger but wanted to make sure it didn't stick around for those two companies to data mine, this seems like it would do the trick.

From Mozilla's perspective, doing "one upload, one download" also kind of solves the problem of becoming a new "megaupload" for illegal content. Not the problem of the illegal content being there (since it's unsolvable), but the accountability of being the party responsible for spreading it around.

</comment></comment><comment><USER42> What does it mean "it's best to keep your file under 1GB"? Can I send 2GB+ size files?

</comment><comment><USER43> Can anyone confirm whether this works in Safari/iOS now? It seemed great but when I tried to send some files to friends to promote it it completely shat the bed and my mobile friends ended up getting nothing but garbled text when the (fairly large) downloads finished. It was quite frustrating since the upload was painfully slow.

<comment><USER44> Seems to work fine on my end.

</comment></comment><comment><USER45> How does this compare to Keybase folders?

</comment><comment><USER46> Pushbullet offers a great service. I'm not related to the team, but really enjoy the product. It's both an addon for browsers, desktop app, and standalone mobile app. Easy as pie, and now they have 'portal' which is local network direct transfers

</comment><comment><USER47> I made a subreddit for anyone to upload any file and the first person who accesses the link gets to download it.

[https://www.reddit.com/r/send/](https://www.reddit.com/r/send/)

</comment><comment><USER48> Is this a Wetransfer killer?

<comment><USER22> No, since its just downloadable once.

</comment></comment><comment><USER49> Just my experience/test: it takes longer to upload the file to mozilla then it would have sending directly to DSL of a friend..

edit- Download tested now too, not bad, though nothing to write home about.

<comment><USER15> What software did you use to create a direct connection to your friend?

<comment><USER49> https

<comment><USER50> That's a protocol. Not a software.

<comment><USER49> You must be great at parties. Software is irrelevant imo. Indicating same protocol as FF send is imho more relevant.

<comment><USER51> The whole point of this discussion is that sending files to another computer is still cumbersome. Software is entirely relevant. So if you're complaining about speed of FF Send, you should specify what you're comparing it to.

<comment><USER49> lol no.. my point was that it wasn't as fast as i would expect a service from mozilla to run and broadband connections here are a lot faster. Second, it wasn't a complaint, just an observation.

And if you really think one 'https' enabled webserver software on a home subscriber cable/dsl connection is much faster then the other for a single download, then i will have to inform you that you are mistaken.

And setting up a simple webserver to exchange files isn't that hard at all. To say file sharing is cumbersome is a bit stretching the truth.

</comment></comment></comment></comment></comment></comment></comment><comment><USER52> In order to take this further, this functionality needs to be part of the browser so that one can trust the page is not maliciously modified in transit or at the server.

</comment><comment><USER53> Mandatory XKCD link: [https://xkcd.com/949/](https://xkcd.com/949/)

</comment><comment><USER54> I need something like this to send myself links from my phone to my pc.

<comment><USER55> Chrome, Firefox or Samsung browser have all bookmarks sync

</comment></comment><comment><USER56> So, where is the money coming from ? Who's the product here ?

<comment><USER57> When thinking about a Mozilla offering, it is healthy to think beyond "money and product" as this type of analysis will usually leave you with a conclusion of "this doesn't make business sense".

Mozilla is in the game of keeping the internet healthy. Part of it involves products, such as Firefox and its quest to recover userbase. Parts of it involves money, such as MOSS awarding grants or prizes for FOSS stuff they use and see value.

But most of Mozilla actions can be thought on "how close they get Mozilla to achieve its mission as stated in the Mozilla Manifesto[1]". In the case of Firefox Send, it enables less friction sending files and protects the user privacy, so it IMHO advances item #4 of the manifesto: "Individuals' security and privacy on the Internet are fundamental and must not be treated as optional." It also serves as a nice branding reminder for people, as it works with other browsers, makes people using some other solution remember Firefox...

[1]: [https://www.mozilla.org/en- US/about/manifesto/](https://www.mozilla.org/en-US/about/manifesto/)

<comment><USER58> Not sure how true that is anymore. They seem to by trying hard to squander their reputation. First their MITI officially signaled they now consider themselves a political force, then the whole Cliqz debacle following shortly after showed their willingness to sacrifice their principles.

<comment><USER59> Don't forget their switch to a walled garden for extensions in order to protect users from themselves.

<comment><USER57> That is FUD and also a lie. You can still distribute your extensions on whatever site you want, you just need to sign them on AMO.

The workflow is:

1 - Build webextension 2 - Upload to AMO 3 - Choose "distribute on AMO" or "sign and distribute on your site"

<comment><USER59> If I need to get Mozilla's approval before I can run code in the browser running on my machine then I see a wall. That they've automated it so much as to mitigate the protection a walled garden normally gives almost makes it worse.

<comment><USER60> You can install Firefox Beta or Nightly and have unrestricted extension installation options (or use a Linux distro's packages: most of such firefox packages do _not_ require signed extensions).

It's a measure to prevent casual trojans, there are many ways around it for non-casuals and developers to employ.

<comment><USER59> >or use a Linux distro's packages: most of such firefox packages do not require signed extensions

That's actually pretty cool. Can you give me an example distro that does that with Firefox (w/FF brandings)?

<comment><USER60> Both Debian and Arch do this.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER55> how is this different from Mega.nz ?

</comment><comment><USER61> But why?

<comment><USER55> because it's easier to do this than give mobile Firefox users option to pull down to refresh, thus enjoy Brave or Samsung browser and stay away from Firefox

</comment></comment><comment><USER62> I don't understand why is this called Firefox Send. Shouldn't it be called Mozilla Send?

<comment><USER63> Probably branding purposes. Even non-techies recognize the Firefox brand. Mozilla – not so much.

<comment><USER55> eh, what's current Firefox market share? I would not bet my money many non techies recognize Firefox at all, it's pretty niche nerd product for people with addon fetish, rest of the world just use Chrome/IE/Edge

</comment></comment></comment><comment><USER64> I wonder how many downloads can be done before it expires

<comment><USER65> Another commentator found you can initiate multiple downloads, and complete them all. As long as you start them before any finishes.

</comment></comment><comment><USER66> Let me guess, with free Pocket® integration?

Mozilla blew it for me recently in so many ways, I am taking them about as seriously as I would Facebook right now.

<comment><USER67> How can you compare the Pocket thing with Facebook? The good kid messed up this time. And you can simply ignore it, don't have to use it. Yes like you can decide not to use Facebook, but then all your friends and family use it, or use Instagram of Whatsapp and force you to use it. That includes uploading your complete contact list two or three times.

Do you have to use Firefox because your family uses it? I don't think so.

How do those two compare?

<comment><USER68> They are repeating it with the Cliqz integration now. I love Firefox, but these decisions are baffling!

</comment></comment></comment><comment><USER69> I've learned not to trust companies when they tout "completely encrypted" and "totally private".

Show me the open source code, otherwise they're likely collecting data in some way to pay for hosting this web application.

<comment><USER70> Here you go: [https://github.com/mozilla/send](https://github.com/mozilla/send)

</comment></comment><comment><USER71> Do they share my files and "anonymized" upload history with a third party (edit: was "advertising company") for this service as well?

<comment><USER72> You can see exactly what they collect here [https://github.com/mozilla/send/blob/master/docs/metrics.md](https://github.com/mozilla/send/blob/master/docs/metrics.md) and decide for yourself.

I think it's misleading to refer to Google as an advertising company when talking about Analytics since this data won't be used for targeting ads.

<comment><USER71> I was actually referring to this incident where Mozilla started shipping an opt-out "addon" in Firefox that automatically shares your browsing history with a third party:

[https://www.reddit.com/r/firefox/comments/74n0b2/mozilla_shi...](https://www.reddit.com/r/firefox/comments/74n0b2/mozilla_ships_cliqz_experiment_in_germany_for_1/)

<comment><USER72> OK, well this doesn't do that.</comment></comment></comment></comment>


Rendering video with Windows task manager and 896 cores [video] - <AUTHOR> https://www.youtube.com/watch?v=skwPiTUodDE <comment><USER2> Interesting. I wonder if this is a virtual machine with 'real' virtual cores being fed loads of the video decoding to shade the appropriate core's pixel values on each frame.</comment>


Show HN: C# support in Excel - <AUTHOR> https://querystorm.com/documentation.html <comment><AUTHOR> A while ago, as a hobby and later a business, I made an Excel plugin for using SQL in Excel: [https://www.querystorm.com](https://www.querystorm.com)

I've now added the capability to use C# in Excel, using Roslyn. Sort of like Linqpad in Excel. This lets it work with Excel tables, fiddle with formatting, and automate stuff.

Some of the practical applications:

       - processing data in Excel (LINQ)

       - getting data from various sources into Excel (REST, databases, files, active directory, whatever)

       - building interactive dashboards

       - building prototypes applications (you write logic in C# and use Excel as the UI and data storage)

Here's the introduction: [https://querystorm.com/documentation.html](https://querystorm.com/documentation.html)

There's also a short video: [https://vimeo.com/242216594](https://vimeo.com/242216594) for a brief intro.

I charge for the plugin but it's freemium. If you don't want intellisense, error squigglies and so on, you don't need a license.

So... what do you think?

<comment><USER2> It is insane to me that Microsoft hasn't already provided this. I get that you can't replace VBA entirely, or phase it out, without breaking a Lot of Things, and putting a lot of VBA programmers out of work. But every aspect of this being native to Excel would make macro work and data programming easier for a huge segment of the business world.

In other words, I like what you're doing and will probably buy a license. But... I don't see a license option that looks like it lets me test it out in a commercial environment without paying first. I might just be missing something there though. I'd love to test it out and be in compliance with your licensing.

<comment><AUTHOR> Thanks for the comment! Yeah, VBA in Excel is pretty outdated in many ways, and Excel isn't going anywhere any time soon. I missed having SQL in Excel originally so that's why I started the plugin. I added C# just now, but I really like how C# and Linq fit into Excel, I just love playing around with it.

About licensing: you can get a free trial license by clicking "Try Querystorm" on the QueryStorm website. The trial lasts 14 days, but if you need a longer trial just send me an email (antonio at querystorm.com) and I'll send you an extended trial license.

If you have any suggestions or questions while you're checking it out, let me know.

</comment></comment></comment><comment><USER3> I have two thoughts.

1\. This is a huge improvement over VBA.

2\. This is going to make creating unmaintainable mission critical Excel macro based monstrosities even easier.

So a small software improvement may be releasing new terrors into the IT world.

<comment><USER4> Some of those monstrous spreadsheets are extremely valuable, but wouldn't exist if it weren't for Excel.

Reminds me of gunpowder - very powerful, very dangerous and very useful.

<comment><AUTHOR> Yeah, Excel is crazy flexible so it's no wonder that where ever there isn't a designated application for something, people fall back to Excel. I think it's a good platform to introduce dev tools in, all those small ad-hoc use cases can be served much better with some serious dev tools at hand.

</comment></comment></comment><comment><USER5> It's been a long, long time since I've tried to do anything with VBA. How far out of date is the implementation of it that is built into Excel? Like .NET 1.1?

<comment><USER6> Unless something has changed recently, VBA in Excel and other Office applications isn't .NET at all. It's basically just VB6.

When you go to edit VBA inside Excel, you get a VB6 IDE. I just tried it in Excel 2016, and it looks the same as it always has.

Their _are_ ways to develop Office add-ins using .NET, but they aren't built in the way VBA and its IDE are.

<comment><USER7> Yeah the VBA in Excel isn't .NET at all. Which makes it even harder to take something that was VBA in excel and trying to utilize it somewhere else (e.g. a .NET add-in to Excel or using any of the Excel interops via something like C#/VB.NET)

<comment><USER6> I imagine you'd be in for some fun times with COM if you want to call that VBA code from a .NET language.

</comment></comment></comment></comment><comment><USER8> Pretty cool. On the other hand the most miserable time in my career was developing a plugin for Excel. It just went from one disaster to the next.

<comment><AUTHOR> Yeah, VSTO is a tricky animal. I've had quite a few mysterious issues over the last few years while building this plugin. In my case though, since I'm hosting a WPF user interface in a COM application in a WinForms host, talking to native libraries it wasn't entirely unexpected:)

<comment><USER9> We're doing the same. I feel like punching myself in the face some days.</comment></comment></comment>


Pixar in a Box - <AUTHOR> https://www.khanacademy.org/partner-content/pixar <comment><USER2> The animation timeline controls used in these tutorials[1] are better than the ones used for by professional web developers[2].

[1] [https://www.khanacademy.org/partner- content/pixar/animate/ba...](https://www.khanacademy.org/partner- content/pixar/animate/ball/p/squash-and-stretch-animation-with-bezier-curves) [2] [https://greensock.com/timelinemax](https://greensock.com/timelinemax)

I wish web devs would stop reinventing the wheel and just steal these UIs from animation software that are proven to work well for animators.

<comment><USER3> There are tools to go between the two (from [http://cubic- bezier.com/](http://cubic-bezier.com/) to Flash's HTML5 export), but I don't think there's any general solution to go from a UI like that, to code. What if one of your points is a programmatic parameter that varies over time? What if you're changing ground level with every iteration? How does the bezier-based editing UI help with that?

<comment><USER4> > What if one of your points is a programmatic parameter that varies over > time? What if you're changing ground level with every iteration? How does > the bezier-based editing UI help with that?

Check out how After Effects solves this, keyframed and scripted animation shares the same timeline and can reference each other.

</comment></comment></comment><comment><USER5> If you want to dive in, this first video has a cool overview of the Pixar-y things the course covers: [https://www.khanacademy.org/partner- content/pixar/start/intr...](https://www.khanacademy.org/partner- content/pixar/start/introduction/v/pipeline-video)

I was disappointed that the landing page says practically nothing, and you have to go looking around to get a good overview.

</comment><comment><USER6> The "Patterns" lesson is new, it's pretty cool.

Check it out: Voronoi partition, Poisson disk process, Make your own dinosaur skin, Perlin noise.

Very fun. My daughter really enjoyed this when it first came out. She was surprised to see the applications for math she had learned at school!

<comment><USER7> Started watching last night and couldn't put it down. Really slick visual explanations and a great combination of practicality and artistry.

<comment><USER8> That's so exciting to hear, thanks for this feedback

</comment></comment></comment><comment><USER9> [https://news.ycombinator.com/item?id=10129914](https://news.ycombinator.com/item?id=10129914)

</comment><comment><USER10> I really recommend reading Creativity Inc. By Ed Catmull, one of the cofounders of Pixar. It's an incredible book full of insight on how Pixar fosters creativity to create hit after hit movie.

It really helped me shift my mind during some difficult projects where I felt like I was working against impossible odds.

<comment><USER11> I read the book. But it was after that that Mr. Catmull got caught apparently keeping is employee's salaries lower than market rates by making illegal non- poaching agreements.

[http://www.cartoonbrew.com/business/pixars-ed-catmull- emerge...](http://www.cartoonbrew.com/business/pixars-ed-catmull-emerges-as- central-figure-in-the-wage-fixing-scandal-101362.html)

Also, he never covered why Cars was so awful. (or Cars 2) which I believe both came out before the book? Maybe you disagree they were bad but rottentomatoes and metacritic has them near the bottom of the list along with The Good Dinosaur, Brave, and Monsters University.

I'd love to know what he thinks changed.

What I liked most about that book was how much he acknowledged luck. Examples: Luck they didn't get sold/disbanded before Jobs bought them from Lucas. Luck that Jobs was willing to blow 70 million on them as a computer company before they switched to being an animation company. And he acknowledges lots of other luck.

<comment><USER12> Cars was not critically successful, but it has been a merchandising goldmine. Every NASCAR mom and dad bought a Lightning McQueen, or a Mater, or other Cars toy for their kids.

<comment><USER13> I'm surprised that Cars holds ~75% on Metacritic and Rotten Tomatos, while Inside Out and Toy Story and others have >95%.

I see Cars as a film that appeals to children primarily, while the others are "family" movies in the best sense.

It always seemed to me that Cars was intended to be a more child-oriented movie, but I don't know that it should suffer for that critically.

Maybe it w as hoped to be a film on the same level as those others, but I can't imagine anybody read the script and thought it would be.

<comment><USER4> > I see Cars as a film that appeals to children primarily, while the others > are "family" movies in the best sense.

They're not family movies, they're movies that parents want their kids to be interested in but the reality is kids prefer Cars, Frozen, Shrek and Minions.

<comment><USER14> I'm 54 and Cars is one of my favorite Pixar films (no, I'm not a NASCAR kind of guy). I never understood why it received such poor ratings.

</comment></comment></comment></comment></comment></comment><comment><USER15> Thanks for sharing this, it's so awesome!

<comment><USER16> Why all the downvotes this person is obviously new here and he's just trying to be nice.

</comment></comment><comment><USER17> I'll take this opportunity to ask: how do you learn 3D modeling? I tried just diving in with Maya and 3DS Max, but the tools are so complicated and I'm sure I was doing things the wrong way. I'm in college right now, but my university (UCSD) doesn't seem to offer any courses on the subject.

<comment><USER18> I've been learning Blender in my free time for the past few months, this tutorial was a most excellent starting point: [https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro](https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro)

My goal is to make characters for games, and I have been watching this video series [https://www.youtube.com/playlist?list=PLFt_AvWsXl0eTHFZ2XPkM...](https://www.youtube.com/playlist?list=PLFt_AvWsXl0eTHFZ2XPkM6gLK8XdsdzNl) \- I recommend the 5 Blender Character Animation videos. Tremendously helpful.

In my opinion the key is, like learning most things, a little bit every day.

<comment><USER19> I played around with Blender when I was in college back in 2012-2013. Cycles render was just introduced back then. Blender and it's community has come a long way since then in this short span of time.

My starting point was [http://www.blenderguru.com/](http://www.blenderguru.com/) (for general tips and tricks), reading about ray tracing(for understanding why my renders were not up to the mark), anatomy of physical shapes(for sculpting) and watching a lot of behind the scene VFX breakdown videos(to understand their construction). Frankly, my humble computer back then was not capable of running 3DS Max or Maya.

Apart from this, a lot of articles regarding photography helped. A keen attention to detail and huge amounts of patience is required(while watching your renders take hours if you have the wrong graphics card).

</comment></comment></comment><comment><USER20> It's good to see Suzanne popping up in so many places!

(Suzanne is Blender's monkey mesh primitive and logo. Blender uses it where other programs would use the Utah teapot. You see it in the character modeling icon on that page. Wikipedia about it here: [https://en.wikipedia.org/wiki/Blender_(software)#Suzanne](https://en.wikipedia.org/wiki/Blender_\(software\)#Suzanne))

</comment><comment><USER21> > A single frame can take more than 24h to render

What, really? I was under the impression that pixar had a render farm large enough to render frames in minutes or even seconds.

<comment><USER12> Twenty-four hours is not typical. I'm a bit out of date, but I think four hours is more common. On Toy Story, it was more like two. The increase is due mostly to the use of global illumination for nearly all scenes now. Renderman traditionally didn't do ray tracing or any other GI lighting. The modern version does, and it simple takes longer.

Higher resolution, and stereo (3D), are also to blame. Toy Story was rendered at less that 1080 HD resolution!

<comment><USER22> Is there more info about the TS1 re-releases then? Based on your comment I started looking for info and verified that the original render was 1536x922, but there's no info about the work they put into the 3D version and Blu-Ray release.

<comment><USER23> Seems like it took them a few minutes per frame to render TS1 in 2011 [1], not sure if that's with the higher resolution.

[1] [https://www.quora.com/How-much-faster-would-it-be-to- render-...](https://www.quora.com/How-much-faster-would-it-be-to-render-Toy- Story-in-2011-compared-to-how-long-it-took-in-1995)

</comment></comment></comment></comment><comment><USER24> "A single frame can take over 24 hours to render. And that's just ONE frame".

There are about 150,000 frames in a movie. Not bad.

<comment><USER25> Rendering is a trade off between time, quality and artistic and technical effort. No frame _needs_ 24 hours to render; it just means someone wasn't tasked with making it faster or cheaper.

<comment><USER26> ... or lower quality ;-)</comment></comment></comment>


What is in a name? - <AUTHOR> http://lthbl.com/what-is-in-a-name

<comment><USER2> For some reason, it's difficult for me to keep working on something after a point, if I don't know what it'll be called. I think I spent a good 3 weeks looking for names and domains last time, and I couldn't get anything else done, it was nerve-wracking. I think having a name you like is good psychologically, makes it feel more real.</comment>


Implication of sabotage adds intrigue to SpaceX investigation (2016) - <AUTHOR> https://www.washingtonpost.com/business/economy/implication-of-sabotage-adds-intrigue-to-spacex-investigation/2016/09/30/5bb60514-874c-11e6-a3ef-f35afb41797f_story.html <comment><AUTHOR> I hadn't heard this story before even though it's quite old.</comment>


R7RS versus R6RS (2018) - <AUTHOR> https://weinholt.se/articles/r7rs-vs-r6rs/ <comment><USER2> I seldom saw such an incredibly weak argumentation as in section "The number argument". Yes, If someone wants Scheme to remain an academic toy language, this might make sense.

I followed the discussion and schisma which resulted in Racket for good. If you want to have a sane language, some pages of specification and rationalization are required, as has been done for R6RS.

If the professors fear that students will no longer be able to implement their Scheme interpreter in a term because the spec has become to complicated please call the language somehow different and stop to encumber the development of an otherwise great language!

<comment><USER3> It really all depends on what one wants. If one wants an excellent academic exercise, Scheme is pretty great. If one wants an excellent industrial language, Common Lisp is right there.

I am sympathetic to R6RS because it tries to make Scheme more useful for real programming — but in that case why not just use Common Lisp, which is even _more_ useful for that purpose?

<comment><USER4> I'm not convinced CL is more useful for real world usage. People sometimes fall into the trap of thinking that more features are always better. With programming languages, that's rarely true, because even features you don't use cost you something — in terms of training new programmers, and every time your dealing with other people's code. (And note here that in real-world projects, most of the code you have to modify and debug isn't yours!)

Of course it's possible to go too far the other way, and R5RS leaves too many questions unanswered. But in my opinion, simplicity is also an important feature, not just academically, but in practice.

<comment><USER5> Since one doesn't program in R5RS (a language definition document), but with real implementations, those tend to add quite a bit to Scheme to make practical programming possible.

Example:

[https://www.gnu.org/software/mit-scheme/documentation/mit- sc...](https://www.gnu.org/software/mit-scheme/documentation/mit-scheme- ref/index.html)

<comment><USER4> Sure, but the point of a standard is usually to make implementations interchangeable.

</comment></comment></comment></comment></comment><comment><USER6> With all due respect to the author, I followed the r7rs standardization closely, and disagree with his bottom lines.

1\. On the number argument: Even the author acknoweldges that R6RS is twice as large. Regardless of the fact that the standard library is the other half, the fact is that the standard library is a requirement for R6RS. Because of the controversies about it (the condition system, record system, hash table library), the R7RS standard was purposely split into 2 parts, the R7RS-small and the R7RS-large. The R7RS-large standardization is an ongoing project.

2\. On the condition system: The fact is that horse already left the barn. Most major implementations already had their own condition hierarchies. The only way to reconcile their existing conditions would be to have a translation layer which would be inefficent. Conforming to R6RS condition system would mean throwing out most of the code that people who use those implementations depend on. R7RS focused on providing a basic error system with a purely procedural interface, which combined with cond-expand and the library system, can allow people to write portable code. So the idea that the standard committee doesn't believe "Safety is not a desirable language feature" is unwarrented.

3\. On Optional is better argument: Sure you can have an R6RS with restrictions, but then it isn't R6RS, it is a R6RS-like scheme. Using feature identifiers is at least a better way to create portable code. If you have a library that requires unicode, you can specify that in the code.

4\. On syntax-case, one of the costs of having it is a more complicated library system, with import and export levels. Read it yourself, [http://www.r6rs.org/final/html/r6rs/r6rs- Z-H-10.html#node_se...](http://www.r6rs.org/final/html/r6rs/r6rs- Z-H-10.html#node_sec_7.2) . R7RS-small decided to be more conservative in this area.

Overall, I think that the way that R7RS standardization has worked to evolve the standard was the right approach. They focused on the most important needs for scheme ( The library system, a basic record system, basic error handling) while avoiding adding features that were overly controversial.

</comment><comment><USER7> I thought that the whole point of Scheme is for it to be easy to implement. R7RS seems more aligned with Scheme's vision.

<comment><USER8> Ease of implementation leads to a maze of twisty little implementations, all different. It also leads to unaccounted-for corner cases (see: why C is deprecated). The major implementations, Guile and Racket, both embraced R6RS.

<comment><USER9> Guile has not embraced R6RS:

> R6RS significantly expands the core Scheme language, and standardisesmany > non-core functions that implementations—including Guile—have previously done > indifferent ways. Guile has been updated to incorporate some of the features > of R6RS, and toadjust some existing features to conform to the R6RS > specification, but it is by no meansa complete R6RS implementation. > SeeSection 7.6

[https://www.gnu.org/software/guile/manual/guile.pdf](https://www.gnu.org/software/guile/manual/guile.pdf)

Neither has Racket, they aren't even calling themselves a scheme any more.

<comment><USER10> Are there _any_ complete implementations of R6RS?

<comment><USER11> I think Chez is pretty much compliant.

</comment></comment></comment></comment></comment><comment><USER12> Stands off to the side waving R4RS flag.

<comment> nils-m-holm You are not alone! S9fES is still R4RS. :) [https://www.t3x.org/s9fes/index.html](https://www.t3x.org/s9fes/index.html)

</comment></comment><comment><USER13> I think this is a really fair summary of the technical differences between the two standards written from the perspective of a person who favors R6RS. I especially agree with the point regarding error signalling and the lack of effective facilities for that in R7RS.

I should also say that my perspective is that of an outsider, a user, not someone who is involved in implementing scheme, or in the standards process. With that said, I feel like this post does not capture the social context of R7RS vs R6RS and without that you can't really understand the overall picture.

Scheme has been around for decades and there are probably dozens of implementations. Almost every one of them supported R5RS. Unfortunately this standard didn't specify enough to allow for easy interoperability of scheme programs between implementations, depending on what you were trying to do. So everyone ended up just picking their own scheme and running with it.

R6RS tried to offer enough of a standard to allow for interoperability between implementations, particularly in offering a module/library syntax, and a bunch of the other things listed in the post. The main problem, and really the one that triggered R7RS, was that it was a large enough standard and required enough work that not many implementations updated to conform to it. The standard was ratified in 2007 and when I was looking around for conformant implementations I didn't find a lot. There was Ypsilon scheme, which has since become abandonware. Ikarus scheme by Abulaziz Ghoulum was super fast but was also abandoned. Larceny scheme was compliant I believe but I didn't use it much. Kawa scheme worked to get there but was still not conformant by 2012. Guile never fully implemented it. PLT Scheme implemented it, but 2 years after was already making announcements about leaving Scheme behind and became Racket in 2010. MIT Scheme of SICP fame basically said they'd never implement it. The crown jewel was probably Chez Scheme, still to this day one of the best language implementations period. But it was proprietary in 2007 and cost money. You could use the interpreter based implementation Petite Chez Scheme, but it still had other restrictions I believe. Committing to R6RS as the standard going forward meant abandoning _most_ of the existent implementations, and thus most of the body of code people had written for them. In trying to unify the Scheme world going forward, R6RS was potentially asking for a large schism. Please note that the previous sentence isn't a value judgement. Maybe Scheme would be in a better place given the technical merits of R6RS. I can't deny that. But that is how the world looked (in my view) when R6RS was the scheme standard of the day.

In comparison after R7RS was ratified, many implementations worked to be conformant. Guile is close, Kawa is conformant, Gauche Scheme implements R7RS, Ypsilon is another, Chibi Scheme, Larceny, etc, etc. In terms of standards adoption there's no contest.

Writing this post from 2020, where Chez Scheme is open sourced and free, Akku scheme is a great implementation of R6RS, and we are starting to get package repos for Scheme, maybe R6RS would have been the better choice. Maybe all those other implementations should have fallen by the wayside and we'd all use Chez Scheme, much like CPython is the canonical Python (except Chez Scheme is incredibly well implemented). But at the time the decision was made to make a new standard, a very explicit decision was made to abandon the "easy for users, hard for implementers" motto of R6RS, because what is a language standard without implementations?

My hope is that ongoing work can build on R7RS and get us to the level of excellence and ability to build things that R6RS gave, and maybe we can end up having our cake and eating it to.

</comment><comment><USER14> I was struggling to find a concise summary of the debate between R7RS vs R6RS earlier this year. This article was the best I found to that end.

<comment><USER15> last year</comment></comment>


The Metaphysics of the Hangover - <AUTHOR> http://iasc-culture.org/THR/THR_article_2017_Summer_Edmundson.php <comment><USER2> Hangovers are a wretched, miserable thing, it's true, but beyond the flowery language of metaphysics, they are at least in part due to our drug of choice.

Ethyl Alcohol is not kind to the body, its metabolic pathyway involves formaldehyde, for a start. There are other substances, other alcohols even, that can have similar effects but without the specific awfulness of the hangover.

Certainly, what the author describes as putting the walls back up, that's likely going to happen regardless of the drug, but the pain, nausea and dehydration are signatures of booze, and these will affect your mind too - makingyou more wretched and self pitying.

<comment><USER3> IIRC we don't really know what causes hangovers. Can you give more info on that thing you said about different alcohols not giving hangovers?

<comment><USER4> My cousin who drinks/drank a lot says it's really dehydration. Apparently if you drink a lot of water at the same time you tend to not get them.

<comment><USER5> Honestly I think you just feel less hungover with tons of practice. I used to drink every night, and swore by my method of drinking tons and tons of water during and after so I would be 'OK' in the morning. It worked for years. Then I got injured and basically had to stop drinking to let it heal, and after 2 months off, I've never been able to drink like that again. The same methods give me a hangover that I can't work through anymore and I only drink on weekends now. As bad as it was for me drinking every night, I had a lot of fun and almost wish I could still do it. My liver is probably pretty happy about the current situation though.

<comment> castle-bravo I wonder if this is age-related. I never drank much before, but since I turned 27, I've noticed that I can get drunk on one half to one-third the amount it used to take me.

<comment><USER6> It's age related. When you are 18 your liver is like a glittering biotech factory, like the ones on Kendall Square. When you are 40 it's a test tube, one of the scratched plastic ones at high fucking school.

[http://wp.streetwise.co/wp- content/uploads//2015/06/Renderin...](http://wp.streetwise.co/wp- content/uploads//2015/06/Rendering-Send-to-Paula.jpg)

[https://proscitech.com/img/l/lcb12.jpg](https://proscitech.com/img/l/lcb12.jpg)

</comment></comment></comment></comment></comment></comment><comment><USER7> This article is long-winded, pretentious and misses Kingsley Amis' best definition of the metaphysical hangover:

> When that ineffable compound of depression, sadness (these two are not the > same), anxiety, self-hatred, sense of failure and fear for the future begins > to steal over you, start telling yourself that what you have is a hangover. > You are not sickening for anything, you have not suffered a minor brain > lesion, you are not all that bad at your job, your family and friends are > not leagued in a conspiracy of barely maintained silence about what a shit > you are, you have not come at last to see life as it really is and there is > no use crying over spilt milk.

<comment> 52-6F-62 I'd never caught that quote before, and I've read Amis before. That's great, thank you. I'm going to stash it away for those much needed moments...

</comment></comment><comment><USER8> I don't recommend getting too florid with it. Alcohol is bad for us, we know that and drink it anyway because it's fun, and if we're not careful the next day is uncomfortable. Drink with food in your stomach and have water while you drink, and try not to feel too sorry for yourself.

<comment><USER9> There's a common notion that drinking with food in ones stomach and proper hydration can prevent a hangover. I'm not sure that you're personally making this claim, but it's a personal mission of mine to dispel the claim as utter BS.

The sad truth is that a hangover happens because it's your bodies response to metabolizing a poison. Drinking less is the only real prevention, and proper rest/time is (generally) the only treatment. I'd have been saved a lot of pain had only someone told me this when I was younger, instead, I received a bunch of misinformed advice which, while probably well intentioned, did absolutely nothing to help.

Sure, eating well and drinking water will make you feel better, but that's true in any situation, so the explanatory power of it is lacking.

some further reading for explanation, in case anyone is interested:

[http://www.smithsonianmag.com/science-nature/your- complete-g...](http://www.smithsonianmag.com/science-nature/your-complete- guide-to-the-science-of-hangovers-180948074/?no-ist)

[https://www.scientificamerican.com/article/in-search-of-a- cu...](https://www.scientificamerican.com/article/in-search-of-a-cure-for-the- dreaded-hangover/)

<comment><USER10> As the SciAm article mentions, NSAIDs are somewhat effective. Take a dose of ibuprofen before going to sleep and you'll be a better off in the morning.

<comment><USER11> Hmm, NSAIDs are generally not recommended in combination with alcohol, e.g. [1] (along with lots of other pharmaceuticals)

1: [https://pubs.niaaa.nih.gov/publications/arh23-1/40-54.pdf](https://pubs.niaaa.nih.gov/publications/arh23-1/40-54.pdf)

</comment></comment></comment></comment><comment><USER12> this is why i stick to ether.</comment>


US Homeland Security Will Start Collecting Social Media Info on All Immigrants - <AUTHOR> https://gizmodo.com/us-homeland-security-will-start-collecting-social-media-1818777094 <comment><USER2> How would this even work?

<comment><USER3> A naturalized citizen can't be stripped of their citizenship unless it's clear they lied on their citizenship applications in a material way (like they were part of a terrorist group and wouldn't have been eligible for citizenship). I think this is the context that USCIS is working within.

</comment></comment><comment><USER4> Will my HN comments count/be tracked as well?</comment>


Ask HN: What's the best way to invest in Bitcoin? - <AUTHOR> Suppose I want to add some Bitcoin to my investment portfolio (meagre as it is). What would be the best way? <comment><USER2> I would guess that the smartest way is the way you would invest in California gold in 1849: by _not_ investing in the too-good-to-be true dream of easy free money, but investing _instead_ in the businesses that profit on the greed of the dreamers. Which ones those are, I don't know.

<comment><USER3> Selling those GPU-enhanced servers is akin to the toolmakers selling shovels and other tools to gold-diggers.

</comment></comment><comment><USER4> To get the bitcoins you need a broker, an exchange, or buy them in person. Check out Coinbase, Kraken, and Localbitcoins.

To keep your coins safe you can use Electrum. It will generate a "seed" that you need to print or write down and keep it safe. The wallet will use that seed to generate addresses you can use to receive bitcoins. If you are into Linux, you can use a Tails DVD to generate the seed in a clean environment, which is safer. I think the last version added Electrum so you won't need to install anything extra.

Another option is to use multi-signature online wallets like Coinkite (I think Coinbase offers multi-signature too now).

</comment><comment><USER5> Define 'some'...

You could simply buy them, take your wallet offline (store it on a couple of USB sticks and check on them periodically to make sure they're all still readable).

Buying bitcoin is not an investment, it's mostly a gamble.

</comment><comment><USER6> Depends where you are from.

If from US just sign up at coinbase, add bank account, and buy them.</comment>