Hacker Newsnew | past | comments | ask | show | jobs | submit | more throwawaymath's commentslogin

There is a comparison of Blake3 to various hash functions (including SHA-2 and SHA-3 families) on AWS c5.metal; see the chart here: https://github.com/BLAKE3-team/BLAKE3


Yes, and it didn't go unnoticed that KangarooTwelve (which - mind - does not belong to the SHA-3 family right now) is not included on that prominent comparison diagram, while it is considered in the BLAKE3 paper.


I felt it would've been unfair to include KangarooTwelve in that particular bar chart, because at 16 KiB of input it hasn't reached its peak throughput. At the same time, the goal was to focus on more widely used algorithms.


That's a good point; I was just giving you a handy chart with an explicitly called out platform :)


That's because the author is using constructive mathematics (i.e. computable analysis instead of standard real analysis). It is true that all computable functions are continuous. Likewise discontinuous real functions aren't computable.

The continuum hypothesis is tangentially related to this topic and makes for fun reading.


>In fact, no finite amount of computation will guarantee that we will be able to tell whether x=0 or x>0

Hmm, I'm still stuck at this assertion. Why can we not assume the number is finite?

If we assume an infinitely long number takes an infinite amount of time to read, can we not also assume it must take an infinite amount of time to write? If we only have finite time, can we not assume all numbers given to the function in that time are finite?


Yeah, I'm also stuck here.

The article seems to say that, because you can't produce an upper bound to the amount of time the sgn function will take to run (for all possible inputs), sgn isn't a function. But then... isn't it the same for every single other function?

I think the article is conflating "given a fixed amount of time, one can find an input for which the function will take longer to run" with "the function takes infinite time". The later isn't true: for any given input, no matter how big, one can compute a time such that the function will finish in that time; in other words, the function always finishes, in finite time, for every possible input, no matter how large.

It's possible we're both confused, I suppose. :-)


Here's the thing: the "discrete vs continuous" most people were taught is wrong. Discrete is [can always be construed as] continuous. Only infinite things can be discontinuous.

State is finite but time is countably infinite for our purposes, so we model infinite/unbounded things with programs that can run arbitrary long.

Finally, this abstract math stuff is in fact a really good UI point that most programmers miss. In non "real time" applications, you should aim to be able to dynamically tradeoff tardiness and richness; e.g. a fancy diagram that is rendered at low res and then higher res. Likewise all your caches should be evictable under memory pressure. Computing should feel fluid.

It's a pity most people only paleolithic state machine math or terminating thing math. This falsely implies that "real world programs" which hardly ever terminate are beyond theory, or that the smartypants thing to do is break them down into little terminating programs and some big spooky event loop whateverthefuck (browser, apache, framework du jour, etc etc.). Build codata out of codata!


How would you turn f(x != 1) = 0, f(1) = (has no value) to be continuous?

Because it sounds like you’re simply redefining the terms. At which point you might as well be using “Spork”. Because, defining a new system has zero impact on a different system.


1. You are talking about partial functions, that is a separate concern.

2. Behold https://en.wikipedia.org/wiki/Discrete_space . Topologies define continuinity, and here is a discrete topology.

3. With e.g. probability measures / expected values, which unify "discrete" and "continuous" statistics, you'll notice that there's lots of rules that are trivially obeyed in the discrete case, but take some care in the "continuous" case. For example, not ever set can have a measure in the latter but can in the former. This directly relates to discrete things being trivial to deem continuous. It's also a useful to define coarser topologies / event sigma-algebras in the finite case to better understand the issues are the unavoidable in the infinite cases. We only make the discrete discontinuous in that last "artificial" exercise.


I believe that the function you just defined is already continuous. It's not defined at 1 so checking its continuity doesn't make sense there, and at every other point it's clearly continuous because it's constant. Points that are arbitrarily close to 1 are still continuous because the intervals around 1 are open.


In calculus f(x) = x/x - 1 is not continuous at 1 based on the initial definitions. Moving to fixed-point arithmetic the idea of limits gets odd, but the function still needs a definition for that input.


I would say the continuity isn't just defined at that point... I very much agree that one can't affirmatively say that the function is continuous at that point. Btw. I guess you meant to say f(x) = (x - 1)/(x - 1).

However, let's ignore that; the problem disappears if we define f(x ) = 1 at x = 1, and f(x) = 0 elsewhere.

In standard analysis that function would be discontinuous at that point.

I'm not sure about implications in the OP's kind of analysis. Would the existence of m(1) imply that there exist some smallest input that is larger than 1, that would make difference in output? Same for the largest input that is smaller than 1.


You handle continuity in discrete spaces through topology. A function is continuous for a (really, two) given topology if the inverse images of open sets are open sets.


That specific function can take infinite time to decide whether the input x belongs in the case x < 0, x = 0 or x > 0. The problem manifests itself if we allow x to be a true real number. As you surely know, real numbers may have infinite amount of digits after the point, and if we get a real 0.00000000000... as the input, we must continue inspecting it, until we can be sure about which case it belongs to. But because that real might contain infinite amount of information, we might never finish!


I disagree, how interesting. :-)

I presume that you're allowing finite time execution of the equality-to-zero operation (I.e., a function that says if a number is equal to zero). If you don't, I suppose one would conclude (by applying the same arguments, whatever they are) that neither can a function that, say, adds numbers or does similarly trivial operations finish in finite time, in which case this distinction of finite- vs infinite-runtime functions isn't very interesting.

Any number that isn't zero and that starts with a zero (at the left of the dot), will always have a finite number of zero digits after the point. In other words, the only number that has a zero at the left of the dot (i.e., of the form 0.xyz...) that has an infinite number of zero decimals is zero itself.

I guess where we disagree is in this claim: "As you surely know, real numbers may have infinite amount of digits after the point". The only real numbers with this property are the integers. Every other real number has to have a finite number of zeros.


Here's a more practical definition than "a stream of digits". A computable real representing the real number x is a program that takes as input a rational ϵ>0 and produces as output a rational number within ϵ of x. That is, it produces approximations to x to any desired level of precision.

Every rational q is computable: λϵ.q

The sum of two computable reals, x and y, is computable: λx,y.λϵ.x(ϵ/2)+y(ϵ/2)

You can show the absolute value function is computable: λx.λϵ.|x(ϵ)|

So there are many trivial continuous functions like addition that are computable.

But the discontinuous function f(x)=1 if x=0, f(x)=0 otherwise, is not computable.


A program that takes an integer n and outputs the n'th digit of the number it represents is a finite representation of an infinite stream of digits.


But this is begging the question. The author uses the definition that numbers have infinite decimals, and all you are allowed to do is ask for decimal n to find out a number. You can never grasp the full number, since you are given a finite amount of time (compute) to discover an infinite sequence of decimals.

From that definition, it's quite obvious that everything you compute has to be continuous, because you are never sure of what other decimals may be coming up, so whatever you compute has to be close enough.

That sounds more like an argument that representing numbers that way is not particularly useful since you can't do much with them (you can't even provide an equality operator).


A constructive response is that the ability to examine a real number to arbitrary precision is already highly idealized. In the real world you will quickly exhaust your ability to measure a real quantity to ever higher precision.

> you can't even provide an equality operator

If you are given two rods, there is no way to tell if the two rods are of the same length.


I'm not sure I'm following you. I'm also not arguing for or against the results here. I'm just giving you the background to understand the author's point; it's not something they just came up with, it's been under study for quite a while in constructivist mathematics.

I also don't really think you're using the right definition of computable here. You make it sound as though we're estimating, or truncating uncomputable numbers to make them computable when you say:

> From that definition, it's quite obvious that everything you compute has to be continuous, because you are never sure of what other decimals may be coming up, so whatever you compute has to be close enough.

It's not about being close enough or estimating, they're categorically different things. You can't obtain an uncomputable number, even by estimating, to any meaningful precision with a finite amount of time. So what are you saying here?


Which post-quantum cryptosystems are more efficient than RSA?


I did not claim that they outperform RSA in particular and I would not call RSA a state of the art public key cryptosystem. Actually, I would strongly suggest against using RSA without first having a deep dive into the field of number theory. However, for extreme RSA key sizes (e.g. 4096 bit) NewHope does actually outperform RSA and definitely outperforms some ECC counterparts.


NewHope has not been proven to be quantum resistant. I think researchers generally believe that NewHope will be proven to be quantum resistant, but there is the problem of adapting Micciancio's regular lattice proof to ideal lattices.


That’s right, it hasn’t. Just as almost every other candidate in the NIST competition. However, none of the currently employed public key crypto systems has even been proven to be secure against standard computers and they can definitely be broken by a (powerful) quantum computer. So I would still favor taking a scheme that most likely is secure against quantum computing over one that can definitely be broken by it, especially if their performance does not differ too much anymore.


Nothing can be "proven" to be quantum resistant. Even if we can show a tight reduction to LWE, and we believe that LWE is efficiently solvable (let's say LWE is not in BQP), it is still possible that the cryptosystem at the given parameters is broken. In the classical case, it doesn't matter whether or not the RSA problem is "hard" (more formally, the RSA problem is not in BPP), it matters if the RSA4096 problem has an efficient solution for many real world instances. So, yeah, the talk of "proving" security---while interesting---isn't very useful.


>However, for extreme RSA key sizes (e.g. 4096 bit) NewHope does actually outperform RSA.

Yep, it's definitely a scaling thing. If it weren't then we could simply use Daniel Bernstein's (et al) proposal for Post Quantum RSA.

https://eprint.iacr.org/2017/351.pdf


I successfully started a 501(c)(3) private foundation for precisely the charitable purpose of "supporting (scientific) open source software" in 2017. The IRS granted it with no questions asked.

Also not legal advice, but I literally did it so...


What's the point being driven at here? Is it minimizing the deaths of Australian wildlife, or is it making a quip about the sheer scale of cat hunting activity?

If it's the former, that seems like a bad comparison. The Australian wildfires are destroying ecosystems on a scale cats don't really do. And a much greater variety of wildlife is dying than what cats will typically kill.

Finally, wildfires don't support life. They're naturally occurring things, but they are not an activity occurring in the support of other life. Cats kill to hone hunting skills (or simply to hunt, if they're actually hungry). With that observation we can impose a reasonable normative, which is that we don't need to accept wildfires the same way we accept predator activity.

Put simply: I don't see that these two things belong to the same category of destruction.


I took it simply as a comment on how the same scale of impact has very different emotional responses if the cause is a big, notable event vs. a long-running regular one.

Isn't this the entire problem with climate change in general? It's really hard to get people concerned with very small temperature changes over long periods of time because we use our human perspective; it's hard for us to understand a geological time scale.

These types of observations help IMO.

>> The Australian wildfires are destroying ecosystems on a scale cats don't really do. And a much greater variety of wildlife is dying than what cats will typically kill.

Well, domestic cats are considered an invasive species in much of the world, and in Canada are the #1 killer of birds. Studies show they are the 3rd biggest offender towards putting species at risk. The story is worse on islands, of which we have many.

>> Finally, wildfires don't support life. They're naturally occurring things, but they are not an activity occurring in the support of other life.

This is absolutely wrong. Lots of forests in Western Canada depend greatly on regular, large-scale fires to support specific species of flora and fauna. Our excellent job of preventing these fires is likely to blame for many huge problems like mountain pine beetle and predator/prey imbalances.


I think the point is that simply stating one billion animals died isn't, by itself, very interesting. It also draws attention to an interesting fact, a fact which some believe deserves more recognition, that cats kill many animals.

As you say, the real issue is massive ecosystem destruction and rare and/or endangered species being killed. But that doesn't spread on social media quite as well as the feeling driven "one billion animals died!"


> Finally, wildfires don't support life

Not entirely true. Forest fires and prairie fires are a part of some plant lifecycles.

https://www.britannica.com/list/5-amazing-adaptations-of-pyr...


It's a bad comparison, but for a different set of reasons.

Wildfires aren't part of the fauna. This is true. But even without humans, there are wildfires. When wildfires happen, they create a new playing field for species to inhabit. Moreover, life has adapted over the course of millions of years to a low number of wildfires i.e. the spread of a species over a large territory whereas wildfires may be incidental and localized. The adaptability of a species to wildfires - amongst other things - is what defines it's resilience.

The difference here is that the size and scope of these fires is far beyond the resilience of entire regional ecosystems. When this is over, what is lost won't return. It will be replaced by different species - plants and animals - that might not be as diverse or rich.

We can safely assert that wild cats are inherently part of the ecosystem. However, if a billion animals being killed a year by cats, well, that's not due to the mere presence of cats as a species. But because of the overwhelming number of cats in the ecosystem. And that number is anything but normal.

Cats are domesticated animals. The main reason why there are so many out there is simply because society tends to keep and protect cats. Cats and humans live in a symbiotic relationship. And that's why cats thrive as a species. Much to the detriment of other species.

Put more poignantly, nobody would argue against the need for pet owners to keep their dogs to a leash and their pet snakes and other predators locked in cages. But cats are the major exception. There are no laws that restrict home owners to let cats go out of the door and roam the neighborhood killing each any small bird, mammal or reptile around. Whereas other wild species who espouse pretty much the same behavior - rats, foxes, mice - are seen as pests.

And so, we can safely assert that neither mega wildfires nor the strain cats impose by their numbers are natural occurrences. In both cases, they are manifestations causes by irrational human behaviours.


> Whereas other wild species who espouse pretty much the same behavior - rats, foxes, mice - are seen as pests.

I have not heard of anyone having a problem with rats and mice hunting other animals. They are mainly considered pests because they eat human food stores. And the only context I have heard of foxes considered pests is when they hunt livestock, chickens, geese etc. If a domestic cat starts hunting chickens, I am pretty sure it will have consequences as well.


>> I have not heard of anyone having a problem with rats and mice hunting other animals

In Canada rats are a bigger threat to bird species than cats, topped only by humans. Or visit an island environment Galapagos where they've been introduced.


Rats and mice are classic examples of "invasive species" and can have huge impact on ecosystems. Just to pick two handy examples; rats in New Zealand[1] and regular house mice putting bird species at risk of extinction[2].

[1] https://www.doc.govt.nz/nature/pests-and-threats/animal-pest...

[2] https://www.goughisland.com/


They don't "hunt" animals, they eat the eggs, removing the ability for the birds to reproduce. They devestate native bird populations that did not develop with pressure from rodants and lack defenses.


> They are mainly considered pests because they eat human food stores

Don't forget the plague and other diseases. "peste" literally means "plague" in French.


Are you being facetious? I don't think the candidate's favorite music genre is being explicitly used as a job qualification. They're not filtering on it because it's relevant to the job.


Why would you put musical interests on your resume if you didn’t want it to be used as a filter? As a resume screener I’m going to assume anything in the resume is fair game, and there’s objective reasons to select a candidate who’s self aware enough to know that country music isn’t sending a good signal.

The fact that they like country music isn’t the problem, it’s that they thought it was a good interest to put on a resume.


Please tell me a few of these objective reasons why someone who puts "country music" on their resume as an interest isn't sending a good signal.

As a resume screener you should calibrate your recruiting process to be empirical. What you're describing doesn't sound empirical at all.


Link without paywall: http://archive.is/qDalg


Considering the people they're explicitly looking for, according to that page:

> People who have done well at math competitions (USAMO, IMO, PUTNAM), competition programming (ACM, USACO, codejam, topcoder), science fairs (ISEF, STS), or capture the flag (DEFCON, secuinside, GITS). Those competitions don't just select for ability, they also select for quickness. We are in a very competitive space.

...it's absurdly low. Companies like Google hand out close to $200k total, liquid compensation to new grads who haven't placed in any of those competitions. The people who have ranked in any of those (especially the math ones, and doubly so the Putnam) can easily write their ticket to a job paying double $130k right out of college.

Anyone with that kind of competitive math/programming experience and real world machine learning engineering experience could earn triple that range if they wanted to. That's a ridiculously small and competitive set of candidates to be targeting. It's also not necessary, because strong performance on the e.g. IMO doesn't a priori map to outperformance, on a per dollar basis, writing autonomous driving logic.

Basically: no it's not competitive for San Diego, Comma is asking for wildly overqualified people to sacrifice significant amounts of money to work there, and it's not clear they should be using those kinds of qualifications as a filtering criteria in the first place.

This kind of cargo culting does not inspire confidence in their recruiting.


> Hotz tweeted from the official Comma.ai account that rather than providing the requisite response, the company would instead be cancelling Comma One entirely, and turning its attention to “other products and markets,” since Hotz says that the prospect of a life “dealing with regulators and lawyers… isn’t worth it.”

...Wow. Maybe don't develop autonomous driving tech then?


Their tech is within the top two right now, and Hotz has demonstrated a deep responsibility with it. Plus, it's all libre software.

Skipping regulators seems fine, given (unlike their competitors) they're acting responsibly. Their eye-tracking tech is really cool, too, and prevents the Tesla problem of drivers losing focus.


>Their tech is within the top two right now,

how can anyone make that statement in the same breath as declaring that dodging regulators is fine? Who the hell evaluates the quality of the product if not regulators?

Are we supposed to take George Hotz's or the companies word for it?


I am a comma user, engineer and autonomous vehicle enthusiast. Comma truly is second only Tesla if we leave out Waymo, but Waymo is only operating in Geofenced areas.

I have used every single pilot assist out and they're all quiet frankly terrible in comparison. I will give GM Supercruise a nod in how well it's done but again, it's Geofenced.


You can use it; you don't have to take Hotz's word, or the company's word for it. How everything works is completely open, and it works pretty well. Also, see:

https://news.ycombinator.com/item?id=21987585


I thought the computer vision model wasn't open?


The quality of a product is pretty much always determined by the marketplace, not regulators.


I feel like the Boeing 737 MAX situation is a clear demonstration that this isn’t really the case, especially in the realm of safety regulations.


It seems to me like the market has developed a better idea of the product quality there than the regulators initially did.


It's open sourced. Everyone is able to evaluate quality.


The people who are consumers of these products are not necessarily software engineers, so no everyone cannot evaluate the quality of these products. Secondly, the models are not open source, and even if they were looking at them tells them nothing about the quality of the product.

The only way to actually access the quality of these products is through independent testing by a body that is qualified and reputable enough to do so. Which in my opinion should happen before even a single one of these devices is actually allowed to participate in regular traffic.


It was made fully opened sourced last year.

https://medium.com/@chengyao.shen/decoding-comma-ai-openpilo...


> it was made fully opened source

Unless something changed I missed, the part I emphasized is not true. There’s binary blobs in the source code that last I heard would not be released.


Do you have any evidence to support your claim that Hotz has done anything resembling "deep responsibility"?

Because from the scraps that I've managed to put together, he seems childish and irresponsible.


https://www.youtube.com/watch?v=iwcYp-XT7UI

This Lex Friedman interview is pretty explanatory on the topic of responsibility.

A couple of highlights, which point to Comma being at minimum more responsible than Tesla: Comma doesn't advertise itself as anything beyond L2, unlike Tesla; Comma doesn't fuck up eye-detection, it refuses to cooperate with a driver who has their eyes off the road.


Their tech is nowhere close to the top two.


Or maybe don't have such a stringent regulation ?


In my opinion the central thesis of this article is obscured by its framework of first vs higher order facts and thinking. The article states its real point quite simply:

> You must temper your desire to jump to conclusions, explore the search space of possible conclusions, and generate probabilities of truth.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: