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

I have a few questions.

In that system does the age verification result come with some sort of ID linked to my government issued ID card? Say, if I delete my account on a platform after verifying and then create a new one, will the platform get the same ID in the second verification, allowing it to connect the two and track me? Or is this ID global, potentially allowing to track me through all platforms I verified my age on?

What a verification process looks like from the user perspective? Do I have to, as it happens now, pull out my phone, use it as a card reader (because I don't have a dedicated NFC device on my computer), enter the pin, and then I'll be verified on my computer so I can start browsing social media feed? Or, perhaps, you guys have come up with a simpler mechanism?


The wallet ecosystem is still really varied at the moment. Our implementation is unlinkable. So an issuer cannot track where you use the attribute. And a verifier cannot see that you've used the same attribute multiple times with their system. This is great for privacy and tracking protection, but not so great for other things. For example, people sending their QR codes to other people with the correct attribute (like maybe an underage person sending an 18+ check to an adult), is hard to solve for because they are unlinkable.

Most systems right now have you load data in your phone. Then when a check happens, you scan a QR code. You then get a screen on your phone saying X wants to know Y and Z about you, do you want to share this information? Then you just choose yes or no.

For your social media example. You would just get a QR code on your pc, then pull out your phone, scan and verify, then start browsing social media on your pc.


In the Swiss system, it depends on what they verified. If they required your full ID, that has a document number like a passport and they could track that.

If they did the right thing and only asked for the over 18 bit, then they wouldn't have a trackable identifier.


You are describing a situation where a pairwise pseudonymous identifier is generated. I don't think any real system does this with government IDs, but it might be possible.

> We previously explored Swift, but the C++ interop never quite got there

But Rust doesn't have C++ interop at all?


You can do it via the C ABI, and use opaque pointers to represent higher-level Rust/C++ concepts if you want to.

Firefox is a mixed C++ / Rust codebase with a relatively close coupling between Rust and C++ components in places (layout/dom/script are in C++ while style is in Rust, and a mix of WebRender (Rust) and Skia (C++) are used for rendering with C++ glue code)


> You can do it via the C ABI, and use opaque pointers to represent higher-level Rust/C++ concepts

Yeah but, you can do the same in Swift


My understanding from a brief read of the Swift issue is that they kept running into bugs in the Swift compiler which, in practice, prevented them from doing the things that they ought to be do in theory. This went on for long enough, that they got fed up and abandoned Swift.

The Rust compiler is incredibly solid (across all target platforms), and while it's C/C++ interop is relatively simplistic, what does exist is extensively battle tested in production codebases.


>But Rust doesn't have C++ interop at all?

It also doesn't have the disadvantages of Swift. Once the promise of Swift/C++ interop is gone there isn't enough left to recommend it.


I’m curious what issues people were running into with Swift’s built in C++ interop? I haven’t had the chance to use it myself, but it seemed reasonable to me at a surface level.

There's a list of unsolved problems in this Ladybird issue, now closed because they dropped Swift: https://github.com/LadybirdBrowser/ladybird/issues/933

for example: "Swift fails to import clang modules with #include <math.h> with libstdc++-15 installed. Workaround: None (!!)"


Yeah, that part doesn't make much sense to me. IMO, Swift has reasonably good C++ interop[1] and Swift's C interop has also significantly improved[2] since Swift 6.2.

[1]: https://www.swift.org/documentation/cxx-interop/

[2]: https://www.swift.org/blog/improving-usability-of-c-librarie...


It may have in the future. Crubit is one effort in this direction: https://crubit.rs/

There is also cxx.rs, which is quite nice, albeit you have to struggle sending `std` types back and forth a bit

> albeit you have to struggle sending `std` types back and forth a bit

Firefox solves this partly by not using `std` types.

For example, https://github.com/mozilla/thin-vec exists in large part because it's compatible with Firefox's existing C++ Vec/Array implementation (with the bonus that it's only 8 bytes on the stack compared to 24 for the std Vec).


Luckily, ladybird also does not use `std` types

It's technically Rust -> C -> C++ as it stands right now

Rust has cxx which I would argue is "good enough" for most use cases. At least all C++ use cases I have. Not perfect, but pretty damn reasonable.

So nice to see another person being that enthusiastic about ray tracing! I didn't do a comparable level of work in this field, but as a hobby this fascinates me a lot!

One common misconception is that ray tracing is computationally prohibitive. It was, but no longer so; it's a target within our reach, especially so when there's GPU with hardware acceleration for ray casting.

Many games use ray tracing for partial scene processing, and of course they all work in real time. My favourite example is Metro Exodus with ray traced global illumination, which works on last gen graphics hardware pretty well. Not all games use the technology efficiently, but the trend is already obvious: with accessible real time ray tracing rendering the scene will become a much easier task.

P.S. I used "ray tracing" when more accurately I should have used "path tracing", but I prefer to use a single term to encompass the whole technology with all its variants.


LoC is a good code quality metric, only it has to be inverted. Not "it wrote C compiler in 100 000 lines of code", but "in just 2000 lines of code". Now that is impressive and deserves praise.


I don't want to maintain an information system written in the style of code golf competitions, either.

I like the author's proposed "Comprehension coverage" metric. It aligns well with Naur's Programming as Theory Building.


Not necessarily.

If I minimize my project and get everything on one line, is that good? I think not.

Measuring success based on how may or how few lines there are is a bad idea, I think.


this is also easily gameable. Any language can easily be converted into a single LOC


As someone from game development, not supporting Vulkan on Android and sticking with OpenGL ES instead is a safer bet. There is always some device(s) that bug out on Vulkan badly. Nobody wants to sit and find workarounds for that obscure vendor.


I expect more kids will switch to playing more games on their phones with their friends. Whoever thinks the kids will instead put down their phones and starting go out more often has lost touch with reality.


This is still a trillion times better than the Antisocial media of today. At least they'll interact with their friends.

Online competitive games at least require you to work your brain.


You don't understand, we're going back to the good old days.

Kids will go back to rolling hoops and playing jacks in the street, they'll write letters to each other in cursive, because print is addictive, and we can finally go back to the time where if a kid is even a little bit different from those around them, they're robbed of having any type of social support system that doesn't ostracize them.


They pushed them out of Italy, which forced mafia to adapt in the US, eventually becoming richer and stronger. A much more powerful transnational mafia returned back to Italy.


by "they" do you mean Mussolini?

What exactly Leonardo Sciascia mean in his "Porte Aperte" is the fascism merely "anesthetize" the mafia rather than eradicating it (gaining temporary Sicilian consent through illusionary repression)


It was the opposite. US mobile operator stores charged upward of 50% to sell stuff on their feature phones, with cherry on top in the form of paid submissions.


You think that's bad? Grugnar charge 80% to sell rocks in front of cave, but Grugnar killed by Bugluk and then cave belong to Bugluk. Bugluk eat you and take rocks if you try sell in front of cave.


I'm replying to the statement that 30% was always a bad deal, by providing an example that shows that it was a clear improvement on the market of mobile development (as others did the same in this comments section).

In your cavemen logic the closest example would be that nobody killed the first guy; he was forced out of business because a new cave opened nearby and they were selling rocks much cheaper.


On the contrary. There is an ongoing DoJ antitrust case against Apple with a long list of grievances. Most of those were already addressed by Apple (since the case was filed a pretty long time ago) the rest will be tested in the courtroom in the following years.

Those cases take a long time.


Epic lost on 9 counts out of 10 in the original lawsuit. The one they won is being appealed and in the process Fortnight was ordered to be reinstated in the US. I wouldn't bet that this arrangement will survive appeals.


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

Search: