An analysis of Facebook photo caching - <AUTHOR> https://code.facebook.com/posts/220956754772273/an-analysis-of-facebook-photo-caching <comment><USER2> This is pretty interesting. I mean, it seems pretty intuitive and obvious once it's put out there like that. I currently deal with a few hundred million items that need to be delivered in real time, and we use a somewhat similar structure, although our algorithms for cache invalidation are much less sophisticated. I wonder how much effort it would take (and I can put forth) to improve my own system to be more efficient.

In other words, I wonder how much of this efficiency boost is due to FB's abilities (both in people and technology) to scale. The paper seems to imply that it's relatively simple, now that the data has been gathered, but for a one-person team like mine, I wonder what benefits I can take away from this.

<comment><AUTHOR> I work with the Facebook CDN team and (amongst other things) maintain the data pipelines that log requests, the tailers that fetch/annotate the requests, and populate the Hive tables that we used for this research and other improvements to serving content.

There is certainly a lot of infrastructure that this is built on that many small teams don't immediately have access to in other companies. Whether it's self-service hardware provisioning, Scribe logging infrastructure, tailer frameworks with checkpointing and retries (and job systems to schedule them), and large amounts of available space on Hive for experimentation. But most of the software parts are available as open source, so it doesn't need remain unavailable.

This is my first team at Facebook that I've been heavily involved in this scale of data capture and analysis, but it only took a few days to get up to speed through a combination of great tools and good documentation. Being able to drop a Python file in a code repo to ensure that some complex data warehousing task takes place every day after that is pretty powerful.

</comment></comment><comment><USER3> Why are they still using the FIFO policy when their own data shows that S4LRU beats it in every area? Is it just easier to implement?

<comment><USER4> The short, uninteresting answer is that it's a work in progress. Initially we built FIFO into our caches because it was easy to build and didn't interact badly with flash disk craziness (write amplification specifically). You can read more about our old caching system mcdipper at [https://www.facebook.com/notes/facebook- engineering/mcdipper...](https://www.facebook.com/notes/facebook- engineering/mcdipper-a-key-value-cache-for-flash-storage/10151347090423920)

</comment></comment><comment><USER5> If cache size is infinite, why isn't hit ratio 100%-new photos? Due to auto expiration / TTL?

<comment><AUTHOR> Yes, mostly due to new content. You have to miss on the first request for the new content, and each of the 350 million or so photos a day will contribute a miss. Also, this only ran over a particular time period, so one-off requests for older content (someone revisiting their old photo albums) would be misses too.

I'm not sure whether a "refresh" (ie, 304 not modified due to expiration) is counted as a miss in this data.

<comment><USER6> Did they do any experimentation with pre-caching new content? What percentage of those new photos each day end up being requested I wonder.

<comment><AUTHOR> I'm not sure if Wyatt, Qi, et al. looked at pre-caching at all. I've not looked at the numbers yet, but it's on my list of things to look into once the next few months of more obvious wins are worked through.

</comment></comment></comment></comment><comment><USER7> I'td be interesting to see the daily 1,000 most popular photos, _some_ of them must be really great

<comment><USER8> Inside Facebook, the top 1000 daily photos is known as the "Buddha List", because viewing them is a transcendent experience, after which your waking life is little more than crude construct of colorless shapes.

And then you get fired for looking at private user photos.

</comment></comment><comment><USER9> Here's the video presentation of this page:

[https://www.youtube.com/watch?v=ENaQScyvOzY&list=PLn0nrSd4xj...](https://www.youtube.com/watch?v=ENaQScyvOzY&list=PLn0nrSd4xjjZsNjpfWvNEtuBMtKkTd3gW&index=12)</comment>


Trucking accounts for one-fourth of the fuel used on U.S. roads - <AUTHOR> https://www.axios.com/trucking-accounts-for-one-fourth-of-the-fuel-used-on-us-roads-5f8ef860-8593-4b5b-b521-fcea4d472dd3.html <comment><USER2> Which - provided that the trucks are used to transport/deliver (hopefully) needed goods, leaves us with three-fourths of fuel used on roads for (likely) less needed uses.

Seriously, from what I read as experiences here on HN, it is common to have daily commuting times of more than 1 hour (twice) to "deliver" (and bring back home) someone (by means of a huge, relatively heavy and gas guzzling 5 or more seater with only one person aboard) that very likely could have stayed home (working from there) seems like an easier target.

As it was stated here:

[https://news.ycombinator.com/item?id=18577934](https://news.ycombinator.com/item?id=18577934)

[https://angel.co/blog/what-startups-really-mean-by-why- shoul...](https://angel.co/blog/what-startups-really-mean-by-why-should-we- hire-you)

>The pioneers who are connecting the global human family and removing barriers of time and space won't take you seriously unless you brunch at the same restaurants they do.

</comment><comment><USER3> Electric trucks can't get here fast enough.

<comment><USER4> I've always been fascinated by biodiesel (using cooking oil to power diesel engines). I wonder if that would be a good stop gap solution until electric is viable.

<comment><USER5> Ends up clear cutting the rainforest to grow more soybeans, and there is nowhere near enough used vegetable oil for use at scale.

Luckily EVs and high efficiency internal combustion vehicles are driving down the demand for ethanol in the US and obviating the need to consider biofuels as a petroleum alternative.

<comment><USER6> Depends on the source of course. McDonalds in the UK claim to fuel about half their fleet of delivery vehicle with the used oil from their own restaurants.

If you get the source right, biofuels are great. But as you say, get it wrong (e.g. the EU policy of encouraging bioethanol) and it is disastrous for biodiversity.

I'm surprised we are not doing more with sewage, but I suspect that is to do with the difficulty of processing such a mixed substance, and the amount of infrastructure that would have to be changed.

<comment><USER5> I'm familiar with efforts to use sewage and landfill gas for small scale fleet fueling needs (local municipality and garbage collection vehicles), I just don't think it scales up much beyond that.

</comment></comment></comment></comment></comment><comment><USER7> In other news, three quarters of the fuel used on US roads are used to ferry people around.</comment>


On the etymology of 'Bug' - <AUTHOR> https://twitter.com/ID_AA_Carmack/status/1077319108620894208 <comment><USER2> "The terminology of a "bug" is usually attributed to Grace Hopper in 1945, but this seems to indicate it was in airplane terminology years earlier."

??? It goes back to at least Edison. [https://en.wikipedia.org/wiki/Software_bug#History](https://en.wikipedia.org/wiki/Software_bug#History) quotes him as writing in 1878:

> It has been just so in all of my inventions. The first step is an intuition, > and comes with a burst, then difficulties arise—this thing gives out and [it > is] then that "Bugs"—as such little faults and difficulties are called—show > themselves and months of intense watching, study and labor are requisite > before commercial success or failure is certainly reached.[3]

The Hopper story is "First actual case of bug being found", tongue-in-cheek because the bug was actually caused by a bug, instead of metaphorically so.</comment>


Ask HN: Can my users prove they own a GitHub/LinkedIn account, would this work? - <AUTHOR> I want my users to prove their identity, or at least go some way towards establishing trust by saying "see I can be trusted, look, these is my LinkedIn account and this is my GitHub account".
I could possibnly do this my requiring them to sign in via Oauth to those sites, but maybe it would be easier to give the user a random string and get them to put it somewhere like on a public github page, thereby proviong that they own the account.
I'm not sure, maybe there is somewhere on LinkedIn that a string could be placed that proves the user owns the account.
What do you think of that idea? <comment><USER2> keybase.io do something similar with github - they give you a piece of text to publish as a gist. It seems to work for them.

<comment><USER3> Also, domain validated certificates issued by CAs work the same way: among a few other requirements, you publish a value provided by them at a specific relative URL on your domain.</comment></comment>


HardenedLinux: The way to the Ark - <AUTHOR> https://hardenedlinux.github.io/announcement/2017/04/29/hardenedlinux-statement2.html <comment><USER2> Why was the title changed? The old title was not great, but at least informed us that a) the article was about PaX/Grsec, and b) was trying to present another side to the story.

HN has replaced this with the title of an obscure Linux project, and an awkward and unhelpful metaphor - capitalisation kept, of course, so readers can wrongly assume that "Ark" is the name some piece of software. Yes, it's original, pure and untouched. No, it's not helpful, it's just worse in every way.

I understand that editorialising titles is a bad thing. But if a human is taking the time to make a judgement call on what is or is not editorialised, why not take a few extra minutes to create a more neutral title?

<comment><USER3> I really agree. Every time I notice that a title has been changed lately, the edited version is _always_ blander, vaguer, and gives less of an idea what the article is about. There's another example on the front page even now ("esoteric programming paradigms").

Whoever edits titles seems to value brevity and neutrality more highly than saying what's in the article, lately.

<comment><USER4> Indeed, concreteness & specificity > generalness & neutrality in almost all cases of writing and communication. It even makes for more catchy titles, without being clickbaity.

</comment></comment></comment><comment><USER5> "Core Infrastructure Initiative has been funded by 19 big corps( $1.9 mil per year) and organized by Linux foundation. KSPP was funded by CII in the begining"

That $1.9 million is for the whole CII.

According to the CII annual report for 2016 ([https://www.coreinfrastructure.org/sites/cii/files/cii_annua...](https://www.coreinfrastructure.org/sites/cii/files/cii_annualreport_2016_fnl_digital.pdf)), CII provided $80,000 in funding to support Emese Revfy and David Windsor on GCC plugins.

$80,000 in funding isn't exactly going to pay for all of grsecurity to be successfully upstreamed overnight. Emese and David have been doing fantastic work, and I'm really, really glad that CII has provided funding for them, but CII is only providing project-based funding for specific work items, not a continuous stream of money to fund the KSPP. Seems a bit unfair to criticise the KSPP on these grounds...

[disclosure: I've sent the occasional minor patch to kernel-hardening in my capacity as an employee of IBM who sponsor the CII, opinions my own, I don't know anything at all about our CII funding]

</comment><comment><USER6> I will be honest, I have read this post three times times now and I still don't know what the central thesis is. Initially when I read the post the HN submission was titled something along the lines of "Why the public grsec patches stopped". It's pretty clear that CII is the who, but I have no idea _what_ the author thinks CII did or _why_ it resulted in the end of the public availability of the beta grsec patches.

<comment><USER7> I had to read [https://lwn.net/Articles/721122/](https://lwn.net/Articles/721122/) to understand their point.

After that, I read the whole post as a

\- the kernel developers are refusing to merge our patches for technically wrong reasons

\- the only reason for KSPP to exist is to upstream "incomplete/bogus/weakened" implementations of our solutions

\- no one is contributing

<comment><USER8> A little blurb at the top saying something like: "inspiration for this post came from...", would probably be helpful.

</comment></comment></comment><comment><USER9> Losing public grsec is really bad for the community.

But I see too may posts talking about "the truth" and hard political stances.

Grsec has done a fantastic job since the beginning. Some of it has been ported to mainline. Hopefully this will speed up the port to mainline.

But why? I remember some discussions where Linus did not want to accept the whole patch as-is, without breaking it into smaller standalone pieces. I remember that some protection might have caused userspace changes. Sure, if it breaks with grsec, then there was a big problem at the beginning, but you can't just ignore everyone else either. Were there are some problems with the GCC plugins and licensing? Was it something about not being able to advance to newer GCC because it is GPL3, and somehow the plugins would have needed to propagate the license to the resulting kernel binary? Can anyone elaborate?

Can anyone point out to some more unbiased tracking of what happened here? Some LKML link?

<comment><USER9> It Seems that actually some stuff has been ported and other is in progress. The gentoo guys keep tracing of it nicely:

[https://wiki.gentoo.org/wiki/Hardened/Hardened_Kernel_Projec...](https://wiki.gentoo.org/wiki/Hardened/Hardened_Kernel_Project)

</comment></comment><comment><USER10> > But… till now they've hardly accomplished anything compared to what > PaX/Grsecurity did, e.g. they ported some mitigations while introducing more > (exploitable?) bugs or incomplete implementations

That doesn't seem particularly charitable. Regardless of what you think of the Linux Foundation's marketing arm, the KSPP is not a bad thing. They seem to have a very different priority to PaX/Grsecurity, with an emphasis on things that have a clear technical/political/etc path to being enabled by default.

I really enjoyed this talk about KSPP's agenda: [https://www.youtube.com/watch?v=aMkCKeZ8xZw](https://www.youtube.com/watch?v=aMkCKeZ8xZw)

<comment><AUTHOR> as citypw posted it on:

[https://lwn.net/Articles/703000/](https://lwn.net/Articles/703000/)

We don't have such leap of faith in KSPP due to there are several exploitable bugs( CVE-2017-0358, CVE-2016-1583, CVE-2016-0728, CVE-2017-6074, CVE-2017-7184, etc), which can be turned to "massive" exploitations in past couple of months. And it's just the tip of the iceberg in past 16 years:

[https://lwn.net/Articles/721122/](https://lwn.net/Articles/721122/)

There are tons of features from PaX/Grsecurity, e.g: PAGEEXEC/SEGEXEC/ASLR/KERNEXEC/UDEREF/MPROTECT/RAP/etc. None of them are created by KSPP even though some vendors integrated some of features( weakened usually) into hardware in recent years.

<comment><USER6> I cant tell what you are responding to in the initial comment?

<comment><USER11> It seems to back up this quote:

>> they ported some mitigations while introducing more (exploitable?) bugs or incomplete implementations

I also disagree with GP that there isn't much of a point in using KSPP if it makes your system less secure and is not maintained diligently.

</comment></comment></comment></comment><comment><USER12> Even before this announcement, important parts of the PaX/grsec gcc plugins were apparently not part of the public release, rendering the claimed protections ineffective: [https://twitter.com/paxteam/status/858446189624164352](https://twitter.com/paxteam/status/858446189624164352) I'm not sure if this was ever publicly announced, or if it was only became public because security testers discovered the bypass and the PaX team responded by saying this wasn't an issue in the private release which they couldn't have access to for testing.

</comment><comment><USER13> Informative response from Kees Cook of the Kernel Self-Protection Project (KSPP):

[http://www.openwall.com/lists/kernel- hardening/2017/05/02/4](http://www.openwall.com/lists/kernel- hardening/2017/05/02/4)

</comment><comment><USER14> This is terribly unfortunate. By the way, could someone comment on why major distributions didn't use grsecurity code in their main kernel packages (or at least provide hardened-) ones? Maintenance cost or something else?

<comment><USER15> You can't really ship all of the grsec, because some compile time settings break userspace apps. Other options disable things you want on laptops, like power management registers. Basically your need to opt-in to grsec and you need to know what to configure afterwards. Or enable only selected few features and not get the whole protection.

On top of that, you can't use the latest kernel version until grsec is ported to it. And probably more reasons I don't know about yet. Basically, it's not one-size-fits-all solution - Ubuntu would create more problems than solutions if they just dumped it on users by default (or at least without a proper migration path with lots of deprecation time).

<comment><USER16> > You can't really ship all of the grsec, because some compile time settings > break userspace apps. Other options disable things you want on laptops, like > power management registers. Basically your need to opt-in to grsec and you > need to know what to configure afterwards. Or enable only selected few > features and not get the whole protection.

The vast majority of features are 'set and forget'. Most will not break userland, or have extremely low FP rates. I can think of only one or two that have a high FP rate (integer overflow plugin) that would not be enabled by default. After all, these patches tend to make it into upstream under another name in ~10 years or so.

> On top of that, you can't use the latest kernel version until grsec is > ported to it.

Not really a problem unless your distro updates to the latest version the night it's released, which most will not. Grsecurity's dev patch tends to be far, far ahead of whatever Ubuntu is using.

I ran it on an Ubuntu system with virtually all features enabled with little problem.

<comment><USER15> > Most will not break userland

That's exactly what I meant. It _usually_ works the same. Apart from when it doesn't. For example arch's linux-grsec kernel requires pax changes for common KDE apps, and every separate python virtualenv. Restricted runtime CPU registers stop powertop. Something (can't remember details now) affected sysdig.

It's not critical. I used to run grsec kernel all the time on a laptop. But I can't imagine someone dropping, for example paxd support into a popular distro and expect people to deal with apps suddenly not starting.

</comment></comment></comment></comment><comment><USER17> > Closing the public access doesn't make PaX/Grsecurity a non-free/libre > software. Those who purchase subscriptions can access the source code. We > don't see GPL violated in any way here.

I'm not an expert in software licenses, but this seems wrong. Can you really have "free" GPL software that requires a subscription fee?

<comment><USER18> Yes, but once you've given a copy to a subscriber, you can't stop them giving that copy away to anyone else.

<comment><USER19> They will refuse to sell you it again if you do, and given that for security patches you need updates this is fairly effective. They will also refuse to sell to anyone who distributes their kernels, and thus would be obliged to redistribute source, you can only buy it for on premise use. So yes, it falls within the letter of the GPL, and it could in theory be distributed, but it is not in practise.

<comment><USER5> How exactly do they enforce this? Do they have any measures to stop a subscriber from posting their patches anonymously?

<comment><USER20> Even if they don't have any precautions at the moment, if that happens they could introduce them.</comment></comment></comment></comment></comment>


Caffeine: Livecoding Smalltalk Environment for Browsers, Node and WebAssembly - <AUTHOR> https://caffeine.js.org/ <comment><AUTHOR> _VERY_ interested in using the IDE to do some live coding on a running NodeJS.

How should I proceed? Any how to? Thanks!

<comment><USER2> Install ndb ([https://github.com/GoogleChromeLabs/ndb](https://github.com/GoogleChromeLabs/ndb)), clone the Caffeine repo ([https://github.com/ccrraaiigg/caffeine](https://github.com/ccrraaiigg/caffeine)), go into /node and run "ndb squeak_node.js". That runs an alpha version of a team livecoding services relay network; happy hacking. :)</comment></comment>


Php.js - PHP VM with JavaScript - run that PHP code in JavaScript - <AUTHOR> http://www.reddit.com/r/javascript/comments/x360w/phpjs_php_vm_with_javascript_run_that_php_code_in/ <comment><USER2> I think this is cross-compiling, not using emscripten, which is pretty impressive.</comment>


A victory for free software over the 'Microsoft tax' - <AUTHOR> https://fsf.org/blogs/community/a-victory-for-free-software-over-the-microsoft-tax?pk_campaign=social_media

<comment> bjelkeman-again Couldn't thus ruling be applied to any tablet or smartphone being sold as well? Although are there any alternative OSs to run on an iPhone, for example (maybe this doesn't matter)? And does iOS have a price in this context?</comment>


Union Budget Analysis Tool 2017-18 - <AUTHOR> http://unionbudget2017.cbgaindia.org/ <comment><AUTHOR> It presents a comprehensive analysis of the priorities and proposals in Union Budget 2017-18, focusing on social sectors (such as education, health, drinking water and sanitation, food security etc.) and the responsiveness of the Budget towards the vulnerable sections of the population (such as women, children, dalits, adivasis, religious minorities and urban poor). It also looks closely at the progressivity in the taxation policies adopted in the latest Budget.</comment>


Ask HN: HN APIs (or lack thereof) - <AUTHOR>

I looked to see if this was asked before, but could not find anything. Are there any plans to implement APIs on HN for logins, votes, comments, etc.? Each application I use (iOS) constantly breaks, because they all scrape HN.<p>If this has been asked and answered before, please point me to the right direction. Thanks! <comment><USER2> As far as I know, HN offers an official API here: [https://github.com/HackerNews/API](https://github.com/HackerNews/API)

But it specifically says "We hope to improve it over time, and may later enable access to private per-user data using OAuth." So I'm assuming that login, votes, comments, submission is for a future release of the API. That might be why the apps you use resort to scraping HN.

For reference, here's the blog post talking about the release of the API: [http://blog.ycombinator.com/hacker-news- api](http://blog.ycombinator.com/hacker-news-api)

<comment><AUTHOR> Thank you!</comment></comment>


Algorithm: The Hacker Movie - <AUTHOR> http://www.thehackermovie.com/ <comment><USER2> This movie is bad. 1\. poor acting 2\. constant proselytizing about fairly superficial hacker culture ideas 3\. plot isn't executed well. tries to create twists at the end but it simply doesn't come together. 4\. lack of character development as well. a large portion of the movie is the main character giving various monologues about how cool he is as a hacker, but it still doesn't create some sort of human connection with the viewer(or at least with me). He was forgettable. The other characters were boring too. 5\. the worst part was when there was an overt need for one of the characters to quite uncharacteristically tell the main character to stick to his ideals and fight for something bigger than himself. this cliche moment made me cringe. I stuck through the movie mainly because my brain still refuses to account for sunk- cost fallacy for time. I know I'm making a lot of claims here--frankly I don't want to spend anymore time substantiating with examples. Just take my word or go watch it. Hope this helps others decide where to allocate their time though.

<comment><USER3> I liked it. Everybody's tastes are different.

Having made a feature length film, for what I imagine to be a similar budget or less, I might also be able to appreciate the effort that was put into this better than most here.

I think the general HN rules regarding criticism when people post a Show HN should be applicable here.

<comment><USER2> Originally, I was going to add in the following: "Nonetheless, I realize the people behind the movie probably put forth a lot of effort into making the project and commend them for that. I am but a critic. I hope these comments do not deter the people behind the project from pursuing what they want to do but is rather taken as feedback and impetus for improvement." However, I took it out because I think that it seems almost implicit that those who make products or art for the public are subject to criticism. I did not make any outrageous claims or have ad hominem attacks. Given that I was focused on the content and I spent the time to watch through it, I thought the criticism was fair, I wanted to write this additional comment because I did struggle with being diplomatic versus just being more indulgently blunt. Perhaps I should have added something that showed some nuance or awareness, but then this leads to my having to do so for ever criticism or review. But maybe that is kinder and perhaps more helpful for people. Who knows. Your comment is duly noted.

</comment></comment></comment><comment><USER4> Be careful the movie is available for free on Youtube/Vimeo for a very limited time! After the 24hr free-view period, the movie will be offline (see. [http://www.thehackermovie.com/about/](http://www.thehackermovie.com/about/) ).

<comment><USER5> is it on YouTube? Maybe I just have to many search results

Edit: There is a short pitch and some teasers on YT ([https://www.youtube.com/watch?v=KI8rbvoMOnw](https://www.youtube.com/watch?v=KI8rbvoMOnw))

</comment></comment><comment><USER6> Do they actually discuss or mention an algorithm in the movie?

<comment><USER7> Nope

</comment></comment><comment><USER8> Movie was well done, bit cringey at times but it's what you expect made for a non-tech audience.

Fun lines: "I am a god" (The protagonist) "She's a lightning god" (Talking about a girl who chips Xbox's)

<comment><USER9> Covering the whole room in foil so the wifi wont leak. Major cringe. One of many.

</comment></comment><comment><USER10> Did anyone figure out who the guy was -- his original client? Was he CIA or was he in the black ops commercial company -- the one that wrote Shepard? Are we to presume that Timothy joined the organization the same way Will does? Is Timothy in the CIA or the company, or does it many any difference? Was part of Timothy's reward the hooker he was playing doctor with? High risk reward there -- torture on one hand, and money and hookers on the other. Did he steal Will's girl too?

Then at the end -- his client tells Timothy that he has been there for 3 weeks and they were closing that facility. Does that mean that Timothy was in charge of how long Will was held? Which friends picked him up at the end?? -- does that mean some of then really survived? And what info were the interrogators after? If it was how Will did it, why is he suddenly best friends with a guy who set him up and will reveal all? Is it implying that the CIA/black ops uses these techniques as a standard recruitment procedure?

I personally don't think that fear based people are very smart. And I think that a little moral fiber also enhances IQ. This character said he didn't care about rules of nations, and then says that he has to continue because it is wrong. Doesn't compute. He doesn't even seem to register that he was endangering his friends. Not that people like this don't exist. Maybe that was the point, that power is in the hands of narcissistic children with crippled moral fiber. If so, there's nothing new in the computer age about that one.

</comment><comment><USER8> It seems they've taken the movie down, was supposed to be up for 24-hours but given the response here, maybe they thought that wasn't a good idea. To be fair this wasn't the greatest audience for it, we're the type of people to pick things apart and we're collectively pretty clued on "hacking".

The production quality was good, the fact that it's an indie film is pretty cool. I think we're expecting too much from it, although given it's SF roots you'd think they'd target the extremely tech-savvy audience rather than the average movie-goer.

Could be an interesting weekend project. :P

</comment><comment><USER11> I give these indies a lot of praise. With no money and very little artistic support, the director pulled off a B class movie. Which is extremely admirable. The plot needs alot of work, but the idea of an overlord ei "Sheppard" is rather mesmerizing. It was a Sunday afternoon flick, and I sat through the whole movie. The mention of tor, wireless hacking with something like an raspberry-pi running xubuntu in a can on a battery. It was totally feasible, I might even put one together tonight. But for Geeks, this movie is something like a carrot on a stick for 24hrs.

</comment><comment><USER12> It definitely took stylistic cues from pi, The Social Network, and Hackers. There were some good ideas and a few good scenes, but overall it was pretty bad -- as many other commenters have detailed.

</comment><comment><USER13> Now if only I wasn't at work right now...

The premise of the movie seems pretty interesting I love the profit-share model, and the motivation behind creating the film:

"At the core of ALGORITHM's plot are the questions that are shaking up the tech world to it's very core, and the nations of the world right along with them: privacy, human rights, the place of government in the lives of citizens, the value and power of technology."

<comment><USER14> _The business model for ALGORITHM is based on the models of tech startups as described in The Lean Startup. It's a profit-share agreement, giving everyone who works on the movie a vested interest in the success of the project. All profits get shared by the artist who actually made it happen._

Lots of indie movies are put together this way. It's industry code for 'work for free.' I own a percentage of several feature films, none of which are actually worth anything. That's not an altogether bad thing, it can be a good way to gain experience or burnish your credentials, eg I will sometimes work on a project for free because it creates a connection with a particular actor or gives me the ability to call in a favor in the future.

But you should know that it's kind of an indie/student film marketing trick. It's much easier to find talented folk than the money to pay them.

<comment><USER13> Fair enough, thanks anigbrowl!

I can definetly understand finding people is easier than paying them. I guess I didn't really factor the economy and indie movie scene into my response.

Experience never hurts - so long as you learn from it (and it is benifical to you (eg. connections and favors; as you pointed out)

</comment></comment></comment><comment><USER15>
                    Sorry

      Because of its privacy settings,
      this video cannot be played here.

Yuppie!

<comment><USER16> it's only available if you watch the embedded version on their site

[http://www.vincepergolizzi.com/2014/01/how-to-download- priva...](http://www.vincepergolizzi.com/2014/01/how-to-download- privateembedded-vimeo.html)

<comment><USER15> No, that's the message I get in the embedded player when I open the homepage.

<comment><USER5> Another reader posted this link below: [https://vimeo.com/100672072](https://vimeo.com/100672072)

</comment></comment></comment></comment><comment><USER17> The descriptions of "hacking" techniques were cringe-worthy, the character development was just about non-existent, and the plot was pretty basic. However, I liked that they spent some time trying to explain why privacy is important, even if you aren't a criminal.

</comment><comment><USER18> I did like the main character's name: William (Gibson) Vernor (Vinge) (Neal) Stephenson.

</comment><comment><USER19> I bought the soundtrack. It is very reminiscent of the more atmospheric _The Social Network_ tracks, but doesn't hit the highs of that album (as one might expect). Still recommended for people who like synth-y atmospheric background music.

</comment><comment><USER20> Video cannot play with your current setup. On my Linux box. Aaaaand we're done.

<comment><USER21> It is a html5 video player; I don't understand ._.

<comment><USER22> I got the same error on Chrome on Windows. None of the videos work.

</comment></comment></comment><comment><USER23> Was it any good?

<comment><USER24> Poor man's 1984 really; I felt no emotional link with the characters at all. It's a shame, it would be nice to see a take on 1984 with today's tech.

</comment></comment><comment><USER5> does anyone have a direct link to the vimeo or youtube version? Original site is very choppy.

<comment><USER25> Is this it? [https://vimeo.com/100672072](https://vimeo.com/100672072)

<comment><USER4> THX. We can download the file with this link. :-)

<comment><USER26> This is the HD version: [http://pdl.vimeocdn.com/44915/609/269043775.mp4?token2=14053...](http://pdl.vimeocdn.com/44915/609/269043775.mp4?token2=1405377814_9f96571dfbaae8ff1a2b018a7dd8a2d0&aksessionid=8f3967070510e0a2)

<comment><USER27> Shouldn't we play fair with them? Although you can use that link to download it (yep, it works), where is the point to don't keep it to ourselves?

Heck, I understand we all want to see when we want because we have better things to do now or not enough time. Regardless, I don't think we should ruin from starters their commercial project.

I mean, it's not even a DRM. Just a weak misleading protection layer from Vimeo for deterring little noobs that don't know how to use their browser's debug console.

Let's give the creators some advantage before gaming the system.

<comment><USER25> Well, downloading the video from Vimeo doesn't cost the project anything. And if I like the video, then I can support them by paying. I don't see any upside to taking on the risk myself.

Also, if someone genuinely can't afford the price, they can still enjoy the video. That seems like a net win for society.

<comment><USER27> Yes, you can download it and support them by paying later. I agree.

But... I see no point into publishing the direct stream link. Although it's funny due what the movie is about, I think it creates some disadvantages for them.

I hope they took in mind this and they don't feel threatened by this behavior.

<comment><USER25> The stream link will go down at the same time that the movie gets pulled from vimeo.

<comment><USER27> I know but it doesn't invalidate my point.

No matter how long, more "leechers" are going to abuse the system instead of a few "geeks" with the knowledge.

Sure, if the timespan is short, almost no damages will be taken. Unless it gets distributed through other networks. If they didn't expected this, they may be upset.

Hey, even maybe this was the main purpose, to go viral. Who knows. I just wanted to share how I felt to see the stream link published.

<comment><USER26> Ripping a stream is not hacking.

I did it through FlshGot. This is no science. It's just a rightclick.

This is not some hidden elite treasure you need to hide here.

<comment><USER27> I didn't say that. Nevermind.

<comment><USER26> You were talking about keeping things to ourselves and "geek" knowledge.

<comment><USER27> I didn't say it was hacking. There is a little difference and they are not equal.

<comment><USER26> It changes absoultly nothing in this context here. However you call it. You wanted to keep some knowledge to yourself because you thought it may be some kind of special thing. It's not. Especially not here.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> worth watching?

<comment><USER29> The fact they considered an IP address to be ONE number grinded my gears..

<comment><USER30> Well, technically, IP addresses can be represented by a single integer:

2130706433 == 127.0.0.1

<comment><USER31> Technically, anything you can name can be represented by a single integer.

<comment><USER32> Yeah but technically in the protocol it's just one number, we show it as 4 numbers because it's easier for humans to manipulate

</comment></comment></comment></comment></comment><comment><USER33> I guess I don't understand how the title and subtitle are linked. The synopsis and trailers don't talk about algorithms at all.

Also, a lot of the trailers focus on cracking, it appears, and not hacking as in doing creative things and using things in ways not expected? Why would someone aiming at the tech community use a word so wrongly, and in a way that riles some of us up?

While I understand that mono uses the .exe suffix, not many other things do in the *nix ecosystem, but the screen shot they use shows what appears to be ls -l output and all the files have a .exe suffix.

EDIT: Fair enough, I'm being a bit too critical of the exe files. (I don't think there is a strike-out markup supported?)

<comment><USER34> >Also, a lot of the trailers focus on cracking, it appears, and not hacking as in doing creative things and using things in ways not expected? Why would someone aiming at the tech community use a word so wrongly, and in a way that riles some of us up?

Because most of 'us' stopped complaining about that ten years ago. The meaning of words change.

<comment><USER35> Yet you hang out on 'Hacker News' without fear of being associated with black hats?

<comment><USER36> because "Crack the Planet" doesn't have the same ring...</comment></comment></comment></comment>


WebM Plugin for Internet Explorer 9 - <AUTHOR> http://googlesystem.blogspot.com/2011/03/webm-plugin-for-internet-explorer-9.html <comment><USER2> Compare to Microsoft's plugins for Chrome[1] and Firefox[2], which have to actually override the <video> tags with WMP embeds because Google and Mozilla don't provide any mechanism for the user to extend codec support.

[1] [http://www.interoperabilitybridges.com/wmp-extension-for- chr...](http://www.interoperabilitybridges.com/wmp-extension-for-chrome) [2] [http://www.interoperabilitybridges.com/html5-extension- for-w...](http://www.interoperabilitybridges.com/html5-extension-for-wmp- plugin)

<comment><USER3> Microsoft doesn't provide any mechanism for the user to extend codec support (with the notable exception of WebM) either. Try to add WMV or Theora to IE9's HTML video support and see what happens. Their original announcement said no extra codecs would be supported, but they later made a special allowance for WebM. I'm interested in the technical details of how that actually happens since apparently it involved Google engineers being on site at Microsoft to get it working rather than just plugging into an existing extension point.

This seems more like a way for Microsoft to avoid (perceived) patent liability than a technical decision about the best way to add codecs to a browser.</comment></comment>


Model Connected City with R Pi, PubNub and Node-RED - <AUTHOR> http://www.internetoflego.com/connecting-it-all-together-pubnub-and-node-red/ <comment><USER2> Hi parkor222, Like your project. This would be much easier with Wia ([https://www.wia.io](https://www.wia.io)) :)</comment>


How I Learned to Make Friends in a New City - <AUTHOR> https://medium.com/@baronwilleford/how-i-learned-to-make-friends-in-a-new-city-dfcc8967d1c2#.9d5pz8l0c <comment><USER2> Cool idea! Does it try to connect based on interests or other filters?

<comment><AUTHOR> Not at the moment. I don't think that matters as much as you might think.</comment></comment>


Perfect example of stupid people working in IT being a part of the problem - <AUTHOR> http://www.gunbroker.com/User/MailProblems.aspx

<comment><USER2> Errr ... I don't get the point you're trying to make.

</comment><comment><USER3> I assume the link is wrong?</comment>


Zigfu Dev Kit for Kinect and Unity3D - <AUTHOR>

Zigfu (YC S11) is happy to announce the commercial launch of our ZDK for Unity3D bindings. Full information is available here:
http://zigfu.com/en/zdk/unity3d/
A trial version is available with a watermark. You can buy a dev license with your credit card through our site to eliminate the watermark. We are offering developer seats at the totally awesome public-beta-release price of $200 for the .99b version and we are offering free upgrades for all 1.X releases. Site licenses are available and we published our prices on the site.
Features:
- Compile to Mac, Windows, and Web Player using the Zigfu browser plugin
- Compatible with OpenNI/NITE and Microsoft Kinect SDK computer vision libraries
- Calibration-free Skeleton Tracking
- User selection methods (first user found, hand raise)
- point-cloud to particles effects
- Hand gesture detectors (push, swipe, steady, wave)
- Plenty of Samples Scenes to get started
If you have our kinect browser plugin installed (http://zigfu.com), you can try our examples compiled for the Unity3D Web Player up at http://zig.tv/examples
FAQ, tutorials and more examples to come. We appreciate your feedback and we look forward to seeing what you make! <comment><USER2> This is the second time I have seen a "ask hn"-like post include links in the body. The guidelines are pretty clear:

 _"Don't abuse the text field in the submission form to add commentary to links. The text field is for starting discussions. If you're submitting a link, put it in the url field. If you want to add initial commentary on the link, write a blog post about it and submit that instead."_

Am I missing something?

Other example:

<http://news.ycombinator.com/item?id=3705476>

<comment><AUTHOR> pg knows i'm a rebel

<comment><USER2> Does that mean he appreciates that you flout the rules?

</comment></comment></comment><comment><USER3> hyperlinks:

<http://zigfu.com>

<http://zigfu.com/en/zdk/unity3d/>

<http://zig.tv/examples></comment>


Quarantaid.me – Give and get help during quarantine - <AUTHOR> https://quarantaid.me <comment><AUTHOR> I built QuarantAid.me to help connect those in need with volunteers during quarantine / self-isolation. Those in need during quarantine can post a request for help, which is then visible to volunteers who can choose which requests they're able to assist with.</comment>


The Hacker News post that changed the face of higher education - <AUTHOR> Over the past few months, I've become completely fascinated by Income Share Agreements and how much of an impact they're having on higher education.
The idea of Income Share Agreements has been around since 1955, but they haven't seen mass adoption until recently.
This post covers the recent history of ISA's and how they helped kickstart the coding bootcamp revolution.
Kush Patel, Founder & CEO of App Academy, and I recently had an in-depth recorded conversation exploring this topic: https://bit.ly/2S0jiXR.
From what we could tell... the spark for the coding bootcamp revolution came from a single hacker news post. This one to be specific: https://news.ycombinator.com/item?id=3267133
Back in 2011, Kush and his brother saw this post and decided to enroll.
After the program, Kush saw how quickly other students were able to land jobs and start their software engineering careers.
Seeing this firsthand is what lead him to start App Academy which became the first coding bootcamp to incorporate Income Share Agreements as a financing option.
Others would fast-follow.
Make School in 2014. Lambda School in 2017. Flockjay in 2018. And now, in 2020, hundreds of programs.
ISA's have had a few false starts, but for the first time, it looks as if they're off the races.
Software engineering education became the first killer use case for ISA's. And now, it's quickly seeing mass adoption.
It's so important that we start to see this idea spread now more than ever.
Over 10M Americans filed for the unemployment benefits in the month of March alone.
These individuals need job training and they need it now. Traditional higher education isn't going to cut it.
We need a new method of job training.
One that is accessible from anywhere, provides trade-specific knowledge, and is generally risk-free.
If there was ever a time for ISA's and career accelerators to thrive, it's now.
And it's all thanks to an innocent Hacker News post from 2011 <comment><USER2> A lot of early settlers in America emigrated from northern Europe as indentured servants. I'd call that prior art.</comment>


Matt Taibbi on the JOBS Act - <AUTHOR> http://www.rollingstone.com/politics/blogs/taibblog/why-obamas-jobs-act-couldnt-suck-worse-20120409?x

<comment><USER2> I find this perspective so incredibly frustrating. Its as if people feel that stock investments need to have zero risk. Anyone who dumps their entire life savings into a pre-seed startup and gets wiped out, quite frankly, deserved it.

Matt Taibbi would serve the public much better if he wrote about the real world risks involved in these investments, the need for diversification, and other ways for individuals to make risk appropriate investments..

</comment><comment><AUTHOR> This was submitted earlier and got no discussion, so I resubmitted it with a more neutral title.

Taibbi has some excellent points. Overall, in the long run, this is going to hurt the startup industry. There will be numerous publicized incidents of massive fraud. Many people will lose their money and they will tar the entire industry with that perception. Casual investors are going to get robbed blind by scam artists, and anyone intending to run a real, honest business should be against these legal changes.

<comment><USER3> I agree. I think we're too busy cheering about how smart and progressive we are, making it so that games and iPhone stands can get crowdfunded, to realize that this is going to come back to bite us. In this case, someone outside the industry, like Taibbi, is a good sanity check, though he does have his own reasons for opposing it.</comment></comment>


Wingtip Coupling at 15,000 Feet (2000) [pdf] - <AUTHOR> https://www.flightjournal.com/wp-content/uploads/2011/12/wing-tip.qxd_.pdf <comment><USER2> This is how invention is done.

It seems designs can be iterated on and tested in just a few days.

In today's aviation world, if an idea can make it into the air in less than 5 years it's a miracle. I don't see any substantial innovation happening in the aviation world for that reason. Planes docking side by side to save fuel like this would be amazing for the environment, but will never happen.

<comment><USER3> The explanation of why now they use a more conservative approach is in tha last pag "72":

> _This action resulted in the F-84's pitching violently and then flapping > upward and into the B-29. The B-29's outer wing panel crumpled as the F-84 > rolled into it and, when inverted, struck the B-29's main wing spar; before > the two aircraft separated, this impact sheared off the F-84's nose section > forward of the cockpit. The B-29 then went into a steep spiral and crashed > into Peconic Bay, Long Island, and the F-84 went down shortly afterward. No > one survived._

<comment><USER4> The whole time I'm reading the article, I'm thinking "Jesus, that sounds dangerous...Oh, my! Now _that_ sounds really dangerous...It's amazing that nobody died doing this..." and then I get to the last page.</comment></comment></comment>


First Successful Starhopper Hop - <AUTHOR> https://twitter.com/elonmusk/status/1154629726914220032 <comment><USER2> Great to see the continous progress on the Starship project. This was only a small hop but an important test as a step to the real flight tests, which might be only days or a few weeks away, if no problem sends them back to the drawing board for an important component. The most critical part right now would be the real-life performance and behavior of the new raptor engines.

<comment><AUTHOR> According to Elon Musk next week we will see 200m hops. Exciting stuff!!

</comment></comment><comment><USER3> Best Youtube video of it: [https://www.youtube.com/watch?v=lg71lUolnqc](https://www.youtube.com/watch?v=lg71lUolnqc)

The footage from a lot of sites is pretty bad because of the fog obscuring it. It's in the middle of the night too =/

</comment><comment> dfeojm-zlib Observation: Although the Starhopper is a purposefully-unspaceworthy tech demonstrator, it still does resemble a comic book alien rocket from the 1950s.</comment>


PriceMethod helps Airbnb & HomeAway hosts operate like a hotel - <AUTHOR> http://www.wired.com/2015/05/pricemethod-airbnb/

<comment><USER2> Hi HN,

We're available anytime to talk shop.

We'd love to hear your thoughts, or, come check out our demo: pricemethod.com/demo

</comment><comment><USER3> Awesome to see that this launched!

<comment><USER4> Nicely done!</comment></comment>


A Paradigm Shift for the Motor Cortex? - <AUTHOR> http://blogs.discovermagazine.com/neuroskeptic/2015/12/11/a-paradigm-shift-for-the-motor-cortex/ <comment><USER2> If you're a Philip K Dick fan, you'll recognize Wilder Penfield as the namesake for the Penfield Mood Organ in "Do Androids dream of Electric Sheep?"

Canadians would probably remember him from the "I smell burnt toast" Canadian Heritage Minute spot on TV: [https://youtu.be/mSN86kphL68](https://youtu.be/mSN86kphL68)</comment>


Azure rising: MS will be largest Cloud Service by 2019 - <AUTHOR> http://www.geekwire.com/2016/azure-rising-microsoft-will-largest-infrastructure-service-vendor-2019-says-new-morgan-stanley-survey/ <comment><USER2> Having used both Amazon's Web Services and Azure I am not surprised by this one bit. Once you get past basic hosting and storage Microsoft's offerings are deeper and better integrated.

Also they are bringing out Azure Stack which will let you run Azure on prem. I don't believe this will be ready until 2017 and yes they have specific hardware requirements so you can't just plop it down in an existing data center but I do like the concept and direction.

</comment><comment><USER3> It does look a bit better (not good IMO, but amazon is way worse) but it is still Microsoft, with their main competency being Windows. Most applications don't usually run on Windows, a lot would simply perform worse.

I don't see this happening, really.

<comment><USER4> Likewise, I have a hard time buying this. Azure is better than what I would expect from MS in many ways, but it's still Microsoft. Granted, you can run Linux VM's with no problem, but why would you go to Microsoft to run a Linux server given the other options? Unless they do something really amazing in the near-term, color me skeptical.

<comment><USER3> Exactly. Why would i settle for some properitary hypervisor actually ment for windows to host my linux machines when i also can use industrie standards.</comment></comment></comment>


Listen to Her: Gender on This American Life (2017) - <AUTHOR> https://pudding.cool/2017/09/this-american-life/ <comment><USER2> I consider myself a feminist and progressive, but utterances like this sort of test my wokeness and make me feel weary.

>The fact that our mostly female staff and I have created a show where most of the voices are men is interesting and, frankly, disturbing.

It's disturbing that your female staff doesn't produce content in the way you want? What am I supposed to take away from this?

<comment><USER3> I think the lesson is that just like any other goal, if you want to get a certain result you have to actually keep track of how well you're doing and look for ways to do better. You can't just be "not sexist" and hope everything works out because you're so woke.

Metrics are useful, Goodhart's law notwithstanding.

<comment> s-shellfish Blind leading the blind without metrics.

</comment></comment></comment><comment><USER4> I question the unspoken assumption that there should be an equitable split of male and female voices on the program. An alternative hypothesis is that the most interesting people skew male, or at least the ones willing to talk into a microphone. You have to at least consider this hypothesis before jumping to the conclusion of bias in the reporting.

<comment><USER5> Isn't it one of the great assumptions of our age that everyone is "equal" and ought be proportionally represented in every endeavor? And that inequitable representation is evidence of a moral or actual crime against the under represented? (At least in cases when an official oppressor class is over represented and an official victim class is under represented. And also when participating in the endeavor is desirable.)

<comment><USER4> No, of course not, to both questions. All people should be treated equitably under the law, and we decided it's illegal to discriminate along a very small number of dimensions for the essentials of life: employment and housing. But people are not equal at all. Some people are better tenants or employees than others, and it's ethical to discriminate along those lines. And, yes, some people are better interviewees, too.

<comment><USER6> Good points all. Some people are more disciplined, motivated, and responsible than others and that should be rewarded.

</comment></comment></comment></comment><comment><USER7> Meh, I don't know what to make of this. I don't think equal proportion of gender talking is a meaningful goal, and the more I think about it the less sense it makes to me.

I think about it and start to ask should all shows need to be gender-balanced? Should then The View need to be 50% male? Oprah? Should we strive for an equal proportion of races in all shows? What about non-Americans, should they be represented proportionally?

<comment><USER8> I think the best way to answer this question is to listen to what those who are currently underrepresented have to say about it.

<comment><USER7> I don't understand. Do you mean "listen to" as in "hear the opinion of" or as in "obey"?

<comment><USER6> "hear the opinion of" would be the normal interpretation (US English), especially when "listen to" is followed by "what [they] have to say about it". I struggle to understand in what context "obey" would make sense.

<comment><USER9> "listen to" is commonly used as a form of follow/obey in vernacular English. "Listen to Bob, he knows what he is doing." At minimum it frequently connotes more than just listening.

<comment><USER6> Good point. That is a different context I hadn't thought of.

</comment></comment></comment></comment></comment></comment><comment><USER10> So, this is a fascinating article and I greatly appreciate the time that went into it. I also appreciate that Ira Glass was not immediately defensive about it, and seems to have cooperated with it to at least some degree. But... isn't the most obvious answer, that it's male dominated because the Boss is a male? I'm not saying that I have proof of this being the case, but it seems like an obvious hypothesis to check out. Too simple? Or are there no comparable shows where a woman is the Top Boss, to compare to?

<comment><USER11> they could do a comparison with Fresh Air, hosted by Terry Gross on NPR

<comment><USER4> It's not really the same kind of show. Fresh Air mostly consists of Gross interviewing a single interviewee.

<comment><USER10> True, but over many years. It would be interesting to see if the pattern is different (or maybe even more interesting if the pattern is the same).

</comment></comment></comment></comment><comment><USER12> There is something weird about the percentage dialog - contributors graph. The line doesn't look like it goes through the points.

<comment><USER11> yeah, that one seems off, and the interviewees one looks like a regression line should be flatter

</comment></comment><comment><USER4> > To figure out how much airtime is divided between men and women, we pulled > the show's transcripts and categorized the gender of every person who > speaks.

It sounds difficult to figure out the gender of the speakers from their voice. They probably made some assumptions.

<comment><USER13> Transcripts are annotated text documents usually written by professional staff.

An example: [https://www.thisamericanlife.org/474/transcript](https://www.thisamericanlife.org/474/transcript)

<comment><USER4> This helps how?

<comment><USER13> Really? You can't imagine how knowing who is speaking would help identify the gender of who is speaking?</comment></comment></comment></comment>


Spark: Upgrade your lights with Wi-Fi and apps - <AUTHOR> http://www.kickstarter.com/projects/sparkdevices/spark-upgrade-your-lights-with-wi-fi-and-apps

<comment><USER2> Sixty dollars seems pretty steep for a single light.</comment>


EditorConfig – file format for defining coding styles and text editor plugins - <AUTHOR> http://editorconfig.org/ <comment><USER2> People comparing EditorConfig to eslint or prettier does not really understand it's purpose.

yes they have intersecting features, but EditorConfig's main feature is that it lets you set file type specific whitespace rules automatically, across almost all editors.

\- Most editors will have a global whitespace rule and you have to use that same rule for every file.

\- Some editors can be configured to have different rules per file type but then it can't be done per project. So every project has to use the same rules.

\- Some editors will let you configure all of these per project, but you have to save this project-settings file somewhere. Editor specific code is no good in the repo, so you need to maintain/backup it yourself.

EditorConfig solves all of these issues for me.

</comment><comment><USER3> Before clicking on the link, I thought "Oh, just another attempt at standardizing editor preferences from a file in a repo." But looking at their list of editors which natively support EditorConfig and the list of plugins for editors which don't, this is far better support than I imagined. This is it! Problem solved.

<comment><USER4> Honestly I don't think much is solved by EditorConfig.

I mean, the idea is great, but the small amount of parameters supported makes it pretty much useless. Indentation character and size, line termination, ... and that's all. I would need a hundred of these (like clang-format, yapf, etc have) to switch to EditorConfig. Unfortunately, looking at the commit log frequency, I doubt EditorConfig will ever have more than the 10 or so parameters that it already have.

<comment><USER5> > Honestly I don't think much is solved by EditorConfig.

No, it doesn't solve all the things. My experience is that it addresses one specific annoyance - team members checking in changes with varying line endings and spaces/tabs settings - and makes it a thing of the past.

For solving that one thing, I like it a lot.

<comment><USER6> Well, it moves the problem to making sure that all team members have the right plugins installed and bother to use them. Depending on the make up of your team, that could be a hard problem.

<comment><USER5> It moves the problem from "could you submit your PR with spaces not tabs, the spurious diff is not good" and "but it doesn't matter, I don't care" on a regular basis; to "let's install this plugin to your IDE and neither of us has to worry about it again - you get ease and I get consistency".

If this is really a hard problem for a team then it's down to the people not the tools.

There is in my experience no "bother to use them" part, it happens automatically when a file is saved.

Even better, "the right plugins" might be none at all. Some IDEs come with editorconfig support out of the box: [https://sorokoletov.com/2016/11/28/editorconfig-in- visualstu...](https://sorokoletov.com/2016/11/28/editorconfig-in- visualstudio/)

In short, if you have these specific problems, life really is easier with editorconfig.

</comment></comment></comment></comment></comment><comment><USER7> EditorConfig is awesome, especially for a distributed remote team. I've standardized everyone whom I ever worked with few initial project settings and EditorConfig is such one must-do item. Been using it (I think) for the past 5 years or so.

<comment><USER8> Same here, and I love it for another reason as well: It can configure my editor to have different indentation settings for different filetypes.

No longer does JSON get the four spaces that Python does.

</comment></comment><comment><USER9> I made this a standard for all my engineers years ago. anything I can do to automate consistency and "correctness" in coding style and let my team focus on doing the real work

</comment><comment><USER10> Looks like 99% of this is covered by my editor being configured to autodetect existing indentation, and adjust itself accordingly: [https://github.com/ciaranm/detectindent](https://github.com/ciaranm/detectindent)

<comment><USER11> it's meant to be used within teams, with people who might not have the same editor (or the same set of plugins) as you

you just drop an .editorconfig at the root of your project and you'll know for sure that any code written by anyone will have the same indentation, encoding, and final newline config

<comment><USER12> The other useful case is when you open project on another machine for some reason and you find your usual editor not installed and configured. Open any editor and away you go with this, for those quick dirty edits. I require all editors installed to be able to read .editorconfig files and use them accordingly.

</comment></comment></comment><comment><USER13> I've evangelised this tool on every team I've worked with for years. It eliminates _so_ many forms of conflict and bikeshedding. (Plus I have contributed in a trivial way to the Emacs plugin; they very happily accept PRs).

</comment><comment><USER14> At least in the JavaScript world, this was a lovely thing to have. Now we have linters which are even better! Still nice to include this so that all collaborators don't need to modify their editors to jump in!

<comment><USER9> and now we have [https://prettier.io/docs/en/why- prettier.html](https://prettier.io/docs/en/why-prettier.html) we can automatically enforce and fix all these style rules

<comment><USER15> I haven't used prettier but eslint can also fix style

<comment><USER16> And of course there's [https://github.com/prettier/prettier- eslint](https://github.com/prettier/prettier-eslint) to fix it using both :)

</comment></comment></comment></comment><comment><USER17> I prefer tabs to spaces, not here to argue, and editorconfig is read by GitHub and let's me change tabs to display as 4 spaces instead of eight. A major win. Also allows me to default their editor to tabs.

<comment><USER18> This is the main reason I use this, though I use 2 space tabs and my coworkers use 4 space tabs. Things get ugly without editorconfig playing cop. I also force it to show rulers. It doesn't make the other devs grow a conscience, tho.

</comment></comment><comment><USER15> The companion would be eclint in order to lint as part of a git hook or CI test run

[https://github.com/jedmao/eclint](https://github.com/jedmao/eclint)

</comment><comment><USER19> "LSP for indentation" :)</comment>


What Taiwan can teach the world on fighting the coronavirus - <AUTHOR> https://www.nbcnews.com/health/health-news/what-taiwan-can-teach-world-fighting-coronavirus-n1153826 <comment><USER2> Here's what they can teach us: When you have an extremely small country, it's easy to contain. Not so much for the rest of the world.

<comment><USER3> The lack of land borders is probably helpful, too. The article wants the reader to believe it's the near universal healthcare, though.

> Last but not the least, Kolas said that she believes the country's health > insurance system, which covers 99 percent of the population, has been > crucial to fighting the spread of the outbreak.

"Taiwan's health insurance lets everyone not be afraid to go to the hospital. If you suspect you have coronavirus, you won't have to worry that you can't afford the hospital visit to get tested," she said.

"You can get a free test, and if you're forced to be isolated, during the 14 days, we pay for your food, lodging and medical care," Kolas said. "So no one would avoid seeing the doctor because they can't pay for health care."</comment></comment>


Computing pi with bc - <AUTHOR> https://www.johndcook.com/blog/2019/10/29/computing-pi-with-bc/ <comment><USER2> Fun fact: In the old days, as was unix tradition, bc was a thin wrapper on top of dc (desktop calculator) which is even more spartan than bc. It's quick and tiny, you can pipe things to it. It syntax is postfix, unlike bc which is infix. It's stack based with conditionals, so you can write full programs in dc if you have some free time. It's also got arbitrary input and output radixes.

An elegant weapon for a more civilized OS! Eg:

       echo 16o 5 5 5 ^^p | dc

[https://linux.die.net/man/1/dc](https://linux.die.net/man/1/dc)

PS: (insane?) people have written some big stuff in dc (because it's there?). I'm drawing a blank if it was Zork or Lisp, hard search to do...

PPS: [https://esolangs.org/wiki/Dc](https://esolangs.org/wiki/Dc)

<comment><USER3> It seems hard to beat bc to compute 10k digits of π.

Can you do that with a one-liner?

<comment><USER4> I'd never used dc before today, or knew anything about it. Here's a first attempt at 1000 digits, using the first algorithm I thought of using[0]:

      echo 1020k 1sa 1 2v/sb .25st 1sp [lalb+2/sA]s1 [lalb*vsB]s2 [ltlalA-2^lp*-sT]s3 [lp2*sP]s4 [l1xl2xl3xl4xlAsalBsblPsplTst]s7 [l7x7l7xl7xl7x]s8 [l8xl8xl8xl8x]s9 [l9xl9xl9x]sq lqxlqx lAlB+2^lT4*/ p| dc

This seems to get about 1017 correct digits. The macros stored with s1, s2, s3, s4 are the 4 equations for a_n, b_n, t_n, p_n. (a_n is put in register a, a_{n+1} in register A etc.) Undoubtedly some other algorithm would be much better. But thanks, I had fun doing this! The man page was unusually easy to read.

The program says: Use 1020 digit accuracy. Store 1 in register a. Store 1/sqrt(2) in register b. Store 0.25 in register t. Store 1 in register p. Store the macro "Add register a and b, divide by 2 and store in register A" in register 1. etc.

l1x = execute the macro stored in register 1, v = square root, p = print top of stack.

[0] [https://en.wikipedia.org/wiki/Gauss–Legendre_algorithm](https://en.wikipedia.org/wiki/Gauss–Legendre_algorithm)

<comment><USER4> Whoops! [l7x7l7xl7xl7x]s8 should be [l7xl7xl7xl7x]s8

EDIT: Gee, that algorithm is way more accurate than I remembered! "rapidly convergent, with only 25 iterations producing 45 million correct digits"! "the number of correct digits doubles with each iteration". This shorter program does 10,000 correct digits from 16 iterations, just takes a few minutes on my (old) machine:

      echo 10010k 1sa 1 2v/sb .25st 1sp [lalb+2/sA]s1 [lalb*vsB]s2 [ltlalA-2^lp*-sT]s3 [lp2*sP]s4 [l1xl2xl3xl4xlAsalBsblPsplTst]s7 [l7xl7xl7xl7x]s8 l8xl8xl8xl8x lAlB+2^lT4*/ p| dc

I checked the result here [http://www.eveandersson.com/pi/digits/1000000](http://www.eveandersson.com/pi/digits/1000000)

Also - I was curious how old dc is. Old:

"dc is the oldest surviving Unix language. When its home Bell Labs received a PDP-11, dc—written in B—was the first language to run on the new computer, even before an assembler. Ken Thompson has opined that dc was the very first program written on the machine."

[https://en.wikipedia.org/wiki/Dc_(computer_program)](https://en.wikipedia.org/wiki/Dc_\(computer_program\))

<comment><USER5> Hey, I just coded this up and think you might get a kick out of it:

        [[lipljplkpllplxplmplsp]sD]sT # enable debug tracing

        [426880 10005v*sc]sC
        0si [li1+si]sI
        6sk [lk12+sk]sK
        13591409sl [ll545140134+sl]sL
        1sx [lx_262537412640768000*sx]sX
        1sm [lk3^16lk*-li1+3^/lm*sm]sM
        [lmll*lx/ls+ss]sS
        [lSxlMxlXxlLxlKxlIx lDx ljli<Z]sZ

        [ksjlCxlZx lcls/]sP # ( iterations precision -- pi )

It's basically a direct implementation of the Chudnovsky algorithm. Stick the above code in some file, say chud.dc, and you can run it from the command line like this:

        $ dc -f chud.dc -e '10 100 lPxp'
        $ dc -f chud.dc -e 'lTx 10 100 lPxp' # outputs tracing info

The salient macro is P (for "pi" of course). The comment documents its usage, showing how it transforms the stack. Items on the left of "\--" are what it expects; items on the right are its outputs.

Unfortunately, this series seems to converge more slowly than Gauss-Legendre.

<comment><USER3> Nice!

It is interesting how Chudnovsky is still faster (112sec on my machine, with parameters 706 10000) than Gauss-Legendre (176s with parameters 15 10005) despite the slower convergence.

I found it too bad that they still were that much slower than bc's Machin (40s) considering how much longer the code was.

I tried it with Unbounded Spigot (Jeremy Gibbons) and got 42s, similar to bc's performance, and 2.6× faster than Chudnovsky:

        # dc -f spigot.dc -e '10000 lPx'
        1sq180sr60st2si
        [27li*12-lq*5lr*+5lt*/sylyn]sY
        [3li*1+3*3li*2+*su]sU
        [5li*2-lq*lr+lylt*-lu*10*sr]sR
        [2li*1-li*lq*10*sq]sQ
        [lult*st]sT [1li+si]sI
        [lYxlUxlRxlQxlTxlIxlj1-sj0lj!<L]sL
        [sjlLx[]p]sP

Now it is competitive with bc (on performance, not on code size). However, compared to Node.js (2.7s), it gets crushed:

        const pi = s => {
          let y = (s.q*(27n*s.i-12n)+5n*s.r)/(5n*s.t);
          let u = 3n*(3n*s.i+1n)*(3n*s.i+2n);
          s.r = 10n*u*(s.q*(5n*s.i-2n)+s.r-y*s.t);
          s.q = 10n*s.q*s.i*(2n*s.i-1n);
          s.t = s.t*u;
          s.i = s.i+1n;
          return y;
        };

        let s = {q:1n, r:180n, t:60n, i:2n};
        for (let i = 0; i < 1e4 + 1; i++) {
          process.stdout.write(''+pi(s));
        }
        console.log();

</comment></comment></comment></comment></comment></comment><comment><USER6> > I imagine bc is using some sort of power series to compute arctan

I didn't know or didn't remember that pi could be calculated with a power series. I thought, bc is probably using a constant estimation of pi and this is going to fail, but sure enough, bc/libmath.b:273 in bc's source is the location of the imagined power series in a()'s definition.

I found this page explaining the formula:

[http://blog.recursiveprocess.com/2015/03/12/using-the- arctan...](http://blog.recursiveprocess.com/2015/03/12/using-the-arctan-power- series-to-calculate-pi/)

</comment><comment><USER7> It is probably better to use "export BC_ENV_ARGS=-lq" than "alias bc='bc -lq'".

</comment><comment><AUTHOR> > _I imagine bc is using some sort of power series_

There is also a cool Haskell package, _numbers_ , that has all arithmetics defined via power series:

      $ cabal v2-repl -b numbers
        ⡇
      λ> import Data.Number.CReal

      λ> cos pi + 1 :: CReal
      0.0

      λ> :set +s
      λ> showCReal 10000 pi
      "3.141592653589793238462643383279502884197169399375105820…
      (2.69 secs, 688,668,864 bytes)

<comment><USER8> > 688,668,864 bytes

That's an eye popping number for what should be a pretty simple calculation.

<comment><AUTHOR> Welcome to the world of functional programming!

This is how much memory the garbage collector has freed during the computation. It does not mean REPL actually used that much at any given moment.

<comment><USER9> Yep! Most of the allocations die _very_ young.

</comment></comment></comment></comment><comment><USER10> Use maxima:

> maxima

(%i1) bfloat(%pi),fpprec:1000;

(%o1) 3.1415926535897932384626433832795028841971693993751058209749445923078164\

062862089986280348253421170679821480865132823066470938446095505822317253594081\

284811174502841027019385211055596446229489549303819644288109756659334461284756\

482337867831652712019091456485669234603486104543266482133936072602491412737245\

870066063155881748815209209628292540917153643678925903600113305305488204665213\

841469519415116094330572703657595919530921861173819326117931051185480744623799\

627495673518857527248912279381830119491298336733624406566430860213949463952247\

371907021798609437027705392171762931767523846748184676694051320005681271452635\

608277857713427577896091736371787214684409012249534301465495853710507922796892\

589235420199561121290219608640344181598136297747713099605187072113499999983729\

780499510597317328160963185950244594553469083026425223082533446850352619311881\

710100031378387528865875332083814206171776691473035982534904287554687311595628\

63882353787593751957781857780532171226806613001927876611195909216420199b0

It's done in the blink of an eye.

Or use WxMaxima if you need a GUI.

Console: (verb) to comfort someone in time of grief because they are forced to use the command line.

<comment><USER11> That's not /calculating/ pi though, just returning a constant.

""" maxima-5.43.0/src/mlisp.lisp:

(mdefprop $%pi 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608 $numer)

"""

</comment></comment><comment><USER12> > I imagine bc is using some sort of power series to compute arctan

It uses the Taylor series for the function, as many calculators do.</comment>


Ask HN: Compiling SQL to Amazon DynamoDB - Can I make money? - <AUTHOR> https://github.com/wagerlabs/mix

<comment><AUTHOR> This was a project for a client so that code is proprietary. I wrote the compiler in OCaml and generate Erlang code that targets my DynamoDB wrapper [1].

The benefit is automatically enforcing referential integrity, documenting the "schema" and eliminating a boatload of boilerplate.

Is there commercial potential here?

I already have triggers and could add "REST endpoints" with SQL code and callouts to external functions written in the code that the compiler targets.

Would this be something you would pay for, e.g. if I generated nodejs or some other code?

[1] [https://github.com/wagerlabs/ddb](https://github.com/wagerlabs/ddb)</comment>


Maskson.org – Scaling Improvised Full-Face Respirators for Clinicians at Risk - <AUTHOR> https://maskson.org <comment><AUTHOR> Hey everyone, Interaction Designer who is working on the project here. My day job is working at Google but this is a really rewarding volunteer gig. The folks behind this are humble and top notch.

The functioning masks use FDA-approved surgical guide resin, not an extrusion- based material which might exhibit problematic porosity. We're only pursuing materials that already have FDA clearance, and working directly with hospitals and industry partners to scale.

This is not a DIY, at-home effort. The adapters we are using are printed in an industrial facility and are currently being fielded by many MDs. We will have over 400 out in hospitals next week and have a goal to put out 50k before this is over. No pictures I can share yet since we don't have release forms but please feel free to AMA. I speak for myself, not my employer or the larger MasksOn org.</comment>


Get Ready for Apple Pay on the Web - <AUTHOR> https://stripe.com/blog/get-ready-for-apple-pay-on-the-web <comment><USER2> It makes perfect sense Paypal will support Apple Pay on the web. Tho I can't see much details in the post yet.</comment>


On Wikipedia, storms, teacups, and _why's notability - <AUTHOR> http://radar.oreilly.com/archives/2008/06/on-wikipedia-storms-teacups-an.html <comment><USER2> Read this twice, still not quite sure what it's trying to say. But I'll add: the _why debate closed this morning, and the article isn't being deleted.</comment>


What is 'unGoogleable'? - <AUTHOR> http://www.bbc.co.uk/news/magazine-21956743

<comment><USER2> Bash's magic variables are pretty close to ungoogleable if you don't know they're called 'magic variables'.

<comment> vezzy-fnord I've always known them as environment variables.

No, I wouldn't say so. They're not that difficult to find results for. Especially if you wrap around as a string literal, e.g.

        bash "$DISPLAY"

<comment><USER2> $? $$ $! $_ ...

<comment><USER3> I had a tough time searching when I came across that for the first time. Then I searched for bin/sh.

</comment></comment></comment></comment><comment> vezzy-fnord I loathe it when people use "Google" as a synonym for "search". It's legitimate when you use to describe conducting a search using particularly Google, but as a synonym for "internet searching" it gives unnecessary focus on a single search engine, one backed by a company with questionable policies.

See also: [https://www.gnu.org/philosophy/words-to- avoid.html](https://www.gnu.org/philosophy/words-to-avoid.html) (and particularly "Photoshop")

<comment><USER4> Once upon a time "Escalator" was a trademarked brand name. Kleenex fought hard to retain it's trademark, and Coca-Cola lost the battle for the word "Cola", keeping only "Coke".

It happens. It's part of language. Over time, former brand names lose their significance and slowly slip into common use. That is a perfectly valid way for words to be coined, and probably is the most common way. That's how language works, and it seems that the word "Google" is going that way too.</comment></comment>


Tell HN: Enabling buzz exposes your full name and contact list on google profile - <AUTHOR> This caught me by surprise, so I thought I'd share it. You can go back to your google profile settings and uncheck "Display my full name so I can be found in search" and "Display the list of people I'm following and people following me." I think the privacy settings are all around lacking, but this "feature" was pretty opaque to me--they gave me an option to "save" my google profile when enabling buzz, but since I already had one set up I thought this to be an irrelevant step. I had to poke around for a while to realize that my profile had been changed. <comment><USER2> Good catch. LOUSY default on Google's part.

I previously had a Google Profile, but of course back then it didn't have a checkbox about people following me or people I follow.

<comment><USER3> Perhaps Google wants to optimize for the usual case where people don't mind sharing the list of people they are following, which is parity with Twitter and Facebook.

<comment><USER4> It's an unexpected change for me at least, because I've posted on blogspot blogs in the past from my Google account, which makes the comments link to your Google profile if you have one. I expected that the result would be (and it was) a pseudonymous comment with just my first name, which linked to a blank Google profile. If Google sticks my real name and my friends lists on my Google profile without warning, those old comments are retroactively linked to my IRL identity, which wasn't what I expected when I posted them years ago.

</comment></comment></comment><comment><USER5> I hate the fact that Google have decided to put the social networking feature into my email utility. Noone should mess with my email! I want just email. I really hope there is a way to disable that feature.

<comment><USER6> There is a very easy and obvious way :)

<comment><USER6> This wasn't meant to be snarky: there is simply a very clear 'disable buzz' link at the bottom of your gmail.

</comment></comment></comment><comment><USER7> Any idea how to make the geo-location feature on buzzes less accurate? I'd be OK with city level, but not block level.

<comment><USER8> In the demo, they actually showed you that in Google Buzz you can put GPS at work and it will tell the best possible location and only after you have pressed "OK" it will make it your location.

Google Latitude lets you update your status manually and I tend to put it at city level.

<comment><USER7> Right, I have the option to choose from many nearby locations but they're all very precise (even if they're not accurate). I want something that's accurate but not precise. It sounds like Goolge Latitude has it. Hopefully they'll add it to Buzz too.

</comment></comment></comment><comment><USER9> Two words: Opt in. Opt in to participating. Especially opt in to making previously private data public.

Opt in is the acceptable choice to pose to users. NOT opt out.

Bah.

</comment><comment><USER10> Defaulting to public vs private settings is something everyone building an app (or platform) where behavioral data (who, where, when, with whom, to do what) is the potential moneymaker faces.

Interesting however that Facebook after Beacon seems to have taken opposite track, while my full Foursquare checkins show up in Google alerts for my usernames.

Think Buzz is making a mistake here in terms of earning consumer trust, but will the 'average' Google user convert to a Buzz user in the first place?

Wondering about search user conversion rates vs. search+docs/apps/gmail etc. conversion rates to Buzz, and if we'll ever see any stats.

</comment><comment><USER11> I just checked and found my profile to be private by default.

</comment><comment><USER12> Wait - I don't quite get it. I've just logged into my google profile and both of those boxes are checked. When I visit my profile page from another browser, I cannot see my contact list. I want my full name displayed but not my contacts.

Can someone point out how I can find my contacts from this page? I just don't quite get it, I think.

<comment><USER12> Okay - I get it now: Google Buzz is a product. I had it in my mind that it was a feature of Google Profile. Sorry for the confusion.

[http://blogs.computerworld.com/15559/google_buzz_and_you_tho...](http://blogs.computerworld.com/15559/google_buzz_and_you_thought_firefox_had_privacy_issues)

</comment></comment><comment><USER13> Wonder what Paul Buncheit has to say about Buzz :)

[http://paulbuchheit.blogspot.com/2010/02/if-your-product- is-...](http://paulbuchheit.blogspot.com/2010/02/if-your-product-is-great-it- doesnt-need.html) (via HN)

</comment><comment><USER14> Interesting. Especially since the Google veep and product manager made a big deal this morning about choosing privacy settings.

</comment><comment> brown9-2 Do you need a "Google Profile" to be able to use Buzz?

<comment><USER15> why yes. how do you think you'll use this without a google account?

<comment> brown9-2 They are not the same thing</comment></comment></comment>