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

In at least some religions, [part of] the definition of God is that he is the uncaused cause. Thomas Aquinas spends a lot of ink talking about this (there's a more accessible explanation at http://www.peterkreeft.com/topics/first-cause.htm, but I'm pretty sure you can find the originals on the Internet).


Just because God can't imagine an existence outside herself doesn't mean it doesn't exist. She assumes she is the original cause but is unable to test the hypothesis.


In other words, what if an all-knowing being doesn't really know everything?

Or are you inventing a new Creator who is merely almost omniscient for rhetorical purposes? To what end?


I was on a debate team in college, and understanding people talking at 200 to 300 wpm is a critical skill. Wired ran an interesting article on this phenomenon a few years back: http://www.wired.com/2012/01/ff_debateteam/


There's a setting for this! Chrome allows you to deny all notifications requests automatically, without even a prompt coming up.

See https://support.google.com/chrome/answer/3220216 for the method.


Awesome, now how about we make this default to on just like we default on pop up blockers etc?


If people didn't want web notifications, they wouldn't have been explicitly added in to the specs.

This thread is getting ridiculous. I appreciate people don't like notifications but the very few sites that request them are sites like gmail, discord, irccloud etc which the majority of people absolutely do want notifications from.


> If people didn't want web notifications, they wouldn't have been explicitly added in to the specs.

Web standards aren't a democratic process that all the web users vote on. They're defined by a consortium of companies each with their own special interests and agendas. Pop-ups were allowed by web standards and we've gone out of our way to build tools to prevent them.


>If people didn't want web notifications, they wouldn't have been explicitly added in to the specs.

People rarely design specs. Corporations do, and they push their own agendas, like, all the time.

That's like saying "If people didn't like DRM we wouldn't have W3C's Encrypted Media Extensions".


> If people didn't want web notifications, they wouldn't have been explicitly added in to the specs.

Which people? The developers or the end users? It's a cliché but I can't see my non-techie mom or dad, or cousins, aunts, uncles ever wanting website notifications on their laptop, not even for gmail.

So now everybody gets alerts to accept notifications so those 0.001% techies/devs who want them can use them? they could enable it themselves.

The _very few_ sites include also techcrunch and others. I see people thinking they got a virus because they're getting notifications on their OS by a website they've accepted by mistake.


Do you see sites asking for notification permission that often?

For me it's very rare, and >75% of the time that a site asks for that permission I want to grant it.


For mobile, I've found ddg.gg much shorter to type than duckduckgo.com, and it redirects to the same place, so maybe that's a solution.

I don't have anything for the latency, though.


I found out, in a happy little accident, that dgg.gg also works.


Oh, thanks. I tried ddg.com and it didn't work, so I assumed there's no short version.


That article only mentions Pittsburgh once, to say that that's where Duolingo is based.

I searched and couldn't find articles about Duolingo moving out of Pittsburgh, although they did recently move to a bigger office in Pittsburgh: http://www.bizjournals.com/pittsburgh/blog/innovation/2013/0...


out of meaning 'from'...sorry about that.


I expect the reason Google is doing this is to be able to control the rate at which they allow people onto the infrastructure behind the new service. Going from internal testing to everyone on the Web using a service can be pretty rough.

[Disclosure: I work for Google, but not on anything related to Inbox or Gmail]


Somewhat off-topic, but on https://trello.com/enterprise, you say that you provide "24 x 7 x 365 incidence response" where I think you mean "24 x 7 x 365 incident response".


Regardless of what word comes next, it should probably be "24 x 7 x 52".


Since a business closing does not typically occur in week-long increments, probably not. "24 x 7 x 364" is generally understood to mean one day off a year (usually Christmas Day in the US), and "24 x 7 x 51" would not be clear at all.


> There are lots of properties by which one can evaluate a hash function, but the most important are preimage resistance (if I give you a hash, can you find an input with that hash value?), second preimage resistance (if I give you a message, can you find another that hashes to the same value?) and collision resistance (can you find two messages with the same hash?). Of those, the third appears to be much harder to meet than the first two, based on historical results against hash functions.

To my (crypto noob) eyes, it seems like second preimage resistance is just a specific case of collision resistance. In both, we're trying to find two messages that have the same hash value, but with collision resistance, we can choose the first one arbitrarily. The last sentence, saying that collision resistance is a higher barrier than second preimage resistance, thus doesn't seem to make much sense to me. What am I missing?


Consider the three attacks that you've described here (preimage, second preimage, and collision) as differently constrained cases of:

    H(m) = x = H(m')
Where m is the original message, x is its hash, and m' is the second message that you need to find.

For a preimage, you're given a value of x, and you don't even know what m is.

For a second preimage, you're given a value of m to start from. (And, thus, you know x.)

For a collision, you get to pick any m (and x) that you want to make your collision work. This last case is easiest to work with, since you can set up the messages in whatever way you need to exploit even a very subtle vulnerability. In a second preimage attack, the original message is given to you, so it may not set things up in an easily attackable way.

In a sense, a second preimage is a specific case of a collision. The critical difference is that a second preimage is a targeted collision.


Collision resistance is harder to meet in the same way that "stronger" results are harder to prove. That is, I think you're correct and that my wording was just confusing, sorry!

Historically, many hash functions have been broken by collisions, but even very "weak" hash functions (i.e. MD5) still have full design strength for preimage and second-preimage resistance (as far as I know).


Out of curiosity is there a reason why cert-test.sandbox.g.c resolves to so many IPs compared to www.g.c?

  dfc@ronin:~$ host cert-test.sandbox.google.com |grep address |wc
       16      64     894
  dfc@ronin:~$ host www.google.com |grep address |wc
        6      25     262
I wanted to see how the various vendor ssl tests would handle sha256. Everything i tested had no problem, but they all took a little longer than usual because of the number of DNS results.

PS Not that it would matter but unlike other google hosts the cert-test does not have any IPv6 records.


I don't think the load balancing is setup as tightly as www.google.com. It doesn't get much traffic after all.


Yeah, I think I was just confused. An off-by-one error in applying negatives, I think.

Thank you for the article. I found it interesting to think about.


Collision resistance implies 2nd-preimage resistance, and is therefore the stronger notion.

Suppose your function is collision resistant, but not 2nd-preimage resistant. Then this means we cannot find an arbitrary pair (x, y) such that H(x) = H(y). But given a fixed x, H(x) we can find y such that H(y) = H(x). This is of course absurd, since we can easily turn the latter 2nd-preimage attack into a collision attack by fixing some arbitrary x ahead of time.

It is also the case in practice that collisions are easier to find. This is owed to the fact that a collision attack has much more degrees of freedom given to the attacker than a (second) preimage attack.


The sentence is saying that collision resistance seems to be practically harder to achieve than second order preimage resistance.

One reason is a lot of hash functions are iterative in nature (you have a compression function repeatedly applied to a state, mixing the message into the state in small pieces). For collision resistance, finding a collision in just the compression function (or a limited number of applications of it) is enough to find a collision in the whole hash function (you can 'work outwards' from the collision). You can't use that effect in second order preimage resistance.

IANAC.


One way to look at it: collision resistance prevents more attacks than mere 2nd preimage resistance, so that is a "higher" barrier. As you say, a certain type of attack would be to arbitrarily pick the first message and then try to find a collision, but that isn't the only conceivable attack. You might be able to run an attack that would generate message pairs that would have a higher likelihood of defeating a particular hash, if the hash had 2nd preimage but not collision resistance.

EDIT: I agree with sibling comments.


For those who have this question and somewhat less cryptography experience, consider the birthday problem: it's much harder to find someone in a crowded room that shares your birthday than it is to find two people who share a birthday.


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

Search: