00:00:28  <rvagg>http://r.va.gg/2013/05/levelup-v0.9-some-major-changes.html if you haven't been tracking 0.9 stuff
00:08:45  <levelbot>[npm] [email protected] <http://npm.im/leveldown>: A Node.js LevelDB binding, primary backend for LevelUP (@rvagg)
00:11:07  <no9>rvagg PODCAST!
00:11:41  <rvagg>no9: Mikeal wants to do a NodeBase podcast to catch up on the developments each month or so
00:12:01  <no9>NodeBase??
00:12:25  <rvagg>yeah, that's the name he came up with
00:12:52  <no9>Hmmm is that gonna be whats new in mongo couch level etc?
00:13:09  <levelbot>[npm] [email protected] <http://npm.im/leveldown>: A Node.js LevelDB binding, primary backend for LevelUP (@rvagg)
00:13:16  <rvagg>no, more about developments in "The Node Database" world
00:13:42  <rvagg>he's just as passionate about building databases in Node as the rest of us and is excited about the rapid pace of development in the level* ecosystem
00:13:51  <rvagg>stuff Mongo
00:14:18  <no9>cool He is a good anchor man on nodeup
00:15:22  <no9>I was more thinking recording a group chat as juliangruber mentioned the other day
00:16:25  <rvagg>yeah, well I'm not sure this thing that Mikeal wants to do, particularly since it'll probably depend on Craig who does NodeUP and he seems to be too busy these days
00:16:38  <rvagg>people are super keen for info tho
00:17:55  <no9>Yup that blog post needs to be in aural form too
00:19:52  <no9>What extras does craig do? Other than the blippy fade in and out? (Not trying to belittle it)
00:20:17  <rvagg>heh, he does all the recording, cutting and lots of organising for it
00:20:45  <rvagg>he's actually the key to NodeUP but you wouldn't know it from just listening
00:21:17  <rvagg>no9: I want this guy to turn my blog posts into audio: http://gilesbowkett.blogspot.no/2013/01/a-dramatic-reading-of-rails-is-omakase.html
00:25:13  <no9>YES he looks like he would put on a bowler hat a pair of john lennon glasses and a french accent
00:26:12  <no9>I thought the recordings were captured on mixlr. Then he did the arrangements?
00:28:48  <rvagg>something like that
00:28:59  <rvagg>the recordings are pretty rough, sometimes it's multiple chunks pieced together
00:29:19  <rvagg>he manages the skype connections and feeds that in to mixlr
00:30:09  <no9>Ah so there is some whoo doo voodoo that we don't dare do
00:33:01  <no9>http://blog.mixlr.com/2013/01/re-thinking-the-mixlr-app/ seems handy enough
00:33:43  <rvagg>yeah, I'm sure it could be done without his voodoo, I'm just saying that Mikeal will probably rely on him for a NodeBase so I'm a little doubtful it'll get off the ground and even if it does whether it will last
00:34:02  <rvagg>hij1nx is keen, I know that
00:38:43  <no9>Cool did he give an indication when he would get back to you?
00:42:27  <no9>Found phase 2 for phone-gap as well today https://github.com/cesine/AndroidLevelDBSample
00:43:13  <no9>https://github.com/hoisie/LevelDB-ObjC
00:43:20  <no9>Maybe??
00:46:07  <rvagg>eeek, ObjC
00:48:11  <no9>Yes I may need a victi... oh I mean able collegue for that piece.
00:48:33  <no9>Just a thought for now
00:49:18  <no9>Doing some leveldb with a customer at the moment so that is on the back burner
00:56:19  * no9quit (Ping timeout: 264 seconds)
01:44:19  * ralphtheninjaquit (Ping timeout: 264 seconds)
02:10:10  * brycebarilquit (Read error: Connection reset by peer)
02:17:46  * brycebariljoined
04:22:13  * brianloveswordsquit (Excess Flood)
04:23:12  * brianloveswordsjoined
05:17:59  * ramitosquit (Ping timeout: 245 seconds)
06:19:21  * eugenewarejoined
06:23:07  * mcollinajoined
07:30:45  * dominictarrjoined
08:14:56  * ChrisPartridgequit (Ping timeout: 260 seconds)
08:23:25  * no9joined
08:23:50  <dominictarr>juliangruber: d'oh we did exactly the same code at the same time
08:24:06  <juliangruber>dominictarr: :D
08:24:11  <juliangruber>excellent
08:24:59  <dominictarr>although, I'm changing it to :base64:
08:25:03  <dominictarr>as the prefix
08:25:13  <dominictarr>and then escaping strings that start in :
08:25:42  <dominictarr>so that if you stringify a string that starts with :base64: it works
08:31:15  * timoxleyjoined
08:32:17  <juliangruber>dominictarr: for performance?
08:32:20  <juliangruber>base64:ejsfelfj looks prettier though
08:32:30  <dominictarr>correctness
08:33:27  * eugenewarequit (Quit: Leaving.)
08:33:34  <juliangruber>what's the issue?
08:34:19  <dominictarr>JSONB.parse(JSON.parse(JSONB.stringify(JSONB.stringify(X)))
08:34:23  <dominictarr>^ should work
08:34:39  <dominictarr>SONB.parse(JSONB.parse(JSONB.stringify(JSONB.stringify(X)))
08:34:44  <dominictarr>I have a test case...
08:36:11  <dominictarr>oh, that case is okay actually
08:36:45  <dominictarr>so, the problem, is what if you happen to have a string value that happens to start with "base64:..."
08:46:26  <juliangruber>so :base64: is unlikely enough to happen by accident?
08:49:06  <juliangruber>what about jsonb:base64:...
08:58:28  <dominictarr>well, can just escape it
08:58:38  <dominictarr>:base64: -> ::base64:
09:06:40  <dominictarr>Raynos: http://osrc.dfm.io/Raynos#swearing < top 20% most vulgar users on github!
09:09:38  <juliangruber>woah, that's even more than tj!
09:19:42  <dominictarr>still, people as vulgar is Raynos are only 1/5
09:20:05  <dominictarr>are they taking into account activeness?
09:20:19  <dominictarr>or is that per-post?
09:29:56  * eugenewarejoined
09:37:05  * ralphtheninjajoined
09:44:10  * eugenewarequit (Quit: Leaving.)
09:48:01  <no9>juliangruber where did you get to on the snapshot thing and do you have any thoughts on backup strategies S3 etc?
09:49:52  <juliangruber>no9: what snapshot thing? s3?
09:50:12  <juliangruber>you mean level-store?
09:54:55  <no9>You were talking to dominictarr about shapshots I was wondering where that ended
09:55:24  <no9>ha! I was talking about storing in s3 not making an S3 that is interesting though
09:57:11  <dominictarr>what sort of snapshots?
09:59:23  <dominictarr>no9: did you mean this https://github.com/rvagg/node-levelup/pull/128#issuecomment-18144780
10:01:41  <no9>dominictarr just saw that in my mailbox too :) Thanks
10:02:47  <juliangruber>no9: so you want a levelup -> s3 continuous backup, s3 -> levelup restore?
10:03:42  <no9>juliangruber that was sort of what I had in mind
10:04:00  <juliangruber>puh
10:04:03  <no9>but I am not married to s3
10:04:16  <juliangruber>a levelup -> levelup backup would be easier
10:04:56  <no9>Yup but I was thinking about costs
10:05:08  <juliangruber>hmmmm
10:05:12  <juliangruber>dominictarr: ^
10:05:24  <no9>Might not be an issues as I haven't done the sums yet
10:05:55  <juliangruber>So basically you have to translate leveldb into a filesystem
10:06:07  <juliangruber>or map it onto a filesystem
10:06:34  * timoxleyquit (Quit: Computer has gone to sleep.)
10:06:39  <dominictarr>and I guess you would want to be able to restore the db from the backup
10:06:41  <dominictarr>and continue
10:06:51  <juliangruber>would it be the whole db at once or live updates?
10:06:54  <dominictarr>and also, backup incrementally?
10:06:58  <juliangruber>dunno if live updates would work with s3's performance
10:07:50  <juliangruber>no9: https://github.com/meskyanichi/backup
10:09:13  <juliangruber>no9: you'd have to benchmark s3 first
10:11:31  <no9>juliangruber thanks I don't see why I need a benchmark it doesn't matter when the snapshot arrives on s3
10:12:56  <no9>level-store looks sweet BTW
10:14:27  <juliangruber>no9: I was thinking live-updates to s3
10:14:38  * timoxleyjoined
10:15:05  <juliangruber>no9: http://docs.basho.com/riak/latest/cookbooks/Backups/#LevelDB-Backups
10:17:10  <no9>Err what "Currently, LevelDB data and log backups require that the node not be running"
10:18:23  <rvagg>that could be basho-leveldb specific cause of their multi-threaded compactions, but if you think about it--leveldb is able to repair a crashed database so taking a backup should be relatively safe
10:18:41  <rvagg>though, it's probably best if you can manage point-in-time backup, which might be tricky
10:19:52  <rvagg>LVM snapshots would be perfect for that
10:21:31  * owen1quit (Ping timeout: 264 seconds)
10:22:49  <no9>rvagg thats seems interesting *reads*
10:23:23  <rvagg>no9: oooo yeah, and you get to do incremental block-level backups too, very neat
10:23:38  <rvagg>just like EBS on Amazon does its snapshots
10:29:39  <levelbot>[npm] [email protected] <http://npm.im/levelup>: Fast & simple storage - a Node.js-style LevelDB wrapper (@rvagg)
10:29:39  <rvagg>you know what would be an interesting feature for levelup - being able to close() a database, let it queue up operations and then open() it again, so you could actually take a backup without stopping the process or interrupting the API, it'd just not respond for a little while
10:30:01  <rvagg>aye, 0.9 is published, that was kind of large
10:30:33  <rvagg>so it got its own post: http://r.va.gg/2013/05/levelup-v0.9-released.html
10:33:37  * timoxleyquit (Quit: Computer has gone to sleep.)
10:37:20  <juliangruber>hurray, let's party!
12:21:07  <levelbot>[npm] [email protected] <http://npm.im/multilevel>: A levelUp instance exposed over a streaming interface (@juliangruber)
12:22:01  <juliangruber>^ uses json-buffer by default so works over non-binary-capable transports too
12:23:25  <rvagg>it is partay time
13:05:57  * werlejoined
13:23:23  * st_lukejoined
13:38:08  <levelbot>[npm] [email protected] <http://npm.im/securify>: (@dominictarr)
13:42:31  <dominictarr>oops, that shouldn't be a level module
13:55:36  * st_lukequit (Remote host closed the connection)
14:01:13  * mcollina_joined
14:04:14  * mcollinaquit (Ping timeout: 245 seconds)
14:24:42  * werlequit (Quit: Leaving.)
14:35:13  * owen1joined
14:53:36  * st_lukejoined
14:56:09  * dominictarrquit (Quit: dominictarr)
15:28:42  * werlejoined
15:44:02  * st_lukequit (Remote host closed the connection)
16:02:24  * ralphtheninjaquit (Read error: Operation timed out)
16:20:44  * ramitosjoined
16:34:40  * st_lukejoined
17:13:51  * ralphtheninjajoined
17:14:02  * st_lukequit (Read error: Connection reset by peer)
17:17:43  * dominictarrjoined
17:28:06  <levelbot>[npm] [email protected] <http://npm.im/level-static>: use leveldb as a static file server (@dominictarr)
17:47:17  * no9quit (Ping timeout: 248 seconds)
18:19:37  * brianloveswordsquit (Excess Flood)
18:19:45  * brianloveswords_joined
18:26:45  * mcollina_quit (Ping timeout: 248 seconds)
19:36:10  * levelbotquit (Ping timeout: 240 seconds)
19:41:44  * st_lukejoined
20:10:16  * st_lukequit (Read error: Connection reset by peer)
20:10:24  * st_lukejoined
20:10:38  <Raynos>dominictarr: wait what?
20:22:56  * st_lukequit (Remote host closed the connection)
20:28:22  * mcollinajoined
21:22:07  * st_lukejoined
21:27:32  * mcollinaquit (Read error: Connection reset by peer)
21:27:38  * mcollina_joined
21:29:23  * mcollina_quit (Read error: Connection reset by peer)
21:30:06  * mcollinajoined
21:30:06  * mcollinaquit (Read error: Connection reset by peer)
21:34:13  * mcollinajoined
21:39:06  * mcollinaquit (Ping timeout: 264 seconds)
21:39:32  * mcollinajoined
22:07:24  * st_lukequit (Remote host closed the connection)
22:19:45  * mageemooneyjoined
22:52:18  * mageemooneyquit (Remote host closed the connection)
22:52:42  * no9joined
23:23:12  * timoxleyjoined
23:24:04  * no9quit (Ping timeout: 246 seconds)
23:24:49  * mcollinaquit (Ping timeout: 248 seconds)
23:37:17  * no9joined
23:47:58  * CPartridgejoined