hperrin

joined 1 year ago
[–] hperrin@lemmy.ca 1 points 1 hour ago* (last edited 1 hour ago)

Basically, in public key cryptography, you can generate a set of two big numbers that are mathematically related, one called the private key and one called the public key, collectively called a key pair.

Through a lot of fancy math, you, with your private key, can take a number I give you and give me back another number called a signature. I, with your public key, can do even more fancy math to prove that you do, in fact, have the corresponding private key to the public key I have, based on this signature.

If you give me the wrong signature, I can’t trust that you have the private key, and you don’t get authenticated, but if you give me the right signature, I can trust that you’re you, and you get authenticated.

[–] hperrin@lemmy.ca 1 points 1 hour ago* (last edited 1 hour ago)

A number of things. The key is stored on and accessed by a separate coprocessor from the CPU, so the CPU doesn’t even know the private key. That takes its own protocol, over i2c, usb, Bluetooth, etc. Then the browser has to coordinate that protocol to communicate with the web protocol from the frontend JS. There’s also the concept of server verification, so it’s a more complicated handshake than just one signature going one way. Then, of course, there’s the inherent complexity of public key cryptography in general, but you only need to worry about that if you’re writing it from scratch with no library.

From a basic web dev perspective, it’s not much more complex than a password, but that’s because the complexity of the protocols is hidden behind the libraries. A password actually isn’t complex, even when you remove the libraries.

(The private key does not have to live in a separate coprocessor, but that’s the most secure method, and the one covered by the protocol.)

[–] hperrin@lemmy.ca 1 points 8 hours ago (2 children)

Here, these specs are what they’re based on:

https://passkeys.dev/docs/reference/specs/

[–] hperrin@lemmy.ca 1 points 15 hours ago

I think kid stuff is fine to like. Legos even say on the box you’re allowed to play with that until you turn 100. I think playing with toddler toys is probably a bit sad though, just cause that’s indicative of a psychological problem to me. But I’m not gonna tell someone what toys they can and can’t play with.

[–] hperrin@lemmy.ca 17 points 20 hours ago* (last edited 20 hours ago)

Yes, kind of. You’re still giving them your password every time you log in. And it’s on them whether they store it hashed or in plain text. With a passkey, you know that even if they’re hacked, they’ll never get your actual private key.

But, if they’re hacked, your key is probably the least of your concerns.

[–] hperrin@lemmy.ca 38 points 1 day ago (14 children)

A passkey is a key pair where you keep the private key and give the public one to the service. Then you can log in by proving you have the private key. Fairly simple in theory. Horribly complex in practice.

[–] hperrin@lemmy.ca 35 points 1 day ago (1 children)

If Russia wanted peace in Ukraine, they’d just leave. They don’t want peace in Ukraine, they want Ukraine.

[–] hperrin@lemmy.ca 3 points 1 day ago

That’s a great star. Very nice. Good tree. 10/10

[–] hperrin@lemmy.ca 50 points 1 day ago

That’s cool. AI can do art and writing and video games for me. It can watch all my shows. All I have to do is work and maybe sleep. Sounds fun.

[–] hperrin@lemmy.ca 29 points 1 day ago (4 children)

Birds are reptiles in the same sense that people are fish.

[–] hperrin@lemmy.ca 35 points 1 day ago (10 children)

Centering a div is pretty fucking easy nowadays. What’s way harder is aligning a god damned SVG icon with text.

[–] hperrin@lemmy.ca 58 points 2 days ago

Oh boy, I can’t wait to pay $800 more a month for health insurance that doesn’t cover anything I actually need. I’m so glad half the country is dumb as rocks and thought this guy was anything other than a rapist pedophile grifter who actively hates this country and its people.

 
 

My first app on Flathub: Stream Overlay!

If you stream games on Linux, this can help you by showing your chat and alerts on your screen on top of your game.

 

cross-posted from: https://lemmy.ca/post/43297441

I just started working on a self hosted Android & iOS ereader app. I’d like to know what features you would like to see if you use this kind of app.

Current Planned Features

  • Support for EPUB, TXT, and HTML ebooks.
  • Syncing over WebDAV. (Bring your own server. I’m not hosting people’s pirated libraries.)
  • Multiple libraries (a WebDAV server is a library), and multiple users per library.
  • Current progress from offline reading will get synced when back online.
  • Dark mode.
  • Custom fonts and themes.
  • Text to speech.
  • Keep awake.
  • Orientation lock.
  • Open source. (GPL license)
  • Native apps using React Native.
  • Animations can be turned completely off.
  • Really good e-ink screen support.
  • Tablet and phone sized device support.

Background

I use a Boox Palma, but sometimes I don’t have it with me, and I’d like to read on my iPhone.

With the current ereaders I know of, there’s always some downside. Syncing costs money, rendering is janky, page turn animations can’t be disabled, themes cost money (really???), no cross platform support, etc.

I want to learn how to build native apps with React Native, so I’m using this as a learning project. I’m not trying to make money on it, so it’ll be open source, and you have to have your own WebDAV server with all your ebooks on it to sync.

Non-Planned Features

Some things I just can’t do or won’t help me learn, so I’m not going to do them.

  • PDF support. (Maybe in the future, but not the initial version.)
  • Web app. (I don’t want to host it.)
  • Kindle app. (React Native doesn’t support them.)
  • Syncing over anything but WebDAV. (I’ll be using WebDAV properties, and I’m not interested in doing any other providers.)

So I’d like to know, what are some features you would like to see, and what are the pain points you’ve experienced with your current ereader apps?

view more: next ›