00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:12:23  * jxsonquit (Remote host closed the connection)
00:15:27  * dlmanningjoined
00:28:03  * thl0joined
00:34:48  * dominictarrquit (Quit: dominictarr)
00:35:13  * thl0quit (Remote host closed the connection)
00:38:18  * jcrugzzquit (Ping timeout: 256 seconds)
00:46:39  * jibayquit (Remote host closed the connection)
00:48:06  * dguttmanquit (Quit: dguttman)
00:54:26  * st_lukejoined
00:55:24  * dlmanningquit (Remote host closed the connection)
01:19:40  <st_luke>this is a really fun ascii game: http://candies.aniwey.net
01:44:35  * jcrugzzjoined
01:48:53  * jcrugzzquit (Ping timeout: 248 seconds)
02:00:11  * dguttmanjoined
02:04:08  * dguttmanquit (Client Quit)
02:06:16  * dguttmanjoined
02:14:14  * dguttmanquit (Quit: dguttman)
02:58:13  * shamaquit (Remote host closed the connection)
03:07:20  * nicholasfquit (Disconnected by services)
03:07:58  * nichola__joined
03:12:31  <ralphtheninja>st_luke: hehe
03:12:45  <ralphtheninja>fascinating game!
03:37:31  * vitorpachecoquit (Remote host closed the connection)
03:38:54  * vitorpachecojoined
03:39:19  * dguttmanjoined
03:51:09  * dguttmanquit (Quit: dguttman)
04:10:58  * ralphtheninjaquit (Ping timeout: 268 seconds)
04:17:47  * nichola__changed nick to nicholasf_
04:20:34  * st_lukequit (Read error: Connection reset by peer)
04:21:13  * st_lukejoined
05:23:47  * jcrugzzjoined
06:32:43  <substack>tape is fixed for 0.10 now
06:35:10  <chrisdickinson>substack: i think you might have forgotten a dep on through
06:35:56  <substack>already fixed
06:38:55  <substack>https://github.com/substack/tape#tape
06:39:52  <chrisdickinson>:D
06:39:56  <chrisdickinson>good work!
06:42:43  <substack>that was such a slog
06:44:47  <substack>100% http://ci.testling.com/substack/tape.png
06:57:42  * jcrugzzquit (Ping timeout: 264 seconds)
07:01:57  <rvagg>woohoo, thanks substack
07:12:24  * mcollinajoined
07:24:27  * mcollinaquit (Remote host closed the connection)
07:31:58  * shuaibjoined
07:47:25  * shuaibquit (Ping timeout: 252 seconds)
07:49:28  * dominictarrjoined
07:49:38  * st_lukequit (Remote host closed the connection)
07:50:14  * st_lukejoined
07:59:03  * shuaibjoined
08:04:09  * jcrugzzjoined
08:09:00  * jcrugzzquit (Ping timeout: 268 seconds)
08:12:43  * shuaibquit (Ping timeout: 252 seconds)
08:15:58  <chrisdickinson>oh wow that's cool
08:16:02  * shuaibjoined
08:16:36  <chrisdickinson>substack: did you have an example of using your own html for testling ci?
08:16:53  <chrisdickinson>ah, nevermind found it
08:18:11  <chrisdickinson>hm
08:18:13  <chrisdickinson>actually
08:18:38  <chrisdickinson>is there any way to have the html still use the bundle that testling would otherwise produce?
08:19:20  <substack>it's not easy
08:19:43  <substack>add your own preprocess field so the bundle goes to a known place
08:23:16  <chrisdickinson>substack: failing that, could you add <meta charset="UTF-8"> to the default index.html that testling uses?
08:23:29  <chrisdickinson>it turns out that the lack of it affects encodeURIComponent
08:24:03  <chrisdickinson>which affects (technically) `new Buffer("<unicode>", "utf8")`
09:05:28  * dominictarrquit (Quit: dominictarr)
09:13:34  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
09:24:30  * stagasjoined
09:28:07  * antix_joined
09:37:07  * antix_quit (Ping timeout: 264 seconds)
09:38:05  * antix_joined
09:40:54  * ins0mniajoined
09:48:52  * ins0mniaquit (Ping timeout: 256 seconds)
09:50:12  * antix_quit (Ping timeout: 252 seconds)
09:51:57  * antix_joined
10:03:57  * antix_quit (Ping timeout: 252 seconds)
10:04:02  * ins0mniajoined
10:05:41  * antix_joined
10:08:20  * ins0mniaquit (Ping timeout: 252 seconds)
10:09:49  * jibayjoined
10:12:06  * ins0mniajoined
10:15:53  * ralphtheninjajoined
10:16:48  * ralphtheninjaquit (Client Quit)
10:16:54  * ralphthe1injajoined
10:17:22  * antix_quit (Ping timeout: 252 seconds)
10:18:52  * antix_joined
10:24:54  * ins0mniaquit (Ping timeout: 276 seconds)
10:28:42  * antix_quit (Ping timeout: 252 seconds)
10:30:14  * antix_joined
10:33:19  * stagas_joined
10:35:34  * stagasquit (Ping timeout: 256 seconds)
10:35:39  * stagas_changed nick to stagas
10:41:19  * antix_quit (Ping timeout: 264 seconds)
10:42:16  * antix_joined
10:45:44  * st_lukequit (Remote host closed the connection)
10:53:36  * antix_quit (Ping timeout: 264 seconds)
10:54:30  * antix_joined
11:03:14  * yorickjoined
11:05:32  * antix_quit (Ping timeout: 252 seconds)
11:06:39  * antix_joined
11:18:04  * antix_quit (Ping timeout: 256 seconds)
11:19:27  * antix_joined
11:28:35  * nicholasf_quit (Read error: Connection reset by peer)
11:29:10  * nichola__joined
11:30:31  * antix_quit (Ping timeout: 264 seconds)
11:31:31  * antix_joined
11:42:29  * antix_quit (Read error: Connection reset by peer)
11:54:09  * stagasquit (Read error: Connection reset by peer)
12:36:21  * shuaibjoined
12:37:33  * dominictarrjoined
12:38:31  * ralphthe1injachanged nick to ralphtheninja
12:38:56  <dominictarr>substack: what was the problem with tape in 0.10 ? it was behaving really strangely.
12:39:25  * mikolalysenkojoined
13:18:20  * fallsemojoined
13:28:08  * shuaibquit (Quit: Computer has gone to sleep.)
14:04:20  * vitorpachecoquit (Quit: Saindo)
14:14:22  * shuaibjoined
14:20:27  * fallsemoquit (Quit: Leaving.)
14:39:06  * thl0joined
14:47:41  * thl0quit (Remote host closed the connection)
14:53:59  * ins0mniajoined
14:58:08  <ins0mnia>anyone can recommend a simple a color picker that returns an array of picked colors?
15:03:17  * jcrugzzjoined
15:54:22  <dominictarr>jez0990: hey, you there?
16:01:03  * sveisveiquit (Quit: Connection closed for inactivity)
16:44:17  * dlmanningjoined
16:54:44  <dominictarr>substack: you should see this: http://www.youtube.com/watch?v=WUSUkBeOtS8
16:55:32  * mikolalysenkoquit (Ping timeout: 256 seconds)
16:58:17  * stagasjoined
17:00:32  * mikolalysenkojoined
17:10:26  * ins0mniaquit (Ping timeout: 268 seconds)
17:15:55  * ins0mniajoined
17:28:19  * ins0mniaquit (Ping timeout: 260 seconds)
17:32:48  <mbalho>chrisdickinson: https://github.com/tonistiigi/uint8 any overlap with bops? i havent really had time to read either
17:54:59  * fallsemojoined
17:59:15  * dlmanningquit (Ping timeout: 276 seconds)
18:05:43  <mbalho>chrisdickinson: also did the default extension feature land in beefy?
18:14:09  * tilgovijoined
18:24:44  * AvianFluquit (Remote host closed the connection)
18:31:07  * tilgoviquit (Read error: Operation timed out)
18:34:58  <substack>dominictarr: getting my LIBRARY CARD so that I can go check out the diamond age
18:35:23  <substack>the library by the fruitvale bart has it, according to the internet
18:35:50  <substack>HAVING FUN ISN'T HARD WHEN YOU'VE GOT A LIBRARY CARD
18:35:50  <LOUDBOT>ALL I CAN DO IS SOMETHING SOMETHING
18:37:02  <dominictarr>substack: +1
18:37:58  <substack>libraries were the bittorrent of the victorian age
18:38:20  <substack>could just walk in, borrow some books, not even pay for them, bring them back
18:39:07  <mbalho>substack: i just read diamond age
18:39:09  <mbalho>substack: its awesome
18:44:37  <dominictarr>mbalho: next: snow crash
18:44:53  <FireFly>I've read Snow Crash
18:44:59  <FireFly>and just started the diamond age
18:45:01  * shamajoined
18:45:03  <FireFly>good books, these
18:45:45  * tilgovijoined
18:46:43  <mbalho>dominictarr: snow crash was my first stephenson book
18:46:54  <dominictarr>oh, great.
18:46:54  <mbalho>dominictarr: i bought anathem, havest started it yet tho
18:47:08  <dominictarr>I read cryptonomicon first.
18:47:22  <mbalho>ooh yea thats on my todo list
18:50:07  <substack>new rule: I'll only read books that dominictarr tells me to read.
18:50:13  <substack>in the order given
18:50:30  <dominictarr>substack: awesome!
18:53:13  <FireFly>suggest OED :p
18:55:15  <dominictarr>the oxford english dictionary?
19:04:51  <FireFly>Yes
19:04:59  <FireFly>I'm sure substack'll enjoy it
19:10:44  <dominictarr>FireFly: it might slow him down, but then he'll be back with avengence with all the new names for modules that need to exist.
19:10:59  <FireFly>Haha, so true
19:11:30  <dominictarr>he has every letter of the aphabet covered
19:11:35  <dominictarr>ALREADY
19:19:24  * tilgoviquit (Ping timeout: 264 seconds)
19:21:50  * tilgovijoined
19:24:24  * fotoveritequit (Quit: fotoverite)
19:35:19  * thl0joined
19:53:59  * thl0quit (Remote host closed the connection)
20:03:44  * shuaibquit (Ping timeout: 260 seconds)
20:05:09  * isaacs_mobilejoined
20:05:38  * tilgoviquit (Ping timeout: 256 seconds)
20:05:50  * shuaibjoined
20:05:55  * tilgovijoined
20:20:46  * isaacs_mobilequit (Remote host closed the connection)
20:23:48  * sveisveijoined
20:24:02  * pikpikquit (Read error: Operation timed out)
20:25:09  * ryanseddonquit (Ping timeout: 248 seconds)
20:26:35  <Nexxy>substack, you around? :D
20:26:45  * ehdquit (Ping timeout: 248 seconds)
20:28:03  <chrisdickinson>mbalho: i'll get default extension in today
20:28:04  <chrisdickinson>re: uint8 -- bops is a bit more full-featured i guess
20:28:06  <chrisdickinson>it doesn't mutate prototypes or anything
20:28:06  <chrisdickinson>the idea is that you use bops in node and in browser and you don't have to care about whether a thing is an arraybuffer or a buffer
20:28:44  <chrisdickinson>substack: what are your thoughts on add <meta charset="UTF-8"> to the default html served by testling ci?
20:28:49  <mbalho>chrisdickinson: thats awesome, i wanna use that in level.js and leveldowna nd levelup
20:28:54  <chrisdickinson>:D
20:28:58  <mbalho>chrisdickinson: you should join ##leveldb
20:29:33  <chrisdickinson>done & done
20:29:44  <chrisdickinson>mbalho: also going to switch to level-js soon (from levelidb)
20:29:49  * tilgoviquit (Quit: No Ping reply in 180 seconds.)
20:29:54  <mbalho>chrisdickinson: cool for th egit stuff?
20:29:58  <chrisdickinson>yep!
20:30:03  <mbalho>nice
20:30:10  * tilgovijoined
20:30:16  <chrisdickinson>theoretically soon i should be moving off of `through` and onto "min streams"
20:30:30  <chrisdickinson>though i am having a hard time getting myself psyched for that work :)
20:30:44  <mbalho>hah
20:31:19  <chrisdickinson>especially since it means i'd lose `a.pipe(b).pipe(c)` in favor of `c(b(a))`
20:31:36  <guybrush>chrisdickinson: creationix new stream thing?
20:31:40  <chrisdickinson>yep
20:31:51  <chrisdickinson>he's got some very good points about it
20:32:04  <guybrush>is it based on fibers?
20:32:09  <chrisdickinson>it works nicely with fibers
20:32:14  <chrisdickinson>but it's not based on 'em
20:32:17  <chrisdickinson>it's just functions
20:32:29  <guybrush>i looked at it but didnt really understand yet the implication of fibers
20:32:52  <guybrush>isnt it kind of connect-middleware-ish?
20:32:57  <guybrush>i mean i kind of like it
20:33:20  <chrisdickinson>fibers are basically the ability to write synchronous-looking code that's async
20:33:35  <guybrush>kk so it just works nice with fibers
20:33:57  <chrisdickinson>i'm probably wrong, but iirc it works best transforming `fn(callback)` to `fn()`
20:34:32  <guybrush>i read about it in this slides
20:34:33  <guybrush>https://github.com/creationix/moonslice-node/tree/master/slides
20:37:02  <chrisdickinson>mbalho: oh, btw!
20:37:15  <chrisdickinson>dlmanning (a pdx coder) landed some html-rewriting stuff in beefy
20:37:25  <chrisdickinson>so that even if you're using your own html you can still use live reload
20:37:44  <guybrush>i put the slides online http://guybrush.github.io/moonslice-node/slides
20:37:57  <guybrush>not sure why he didnt make a gh-pages branch
20:38:18  <mbalho>chrisdickinson: ah fancy
20:38:30  <mbalho>chrisdickinson: i havent tried the live reload stuff
20:38:56  <chrisdickinson>it's pretty nice to be able to just do `beefy file.js --live --open`
20:39:14  <chrisdickinson>(nb: i haven't tested `--open` in windows yet.)
20:51:48  * isaacs_mobilejoined
21:01:23  * isaacs_mobilequit (Remote host closed the connection)
21:02:14  * kenperkinsjoined
21:07:36  * tilgoviquit (Remote host closed the connection)
21:49:08  <dominictarr>chrisdickinson: just use this: https://github.com/dominictarr/pull-through
21:49:21  <chrisdickinson>oo
21:49:25  <chrisdickinson>dominictarr: thanks!
21:49:39  <dominictarr>I'll add an option so that it does min stream style end
21:49:47  <dominictarr>and then you can just drop that in.
21:49:52  <chrisdickinson>will i have to set that myself?
21:50:02  <dominictarr>yeah
21:50:24  <dominictarr>but it will be through = require('pull-through/min')
21:50:27  <dominictarr>or something
21:50:39  <chrisdickinson>cool
21:50:47  <guybrush>dominictarr: with pull-through its basically 0.10 streams with through api?
21:50:53  <dominictarr>and otherwise very very close
21:50:56  <dominictarr>guybrush: no
21:51:09  <chrisdickinson>hopefully that addresses creationix's concerns
21:51:18  <dominictarr>it's a vastly simplified stream that only uses functions
21:51:29  <guybrush>oh ok
21:51:43  <chrisdickinson>though he may be anti-dep for that
21:51:44  <guybrush>so you guys tend to go into creationix-direction?
21:51:54  <chrisdickinson>guybrush: personally i like vanilla through
21:51:56  <guybrush>i mean with this continuos-thing or stream-min
21:51:57  <chrisdickinson>or pull-stream
21:52:01  <guybrush>mhm
21:52:09  <chrisdickinson>but creationix is going to be the primary user of these git apis
21:52:14  <dominictarr>chrisdickinson: but you can tell him , "we can drop this in, and carry on with real work, and come back to this later"
21:52:15  <chrisdickinson>so it would be best to make them to his liking
21:52:17  <guybrush>im just confused why you dont just use the 0.10
21:52:28  <chrisdickinson>dominictarr: yeah, that's my m.o. at the moment
21:52:38  <chrisdickinson>guybrush: well, i'm still primary on 0.8 for one
21:52:42  <dominictarr>one more file - who cares
21:52:50  <chrisdickinson>he might :)
21:52:54  <guybrush>chrisdickinson: right but there is the stream2-module
21:52:55  <chrisdickinson>but, i think this is a good compromise
21:52:58  <dominictarr>guybrush: 0.10 is waaaay more complex
21:53:06  <chrisdickinson>^^ plus that
21:53:12  <chrisdickinson>plus browserify is still based on old-style streams
21:53:20  <chrisdickinson>through by itself is a nice compromise
21:53:21  <guybrush>ok thx for explaining your thoughts
21:53:27  <dominictarr>event writable stream (which is ment to be the easy one) is 300 lines
21:53:28  <chrisdickinson>simple to write and reason about
21:53:35  * shuaibquit (Ping timeout: 252 seconds)
21:53:44  <chrisdickinson>(as if i haven't sung `through`'s praises enough)
21:53:46  <chrisdickinson>:)
21:54:18  <guybrush>its kind of weird for me how there are so much different implementations of streams now
21:54:39  <guybrush>like dominictarr said the seal is broken
21:55:23  <chrisdickinson>yeah
21:55:24  <chrisdickinson>well
21:55:30  <chrisdickinson>it's the js way, i guess
21:55:35  <guybrush>mhm
21:55:36  <chrisdickinson>wherever there's one solution, there's many
21:55:53  * shuaibjoined
21:56:00  <guybrush>i just try to look at what modules i like and what type of stream they use, and go with that somehow
21:56:08  <guybrush>and most of them go with through :p
21:56:30  <chrisdickinson>everything from package managers (component, bower, ender, npm), build systems (grunt, yeoman?, Cakefiles, Makefiles, npm), flow control (streams1, streams2, min-streams, promises, async, Q)
21:56:35  <chrisdickinson>hell, even the language itself
21:56:41  <dominictarr>guybrush: fortunately, even if you do make them different, streams are all basically the same idea)
21:56:44  <chrisdickinson>(coffeescript, typescript, icedcoffeescript, node-fibers)
21:57:02  <chrisdickinson>sometimes this aspect of js is really neat
21:57:06  <chrisdickinson>sometimes it can be a pain :|
21:57:28  <chrisdickinson>leads to a lot of NIH-ing, but theoretically our solutions compete and we end up with "better" solutions
21:57:40  <guybrush>dominictarr: right, but if you ask me what exactly are the differences and more important what i need to do to make them interact with each other - it will take me some time to investigate at least....
21:57:49  <guybrush>i mean its not trivial tbh
21:58:09  <chrisdickinson>also the biggest bane is that these things aren't incredibly discoverable / documented in a reliable fashion
21:58:14  <dominictarr>guybrush: yes, it does increase the cognetive load
21:58:45  <dominictarr>and lets face it.
21:58:50  <dominictarr>programming is hard.
21:59:02  <dominictarr>it's a challenge, and that is why it's worth doing
21:59:12  <guybrush>gosh! javascript is just for kiddies
21:59:15  <dominictarr>and that is why it's worth grokking.
21:59:19  * ehdjoined
21:59:32  <chrisdickinson>humans are probably the hardest part about programming :)
21:59:52  <dominictarr>and once you understand streams, getting a new type isn't such a big deal.
22:00:10  <guybrush>i agree
22:00:14  <dominictarr>chrisdickinson: we are just monkeys with very fancy typewriters.
22:00:25  <dominictarr>it's pretty amazing that we can program at all.
22:01:10  <dominictarr>when you consider that 10,000 years ago, instead of a macbook air you'd be pretty stoked to own a flint adz
22:01:35  <guybrush>oh and also.... i kind of prefer plain EE over streams if i dont have to handle backpressure
22:02:12  <dominictarr>and that, some how, we boot strapped our current cyber technology all the way from sticks, rocks and animal sinue
22:02:13  <guybrush>but i get that pluggable programs needs more than just ee
22:02:35  <dominictarr>guybrush: that is what the #libuv guys say
22:02:43  <dominictarr>streams are just for io
22:02:59  <dominictarr>but, thing is, you'll end up writing pipe anyway.
22:03:29  <guybrush>right, but streams is one level more to think in the abstraction-tree
22:03:46  <dominictarr>but they are a true abstraction.
22:03:48  <guybrush>so at least when there is no io i feel that plain ee is more simple
22:04:14  <guybrush>but one can say that pretty much everything is io...
22:04:21  <dominictarr>sure. user interface is io.
22:05:01  <dominictarr>guybrush: if you don't explicitly use streams, you probably still have streams anyway.
22:05:07  <guybrush>haha that backpresure when the user spams the clicks
22:05:46  <dominictarr>node streams suck at back pressure, both old and new - well, they only do it well for very short streams
22:05:50  <dominictarr>but not long chains
22:06:13  <guybrush>ok
22:06:20  <dominictarr>which is a point that min/pull streams address very nicely.
22:07:15  <guybrush>waaah that min-stream repo is just a readme, i guess min-helpers is the current thing to get into min-streams?
22:08:05  <guybrush>oh i see on twitter is all the stuff
22:08:43  <guybrush>it looks very much like raynos thing
22:12:41  <dominictarr>guybrush: see pull-stream min stream is pretty much the same
22:13:23  * shuaibquit (Ping timeout: 252 seconds)
22:14:01  * defunctzombie_zzchanged nick to defunctzombie
22:15:01  <dominictarr>chrisdickinson: how close to usable is your git stuff?
22:15:23  <dominictarr>can you push, pull, and checkin?
22:19:16  <dominictarr>what does the demo do?
22:24:18  * st_lukejoined
22:24:48  <chrisdickinson>dominictarr: right now it clones
22:25:03  * dguttmanjoined
22:25:12  <chrisdickinson>was working on packfile generation which is the first step towards pushing
22:25:24  * ryanseddonjoined
22:25:39  * pikpikjoined
22:25:49  <dominictarr>right - and you have checkin already? that part is simple from what I know
22:26:02  <chrisdickinson>dominictarr: not yet -- it's not quite so simple :)
22:26:14  <chrisdickinson>basically checkin requires the ability to generate an index
22:26:18  <chrisdickinson>which maks was working on
22:26:25  <chrisdickinson>and then to be able to edit the file
22:26:27  <dominictarr>.git/index?
22:26:29  <chrisdickinson>yep
22:26:45  <chrisdickinson>in abstracted form, since the index file isn't particularly js-friendly
22:26:57  <chrisdickinson>so there'd be a generate "loaded index" with updating, staging, etc
22:27:12  <dominictarr>the index is just the pointers to the hashes of the files.
22:27:13  <chrisdickinson>then modules to load the index and give you back an index object
22:27:15  <dominictarr>correct?
22:27:25  <chrisdickinson>sort of
22:27:37  <chrisdickinson>it's the stats of the files + hashes + extension data
22:27:47  <chrisdickinson>(i.e., cached trees, "reuc" bits)
22:27:58  <dominictarr>yeah. fairly simple compared to implementing infate or xdiff
22:28:02  <chrisdickinson>haha
22:28:12  <chrisdickinson>it's fairly well documented
22:28:23  <chrisdickinson>i got hung up on xdiff, actually
22:28:28  <chrisdickinson>git-create-delta doesn't work yet ):
22:28:33  <chrisdickinson>so packfile generation is kind of dumb
22:28:38  <dominictarr>pack generation seems like the hard bit.
22:28:41  <chrisdickinson>it does non-deltaed ones
22:28:48  <chrisdickinson>and it gets the ordering for deltaing
22:28:59  <chrisdickinson>and that all works -- but the creating of binary deltas themselves doesn't work
22:29:13  <chrisdickinson>which, while not technically necessary, would be a very good thing to have
22:30:25  <dominictarr>yes
22:30:46  <chrisdickinson>the biggest problem with the deltas (aside from the non-functional algorithm)
22:30:47  <dominictarr>it's the meat in the meat-and-vege
22:30:51  <chrisdickinson>is that it's expensive
22:31:04  <chrisdickinson>i.e., by default you walk through 50 objects and create a delta for each and the smallest one wins
22:31:05  <dominictarr>right
22:31:24  <chrisdickinson>parallelizable, but that's a weak point in browserify
22:31:47  <dominictarr>aha but it's still a valid pack file if you don't do that
22:31:52  <chrisdickinson>yep
22:31:53  <dominictarr>so you can just do that less
22:32:06  <dominictarr>or guess in some way that is really fast
22:32:33  <dominictarr>like just & bloom filters together to check simularity
22:32:53  <dominictarr>or some other test that will correlate with xdiffability but not have so much overhead.
22:33:34  * chrisdickinsonnods
22:33:37  <dominictarr>oh wait, I remember you said it had a way to fail fash
22:33:39  <dominictarr>fast
22:33:43  <chrisdickinson>and there's always packaging web workers
22:34:09  <dominictarr>is there documentation of the xdiff algorithm?
22:34:44  <chrisdickinson>i haven't looked into it too much yet tbh
22:35:00  * st_lukequit (Remote host closed the connection)
22:40:12  * dguttmanquit (Quit: dguttman)
22:44:03  <dominictarr>chrisdickinson: reading up on this now.
22:44:20  <dominictarr>someone linked me xdiff papers a while back
22:44:36  <dominictarr>because I have xdiff module - but apparently it's the wrong xdiff
22:45:10  <dominictarr>just read that xdiff does normal line diffing for text, and binary files are handled differently
22:45:32  <dominictarr>so maybe we can just diff text and not diff binary - and add that later!
22:46:56  * stagasquit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204])
22:48:38  <dominictarr>some good links here http://www.xmailserver.org/xdiff-lib.html
22:52:11  <dominictarr>chrisdickinson: hmm, it looks like I might have stuff that will work for diffing text files it will need to generate the right output format.
22:52:20  <chrisdickinson>oo
22:52:29  <chrisdickinson>+1
22:52:50  <dominictarr>binary files are different.
22:53:13  <dominictarr>I don't know if what I have is optimal, but it has an optimization or two
22:53:36  <dominictarr>and I've used it for things like diffing an entrie file on every key press… and it's fine.
22:54:11  <dominictarr>(actually, that use gave me need to improve it - it can handle that now, though)
22:55:42  <dominictarr>chrisdickinson: does the pack file say wether it's a text diff or a binary diff or is that part of the diff?
22:56:01  <chrisdickinson>it's always going to be a binary diff in the packfile
22:56:30  * fallsemoquit (Quit: Leaving.)
22:56:31  <chrisdickinson>but so long as you're generating the diff in the format of copy / insert commands we can still just do it by lines of text
22:56:51  <chrisdickinson>so this is the broken version: http://github.com/chrisdickinson/git-create-delta
23:03:13  <dominictarr>what I have now, generates the api of splice
23:03:29  <dominictarr>Array#splice(index, del, inserts….)
23:05:37  <dominictarr>chrisdickinson: whats broken?
23:07:01  <chrisdickinson>well, instead of creating diffs it just hangs the cpu
23:07:02  <chrisdickinson>:)
23:07:32  <dominictarr>do you have an example of the correct diff format?
23:09:07  <chrisdickinson>well, lemme rephrase -- it works for buffers that are the same size but have different data
23:09:12  <chrisdickinson>so i think the output format of https://github.com/chrisdickinson/git-create-delta/blob/master/index.js works
23:09:19  <chrisdickinson>just not the generation on different-sized arrays
23:10:09  <dominictarr>so, what would help me, is just an example patch
23:12:42  <dominictarr>of a patch of text files
23:12:56  <dominictarr>https://github.com/chrisdickinson/git-apply-delta/blob/master/test.js#L19 < how did you get this?
23:14:22  * fallsemojoined
23:18:58  <chrisdickinson>dominictarr: i just added a console log inside of git-objectify-pack in the js-git-demo
23:19:03  <chrisdickinson>iirc
23:19:14  <chrisdickinson>so when it found a ref delta i just logged the delta value
23:19:42  <chrisdickinson>whew, basically done switching things to bops
23:20:34  <dominictarr>and then pulled from a real git repo?
23:21:12  <chrisdickinson>yeah
23:22:36  * fallsemoquit (Quit: Leaving.)
23:22:48  <chrisdickinson>dominictarr: i'm moving over to level-js in the hopes of having something that runs locally without hackery
23:23:00  <dominictarr>sweet!
23:23:44  <dominictarr>chrisdickinson: I have a few crazy plans for what I want to do with js git, and using it with level fits perfectly with my plan!
23:23:54  <chrisdickinson>awesome :)
23:24:06  <chrisdickinson>dominictarr: i'm really excited about writing the server-side receive-pack bits
23:24:18  * nichola__changed nick to nicholasf
23:24:25  <chrisdickinson>since it would be super easy to spin up a node service that sort of "acts like" github -- just storing hashes in one big database
23:24:40  <dominictarr>aha, great
23:24:45  <chrisdickinson>or, if you've got p2p enabled, p2p git pushing / pulling
23:24:53  <chrisdickinson>from browser to browser
23:25:03  <dominictarr>chrisdickinson: EXACTLY
23:25:11  <chrisdickinson>:D
23:25:40  <mbalho>need binary replication!
23:25:54  <dominictarr>then, deploy directly to the clients via clients
23:28:51  * nicholasfquit (Read error: Connection reset by peer)
23:29:09  * nicholasfjoined
23:34:23  * defunctzombiechanged nick to defunctzombie_zz
23:58:42  <chrisdickinson>mbalho: so, how should i go about using level-js in the browser?
23:58:54  <chrisdickinson>(i'm looking to write to indexeddb)