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

Swift has been adding support for things like non-copyable types that should help with writing performance sensitive parts.


Can someone explain why? Past 3 years have not seen a huge peak like that.

Edit: it is now free



Check my comment here for some intuition: https://news.ycombinator.com/item?id=41115179

Basically the server does not know, it just computes with every possible value. And the result turns out to be what the client was interested in.


There was a recent paper that also uses Swift in the name:

“Cheddar: A Swift Fully Homomorphic Encryption Library for CUDA GPUs” - https://arxiv.org/pdf/2407.13055

We were a little worried, but quickly discovered that they used Swift as an adjective not as a programming language.

[Disclosure: I work on the team responsible for the feature]


A very simple PIR scheme on top of homomorphic encryption that supports multiplying with a plaintext and homomorphic addition, would look like this:

The client one-hot-encodes the query: Enc(0), Enc(1), Enc(0). The server has 3 values: x, y, z. Now the server computes: Enc(0) * x + Enc(1) * y + Enc(0) * z == Enc(y). Client can decrypt Enc(y) and get the value y. Server received three ciphertexts, but does not know which one of them was encryption of zero or one, because the multiplications and additions that the server did, never leak the underlying value.

This gives some intuition on how PIR works, actual schemes are more efficient.

[Disclosure: I work on the team responsible for the feature]


Does the server reads specific rows from spam numbers DB or the whole database?


In this PIR model the server has to read the whole database, otherwise it would be easy on the server to see, that these rows were not accessed and therefore they are not the one the client queried.

In this PIR model the server runtime is O(n) where n is the number of rows.

To keep it practical, we do support sharding the database. Client leaks a few bits of hashed query to pick the right shard, where we process the entire shard. There is a inherent privacy-performance tradeoff: less shards = less leakage vs more shards = better performance & less privacy.


Thanks for explanation. I will read the code to see how sharing works.


https://github.com/apple/swift-homomorphic-encryption/blob/3...

Run SHA256 on the keyword, truncate the hash and take the modulus with number of shards.


> That's a strange use of 'use'? Clearly, talking to some software over the network is 'using' it?

The point is that the proprietary client software was not used.


That makes sense.


How is this different from CrossOver?


It’s just an easy way to get started with GPTK. Crossover has support for GPTK now too, so you can use that if you want.


Didt things got better lately? I had very limited success with crossover circa 2021. And that's from a point of view from someone who have no Windows actively running on personal devices. Comparing to what I get in my Linux AMD GPU machine crossover seems to be not as good.


CrossOver now supports the GPTK, which lets you run DX12 games.


Does Crossover use the native Mac interface tools?


Yes, it’s entirely AppKit.


They have a handy-dandy little comparison table on their Wiki. [0]

[0] https://github.com/Whisky-App/Whisky/wiki/A-Hitchhiker's-Gui...


> hardware-accelerated PIR which is currently at use at scale.

Can you tell us more about that?


> The Sensitive Content Analysis framework enables third-party developers to integrate Communication Safety in their apps. The framework allows developers to detect if content that children receive or attempt to send in their apps may contain nudity, and developers can add protections in their apps when sensitive content is detected.

https://www.apple.com/child-safety/


Thanks. This feature is described as optional for 3rd party apps and a claim is made that the information is not sent off the device. Assuming this is true, I take back my criticism about the policy being invasive.


The reloading part reminded me about https://www.jrebel.com/


Right, we are not doing anything in the hot reloading area. We are depending on either the jvm vendor provided hot reloading or jrebel


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

Search: