00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:10:32  * phatedjoined
00:14:58  <substack>jfhbrook: yep
00:16:51  <jfhbrook>nice
00:17:19  <jfhbrook>I'm chillin' in ny this thanksgiving cause I was just home in july
00:19:22  <substack>i'm thinking about an ak trip in april or may
00:19:36  <jfhbrook>yeah? I'm gonna hold out until next thanksgiving
00:19:47  <jfhbrook>it's the best one for family reunions
00:20:28  <jfhbrook>does your fam get into the holidays substack ?
00:26:47  <substack>moderately
00:28:12  <mikolalysenko>I like thanksgiving
00:28:42  <mikolalysenko>will be passing through chicago on the way back to visit my parents on wednesday
00:28:43  <jfhbrook>I find it's a good opportunity to get in a political argument with someone
00:29:01  <jfhbrook>did you move to the bay mikolalysenko ?
00:29:07  <mikolalysenko>working on it
00:29:12  <jfhbrook>I've seen you talking about sudo room a lot
00:29:33  <mikolalysenko>yeah, I'm excited to change things up a bit
00:29:58  <mikolalysenko>are you still in new york?
00:31:08  <jfhbrook>yeah
00:35:59  * pfrazequit (Remote host closed the connection)
00:45:00  * dguttmanjoined
00:47:28  <mafintosh>mikolalysenko: do have any implemention of a binary search tree that persists to disk?
00:48:04  <mikolalysenko>mafintosh: no, most of my stuff is sort of focused on in-browser stuff
00:48:30  <mafintosh>mikolalysenko: okay. i'll guess i'll have to make one then :)
00:48:36  <mikolalysenko>mafintosh: go for it!
00:54:45  <substack>mafintosh: make one that accepts a chunk store as an argument
00:54:59  <mafintosh>substack: thats exactly what i need
00:55:01  <mafintosh>:)
01:00:37  * bigeasy_quit (Quit: ZNC - http://znc.in)
01:07:49  <mikolalysenko>mafintosh: substack is there something like an immutable chunk store out there?
01:08:08  <mikolalysenko>or basically one where you can create a chunk and it gives you some key
01:08:16  <mikolalysenko>and you can also retrieve a chunk by reading a key
01:08:45  <mikolalysenko>or maybe a "functional-chunk-store"
01:16:20  * pfrazejoined
01:35:24  <substack>mikolalysenko: many of the https://www.npmjs.com/package/abstract-blob-store modules work that way
01:35:35  <substack>particularly https://github.com/mafintosh/content-addressable-blob-store
01:35:56  <substack>but https://npmjs.com/package/abstract-chunk-store is about fixed-size mutable chunks
01:36:13  <mikolalysenko>hmm
01:36:36  <mikolalysenko>would be nice if content-addressable-blob-store used arrays/buffers instead of streams
01:36:49  <mikolalysenko>really just boring old uint8array would be best
01:37:39  <mikolalysenko>one thing that is sort of annoying with that is that you need to give the key, while the ideal thing would be for the store to give you the key
01:40:30  <substack>real bsd license http://gist.cs.berkeley.edu/libgist/readme.html
01:41:20  <substack>mikolalysenko: content-addressable-blob-store gives you the key
01:42:22  <mikolalysenko>substack: yeah, though it is still kind of annoying taking a stream as input
01:42:45  <mikolalysenko>it adds a lot of overhead and also make things with .finish() etc. cumbersome
01:42:51  <mikolalysenko>sort of the same problem middleware has
01:43:24  <mikolalysenko>instead of passing parameters to callbacks, you mutate shared stateful objects like requests/response pairs etc
01:43:49  <mikolalysenko>really I want content-addressable-chunk-store
02:01:04  * adamdicarloquit (Remote host closed the connection)
02:06:06  <mafintosh>mikolalysenko: thats what i'm working on
02:07:14  <mikolalysenko>great!
02:07:41  <mikolalysenko>is this what the tree is for?
02:09:37  <mikolalysenko>I think that a boring old hash table ought to work better for something like this
02:21:24  * phatedquit (Remote host closed the connection)
02:21:56  * phatedjoined
02:26:38  * phatedquit (Ping timeout: 260 seconds)
02:43:44  <mafintosh>mikolalysenko: you're probably right
02:44:05  <mafintosh>mikolalysenko: any good ondisk impl of a hash table you know about?
02:44:21  <mikolalysenko>mafintosh: again, I mostly work on browser stuff so no idea
02:44:27  <mafintosh>hehe
02:45:13  <mikolalysenko>but: you already got the hash function, so you are almost there
02:45:28  <mikolalysenko>the only decision you need to make is to figure out how to handle hash collisions
02:46:34  <mikolalysenko>assuming your input data is non-adversarial, linear probing is actually quite good
02:46:35  <mikolalysenko>https://en.wikipedia.org/wiki/Linear_probing
02:46:45  <mikolalysenko>see the section on the bottom regarding the analysis
02:47:13  <mikolalysenko>and if you are using strong hashes like sha which is way overkill, then I think you could use something like that
02:47:30  <mikolalysenko>the other option is to just stick the hash strings in a trie, but it makes look up slower
02:47:58  <mikolalysenko>http://www.siam.org/meetings/alenex05/papers/13gheileman.pdf
02:48:13  <mikolalysenko>even though they teach you linear probing is bad in school, it is secretly really good
02:48:21  <karissa>mikolalysenko: i was about to say
02:48:25  <mikolalysenko>provided your hash function is pretty good
02:48:36  <mikolalysenko>that last bit needs a * for it
02:48:54  <mafintosh>lol nic
02:48:54  <mafintosh>e
02:49:43  <mikolalysenko>this paper was the one that changed my mind on it: http://arxiv.org/abs/1011.5200
02:50:39  <karissa>mikolalysenko: thats a lot of math
02:51:28  * adamdicarlojoined
02:52:03  * jiangplusjoined
02:52:43  <jfhbrook>karissa: was that you that gave the dat talk at empirenode? or am I thinking of someone else?
02:52:53  <karissa>jfhbrook: yep that was me!
02:53:30  <jfhbrook>so, when people asked me if I saw anything at the conference that was fresh and new and not something already being done, I thought of your talk
02:53:36  <jfhbrook>¯\_(ツ)_/¯
02:53:44  <karissa>jfhbrook: aw thanks :)
02:54:25  <jfhbrook>yeah, and it's cool seeing dat become feature-complete and useful and stuff, I was a grad student once and I think there are a lot of unsolved problems in that space
02:55:09  <jfhbrook>one question though, and I admit I'm being lazy by not googling first: are there like SDKs for matlab and stuff like that?
02:55:21  <jfhbrook>or do you not really use it that way?
02:55:21  <karissa>jfhbrook: totally. hopefully soon we will have a 1.0 prototype, we'd love to have you try it out
02:55:43  <jfhbrook>yeah, unfortunately (or fortunately, maybe?) I work on CMSs these days
02:55:44  <karissa>jfhbrook: ah
02:56:17  * adamdicarloquit (Ping timeout: 246 seconds)
02:58:19  <mikolalysenko>karissa: the math may be a bit complicated, but if you scroll down to the bottom of that paper they have some graphs that show the performance of tabulation hashing for different input distributions
02:58:29  <mikolalysenko>and the neat thing is that the curve is pretty much flat
02:59:13  <mikolalysenko>so you get something very close to constant
03:00:07  <mikolalysenko>still the analysis is subtle and it is not an easy thing to teach in a course without devoting a lecture or two to it
03:16:01  * phatedjoined
03:16:26  <ogd>wa7son: https://soundcloud.com/destroy-with-science/workaround-live-at-jsconfasia-2015
03:16:42  * phatedquit (Remote host closed the connection)
03:23:30  * joepie91quit (Remote host closed the connection)
03:23:59  * joepie91joined
03:23:59  * joepie91quit (Changing host)
03:23:59  * joepie91joined
03:43:20  * phatedjoined
04:00:45  * phatedquit (Remote host closed the connection)
04:15:40  * dguttmanquit (Quit: dguttman)
04:37:28  * jiangplusquit (Ping timeout: 272 seconds)
04:40:08  * adamdicarlojoined
04:44:15  * adamdicarloquit (Ping timeout: 240 seconds)
04:54:27  * prettyrobotsjoined
04:59:36  * phatedjoined
05:28:26  * phatedquit (Remote host closed the connection)
05:40:41  * adamdicarlojoined
05:45:41  * adamdicarloquit (Ping timeout: 272 seconds)
05:53:07  * pfrazequit (Remote host closed the connection)
06:22:17  * phatedjoined
06:23:03  * phatedquit (Remote host closed the connection)
06:29:33  * fotoveritequit (Quit: fotoverite)
06:30:16  * pfrazejoined
06:36:50  * fotoveritejoined
06:43:13  * fotoveritequit (Quit: fotoverite)
07:25:09  * AndreasMadsenjoined
07:29:06  * adamdicarlojoined
07:33:29  * adamdicarloquit (Ping timeout: 246 seconds)
08:10:19  * phatedjoined
08:14:46  * phatedquit (Ping timeout: 240 seconds)
08:16:39  * pfrazequit (Remote host closed the connection)
08:51:46  * AndreasMadsenquit (Remote host closed the connection)
08:59:35  * adamdicarlojoined
09:00:06  * AndreasMadsenjoined
09:04:04  * AndreasMadsenquit (Client Quit)
09:04:08  * adamdicarloquit (Ping timeout: 246 seconds)
09:11:18  * peutetrejoined
09:17:46  * peutetrequit (Ping timeout: 260 seconds)
09:27:44  * peutetrejoined
09:28:20  * AndreasMadsenjoined
09:30:56  * peutetrequit (Client Quit)
09:37:25  * peutetrejoined
09:40:46  * peutetrequit (Client Quit)
09:58:44  * phatedjoined
10:03:11  * phatedquit (Ping timeout: 264 seconds)
10:23:40  * phatedjoined
10:28:03  * phatedquit (Ping timeout: 250 seconds)
10:39:39  * AndreasMadsenquit
11:28:36  * myf_changed nick to myf
12:35:39  * adamdicarlojoined
12:40:18  * adamdicarloquit (Ping timeout: 260 seconds)
12:52:44  * jiangplusjoined
13:05:22  * jiangplusquit (Ping timeout: 260 seconds)
14:24:21  * adamdicarlojoined
14:28:35  * adamdicarloquit (Ping timeout: 246 seconds)
15:39:49  * adamdicarlojoined
15:44:15  * adamdicarloquit (Ping timeout: 240 seconds)
15:59:28  * dguttmanjoined
16:05:49  * pfrazejoined
16:50:15  * shamajoined
16:53:26  * AndreasMadsenjoined
16:59:53  * fotoveritejoined
17:12:31  * adamdicarlojoined
17:14:15  * ir2ivps8joined
18:23:36  * sethvincentjoined
18:43:24  * phatedjoined
18:46:46  * peutetrejoined
18:52:05  * sethvincentquit (Ping timeout: 252 seconds)
18:58:56  * dguttman_joined
18:59:47  * dguttmanquit (Ping timeout: 252 seconds)
18:59:48  * dguttman_changed nick to dguttman
19:08:12  * peutetrequit (Quit: ...)
19:11:17  * dguttmanquit (Ping timeout: 272 seconds)
19:14:18  * AndreasMadsenquit (Remote host closed the connection)
19:39:55  * dguttmanjoined
19:45:38  * AndreasMadsenjoined
20:25:34  * phatedquit (Remote host closed the connection)
20:35:59  * peutetrejoined
20:42:20  * phatedjoined
21:09:50  * peutetrequit (Quit: ...)
21:47:47  <ogd>jbenet: sorry we didnt meet up yesterday, i was coming down with a cold so its probably better we didnt meet irl this time
21:54:36  * peutetrejoined
22:09:46  * jiangplusjoined
22:21:12  * anandthakkerquit (Quit: leaving)
22:21:22  * anandthakkerjoined
22:23:21  * peutetrequit (Quit: ...)
22:24:37  * AndreasMadsenquit
22:28:53  * pfrazequit (Remote host closed the connection)
22:29:04  * jiangplusquit (Ping timeout: 272 seconds)
23:05:25  * no9joined
23:16:02  * sethvincentjoined
23:31:04  <jbenet>ogd: no worries! next time :)