skysight-inc/HackerNews huggingface dataset:
It's a very tough tradeoff. You're not the first to take aim at it, and that's fair.

Visual C++, GCC/Clang, and Intel C++ have quite different syntax for declaring inline assembler. I did not wish to burden libco users with having to use a specific compiler. Further, GCC/Clang can prove ... challenging to produce "naked" functions (without stack BP/SP adjustments), which is critical for libco's co_switch routine. I recall having trouble with a less popular OS. Using an external assembler like yasm or GNU as adds further dependencies on specific tools.

It is a very minor performance penalty to have the co_swap thunk, but it is non-zero, so I respect your decision. But do note at least that libco supports many architectures (without going pointlessly obscure.) It'd be a shame to miss out on cooperating in supporting architectures by duplicating our work over something like this.

With or without this, coroutines will always be slaughtered compared to a simple stackless state machine function, but they really shine and (in my opinion) are worth their overhead when you need to switch tasks in the middle of nested function calls.

...

# Put the first argument into the return value
movq %rdi, %rax
# We pop the return address and jump to it
ret

So if you look at libco: https://gitlab.com/higan/higan/blob/master/libco/amd64.c#L26

You'll notice that I get the return address into RAX as soon as possible. Believe it or not, this makes a real difference in performance. It allows the CPU to start fetching instructions after the JMP/RET even sooner than if you have it at the bottom of the function as you do.

The choice between push/pop and mov [rsp] for handling the non-volatile registers isn't really important. I found the latter slightly more performant on Athlon 64 CPUs, and a wash on Intel CPUs.

Preserving signals isn't so critical, but SSE is probably quite important, and only necessary on Windows. Again, your decision, but I would preserve it in your case. Can lead to really nasty surprises if you don't.
BTW that code has a security vulnerability in it: the size computation can overflow and you can end up shrinking your buffer, and you will end up smashing your heap, and then bad things.
And why is smarter better or even for the greater good. Shouldn't we as rational animals try to go for an AI that is not only better for the greater good but for our own humble set of of morality? Why is it only your way?
... you don't need a lawyer for that. In most cases it's a small claims and the company defending itself will not be worthwhile in legal and PR costs.

You literally just need to shoot an email saying you're taking them to court and often enough you're getting your money
Technology is making the price plummet of policing a large population. Natural language recognition, face recognition, location tracking, pattern-matching, deep packet inspection, graph traversal, and of course AI can all run unattended pointing out dissidents to the authorities who just have to go round them up and reeducate them. Oh and guess what China is making a big investment in lately?
A commenter above offered

((//)=>5)(//)
I understand the argument fine; it just doesn't cohere.

First, it's self-evident that differential cryptanalysis is not a good example of a NOBUS backdoor, since it was independently discovered multiple times, including by a pair of academics. By contrast, even after BULLRUN, Dual EC is still a NOBUS backdoor. The "nobody but us" part of it is ensured cryptographically; breaking it likely involves solving the ECDLP. It's not "nobody but us until somebody figures it out".

Second, you can't argue that something is an NSA backdoor when NSA's only role in standardizing crypto relative to it is to make the standard resistant to it.

Once again: the NSA may well have many cryptanalytic techniques unknown to the academic literature (I think people generally used to assume that was true and I think that's less and less so every year). But a NOBUS backdoor isn't simply a cipher that NSA can break and nobody else can break yet. It's a cipher that the NSA can break and cannot foresee any adversary breaking within the frontiers of its own knowledge. Whatever cryptanalytic techniques NSA can discover, so too can the Russians, Israelis, French, and Chinese.

The point of a NOBUS backdoor is that it's safe to deploy on your own systems.
I know. I don't care. Partly because it's only an example and the requirements are not spec'ed out. Partly because you have potential overflows basically everywhere, if you disregard the context. Let's just say the caller is assumed to make sure there will be no overflow. (Or just add a no-overflow assertion - I don't care).
> That didn’t work for the USSR, why would it work for China?

The CCP does have the benefit of learning from the failures of the Soviets.

> China was here before. Cutting yourself off from the world just means you eventually find yourself having fallen behind everyone else.

That mainly happened because they were so dominant in their sphere that they didn't bother themselves with far off areas that seemed primitive to them. I'm pretty sure the CCP has learned from that mistake.
> And why is smarter better

Some people are saying that this might be a sort of law of physics, since the start of the universe complexity seems to increase.

Our destruction might be required even if no harm is meant.

The example given is: "We don't hate ants, but when we need to build a highway we pave over their ant-hills without a second thought".
That is fine. Different people have different ways to learn in terms of efficiency. Btw, there is research that I can't remember off the top of my head, that shows writing down notes is more efficient than typing in terms of retaining the material.
Pretty much the vast majority of the API out there? Only relatively new ones like asprintf or getdelim do memory allocation for you.

I don't understand your remark about information hiding. How does the difference between returning an owned pointer and borrowing a pointer concern information hiding?
Better is always subjective of course. Smarter could be better, or energy efficiency per thought.
Everything old is new again.

http://search.cpan.org/search?mode=module&query=Safe
Instead of military spending, we should get our education and politics act together. We should be at least ready to pivot to self sufficiency.

We depend on Putin's mercy for energy, because a lot of us skipped game theory in kindergarden apparently. Someone mentioned cell phones. Yes that'd be good, to have a full end to end electronics pipeline around here. And so on.
> Seems many Americans are willing to crap all over the 2nd Amendment, which is specifically in place to prevent totalitarian government.

The 2nd Amendment specifies that a well regulated militia is necessary for a free state, and that the right to keep and bear arms cannot be abridged by the Federal government.

Nothing in that amendment specifically mentions the purpose of preventing totalitarian government. That's a modern interpretation, albeit one currently upheld by the Supreme Court.
I'm already deeply pessimistic about what we achieved so far when it comes to machine intelligence. It's impossible to stop or reverse this progress and we're on the fast track to creating tools with the destructive potential of nuclear weapons which are simultaneously available to everyone with enough money.

Don't get me wrong, I'm not talking about mushroom clouds and some kind of machine uprising, the consequences will be far worse and more insidious.
We'll see completely new levels of manipulation, oppression and surveillance instead.
Any kind of tool will be abused, this tool might turn out to be too powerful for us to handle.
In SIT (decentralized collaborative information tracker, https://sit.fyi) there's an issue tracking module and an import tool (https://github.com/sit-fyi/sit-import) that allows to convert all issues and PRs into self-contained issues that can be worked with using SIT issue-tracking,
so at least there's a relatively smooth way out to decentralized issue tracking.
That database object is from https://golang.org/pkg/database/sql/ which is part of the standard library of go.
I don't get the downvotes
That's actually false. The frog jumps out when the water gets too hot.
>What if you're wrong? You have doubts, where's the evidence?

I am not in the clairvoyant business. Expressing doubt is as much as I could do.

>This part I don't see at all. Who are the sides in this low intensity conflict?

Armed insurrection has been ongoing on since the early 90s[0] loosely organised by ETIM[1] as well as various affiliated Islamist groups in neighboring countries especially of late. They are backed by sympathetic donors in the Gulf states, Turkey and (allegedly) the CIA. Since then there have been several high profile riots and terrorist attacks both in[2] and out[3] of Xinjiang.

Obviously they are fighting against the police and the army loyal to the government. In addition there are local entities known as Bingtuan[4] that are best described as a military-industrial complex with several company towns at strategic locations throughout the region. They are under the direct command of the state department and are expected to counter the provincial leadership should they become insubordinate.

There are also smaller groups of Hui (Chinese Muslims) seeking to consolidate their identity and Kazakh irredentists seeking reunification with Kazakhstan, but they are much less significant and tend to be allied with he government against the Uighur.

[0]：https://en.wikipedia.org/wiki/Baren_Township_riot
[1]:https://en.wikipedia.org/wiki/East_Turkestan_independence_mo...
[2]:https://en.wikipedia.org/wiki/July_2009_%C3%9Cr%C3%BCmqi_rio...
[3]:https://en.wikipedia.org/wiki/2014_Kunming_attack
[4]:https://en.wikipedia.org/wiki/Xinjiang_Production_and_Constr...
I have a hard time believing that this is the main problem. I used to live near the mentioned St. Marks Bookstore and visited it several times a month. I moved before it closed in 2016, but I remember what it was like when it was fighting hard via crowdfunding [0] to stay alive. Even at that critical time, the place felt like a ghost town. Yes, high rent was a factor, but only because it didn't seem to get much business as Amazon/Kindle continued to grow.

From the article:

> That extends to its bookshops, many of which have fallen to astronomically rising rents. St Mark’s Bookshop, for example, which opened in 1977 and became a sort of literary HQ for punks, was the oldest independent bookshop in Manhattan until it closed in 2016, despite celebrity support from Patti Smith and Salman Rushdie.

I'm confused. Isn't The Strand (just a few blocks away from St Mark's original location) an independent bookstore too? Wikipedia says it was founded in 1927 [1]. That was another bookstore that I visited frequently, though I would argue that it's reached a certain level of critical mass and success that makes it able to buck the general trend -- even if Amazon has a bigger selection and better prices, visiting The Strand is a worthwhile experience in itself. Similar to B&H Photo Video [2]

[0] https://www.huffingtonpost.com/2012/08/01/st-marks-bookshop-...

[1] https://en.wikipedia.org/wiki/Strand_Bookstore

[2] https://www.bloomreach.com/en/blog/2016/03/bh-photo-competes...
I have a little retirement fund, and I also think that if I focused too much on it, I would neglect enjoying our present level of civilization while it lasts. You're the one arguing to absurdity (heat death of the universe), because it really does matter if for all intents and purposes one will likely not get to enjoy retirement investments due to social collapse. It's not a far away possibility, but very likely to begin within my lifetime. You see, it doesn't take depleting everything on the planet, but just enough so that the growth engine based on debt stalls. Inevitable conflicts will follow. Climate change is already causing considerable financial damage and instability, and that is only going to grow more pronounced. On the current emissions route, most of the land closer to the equator than Canada or New Zealand may be barely inhabitable by 2080 (At around +3 or +4 C). There's already trillions of dollars in property value at risk just from flooding that's basically certain in places like Miami, let alone whole latitudes. Some tangible investments will still be valuable, but the idea that the market will keep churning out monetary growth indefinitely is ludicrous. My investment hedge is only for very unlikely scenarios, such as plentiful fusion energy, or exponentially cheaper carbon capture being developed in time to prevent the global financial shock that will happen when the market realizes that whole latitudes of property value are simply disappearing in several decades, or that trillions will need to be spent to mitigate the natural disasters that are coming. It's not a one-day Rapture to expect, but decades of decline that await.
> Seems many Americans are willing to crap all over the 2nd Amendment, which is specifically in place to prevent totalitarian government.

Exactly. If America has learned anything from the past half century of foreign military adventures, it should be that a big modern Army can't easily defeat a motivated insurgency that has the support and sympathy in the local population.

The 2nd Amendment may have a lot of costs, but the private gun ownership it provides for would definitely make it much more difficult for a domestic totalitarian regime to establish itself in the US.
Wait, is webojects dead or not? It says wo6 is coming in 2018, but the project is killed... I see it's voluntarily bring maintained by a community, are they releasing?
> there's no reason why that can't be done except for greedy ceos and shareholders.

What a generalization. Nevermind the thousands of small businesses operating on razor thin margins. They wouldn't be negatively affected by $60k minimum wage in the least bit.
There's no standard, of course, but [shameless plug] I've recently built SIT (https://sit.fyi) -- a tool that allows to collaborate on information in a decentralized, "true serverless" manner. Its first application is (duh!) issue tracking and it has been operational since almost day zero and SIT itself is using it. There's even a GitHub -> SIT import tool (pre-release)

Now, what's also great (did I mention "shameless"?) about the approach used in SIT is that while you can use it with Git (and this is how I've been using it so far), it does not depend on Git's structures but just files -- so it can be easily carried over to whatever might replace Git in a decade.
The NSA is a pragmatic organization and is concerned only by "nobody but us until somebody figures it out", so long as there is an operational advantage it provides to the United States.

We should also note that "nobody but us until somebody figures it out" is true also of ECDLP. I'm not really interested in that argument, because we both know exactly where it goes. Is it different than symmetric cryptography? Yes. But we're talking about symmetric cryptography.

> Second, you can't argue that something is an NSA backdoor when NSA's only role in standardizing crypto relative to it is to make the standard resistant to it.

Nobody is.

Yes, the NSA almost certainly has unique-to-NSA analytic techniques. New techniques are discovered in the academic community on a regular basis - they aren't rare in some way that it would be reasonable to believe that a professional community of the world's best cryptographers with their own cryptanalytic communities, working full time, would have discovered and honed their own. In fact, it would be pretty unusual to believe they don't.

You misunderstand NOBUS. It's purely a pragmatic expression meaning advantage. NSA is under no illusions that their advantage in cryptography on every standard is going to last forever.

Please don't spread FUD on NOBUS.
Show HN: Get alerts whenever new podcasts mention your name or your company name
The OpenSSL business. Everyone and their uncle were suddenly expert programmers who would never have written a bug into code.

People sucked so bad at reading code, sucked so bad at writing an SSL library, and sucked so bad at auditing the code they depended on. And yet the OpenSSL guys were supposedly incompetent.
Your post is very ranty, i disagree with lots, but I think you’re flat out wrong here:

> Turns out it's a LOT easier to have 2 discrete functions explicitly doing the same thing than using a template

How do you write containers? I tried following a series on implementing an interpreter in c a few months ago, but gave up because 30% of the code was implementing std::vector for different types.

Also, math routines definitely work better templated. Code duplication isn’t always bad but if your methods are copy and pasted with different signatures, that sucks. E.g. an interpolation method that works on double and floats.

> ome idiot colleague won't decide that the string creation class constructor shouldn't take a reference, but a copy, making the app startup take 30 seconds with ONE character '&' removal.

This isn’t an argument against c++, this is an argument against your co workers. The exact same argument could be made for C with removing two * signs.

C has it’s fair share of gotchas thy you don’t refularly hit in c++ too - malloc requiring sizeof, not checking realloc’s return values, goto hell for resource cleanup, complicated lifetimes.. personally I’d rather have C++, warts and all, than have to deal with the “simplicity” of reimplementing a stack in every resource owner, and reimplementing vector/map for every type.
Judge rules that Amazon isn't liable for damages caused by a hoverboard it sold
> This is very quickly becoming a huge pain for me to write. I have to write a compiler, and a lexer. I have to continue extending this for each new kind of operator added.

Counterpoint: good luck getting that magical regex to scale to many new operators. Or other data types, for that matter. What if, for instance, you wanted to add support for strings? Suddenly, the entire original approach is useless and building a tiny compiler is the best and safest option.

It also the case that, as olegbulatov demonstrated, you're fighting an uphill battle trying to sanitize code with a regex. There's really not reasonable way to prove with 100% certainty that a regexp blocks _all possible expressions_ that could do nasty things. Writing a tiny compiler might be a pain in the ass, but you can be very sure of the safety that it offers....and it doesn't need to use eval().
I don't understand the distinction you're trying to draw between block ciphers and the ECLDP. Dual EC was an RNG, which is (among other things) an important symmetric primitive. I think the definition of NOBUS that you're working is the one that's broken, not mine.

I also think you're overestimating the frequency with which powerful new techniques for attacking block ciphers occur in the literature. It's 2018 and the debate about Speck's security still hinged in part on Matsui. Fundamental new cryptanalytic techniques against block ciphers are, in fact, pretty rare.
Somewhere there is a contract specifying the amount the corporation will pay and the worker will receive for an hour of work. It is the violation of this contract which makes it theft. This is also what makes driving someone else's car away, taking their wallet, or moving into their house theft. If someone walks off with your wallet, it isn't that you've misunderstood the legal conditions of your ownership of that wallet. The problem, in other words, is not in your understanding.
Nothing is forever. The current regime in China won't be forever either. The question is how long.

After Augustus Rome still had a couple of hundred years of expansion where a nationalist could argue, “hey look at that! Things are still going good.” But they couldn’t outrun the rot in the system forever.

After Xi will China get another strongman? I think this is the key. If there are a series of total dictators things will decay. Whatever justifications a dictator uses for their rules, ultimately they are going to try to implement policies that keep themselves on top first.
The legal tradition of treating harm, threats or coercion to a person's body as more serious than theft or destruction of property predates the existence of television. The legal principle is about the violence.

It's true, and sad that this principle hasn't been, and often still isn't applied fairly when it comes to domestic violence, violence against minorities and wealthy rapists, but failures to apply a principle fairly do not invalidate it entirely.
CPU bound in HPC circles usually means you are somewhere in the order of magnitude of the maximum FLOPs your cpu can do (eg. GHz clock of the cpu * cores number of operations in terms of GB/s of data). That's almost never the case.

Operations waiting on the disk are "disk bound", IO bound is the generic term for data access, instead of cpu processing, being the bottleneck (which is usually the case, just a question of where).

I agree that Julia probably doesn't have a huge advantage, that said, having been stuck with slow Python code before, you're often stuck with rewriting large parts of the system in c++ or another low level language. That's the reality of Python, but at least it's not the most painful thing to do.
1Password standalong vs. license – it really sucks, ready to bail
Agile made a recent update and now 1password no longer works on my Windows 10 laptop. It works as always on my iPad and iPhone X but with I guess a standalone license that yes I had paid good money for, the tech support at Agile is clueless about how to get this working again on my laptop, even after completely (via Revo Uninstall) uninstalling it and re-installing it. This cluelessness of Agile has been going on for almost a week already, so I am seeing first-hand how serious they are about customer satisfaction.

Can anyone recommend a password manager where they actually support their paying customers?
I'm not rewriting history, I'm separating the state from the religion. Yes, the Islamic empires were built with the military. After a state was conquered, there was usually not the forced conversion common in Christianity. Hence Lebanon containing Christians throug a millennium of Muslim dominance.

The Spanish case is not different. Much of Spain had been Muslim for as long as it had ever been Christian, and the Christians had been part of the empire for centuries. The expulsion wasn't an ancient grudge over being conquered, if it was then they wouldn't have also forced the Jewish population to do the same thing.

Oh, and if Spanish aggression was justified, colonialism justifies the current aggression in the Middle East.
> I don't understand the distinction you're trying to draw between block ciphers and the ECLDP. Dual EC was an RNG, which is (among other things) an important symmetric primitive. I think the definition of NOBUS that you're working is the one that's broken, not mine.

I'm not sure where we'll get with it. I'm okay with your misunderstanding.

Please ignore that part of the comment and read the remaining content. Please don't let an objection on a small part of the content distract you from the remaining content of the argument.

> I also think you're overestimating the frequency with which powerful new techniques for attacking block ciphers occur in the literature.

You are clearly underestimating the frequency.

We both understand how heavily caveated your argument referencing Matsui is.

My fear is that your misunderstanding and underestimation will lead to FUD about backdoors, like it did last time with DUAL_EC.

It's also important to note that your argument has shifted significantly in this short exchange.

NSA only cares about NOBUS weaknesses for operational and national security advantages.

Thanks for your time.