skysight-inc/HackerNews huggingface dataset:
For me, I didn't understand async/await until I saw it in Python. The C# explanations never worked for me, and it wasn't until after I saw the Python version that I realized why: C# uses an implicit thread pool so you can run async functions directly. With Python, you have to manually add your awaitables to an event loop and then start the loop, but C# just magicks all the glue into place.

This is one of the places where the Zen of Python comes to mind:

> Explicit is better than implicit.

Edit: To see what I mean, compare Microsoft's async/await example to Python's:

https://msdn.microsoft.com/en-us/library/mt674882.aspx

https://docs.python.org/3/library/asyncio-dev.html

The Python example tells you how to set up an event loop and add awaitables to it, while Microsoft's "complete example" just has you add async event handlers to a window without showing you anything about setting up an event loop. It wasn't until I saw the event loop being set up in Python that I finally understood what async/await did.
I wonder how different / similar these romance languages are, compared to the reference frame I have: German dialects. German dialects can be mutually unintelligible, young germans typically know standard german and thus have a "common ground" for communication, also they usually speak a form of the dialect that is already considerably closer to the standard "high" language of newspapers and televisions, than what their grandparents or their great grandparents speak / spoke. Sometimes (typically in documentaries), they even subtitle dialect speakers.

So yeah, I wonder if depending on the context, the classification of languages and dialects differs.
Oh yeah.

And it's not just people with RSS readers. New initiatives like http://micro.blog read your RSS feed to allow people to follow you, favorite particular blog entries, share them etc.
Yeah, the document preview pane in Sublime Text is like a live satellite map of my code that gives me the ability to warp wherever I want.
I love the etymology whereby 'barb' in 'rhubarb' means 'barbarian'—because from the Greeks' point of view, only barbarians would eat it.

http://www.etymonline.com/index.php?term=rhubarb
Mp3 is also really accessible. Anyone who's ever worked with audio in an amateur capacity knows how to create an mp3. I don't think many people would know how to properly encode an Opus file. I did an informal survey on Quora a while back, and I was surprised to see that almost every audio industry professional had no idea what Opus even was.

Mp3 is, for all intents and purposes, the animated gif of audio.
Looking at the http://www.dabeaz.com/coroutines/Coroutines.pdf recommended in the article, coroutines remind me of partial functions in Python. Can folks who know more about Python than I do explain when to use coroutines vs partial functions? Is the difference only in the "generator" part of it?
GRAIL | Technical Sourcer/Recruiter | Menlo Park, CA | Onsite | Contact

GRAIL’s mission is to detect cancer early, when it can be cured. We are looking for people who are inspired to make a global impact, to push the boundaries of science, to shape the future of medicine, to commit to something bigger than themselves.

Grail is seeking a contract technical Sourcer/Recruiter to join the team. This is an onsite position. The ideal candidate will have 2+ years of experience sourcing for engineering positions (software, data science, product management.)

Email jscalisi@grail.com if you are interested.
Ona (https://ona.io/) | Nairobi, Kenya | Senior Android/Java Engineer | ONSITE | Full-time

We build a data management platform and tablet health application used globally to improve child and maternal health, governance, agriculture, access to infrastructure, and government accountability. E.g. our software routed patients during the ebola crisis in West Africa, counted votes during a Libyan election, is surveying national infrastructure post-earthquake in Nepal, and scheduling vaccines in Bangladesh, Indonesia, Pakistan, Indonesia, Zambia, and other places soon.

The stack you'll work with depends on the project, active stacks: Clojure/Script + Om, Django + PostGIS, Tomcat + CouchDB, see our FOSS at https://github.com/onaio/ and our 2016 roundup https://blog.ona.io/general/2016/12/30/year-in-tech-at-ona.h...

In the interview we'll ask tech and background questions to get to know each other, then we'll write and extend code together, https://ona.io/jobs/senior_sw_eng_android.html, jobs+swe+opensrp@ona.io@ona.io
The other flipside: a non-secret, audit-able algorithm.
Explain then. Why would community release only need new hardware?
One thing I really like about HN as compared with many other web sites is it will often happen that someone will admit they were wrong.
I am judging this on reading parts of the IPCC reports (see for example https://www.ipcc.ch/pdf/assessment-report/ar5/syr/SYR_AR5_FI...) and the NIPCC report published by the Heartland Institute (https://www.heartland.org/_template-assets/documents/Books/W...).

Reading these two you will see two very different approaches, which reflects much of the debate I see on these subjects, including some of your comments.

The NIPCC report is openly political opening with a complaint about Obama's treatment of climate change as a serious issue. It talks about circumstantial evidence, debate amongst scientists, and has a petition organised to collect signatures. (This apparently gathers signatures from 31,478 scientists of which only 9,021 have PhDs.)

The IPCC report is filled with detailed diagrams and explanations of the science behind global warming. The approach generally seems sensible to someone like me with some understanding of the scientific method, although I am not qualified to analyse in depth. I am sure anybody reading it would learn something about the climate and how we can analyse it.

Now I don't follow the political debate on whether the IPCC is biased by funding or some other supposed disincentives for scientists to report truthfully. On the other hand I do see that there is less obvious evidence of political bias from reading the published reports. If someone wanted to understand the science it is fairly clear to me the IPCC report would be a much better starting point than the NIPCC report.

There are some very clear incentives to "break rank", as you put it. There are significant financial incentives for people who stand to lose from climate change mitigation, for example in the oil industry, to fund people to investigate the case against climate change. Again, I don't really feel in a good position to judge who is right and who is wrong here, but I would expect if the scientific case was highly suspect as you'd say that people would have funded equally convincing scientific reports on the other side. The fact that I haven't been able to find such reports suggests to me that there is not a convincing case against the science to be made.

(Edit: also I suspect the politicisation of climate change debate and the bureaucratic process of the IPCC probably means that the science is less effective than it might otherwise be, and that the communication of this science is less convincing than it could be, to the detriment of the quality of the public debates. As I mentioned in another comment it's quite painful to link to the IPCC report and they prevent people from redistributing it without permission, meaning the format is basically fixed in an unhelpful set of massive PDFs. Sad!)
I really thought that was going to be this image: https://pbs.twimg.com/media/B72bSfUCcAA3xly.png

I don't think of the larger names in the Bitcoin community are anywhere close to unbiased, and the divides between them are only getting worse over time.
That and the app was terribly buggy when I checked it out. Sure, it had just launched, but I couldn't even create an account.
> Are you missing the difference between
> distributing the program and distributing
> its result? The latter lands firmly into
> "usage" category. [...] it's like saying if
> I send somebody a Word document it's the
> same as if I sent them a copy of
> Word. That's baloney.

The AGPL is meant to cover the cases where the "output" is what the
program itself does. E.g. free software web applications like bug
trackers, wikis etc.

So the analogy is not sending someone a Word document being like
distributing Word, neither the APGL or the GPL cover that. It's
setting up a paid-for VNC service where users can access your copy of Word.

The GPL explicitly permits this sort of thing, because it's quite lax
about defining network interaction, the AGPL is more strict.

> Again, only if "user" means "never modifying
> or building on it", which in OSS world is a
> very restrictive condition.

Copyright law has no purview over whether you modify or build on
something, and neither can any free software license. I can modify and
build on any software I have that I haven't signed a contract to
obtain, copyright law only comes into play when I want to distribute
the software in any way.

If and when I've done that whether I've modified or built on it has
little bearing on whether I'm committing copyright infringement.

> Did you just claim "following standard
> copyright law" and "ignoring the license" is
> the same and both things are easy and
> obvious?

I really can't see how you've read this thread and somehow become this
confused. All I'm doing here is correcting WBrentWilliams's
misconception that free software licenses are somehow something you
need to get end-users to agree to before they use freely licensed
software.

That this isn't how things work is something the GPL itself explicitly states. The same
applies to any free software license, the GPL just happens to be a
rather verbose license which goes out of its way to explain the basics
of copyright law to you.
Some questions & comments:

* Can you have multiple private keys (site specific?)?

* Does the Android client support ed25519 keys or is it iOS only?

* Please modify your curl statement to be something like how Honeycomb does it (that is include a checksum test). https://honeycomb.io/docs/connect/nginx/
You should surely reject them as an acceptable practice, but it doesn't mean they can't present a legal problem. Some also say even if they reject them, they can still use them defensively.
I vaguely recall that Vorbis requires a fair bit more processing to decompress, enough to be a potential issue 15 years ago, but on modern computers it's barely detectable and doesn't effect performance at all.
Many vitamins function as catalysts rather than (or in addition to) functioning ad reaction participants, so even if 100% passed out without undergoing any chemical change, they could still be useful. The statement may not be inaccurate (I don't know what the real number is), but it's something of a non-sequitur in the discussion of whether vitamins are useful, or of whether vitamin supplements are useful.
Kryptonite allows you to use SSH on your computer, but authenticate with a private key protected on your phone. It doesn't require any changes to the server, just the Kryptonite app and our workstation software.
I found the answer on your blog:

> Our system consists of three components:
> (1) the Kryptonite phone app for iOS and Android,
> (2) the krd daemon that runs in the background on a macOS or Linux computer, and
> (3) the kr command line utility that manages krd.

...from https://blog.krypt.co/the-kryptonite-architecture-a385e7aaa3...

Sounds like `krd` is why I likely won't be using this.

Try implementing it as a PAM module or something.

[edit: formatting]
That sounds interesting. Do you have any more details or a blog post you can share?
"There is anything to worry about if you have nothing to hide" /s
Here's the CNN timeline: http://www.cnn.com/2016/03/04/us/flint-water-crisis-fast-fac...

> April 16, 2013 - On the city council's recommendation Andy Dillon, state treasurer, authorizes Flint to make the switch. One day later, the DWSD terminates its water service contract with Flint, effective April of 2014. There are further discussions, however, between Flint's leaders and the DWSD about options that would allow the city to purchase Detroit water after the contract ended. Flint resumes buying Detroit water in October of 2015.

That termination the day after the announcement following a period of negotiation just screams retaliation when I read it.
I think the landscape for software patents is worse. For actual physical goods I've seen many example where the patent system does what it intends but I haven't really seen a similar benefit in software. Maybe there is one and I'm just not exposed to it, though.
If softforks are the dangerous way, what method would you suggest to improve the bitcoin network?

How much less voting should the "economic majority" get on how the network votes on process changes if they don't participate in the processes themselves? Perhaps developers with understanding matter more than any "economic majority" as this is truly cutting edge and screw up once and burn matters of network consensus and in large part computer science.

Your statement that we need a scaling fix now, more than other fixes could be biased. Millions of dollars have been lost to malleability, I'm not sure how many millions have been lost to scalability or potentially to the the quadratic hashing or the potential DOS attack vector larger script sizes allows creating transactions that take exponentially longer to confirm.

Just thinking scalability is the biggest problem doesn't make it so. It might be, but I'd like to see some numbers on it.
Zagster | Cambridge / Boston, MA | Full-time | Onsite | http://zagster.com

Zagster is the leading provider of bike share programs for cities, universities, businesses and properties. We simplify bike sharing through a full-service model that covers everything involved in planning, building and operating a system. By using right-sized infrastructure and app-based technology, Zagster bike sharing programs are flexible and affordable for both the communities we serve and the riders within them.

Named one of the best places to work by the Boston Business Journal and Outside Magazine, Zagster sits at the intersection of technology and transportation. As North America's fastest-growing bike-share provider we put more people on more bikes every day. We recently closed a $10M Series B funding round and we're looking for talented people to help us build the future of bike sharing.

~~~ Positions we're currently hiring ~~~

* Front-End Software Engineer

* Senior Mobile Developer

Our stack: Javascript ES6, Node, Express, React, Redux, React Native, MongoDB.

Learn more and apply at https://boards.greenhouse.io/zagster

Reach out to me at max@zagster.com with any questions.
For context, Fraunhofer Society is a massive public-benefit organisation aimed at applied research: while it gets some public funding, that public funding is given according to how much they make in industry contracts, which are the primary source of income. The idea behind this model is that they have room to do work that's not immediately profitable, but on the other hand have to keep applications in mind and work effectively to still get industry work.
Regardless of one's position on whether software patents should or should not be a thing, until you can convince Congress otherwise, they are a thing.

Do not underestimate the importance of software patents. It is wise to build a defensive patent portfolio.

I know this is no fun for people who are ideologically opposed to software patents, but as in most competitions, if the ruleset allows this advantage and you refuse to exploit it, you will lose to someone else who is less squeamish. There is absolutely a real lowest-common denominator effect that applies here.

If you want your startup to be acquired, you need something that a potential acquirer can't easily circumvent; that means a brand with user loyalty or intellectual property. Anything else in the software realm, Google et al could easily replicate it within a reasonable timeframe by assigning a small team to do so.

An artillery of your own ambiguous or general patents can also prevent lawsuits from others.

These are the rules of the game today, and if we want to play the game, we need to use this rule to our advantage. If we hate the rule, we need to find an effective way to petition Congress to change it. This usually means demonstrating how the current law is a clear risk for the only stakeholders Congress cares about: massive companies (particularly, major employers within their constituencies).

A lot of stuff that should be legally risky for big companies isn't, because the legal system is so convoluted and expensive, that they know only another well-capitalized company could successfully pursue a suit under such grounds. Since the big companies are generally advantaged by not "poking the bear" and instead accepting one another in a type of stasis, they avoid filing potential landmark cases that would dispense the legal ambiguity and strip the advantage against upstarts away from both parties.

"Don't hate the player; hate the game".
The practical difference is that with async I/O, there's less overhead because you don't need a separate thread for each blocking I/O operation. It's the difference between using a single-threaded event loop to demultiplex between 10,000 sockets, and using 10,000 threads to read one socket each. The former strategy has way less overhead.

Of course, many high-performance, I/O intensive applications like web-servers can effectively make use of a combination of multiple threads and I/O demultiplexing as well.
If your system is already configured to use Google Chrome's apt repo (e.g. after installing a stable Chrome), you can do:

apt-get install google-chrome-unstable
"if you don't have it, you'll still have something ..."

is perfectly fine in HTML. If you for whatever reason believe left and right quotes should make a difference,

“if you don’t have it, you’ll still have something ...”

will be fine in HTML as well. You don't need awful escape sequences for these. Browsers will render them just fine.
I don't see the subtext that connects mass production and comfort with failure. In fact, I see mass production as a way to reduce failure rates. The idea behind mass production is to take a process that's done in a low-volume, idiosyncratic way and replace it with a process that can be reliably repeated at scale. With Y Combinator, that means replacing the rocky solo founder journey with a community full of of advisors and partners who can advise on topics like incorporation, financial planning, customer testing, investor relations, hiring, etc. There's no reason for a new founder to re-invent the wheel when the Y Combinator collective has already manufactured 1,000 wheels and gotten it down to a science. Founders should focus on their customers and their product - everything else should be 'mass produced' to the extent possible.

(An example of this sort of mass production is pg's advice to incorporate as a Delaware C corp. Advice like this can save your fledgling startup from a week of legal research. Having 'mass-produced' shortcuts to these sorts of managerial microdecisions can make or break a startup.)
If I'm reading this, the answer is actually ~Yes? The requests pass via SQS/SNS run by Kryptonite, or via Bluetooth not run by kryptonite?
I'm down on software patents too, but I'm not sure that's supportable without at least some sort of argument.
For me, the second sentence parses into the opposite of what you mean
Lets Git Wild
This is exactly the kind of dangerous censorship which I am alluding to. We label certain topics as simply "forbidden" and then the appearance is that they are settled and anyone with an alternative opinion is wrong.

And for the record, this arguably is genuinely new content, because the "alt-right" is a recent epithet due jour with other connotations. This is a contemporary social issue which is currently evolving and should not be censored.
The problem now is battery.

MP3 almost always has hardware decode which is really power efficient. This isn't as bad nowadays since audio decode isn't that intensive relative to keeping your WiFi on.
I noticed that the question on performance was ignored, but I think it's worth noting that FoundationDB died on exactly the same beach. [1] I'm not extremely familiar with the CockroachDB architecture (other than "it's kinda like the F1/Spanner/Bigtable stack"), but I suspect that there are some commonalities. For example, CockroachDB's Bigtable-style two-level range indexing means you could run into exactly this problem:

> FDB-SQL stores metadata in the KV store itself. This is great from a distributed correctness point-of-view. It’s also great from a simplicity point-of-view. If I trust the underlying system to be safe and consistent, then my metadata is also safe and consistent. But now I need to do a ton of reads before I run my SQL to know how to run my SQL. Where’s my data, for example?

[1] https://www.voltdb.com/blog/2015/04/01/foundationdbs-lesson-...
> Most companies cannot have their employees sign multi-year contracts.

No, most companies prefer not to make multiyear commitments to employees. They could enter into multi-year contracts with employees (and they do, with execs, with fairly expensive buyout provisions), but they don't want to for most non-executive employees.
People can very much dislike NRO spy satellites and, at the same time, be excited about Musk's end goals for SpaceX.

Life is complex and paradoxical. We do the best we can.
Better quality at same bitrate and way lower latency.
Or pretty much any free music related software?
Off-topic, but I'm just going to start bringing this up in every thread like this ...

We need a recipe / toolchain for running a browser instance in a chroot jail. With a head. GUI. On the desktop.

I want to fire up a "banking browser" (or "danger browser" or "social media browser") that runs on its own IP, in its own chroot, and I can revert to virgin snapshot state anytime I want ... and I don't want to fire up a full-blown VM for eac of these ...

What is standing in the way of making this happen ?

Who is working on things related to this that I can donate funds to or establish a bounty ?
It's the best codec in every dimension. It's royalty free, has low encoding delay, and has clearly superior compression efficiency.
There's something particularly satisfying about this submission combining rhubarb and Edinburgh, either of which would make for a fine offbeat HN post in its own right. Maybe value grows quadratically with the number of such inputs.
First make sure you remove the old SSH public key from any of your accounts. Once you have Kryptonite installed on your new phone, add the new public key to the accounts you were using SSH with before.
The approaches of Strang and Klein are complementary.

* Klein uses complex numbers to introduce many concepts of vectors, and uses simple graphics programming with Python to motivate the student. The exercises in that chapter of the Klein are brilliant.

* Klein introduces three different "fields" right away: the reals, the complex numbers, and the bool-valued "GF(2)" (a two-valued Galois Field). Strang sticks with the reals.

* The more traditional approach of Strang to Gauss-Jordan elimination is much smoother than Klein's. For this topic, the Klein suffers for lack of straight-up problem drills.
lol no. Nobody building a search engine would use this, and very similar alternatives (e.g. PhantomJS) have been available for years.

This is just a useful tool. They probably use it internally for automated testing and research.