HNHacker News
TopNewBestAskShowJobs

maxtaco

416 karma · joined March 10, 2011

Co-founder: SparkNotes, OkCupid, Keybase.io. Now working on FOKS (https://foks.pub).

MIT PhD 2008 from the PDOS group

[ my public key: https://keybase.io/max; my proof: https://keybase.io/max/sigs/qfuA9DvtaEpA5I3h42XnrOdlozCYGfn3nNsn492YAvU ]

submissionscomments
maxtaco··on Announcing TripleSec - JavaScript encryption combining Salsa20, AES, and 2fish
It scares me to use something other than something random here because any scheme to remember which nonces you've used before seems bug-prone and vulnerable. As for whether it's called a nonce or IV, I've seen it written as both and IV is 3 characters shorter :)
maxtaco··on Announcing TripleSec - JavaScript encryption combining Salsa20, AES, and 2fish
Agreed.
maxtaco··on Announcing TripleSec - JavaScript encryption combining Salsa20, AES, and 2fish
SJCL is good software and has good defaults for its high-level encrypt function `sjcl.json.encrypt`. It uses CCM so you don't have to MAC in addition to encrypting (as TripleSec does). Depending on what parameters and degree of safety you want for PBKDF2, you might wind up locking up the browser while your keys are being derived. It's hard to speed up this part of the encryption process because it's meant to be intentionally slow to prevent password cracking.

The biggest problem you'll have in building a secure chat app is establishing the connection in the first place. To do that, either the participants will have to share a secret, or there will have to be some sort of public-key based handshakes with certified public keys.

maxtaco··on Announcing TripleSec - JavaScript encryption combining Salsa20, AES, and 2fish
Hi, Max here. I'm happy to answer questions about TripleSec, so let me know.
maxtaco··on What Python developers need to know before migrating to Go
I wrote a little wrapper while at OkCupid for dealing with adhoc JSON objects in Go, available here: https://github.com/okcupid/jsonw
maxtaco··on CoffeeScript 1.3.0 is out
Thanks for the 1.3 release, I was running out of lowercase letters. I'll try to reply to these concerns in the pull-request, but have been busy. Also, looks like I have rebasing work to do....

The good news is that ICS is working well in practice for us, we're still really happy with it!

maxtaco··on Tame.JS: Flow-control by the makers of OkCupid.com
A key advantage of fibers of course is that they preserve exception semantics, whereas tame can't in all cases. I'm not too interested in reviving the stalemated thread v. event religious war. I prefer explicitly-managed events, but if others prefer a more thread-like API, by all means....
maxtaco··on Tame.JS: Flow-control by the makers of OkCupid.com
It's on the list of todos to preserve the input line-numbering in the output code. This would mean some changes to the code emitter, and also to the code emitted to preserve the ordering of statements.

In tame/C++, debugging either compiler or runtime errors is straight-ahead, as the developer doesn't need to examine the mangled code. Now if only JavaScript had the equivalent of cpp's #line directive....

maxtaco··on Tame.JS: Flow-control by the makers of OkCupid.com
My first thought for implementing tame.js was with yield, but V8 doesn't currently support it (though it's reserved as a "future" keyword). A direct use of yield (without anything like twait) would probably make node code look more like Python/Twisted code, which while better than the status quo, still can get unmanageable in my experience.

Agreed that twait conflates concurrency with blocking/callbacks, but it my experience, it's a natural and useful combination.

maxtaco··on Why did OKCupid write their own web server?
Send an email to userfeedback@okcupid.com, subject: gdulli, and I'll ask you to visit a few links. Thanks a lot, I really appreciate the help!
maxtaco··on Why did OKCupid write their own web server?
Manual memory management is for the birds. Use something like Boost's shared pointers and you never need to worry about it.
maxtaco··on Why did OKCupid write their own web server?
We rarely get complaints such as this one. Would you mind helping me debug it?
← PreviousPage 5 of 5