brianhempel

Joined 15 years ago

Karma
63
Submissions
26
Member since
Oct 21
Something I made: https://sneakynote.com

[ my public key: https://keybase.io/brianhempel; my proof: https://keybase.io/brianhempel/sigs/EDzJfzCMT37hI9g7tQUuQwOFIaKtcMRQIf4kQNoEyP8 ]

View on Hacker News

Recent submissions

Comment · 9 years ago
Correct: if adding a variable for a literal used as a parameter for a function call, the argument name in the function definition is used (provided we can figure out which function was called!).

There are multiple name suggestions when:

(1) Multiple items are being replaced and each replaced item had a different name.

(2) There would be a name collision. To resolve the collision, either one or the other variable can be renamed.

Comment · 11 years ago
Comment · 11 years ago
I like the colors.

Most browsers these days implement window.crypto.getRandomValues() so you could use that and do the generation client-side in Javascript. That way, I don't have to trust that you're not storing these passwords in preparation for a later attack.

Comment · 11 years ago
Author here. There are other services that do this sort of thing, but none that accomplished all these goals:

1. Browser-encrypted so the server cannot decrypt it. The decryption key is stored in the URL fragment after the # so the server never sees the decryption key. (Fragments are not sent in HTTP requests.)

2. Secrets never touch disk. SneakyNote.com even goes to lengths to clear the in-memory buffers on storage/access.

3. Verified delivery. If you're going to send the link over an insecure channel, you can't prevent someone else from getting to it first. But you'd like to know if they replaced your link. The verification code step solves this problem.

4. Open source.

Incidentally, this is written in Go because it of its good HTTP support and because Go is a memory-safe language that will also allow you to clear memory.

Comment · 12 years ago
Police are trained only to shoot to kill because pulling the trigger needs to be a big event. If you think that "shoot to wound" is an option, then of course you're going to pull the trigger more often. You'll become more comfortable shooting people and, presumably, you'll also end up killing people more often.

Other reasons for "shoot to kill" relate to effectiveness: in the energy of the situation if you aim to wound you may either kill by accident, or not hit at all.

Comment · 12 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton