00:14:53  * ralphtheninjaquit (Ping timeout: 240 seconds)
00:17:13  * dominictarrjoined
00:27:06  * no9quit (Ping timeout: 264 seconds)
00:46:21  * thl0joined
00:48:40  * timoxleyjoined
00:52:58  * st_lukequit (Remote host closed the connection)
01:00:04  * eugenewarequit (Remote host closed the connection)
01:00:41  * eugenewarejoined
01:12:08  <levelbot>[npm] polyclay@1.4.1 <http://npm.im/polyclay>: a schema-enforcing model class for node with optional key-value store persistence (@ceejbot)
01:25:03  * dominictarrquit (Quit: dominictarr)
02:09:38  * julianduquequit (Ping timeout: 268 seconds)
02:11:31  * julianduquejoined
03:03:33  * werlequit (Quit: Leaving.)
03:08:30  * piklu_joined
03:09:12  * pikluquit (Ping timeout: 240 seconds)
03:09:12  * piklu_changed nick to piklu
03:24:40  * thl0quit (Remote host closed the connection)
04:31:35  <mbalho>rvagg: i forget, what was your opinion on making levelup do less buffer/string specific checks so that i can make it work in the browser?
04:56:20  <mbalho>nsa presentation on graph data http://www.pdl.cmu.edu/SDI/2013/slides/big_graph_nsa_rd_2013_56002v1.pdf
04:56:40  <mbalho>"Distributed hkey, valuei repositories
04:56:41  <mbalho>Much better for storing a distributed, dynamic graph than a
04:56:41  <mbalho>distributed filesystem like HDFS."
04:56:58  <mbalho>"Google BigTable paper inspired a small group of NSA researchers
04:56:59  <mbalho>to develop an implementation with cell-level security"
04:56:59  <mbalho>hah
04:57:08  <mbalho>Accumulo, Open-sourced in 2011 under the Apache Software Foundation
05:30:33  <rvagg>mbalho: my opinion.. is... that I hope we can expose the encoding stuff so that it can be more easily replaced
05:30:44  <rvagg>like this: https://github.com/nharbour/byteup but easier and cleaner
05:31:01  <rvagg>allowing you to replace the buffer stuff with that browser compatible buffer lib that I can't remember the name of
05:31:51  <mbalho>rvagg: chrisdickinson/bops
05:31:57  <eugeneware>rvagg: yeah it would be nice if the levelup API made it a bit easier to put in your custom codecs without having to modify the utils stuff directly.
05:32:09  <mbalho>rvagg: ok im willing to do work on this, im at a point where i need to get levelup working in the browser
05:32:24  <eugeneware>typedarrays?
05:32:38  <mbalho>eugeneware: check that repo
05:32:53  <rvagg>eugeneware, mbalho: it ought to not be too difficult to just expose that on individual dbs, the problem is that it needs 3 things: encode, decode and a flag that indicates whether it needs to request a buffer or a string from leveldown on get/iterators
05:33:20  <rvagg>https://github.com/rvagg/node-levelup/issues/51
05:33:22  <rvagg>discuss
05:33:43  <rvagg>or communicate via pull request if that's your preferred discussion language
05:34:08  <eugeneware>:-)
05:34:38  <rvagg>so just to reiterate, the problem with the levelup/leveldown interaction is that leveldown needs to know for each get operation whether it needs to return as a buffer or as a string, if it can return a buffer then it should be cheaper
05:34:45  <mbalho>rvagg: didnt we discuss something like a way to tell levelup to stop messin with shit
05:34:58  <rvagg>so even though you may not care for the browser, any extension mechanism here needs to take that into account
05:35:44  <rvagg>um, I'm not sure; there was a suggestion to replace Buffers completely with bops but unless I see benchmarks that show that there isn't a performance cost in that then I'm not jiggy with it
05:36:20  <mbalho>yea
05:55:15  * ralphtheninjajoined
05:57:10  * piklu_joined
05:59:08  * pikluquit (Ping timeout: 260 seconds)
05:59:08  * piklu_changed nick to piklu
06:02:13  * julianduquequit (Ping timeout: 276 seconds)
06:09:10  * ralphtheninjaquit (Quit: Lost terminal)
06:13:24  * timoxleyquit (Quit: Computer has gone to sleep.)
06:15:18  * piklu_joined
06:16:18  * pikluquit (Ping timeout: 268 seconds)
06:16:18  * piklu_changed nick to piklu
06:37:55  * mariusursachejoined
06:43:50  * timoxleyjoined
07:00:08  * mariusursachequit (Quit: mariusursache)
07:03:54  * mariusursachejoined
07:06:22  * levelbotquit (Remote host closed the connection)
07:06:45  * levelbotjoined
07:06:47  * dominictarrjoined
07:17:39  * no9joined
07:35:55  * levelbotquit (Remote host closed the connection)
07:36:12  * levelbotjoined
08:14:28  * Raynosquit (Ping timeout: 260 seconds)
08:19:01  * ralphtheninjajoined
08:20:05  * ralphtheninjaquit (Client Quit)
08:21:17  * ralphtheninjajoined
08:30:35  * ChrisPartridgequit (Ping timeout: 256 seconds)
08:31:54  * pikluquit (Ping timeout: 264 seconds)
08:34:43  * no9quit (Ping timeout: 264 seconds)
08:41:17  * piklujoined
08:48:02  * no9joined
09:01:38  * mariusursachequit (Quit: mariusursache)
09:05:07  * mariusursachejoined
09:12:01  * mariusursachequit (Quit: mariusursache)
09:15:09  * piklu_joined
09:15:35  * pikluquit (Ping timeout: 260 seconds)
09:15:36  * piklu_changed nick to piklu
09:30:56  * levelbotquit (Read error: No route to host)
09:31:23  * piklu_joined
09:32:30  * pikluquit (Ping timeout: 264 seconds)
09:32:30  * piklu_changed nick to piklu
09:32:34  * dominictarrquit (Quit: dominictarr)
09:38:34  * ralphtheninjaquit (Quit: Lost terminal)
09:51:15  * mbalhoquit (Read error: Operation timed out)
09:54:33  * mbalhojoined
09:55:45  * pikluquit (Ping timeout: 248 seconds)
09:59:26  * piklujoined
10:12:13  * dominictarrjoined
10:12:34  * Raynosjoined
10:16:40  <dominictarr>juliangruber: is this line is list server correct:
10:17:02  <dominictarr>var server = Server(db.sublevel('cool').sublevel('cats'));
10:17:27  <dominictarr>because after that you do var dbServer = Server(db);
10:17:28  <dominictarr>http.createServer(dbServer.serve.bind(dbServer)).listen(8000);
10:17:32  <juliangruber>dominictarr: yes
10:17:41  <juliangruber>you start the http server on the whole db
10:17:49  <dominictarr>what does Server(db.sublevel(…)) do?
10:17:49  <juliangruber>but expose only a sublevel to a client / plugin
10:18:11  <juliangruber>Server(db.sublevel('…')).createWriteStream('my-file.png')
10:18:15  <juliangruber>you can store files in there
10:19:07  <juliangruber>you can basically store files and then serve them over http
10:19:24  <dominictarr>right - I understand that it's about serving files
10:19:41  <dominictarr>what is confusing me is how it relates to sublevel
10:20:11  <dominictarr>like - just passing it the sublevel once should be enough information
10:20:57  <juliangruber>when using sublevels you get authentication for free
10:20:59  <juliangruber>so imagine
10:21:03  <juliangruber>one user is logged in
10:21:17  <juliangruber>he then can do whatever he wants with his level-serve instance
10:21:21  <juliangruber>because it is tied to a sublevel
10:21:24  <juliangruber>not the whole db
10:21:29  <juliangruber>the server however server the whole db
10:21:37  <juliangruber>so when a user stores something in his sublevel
10:21:46  <juliangruber>and then calls server.url('my-file.png')
10:21:56  <juliangruber>the resulting url will be /files/<username>/my-file.png
10:23:22  <dominictarr>sure - but that isn't my concern
10:24:14  <dominictarr>this line https://github.com/Wayla/level-serve/blame/master/README.md#L52
10:24:14  <juliangruber>what is your concern then?
10:24:41  <dominictarr>how come the server = Server(…); // the var server is never used again?
10:24:51  <dominictarr>oh no
10:25:25  <dominictarr>oh - so you create two servers, but you use one only to insert a file!
10:25:48  <juliangruber>yes
10:25:50  <juliangruber>:)
10:25:51  <juliangruber>ok
10:25:54  <dominictarr>then you create a server around the whole database
10:25:56  <juliangruber>i should state that more clearly
10:26:25  <dominictarr>it looked to me like the two calls to Server(…) where communicating some mysterious way
10:26:43  <dominictarr>(and they where! by inserting stuff into the database!)
10:27:02  <juliangruber>mhm
10:27:07  <juliangruber>so basically one is read only
10:27:17  <juliangruber>and the other one is write-enabled but only to a certain section
10:27:23  <dominictarr>the global one
10:28:16  <dominictarr>what if you just mapped directories to sublevel? (or the bottom directories?)
10:28:59  <juliangruber>sublevels are directories in that case
10:29:16  <juliangruber>updated the https://github.com/Wayla/level-serve/commit/f0ce63e3bda571297b8b93f20eb19c9d7e4a3562
10:29:22  <juliangruber><3 sublevel
10:57:50  * chirinojoined
11:02:24  * no9quit (Read error: Operation timed out)
11:04:37  * rescrvquit (Read error: Connection reset by peer)
11:04:47  * dominictarrquit (Ping timeout: 260 seconds)
11:09:15  * timoxleyquit (Quit: Computer has gone to sleep.)
11:10:28  * rescrvjoined
11:11:33  * piklu_joined
11:11:48  * pikluquit (Ping timeout: 260 seconds)
11:11:48  * piklu_changed nick to piklu
11:18:07  * no9joined
11:19:28  * thl0joined
11:51:34  * timoxleyjoined
11:56:34  * Acconutjoined
11:56:54  * Acconutquit (Client Quit)
11:59:16  * dominictarrjoined
12:02:36  * thl0quit (Remote host closed the connection)
12:03:59  * thl0joined
12:09:19  * thl0quit (Remote host closed the connection)
12:09:45  * thl0joined
12:34:08  * ChrisPartridgejoined
12:58:12  * thl0quit (Remote host closed the connection)
12:58:48  * thl0joined
13:02:56  * thl0_joined
13:03:03  * thl0quit (Read error: Connection reset by peer)
13:04:19  <no9>FYI https://twitter.com/leveldbtweets
13:05:15  * thl0_quit (Remote host closed the connection)
13:06:15  <rvagg>heh, nice
13:20:45  <no9>ty
13:29:33  * thl0joined
13:36:09  * no9quit (Ping timeout: 252 seconds)
13:40:30  * ramitosjoined
13:44:53  * Acconutjoined
13:45:06  * Acconutquit (Client Quit)
13:49:00  * no9joined
14:14:11  * brianloveswordsquit (Excess Flood)
14:15:16  * brianloveswordsjoined
14:35:02  * werlejoined
14:36:49  * no9quit (Ping timeout: 248 seconds)
14:48:55  * no9joined
15:38:43  * mreviljoined
15:39:32  * mrevil_joined
15:43:27  * mrevilquit (Ping timeout: 256 seconds)
15:52:38  * no9quit (Quit: Leaving)
16:48:49  * timoxleyquit (Quit: Computer has gone to sleep.)
17:29:01  * rvaggtopic: there is no topic
17:32:51  * thl0joined
17:45:34  * thl0_joined
17:45:34  * thl0quit (Read error: Connection reset by peer)
18:15:26  * dominictarrquit (Quit: dominictarr)
18:22:13  * dropdrivequit (*.net *.split)
18:22:29  * dropdrivejoined
18:30:42  * mariusursachejoined
18:39:15  * Acconutjoined
18:58:23  * st_lukejoined
19:20:24  * Acconutquit (Ping timeout: 240 seconds)
19:28:32  * dominictarrjoined
19:44:54  * no9joined
19:45:41  <piklu>wazz up guys
19:45:44  <piklu>anybody here?
19:48:21  * st_lukequit (Remote host closed the connection)
19:52:46  * Acconutjoined
19:54:05  * mariusursachequit (Quit: mariusursache)
19:55:47  * ralphtheninjajoined
20:12:42  * no9quit (Ping timeout: 241 seconds)
20:16:30  * st_lukejoined
20:22:10  * st_lukepart
20:31:56  * Acconutquit (Quit: Acconut)
20:57:02  * julianduquejoined
21:58:49  * no9joined
22:08:34  * st_lukejoined
22:12:02  * thl0_quit (Remote host closed the connection)
22:28:17  * werlequit (Quit: Leaving.)
22:47:43  * st_lukequit (Remote host closed the connection)
22:48:50  * st_lukejoined
23:04:14  * mrevil_quit (Remote host closed the connection)
23:04:47  * dominictarrquit (Quit: dominictarr)
23:04:48  * mreviljoined
23:09:02  * mrevilquit (Ping timeout: 246 seconds)
23:15:18  * ralphtheninjaquit (Ping timeout: 252 seconds)
23:22:29  * thl0joined
23:27:25  * thl0quit (Ping timeout: 276 seconds)
23:34:05  * mreviljoined
23:42:24  * mrevilquit (Ping timeout: 240 seconds)
23:53:34  * juliandu1uejoined
23:53:45  * julianduquequit (Disconnected by services)
23:53:48  * juliandu1uechanged nick to julianduque
23:53:53  * julianduquequit (Changing host)
23:53:53  * julianduquejoined