00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:00:08  * ednapiranhajoined
00:03:44  * ferossquit (Quit: feross)
00:13:44  <ogd_>grncdr: ah cool
00:14:40  * fronxquit (Remote host closed the connection)
00:16:58  * fronxjoined
00:18:38  <ogd_>grncdr: i wanna use this in a module im workin on, you should publish it :)
00:22:59  <mmalecki>GO PLZ MAKE COMPILER
00:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 10]
00:24:16  * ferossjoined
00:26:26  * thlorenzjoined
00:27:02  <taterbase>LOUDBOT: I LOVE YOU
00:27:02  <LOUDBOT>taterbase: OF COURSE I DO, THAT'S WHY I'M UP AT 6
00:29:12  * enjaworkjoined
00:39:49  * thlorenzquit (Ping timeout: 250 seconds)
00:45:42  * fallsemoquit (Quit: Leaving.)
00:49:26  <ogd_>brianloveswords: on tables without an 'id' column when i do table.createReadStream() it does Error: SQLITE_ERROR: no such column: id
00:51:25  <ogd_>brianloveswords: would you consider that a bug or should people always pass in a primaryKey in the definition
00:52:49  <feross>substack: can we update the version of browser-builtins that browserify uses to 3.0.0?
00:53:24  * enjaworkquit (Ping timeout: 252 seconds)
00:54:08  <ogd_>brianloveswords: or is it possible to do a createReadStream without a primary key?
00:54:23  <feross>substack: first step, https://github.com/substack/insert-module-globals/pull/20 needs to be merged and the package version bumped, then i can send a PR to update browserify's package.json
00:55:25  * tmcw_quit (Remote host closed the connection)
00:59:35  * enjaworkjoined
01:01:02  <substack>feross: I've already begun ripping out browser-builtins in favor of inlining the included files directly in browserify
01:01:10  <substack>so we have tigher control over the dependencies when they update
01:01:36  <substack>the newest 3.0 branch also already uses native-browserify-buffer
01:01:45  <substack>I just have 3 tests that are failing I need to fix before it goes live
01:01:59  <feross>substack: sweet, will check the branch out and see if i can help with the failing tests
01:02:22  <feross>on node 0.10 I had to pass Uint8Array and DataView into the vm context manually
01:02:34  <substack>yeah I was running into the same kind of issues
01:02:47  <substack>a bit busy right now but I'll push my branch later tonight
01:03:00  * fronxquit (Remote host closed the connection)
01:03:03  <feross>so should i cancel the PR on insert-module-globals?
01:03:32  * dominictarr_joined
01:07:26  <substack>feross: I'll take a look first, haven't dug through the diff yet
01:10:42  <feross>substack: cool, i'll look for that 3.0 branch later tonight and help with the buffer-related test failures
01:12:50  * fotoveritequit (Quit: fotoverite)
01:22:10  * ferossquit (Quit: feross)
01:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 21]
01:34:18  * enjaworkquit (Ping timeout: 240 seconds)
01:36:17  * thlorenzjoined
01:40:50  * fronxjoined
01:40:57  * anoemijoined
01:45:59  * fronxquit (Ping timeout: 272 seconds)
01:46:24  * tmcw_joined
01:47:49  * ednapiranhaquit (Quit: Leaving...)
01:49:30  * thlorenzquit (Ping timeout: 252 seconds)
01:57:31  * kevinswiberjoined
01:58:19  * dominictarr_quit (Ping timeout: 246 seconds)
02:01:53  * DTrejoquit (Remote host closed the connection)
02:02:10  * mikolalysenkoquit (Ping timeout: 246 seconds)
02:11:04  * ferossjoined
02:18:25  * thlorenzjoined
02:19:40  * ferossquit (Ping timeout: 246 seconds)
02:20:01  * yorickquit (Remote host closed the connection)
02:24:03  <rowbit>Hourly usage stats: [developer: 5, free: 14]
02:29:59  * ferossjoined
02:56:36  * jcrugzzquit (Ping timeout: 252 seconds)
02:59:23  * mikolalysenkojoined
03:06:01  * ferossquit (Quit: feross)
03:09:13  * fronxjoined
03:13:50  * fronxquit (Ping timeout: 240 seconds)
03:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 15]
03:31:09  * kevinswiberquit (Remote host closed the connection)
03:31:10  * fallsemojoined
03:33:53  * dguttmanquit (Quit: dguttman)
03:59:44  * tmcw_quit (Remote host closed the connection)
04:00:10  * tmcw_joined
04:03:55  * tmcw__joined
04:04:23  * mikolalysenkoquit (Ping timeout: 240 seconds)
04:04:35  * tmcw_quit (Ping timeout: 245 seconds)
04:10:48  * fronxjoined
04:11:25  * maksimlinjoined
04:16:05  * fronxquit (Ping timeout: 272 seconds)
04:19:28  <brianloveswords>ogd_: ahhh yeah, it assumes if there's no primaryKey passed in that the primaryKey is "id"
04:19:58  <brianloveswords>ogd_: file a bug for it and I'll think about it!
04:20:56  <jesusabdullah>uuuuuugh substack's floor did a serious number on my back
04:21:12  <brianloveswords>haha I've spent a night on that floor jesusabdullah
04:21:38  <jesusabdullah>I'm getting OLD brianloveswords
04:21:45  * anoemiquit (Quit: anoemi)
04:22:13  <brianloveswords>ogd_: sorry about some of the bugs you've been running into!
04:22:21  * tmcw__quit (Remote host closed the connection)
04:22:23  <brianloveswords>OLD MAN JESUS
04:22:58  * tmcw_joined
04:23:00  <jesusabdullah>get off my lawn!!
04:23:22  <jesusabdullah>I'll be ready for supper in a moment I just have to rinse off my dentures
04:24:03  <rowbit>Hourly usage stats: [developer: 9, free: 10]
04:27:29  * tmcw_quit (Ping timeout: 272 seconds)
04:30:22  * AvianFlujoined
04:30:38  * mikolalysenkojoined
04:33:18  * thlorenzquit (Remote host closed the connection)
04:34:18  * maksimlinquit (Read error: Connection reset by peer)
04:35:31  * calvinfoquit (Quit: Leaving.)
04:36:01  * maksimlinjoined
04:41:29  * fotoveritejoined
04:44:23  * tmcw_joined
04:46:46  * maksimlinquit (Read error: Connection reset by peer)
04:47:19  * maksimlinjoined
04:48:44  * tmcw_quit (Ping timeout: 240 seconds)
04:53:19  * tmcw_joined
04:55:30  * Maciek416quit (Remote host closed the connection)
04:55:56  * tmcw_quit (Read error: Connection reset by peer)
04:56:10  * tmcw_joined
04:58:07  * tmcw__joined
04:58:08  * tmcw_quit (Read error: Connection reset by peer)
05:02:59  * tmcw__quit (Ping timeout: 260 seconds)
05:12:41  * tmcw_joined
05:14:00  * tmcw_quit (Read error: Connection reset by peer)
05:14:17  * tmcw_joined
05:16:16  * tmcw_quit (Read error: Connection reset by peer)
05:16:25  * tmcw_joined
05:18:05  * tmcw__joined
05:18:20  * tmcw_quit (Read error: Connection reset by peer)
05:20:25  * maksimlinquit (Read error: Connection reset by peer)
05:21:02  * fallsemoquit (Quit: Leaving.)
05:22:54  * tmcw__quit (Ping timeout: 252 seconds)
05:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 23]
05:24:29  * jxsonjoined
05:26:07  * defunctzombiechanged nick to defunctzombie_zz
05:26:50  * tilgovijoined
05:27:34  * tilgoviquit (Remote host closed the connection)
05:27:48  * AvianFluquit (Read error: Connection reset by peer)
05:29:14  * AvianFlujoined
05:31:48  * dguttmanjoined
05:32:10  * fallsemojoined
05:32:49  * fallsemoquit (Client Quit)
05:33:18  * dguttmanquit (Client Quit)
05:36:04  * calvinfojoined
05:36:58  * calvinfo1joined
05:36:59  * calvinfoquit (Read error: Connection reset by peer)
05:37:45  * maksimlinjoined
05:39:10  * jxsonquit (Remote host closed the connection)
05:39:47  * maksimlinquit (Client Quit)
05:41:02  * calvinfo1quit (Ping timeout: 240 seconds)
05:48:52  * thlorenzjoined
05:49:01  <jesusabdullah>hi thlorenz
05:51:27  * jxsonjoined
05:57:57  * tmcw_joined
06:01:02  * thlorenzquit (Ping timeout: 240 seconds)
06:02:06  * tmcw_quit (Ping timeout: 240 seconds)
06:09:07  * calvinfojoined
06:09:16  * jxsonquit (Remote host closed the connection)
06:10:27  * jxsonjoined
06:14:38  * jxsonquit (Ping timeout: 240 seconds)
06:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 51]
06:24:20  * AvianFluquit (Remote host closed the connection)
06:40:14  * jxsonjoined
06:43:48  * calvinfoquit (Quit: Leaving.)
06:44:21  * fotoveritequit (Read error: Connection reset by peer)
06:44:37  * jxsonquit (Ping timeout: 246 seconds)
06:45:06  * st_lukejoined
06:45:37  <st_luke>Domenic_: you're welcome?
06:46:43  <st_luke>Domenic_ defunctzombie_zz i dont need an irc bouncer
06:47:01  <st_luke>i dont need another inbox
06:50:04  * anvakajoined
06:56:43  * tmcw_joined
06:58:35  * thlorenzjoined
06:58:46  * st_lukequit (Remote host closed the connection)
07:01:31  * tmcw_quit (Ping timeout: 260 seconds)
07:07:11  * dominictarr_joined
07:08:51  <dominictarr_>juliangruber, question: can level-fs do globs?
07:09:00  <dominictarr_>timoxley, yo
07:09:17  <timoxley>dominictarr_: hello.
07:10:38  * thlorenzquit (Ping timeout: 240 seconds)
07:10:42  <dominictarr_>so, this paths/sublevel thing
07:10:57  <dominictarr_>I think you want a different thing to sublevel for this
07:11:16  <dominictarr_>like, sublevel is mostly trying to keep to this abstraction of isolated, but nested databases.
07:11:35  <dominictarr_>because that makes implementing indexes easy
07:11:49  <dominictarr_>but I think your case is a different thing, and wants a different module
07:12:04  <dominictarr_>like, the isolation isn't so important here
07:12:15  <timoxley>dominictarr_: possibly. I kinda just want some sugar around setting the start and end of a createReadStream
07:12:24  <dominictarr_>what is important, though, in your case
07:12:39  <dominictarr_>is indexing into any point in the hierachy
07:13:09  <dominictarr_>like, this module might help https://github.com/stagas/level-path
07:13:33  <dominictarr_>maybe, maybe not
07:13:42  <dominictarr_>fs paths are a little less structured
07:14:08  <dominictarr_>but here, you have a thing where you have different groups
07:14:19  <dominictarr_>like: ./code/levelup/*
07:14:22  <timoxley>dominictarr_: I'm really just trying to figure a way to use the pattern of
07:14:28  <timoxley>get(key).pipe()
07:14:28  <dominictarr_>means you wnat everything at that level
07:15:02  <dominictarr_>fsDb.ls('./code/levelup/*').pipe(ux) ?
07:15:29  <timoxley>dominictarr_: oh, not jsut for this usecase
07:15:40  <timoxley>but yeah something like that
07:16:31  <dominictarr_>of course, there are other things that can be described like a file tree
07:16:54  <dominictarr_>if that is the right idea
07:16:59  <dominictarr_>what is your other usecase?
07:19:25  <ehd>dominictarr_: trying the updated crdt simple example from master and fresh modules, but not seeing pings being distributed
07:22:41  <timoxley>dominictarr_: similar thing, in this case user supplies a url, which should kick off a stream of json blobs, updates come in asynchronously.
07:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 21]
07:33:50  * shamaquit
07:40:09  <dominictarr_>timoxley, but what does the data represent?
07:40:26  * jcrugzzjoined
07:40:55  <dominictarr_>if you tell me what the data represents I can immediatly know many more details of your usecase
07:41:38  <timoxley>dominictarr_: diffs
07:41:41  <timoxley>object diffs
07:42:10  <dominictarr_>does this still have a heirachical structure like the file system?
07:42:17  <dominictarr_>what are you diffing?
07:43:01  * fronxjoined
07:45:18  <timoxley>dominictarr_: dom + object mutations in object.observe/ MutationObserver format
07:45:18  * calvinfojoined
07:45:31  * mikolalysenkoquit (Ping timeout: 246 seconds)
07:47:52  <dominictarr_>right!
07:48:29  <dominictarr_>timoxley, it helps sooooo much if you say what you are trying to do.
07:48:53  <timoxley>ha
07:49:05  <dominictarr_>since I already know quite a lot about the fs and the dom, I can apply all that knowlenge to understanding your problem
07:49:05  <timoxley>dominictarr_: correct
07:49:14  <timoxley>sorry!
07:49:52  <dominictarr_>but if you just say I need to create sublevels from the client, there could be other ways to solve your problem that are better
07:49:56  <timoxley>yep
07:50:05  <dominictarr_>but I don't know that, because I don't know what your problem is
07:50:09  <timoxley>+1
07:50:30  <dominictarr_>I'm just going on at length about this, because you've gotta help me get everyone to explain what their problem is better
07:55:01  <dominictarr_>timoxley, how do you create the paths for the dom heirachy?
07:56:19  <timoxley>dominictarr_: at the moment something along these lines https://github.com/timoxley/css-path/blob/master/index.js
07:56:28  * tmcw_joined
07:57:14  <timoxley>dominictarr_: just generates an absolute path e.g. body > div.page:nth-child(1) > ul.list:nth-child(2) > li:nth-child(1)
07:58:49  <dominictarr_>but what does the path look like as a string?
08:00:27  <dominictarr_>oh, I gotta go. I'll be back on line in a bit!
08:00:50  <timoxley>dominictarr_: it looks just like that… but with quotes around it.
08:01:04  <timoxley>haha, I'm not sure what you're asking
08:01:15  * tmcw_quit (Ping timeout: 260 seconds)
08:04:50  * dominictarr_quit (Ping timeout: 240 seconds)
08:07:09  * nrwjoined
08:07:20  * nrwpart
08:08:14  * thlorenzjoined
08:14:47  * fronxquit (Remote host closed the connection)
08:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 18]
08:26:31  * thlorenzquit (Ping timeout: 250 seconds)
08:32:14  * calvinfoquit (Quit: Leaving.)
08:32:27  * calvinfojoined
08:32:40  * calvinfoquit (Client Quit)
08:45:15  * fronxjoined
08:49:55  * fronxquit (Ping timeout: 250 seconds)
08:55:51  <creationix>spion, yeah, I wish the API would tell me what the event type was
08:55:54  <creationix>it knows it already
08:56:28  * tmcw_joined
09:01:27  * tmcw_quit (Ping timeout: 260 seconds)
09:12:15  * mikolalysenkojoined
09:17:38  * mikolalysenkoquit (Ping timeout: 264 seconds)
09:19:39  * jcrugzzquit (Ping timeout: 260 seconds)
09:22:57  * fronxjoined
09:23:24  * thlorenzjoined
09:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 21]
09:42:21  * jxsonjoined
09:43:09  * djcoinjoined
09:47:19  * jxsonquit (Ping timeout: 272 seconds)
09:52:29  * slaskisjoined
09:56:28  * tmcw_joined
09:57:00  * thlorenzquit (Ping timeout: 260 seconds)
09:58:19  * ferossjoined
10:00:58  * tmcw_quit (Ping timeout: 246 seconds)
10:13:02  * mikolalysenkojoined
10:15:20  * slaskisquit (Quit: slaskis)
10:17:48  <mmalecki>ARE YOU REAL?!
10:17:54  * mikolalysenkoquit (Ping timeout: 240 seconds)
10:24:03  <rowbit>Hourly usage stats: [developer: 6, free: 34]
10:28:43  <grncdr>ogd_: https://npmjs.org/package/db-reflect
10:30:13  <grncdr>brianloveswords: would you be into a PR that makes streamsql use any-db?
10:35:40  * fronxquit (Remote host closed the connection)
10:42:38  * fronxjoined
10:52:02  * fronxquit (Remote host closed the connection)
10:56:29  * tmcw_joined
11:01:09  * tmcw_quit (Ping timeout: 252 seconds)
11:02:08  * dominictarr_joined
11:11:26  * dominictarr_quit (Ping timeout: 240 seconds)
11:11:43  <juliangruber>dominictarr_: you mean could level-fs be used with a glob matching library?
11:13:45  * mikolalysenkojoined
11:18:50  * mikolalysenkoquit (Ping timeout: 264 seconds)
11:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 32]
11:30:24  * insertcoffeejoined
11:33:16  * fronxjoined
11:53:03  * thlorenzjoined
11:56:27  * tmcw_joined
12:00:35  * tmcw__joined
12:00:37  * tmcw_quit (Ping timeout: 240 seconds)
12:02:22  * tmcw_joined
12:02:23  * tmcw__quit (Read error: Connection reset by peer)
12:06:14  * thlorenzquit (Ping timeout: 240 seconds)
12:07:26  * tmcw_quit (Ping timeout: 264 seconds)
12:14:33  * mikolalysenkojoined
12:19:57  * mikolalysenkoquit (Ping timeout: 272 seconds)
12:21:17  * slaskisjoined
12:22:35  * Guest366joined
12:24:03  <rowbit>Hourly usage stats: [developer: 1, free: 37]
12:34:22  * fronxquit (Remote host closed the connection)
12:36:01  * ferossquit (Quit: feross)
12:37:18  * dominictarr_joined
12:56:28  * tmcw_joined
12:58:06  * timoxleyquit (Remote host closed the connection)
13:00:52  * tmcw_quit (Ping timeout: 246 seconds)
13:02:19  * fallsemojoined
13:03:16  * thlorenzjoined
13:14:51  * anoemijoined
13:15:17  * mikolalysenkojoined
13:15:50  * thlorenzquit (Ping timeout: 245 seconds)
13:19:59  * mikolalysenkoquit (Ping timeout: 240 seconds)
13:21:47  * fronxjoined
13:23:43  * yorickjoined
13:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 25]
13:24:38  * fallsemoquit (Quit: Leaving.)
13:37:02  * tmcw_joined
13:49:39  <dominictarr_>rvagg, ping?
13:52:18  * AvianFlujoined
13:52:29  <insertcoffee>'sup @dominictarr_
13:52:49  * AvianFlu_joined
13:53:17  <dominictarr_>insertcoffee, houdy
13:53:22  <insertcoffee>howzit
13:53:27  <insertcoffee>hey, I had a kinda crazy idea last night about functional programming in bash
13:53:34  <insertcoffee>and had a bit of a play around
13:53:37  <insertcoffee>made this I had a kinda crazy idea last night about functional programming in bash
13:53:38  <dominictarr_>oh no, here we go
13:53:48  <insertcoffee>* made this https://gist.github.com/missinglink/7800267
13:53:50  <insertcoffee>lol
13:54:03  <insertcoffee>surely some mad bastards are doing this?
13:54:09  * thlorenzjoined
13:54:20  <dominictarr_>I'm scared to click that link but I'm gonna do it anyway
13:54:23  <dominictarr_>here goes...
13:55:16  <insertcoffee>disclaimer: I was inebriated
13:56:14  * AvianFluquit (Ping timeout: 240 seconds)
13:56:40  <dominictarr_>curl https://gist.github.com/missinglink/7800267/raw/4adc5a7044256e2df87fe658f90b6fac2d028a3e/stream.sh | sh
13:56:55  <dominictarr_>...
13:57:11  <insertcoffee>you need the code in the comment
13:57:14  <dominictarr_>':pipe': is not a valid identifier
13:57:18  <insertcoffee>ahahaha
13:57:21  <insertcoffee>osx?
13:57:25  <insertcoffee>I didnt test that
13:57:33  <insertcoffee>just string replace : with _
13:58:33  <insertcoffee>anyway, you can imagine what it does
13:59:22  * defunctzombie_zzchanged nick to defunctzombie
13:59:36  <insertcoffee>I think its a bit too crazy, will play with it a bit more anyway
14:01:15  <dominictarr_>Im trying to remove the :'s but there are some hiding
14:02:19  <dominictarr_>aha, I don't have the replace command...
14:03:05  <insertcoffee>curl https://gist.github.com/missinglink/7805591 | sh
14:03:15  <insertcoffee>or whatever
14:03:16  <dominictarr_>that can probably be replaced with a awk?
14:03:16  <insertcoffee>https://gist.github.com/missinglink/7805591
14:03:44  <dominictarr_>https://gist.github.com/missinglink/7800267#file-stream-sh-L42-L49
14:03:50  <dominictarr_>^ I forgot those too
14:03:53  <insertcoffee>yea, so there is obviously a big issue with portability
14:04:07  <dominictarr_>portable bash scripts are pretty hard to write
14:04:20  <insertcoffee>yea, the whole bash ecosystem is very ad-hoc
14:04:22  <dominictarr_>i know, because of all the pull requests I've gotten on JSON.sh
14:08:09  * Domenic_quit (Ping timeout: 252 seconds)
14:12:55  <insertcoffee>all this really does is allow you to pipe unix commands to<>from bash functions
14:12:55  <insertcoffee>which is many ways is not very useful
14:12:55  <insertcoffee>but when it comes to the forking of streams that share the same stdout its more interesting
14:12:55  * Domenic__joined
14:12:55  * Domenic__changed nick to Domenic_
14:14:29  <dominictarr_>insertcoffee, I thought you can do that anyway?
14:15:45  <insertcoffee>yea its all possible
14:16:06  * mikolalysenkojoined
14:16:07  <insertcoffee>just a question of what the api looks like & how practical it is
14:19:00  * Maciek416joined
14:21:02  * mikolalysenkoquit (Ping timeout: 240 seconds)
14:22:37  * tmcw_quit (Remote host closed the connection)
14:23:03  * tmcw_joined
14:23:45  * fronxquit (Remote host closed the connection)
14:24:03  <rowbit>Hourly usage stats: [developer: 3, free: 31]
14:25:05  <insertcoffee>dominictarr_ piping to functions could be a nice way of making the portability issues go away
14:26:38  * jergasonquit (Quit: Connection closed for inactivity)
14:27:16  <dominictarr_>but you can already pipe to functions
14:27:22  <dominictarr_>function shellfiles {
14:27:25  <dominictarr_>grep sh
14:27:25  <dominictarr_>}
14:27:32  <dominictarr_>ls -1 | shellfiles
14:27:39  * tmcw_quit (Ping timeout: 260 seconds)
14:29:54  * tmcw_joined
14:30:38  * fronxjoined
14:33:11  * fronxquit (Remote host closed the connection)
14:34:17  * anoemiquit (Quit: anoemi)
14:34:54  <insertcoffee>oh yea you can
14:35:41  <insertcoffee>wait, no, kinda, you can buffer the output from the first and send it on
14:38:34  * tmcw_quit (Remote host closed the connection)
14:39:10  * tmcw_joined
14:40:03  <dominictarr_>it streams, but it buffers a bit
14:40:07  <insertcoffee>dominictarr_ https://gist.github.com/missinglink/7806099
14:40:21  <dominictarr_>backpressure in bash is combined with scheduling
14:40:35  <dominictarr_>if one process can't take anymore input, the previous process is paused.
14:40:53  <insertcoffee>maybe I'm just being daft here but the second version processes input once per line and basically does a map() on it
14:43:20  * tmcw_quit (Ping timeout: 245 seconds)
14:43:21  <insertcoffee>plus it handles more than one function being passes to multi()
14:43:39  * tmcw_joined
14:44:07  * fronxjoined
14:44:15  <insertcoffee>...there is most probably a bash command I dont know about that does this
14:46:13  * fallsemojoined
14:48:45  * dguttmanjoined
14:48:58  * slaskisquit (Quit: slaskis)
15:00:45  * mbrevoortquit (Remote host closed the connection)
15:03:27  * kevinswiberjoined
15:04:09  * thlorenzquit (Remote host closed the connection)
15:04:45  * thlorenzjoined
15:12:11  * slaskisjoined
15:14:21  * tmcw_quit
15:14:30  * dominictarr_changed nick to dominictarr
15:16:51  * mikolalysenkojoined
15:20:35  <dominictarr>hey, does anyone know what the ssh message "roaming not allowed by server means" ?
15:20:40  <dominictarr>hey, does anyone know what the ssh message "roaming not allowed by server" means ?
15:21:21  <pkrumins>haven't seen that one before
15:21:34  * mikolalysenkoquit (Ping timeout: 246 seconds)
15:21:47  * dguttmanquit (Quit: dguttman)
15:22:39  * kevino80joined
15:22:49  * dguttmanjoined
15:23:16  * AvianFlu_quit (Remote host closed the connection)
15:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 57]
15:24:37  <insertcoffee>dominictarr cat /var/log/auth.log ?
15:25:37  * AvianFlujoined
15:26:13  * dguttmanquit (Client Quit)
15:27:48  * slaskisquit (Quit: slaskis)
15:29:41  <dominictarr>insertcoffee, hmm, I don't have that file on arch.
15:30:01  * tmcw_joined
15:30:14  <insertcoffee>its the ssh log, you have one... somewhere
15:36:34  * dguttmanjoined
15:37:41  * slaskisjoined
15:44:01  * tmcw_quit
15:47:13  <insertcoffee>anyone had success pulling reporting data from google analytics before?
15:53:46  <Maciek416>I think it's pretty limited compared to what you can look at in GA itself, but I could be out of date on that
15:54:55  <mmalecki>dominictarr: it should be on the remote server for sure
15:55:06  <mmalecki>dominictarr: also, past ssh -vvv
15:57:49  * fronxquit (Remote host closed the connection)
15:58:51  <dominictarr>https://gist.github.com/dominictarr/eb945df837fd05f29402
15:58:57  <dominictarr>mmalecki, thanks
16:00:03  <thlorenz>defunctzombie: looks like something is failing inside the newer zuul with node0.8: https://travis-ci.org/thlorenz/zuul-mp/jobs/14988284
16:00:26  <thlorenz>I'll make an issue
16:00:41  * mikolalysenkojoined
16:00:45  <defunctzombie>thlorenz: k
16:00:51  <defunctzombie>thlorenz: it looks like the use of superstack
16:00:57  <defunctzombie>thlorenz: can probably remove the use of that
16:01:21  <defunctzombie>thlorenz: I haven't tested superstack in 0.8
16:02:51  <thlorenz>defunctzombie: ah, that makes sense, here: https://github.com/defunctzombie/zuul/issues/20
16:04:46  <thlorenz>defunctzombie: if this is a scheme to get me to pin my dependencies, nice try ;)
16:06:13  <defunctzombie>thlorenz: how can I reproduce that error? just run zuul-mp tests on 0.8?
16:07:49  <thlorenz>defunctzombie: nave use 0.8 npm test (inside zuul-mp)
16:08:16  <thlorenz>defunctzombie: or even easier: nave use 0.8 node test/passing-qunit.js
16:08:24  <defunctzombie>I use nvm thank you very much :)
16:08:38  <thlorenz>well similar then ;)
16:10:08  <thlorenz>defunctzombie: give me a sec I'm making this easier
16:10:15  <defunctzombie>I have it running
16:10:17  <defunctzombie>and failing
16:10:24  <defunctzombie>I think something changed with event emitters
16:10:25  <defunctzombie>sigh
16:10:55  * mmaleckiquit (Quit: leaving)
16:11:07  * mmaleckijoined
16:12:32  <defunctzombie>are these tests suppose to be so slow?
16:12:44  <thlorenz>defunctzombie: you can now just git clone the repo and simply run npm test
16:12:55  <thlorenz>that'll go thru both node versions
16:13:07  <thlorenz>you'll see a failing looking test, but that is intended
16:21:57  <defunctzombie>thlorenz: just pushed zuul master with superstack bump
16:22:07  <defunctzombie>thlorenz: try it out and if good we can publish a new zuul version
16:22:32  <thlorenz>defunctzombie: thanks will do
16:22:53  * mmaleckiquit (Quit: leaving)
16:23:36  <thlorenz>defunctzombie: ok, this one is good :)
16:23:56  * mmaleckijoined
16:24:03  <rowbit>Hourly usage stats: [developer: 9, free: 37]
16:29:19  * shamajoined
16:29:59  <thlorenz>defunctzombie: wow, why does travis not fail my build?? I have `set -e` in front: https://travis-ci.org/thlorenz/zuul-mp/jobs/14989961
16:31:21  <defunctzombie>thlorenz: don't you have something different for when travis is running?
16:31:32  <defunctzombie>thlorenz: you have some sort of crazy stuff going on in your scripts :)
16:31:34  <thlorenz>it ends up running test-main
16:32:10  <thlorenz>to get all node versions covered -- I added set -e to the top level test script now, hope that works
16:32:15  <defunctzombie>thlorenz: also, not really sure how set -e and npm stuff will co-exist honestly
16:32:28  <defunctzombie>I dunno what npm run does
16:33:35  <mmalecki>dominictarr: /var/log/auth.log should have more info
16:33:41  <mmalecki>dominictarr: (on the server)
16:33:51  <thlorenz>defunctzombie: it just runs the script
16:33:56  <dominictarr>mmalecki, unfortunately, archlinux doesn't have that file.
16:34:31  <mmalecki>dominictarr: wut? that's insanely weird
16:35:04  <thlorenz>dominictarr: hey, since I stole this from level-sublevel, do you know why travis is not failing my build on a failed test via: set -e; for t in test/*.js; do node $t; done
16:35:29  <thlorenz>i.e. the top one here should have failed the build: https://travis-ci.org/thlorenz/zuul-mp/jobs/14989961
16:37:40  <dominictarr>thlorenz, so, travis is not failing, but the test is failing?
16:37:53  <dominictarr>when you run it locally with npm test it fails?
16:38:18  * ednapiranhajoined
16:39:21  <thlorenz>dominictarr: I'm pretty sure it did, but it runs slightly different locally: https://github.com/thlorenz/zuul-mp/blob/master/package.json#L14
16:41:55  <thlorenz>dominictarr: ah shoot seems like not failing locally either
16:42:13  <thlorenz>that sucks, gotta go back to use tap command instead of what I have now
16:42:21  <jesusabdullah>thlorenz: I never heard back from Conde Nast after the first email ;_;
16:42:30  <jesusabdullah>thlorenz: how come they don't liiike meeeeee
16:42:49  <thlorenz>jesusabdullah: what?? that must be a mistake
16:44:33  * jxsonjoined
16:45:09  * calvinfojoined
16:45:26  <defunctzombie>thlorenz: I would recommend you keep npm test simple and just have a local script which runs the tests in different node versions for you
16:45:38  <defunctzombie>thlorenz: that way you let travis do whatever it needs for different versions
16:45:50  <defunctzombie>and don't code all this stuff in every project you careabout
16:46:00  <defunctzombie>since it will become outdated
16:46:15  <defunctzombie>and when 0.12 ships you gotta go and have a bunch of random changes for boilerplate stuff
16:47:36  <jesusabdullah>Doesn't rvagg have a really cool multi-node testing tool?
16:48:04  <thlorenz>defunctzombie: I like it that way though, since it allows pull requesters to spot errors locally as well
16:48:12  <thlorenz>i.e. instead of just on travis
16:48:20  <defunctzombie>thlorenz: just tell pull requestors to use your script :)
16:48:48  <defunctzombie>thlorenz: add a "testing" section or something saying versions to test maybe, but whatevs, just bikeshedding thoughts :)
16:48:53  <thlorenz>yeah, could do that, but I like the fact that my thing comes with nave as devdep and all you have to know is how to type: npm test ;)
16:49:45  * calvinfoquit (Ping timeout: 272 seconds)
16:50:23  * mbrevoortjoined
16:52:30  * tilgovijoined
17:04:01  <thlorenz>defunctzombie: when u gonna publish so my badge goes green?? don't wanna depend on some github/master
17:04:36  <thlorenz>defunctzombie: > and when 0.12 ships you gotta go and have a bunch of random changes for boilerplate stuff
17:04:43  <thlorenz>for that I can write a script ;)
17:15:02  * mikolalysenkoquit (Ping timeout: 240 seconds)
17:15:14  <dominictarr>thlorenz, are you sure the test is failing?
17:15:23  <dominictarr>what if you run each script individually?
17:15:32  <dominictarr>I haven't had any problems with this, myself.
17:15:43  <thlorenz>me neither previously
17:15:54  * kevino80quit (Remote host closed the connection)
17:16:07  <thlorenz>maybe I'm doing something weird, but some tests are failing (timing out)
17:16:29  <thlorenz>replaced it with 'tap test/*.js' and build fails properly again
17:16:36  <dominictarr>hmm, strange
17:17:16  <thlorenz>but I like your version much better since it outputs more info
17:18:07  <thlorenz>it'd be nice if tap command would allow you to config it to print full output instead of just consuming it ^ isaacs
17:18:16  * jxsonquit (Remote host closed the connection)
17:23:59  <dominictarr>thlorenz, tape has a runner too
17:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 38]
17:24:05  <dominictarr>tape test/*.js
17:24:14  * supershabamquit (Ping timeout: 264 seconds)
17:25:05  * slaskisquit (Quit: slaskis)
17:25:17  <thlorenz>I know, but tape misses .similar :( to test against regex
17:25:32  * supershabamjoined
17:33:19  <dominictarr>thlorenz, make a pull request :)
17:33:22  * jxsonjoined
17:33:48  * dominictarrquit (Remote host closed the connection)
17:33:57  <thlorenz>dominictarr: yeah, I probably should
17:37:03  * jxsonquit (Remote host closed the connection)
17:39:54  * mikolalysenkojoined
17:41:30  * mbrevoortquit (Remote host closed the connection)
17:43:18  * calvinfojoined
17:46:52  * kevino80joined
18:01:09  * st_lukejoined
18:09:59  * DTrejojoined
18:11:09  <jesusabdullah>ugh I just had to play javascript jeopardy
18:12:18  <Domenic_>with which
18:12:45  <jesusabdullah>lab49
18:12:54  <Domenic_>was it the initial recruiter call or was it an actual dev
18:13:49  <defunctzombie>thlorenz: published 1.0.6
18:14:11  <thlorenz>defunctzombie: thanks, I'll just restart my build which now should be fixed :)
18:15:51  <jesusabdullah>Domenic_: actual dev
18:15:58  <Domenic_>hmm lame
18:16:04  <mikolalysenko>jesusabdullah: what sort of questions did they ask?
18:16:09  <jesusabdullah>Domenic_: I didn't mind it really, it was just like, crap what DOES happen if you modify a prototype after creating your instance?
18:16:15  <Domenic_>heh
18:16:18  <jesusabdullah>Domenic_: "like, who the fuck does that?"
18:20:21  <jesusabdullah>Domenic_: also ended up getting in a discussion about the difference between scope and closure, I herped the derp a little bit but with enough hints I was like, "OHHHHHHH I know what you're getting at yeah blah blah blah"
18:20:49  <Domenic_>jesusabdullah: heh yeah makes sense.
18:20:54  <Domenic_>I wonder who you got...
18:21:45  <jesusabdullah>Bruce Harris?
18:21:51  <jesusabdullah>I don't think he was overly disappoint
18:21:58  <Domenic_>oh yeah, he's a good guy.
18:22:08  <jesusabdullah>I think they were intentionally tough questions and I think he found my answers acceptable
18:22:14  <Domenic_>:)
18:22:22  <jesusabdullah>then I told him about this cool service registry thing with scuttlebutts
18:22:23  <Domenic_>well now you know we take our javascript seriously
18:22:29  <jesusabdullah>haha for shizz
18:22:47  <jesusabdullah>oh and we got into "use strict" which I never use
18:23:03  <Domenic_>been doing some airpairs recently and seeing a lot of noob code from "senior developers" at other places who need help... makes me glad to be in my people-who-know-JS bubble.
18:23:44  <jesusabdullah>honestly the worst thing was when I accidentally said something that sounded like this resolution bubbled up through functions and we had to spend 5 minutes clarifying that I completely a phrase I didn't mean to
18:24:01  <jesusabdullah>oh wellolol
18:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 35]
18:24:10  <jesusabdullah>I feels ya tho
18:25:04  <mikolalysenko>Domenic_: what counts as noob js code in your opinion?
18:26:13  <Domenic_>mikolalysenko: well it was things like callbacks feeling weird, or using global variables and hearing that "namespacing is what people are doing these days, i know, but i'm just using globals for now," or when they get confused on object literal syntax...
18:26:27  <Domenic_>(and call it JSON...)
18:27:08  <jesusabdullah>GOOD TIMES
18:28:58  <mikolalysenko>yeah. working with global variables and module free js code is kind of obnoxious...
18:29:35  <mikolalysenko>though writing a bunch of npm modules has given me a low pain tolerance for that kind of thing
18:30:42  <mikolalysenko>I always wonder what sort of mistakes I am making right now though in my js code...
18:33:52  <jesusabdullah>just write tests bro
18:39:20  <mikolalysenko>yeah, I probably need to do more of that
18:40:11  <mikolalysenko>my current strategy is kind of iterative refinement of test cases, which is use it until it breaks then go back and add another test case
18:45:59  * st_lukequit (Remote host closed the connection)
18:46:35  <trevnorris>creationix: ping re: asynclistener event names
18:59:07  * fallsemoquit (Quit: Leaving.)
19:00:04  * fallsemojoined
19:01:39  * fronxjoined
19:05:21  * indexzerojoined
19:08:40  <ogd_>mikolalysenko: are you coming out west any time soon?
19:17:55  * insertcoffeequit (Ping timeout: 245 seconds)
19:23:04  * fotoveritejoined
19:23:13  * shama_joined
19:23:23  * fronxquit (Remote host closed the connection)
19:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 40]
19:26:11  * shamaquit (Ping timeout: 272 seconds)
19:26:53  * DTrejoquit (Remote host closed the connection)
19:26:55  * mikolalysenkoquit (Ping timeout: 250 seconds)
19:27:44  <creationix>trevnorris, yes?
19:28:49  <trevnorris>creationix: there are a couple pieces of info that I think would be helpful. specifically, what the "type" of constructor is (e.g. nextTick, TCPWrap, etc) that would be passed to the create callback.
19:29:23  <trevnorris>creationix: and the other would be the type of event that is being fired. then, optimally, users could place filters on those two of where they want the callbacks to actually fire.
19:30:35  <trevnorris>but the current implementation (minus an API syntax change) is still full of bugs. it's a massive and complex change that basically reroutes all I/O guts of node through a single location
19:30:41  * DTrejojoined
19:31:12  <trevnorris>and i'm going to focus on getting that hammered out before the v0.12 release. but those things are on the list of "eventually"
19:31:44  <creationix>trevnorris, did you see my code for generating diagrams of the events?
19:31:53  <trevnorris>creationix: nope
19:32:15  <creationix>that was why I needed the names of the events.
19:32:31  <creationix>trevnorris, here is an http server serving two requests (one streaming a file and one 404 response)
19:32:47  <creationix>but yeah, I also thought about users filtering by type.
19:33:07  * fronxjoined
19:33:39  <creationix>you can see the server emits two events for each request but I'm not sure what events those are
19:33:59  <trevnorris>you have a link to that code?
19:34:24  <creationix>trevnorris, https://gist.github.com/creationix/7796338
19:34:46  <creationix>also the previous science experiment that is a cool web framework that (ab)uses async-listener https://gist.github.com/creationix/7778005
19:36:17  <creationix>trevnorris, also, if console.log and console.error are truly sync, it would be great if they didn't emit events
19:36:23  <creationix>then you could log while in the event handler
19:36:34  <creationix>currently it causes stack overflows
19:36:51  <creationix>(at least with async-listener, I didn't try with node 0.11.x)
19:37:27  <trevnorris>yeah. i realize that's a pain. in master you can use process._rawDebug, which just writes directly to stderr. i'm not sure of the legacy decision to complicate those outputs w/ streams
19:38:49  <trevnorris>creationix: thanks for the info. i'll keep this in mind while I'm re-implementing.
19:38:56  <creationix>awesome, thanks
19:39:01  <creationix>I've wanted this in node for years
19:39:07  <creationix>luvit had it since initial design
19:39:20  <creationix>it's a very powerful hook
19:44:15  * mbrevoortjoined
19:46:00  <ehd>creationix: hey, so i basically have function definitions as strings and want to sync them into a filesystem git database in node
19:48:02  <creationix>ehd, ok, do you understand how git core works?
19:48:20  <creationix>the blobs, trees, commits, and tag objects?
19:48:59  <ehd>not entirely, should i read up on that first. i guess their equivalent exist in jsgit?
19:50:34  <creationix>right, js-git is very low-level. It's nothing like the CLI interface you're used to with cgit
19:50:38  <creationix>but it's really simple too
19:50:45  <creationix>think of it as a key-value store
19:50:59  <creationix>you store files and it gives you the keys (hashes)
19:51:11  <creationix>you then organize files into trees and get the hashes for the trees
19:51:19  <creationix>you then create a commit using the root tree hash
19:51:31  <creationix>then you take that commit hash and point a branch or tag to it so you can find it later
19:51:58  * AvianFlu_joined
19:52:12  * AvianFlu_quit (Read error: Connection reset by peer)
19:52:29  * AvianFluquit (Read error: Connection reset by peer)
19:52:30  * AvianFlu_joined
19:52:43  <ehd>sounds awesome!
19:52:44  * mikolalysenkojoined
19:52:58  <mikolalysenko>ogd_: not sure, no plans right now
19:53:38  <mikolalysenko>ogd_: have a very big deadline on dec. 13, so haven't thought much beyond that point yet
19:53:43  <creationix>ehd, here is some really good reading for the level of understanding you'd need. http://git-scm.com/book/en/Git-Internals
19:54:03  <creationix>ehd, the js-git API is still somewhat unstable, but I can show you the current API when you're ready to start writing code
19:54:35  <creationix>the object-store API should be pretty stable at this point
19:54:35  * fronxquit (Remote host closed the connection)
19:54:48  <creationix>it's implemented in two different places (js-git and js-github)
19:56:15  <ehd>cool, reading through the internals chapter now
19:56:35  * AvianFlujoined
19:56:50  * mbrevoortquit (Remote host closed the connection)
19:56:55  * AvianFlu_quit (Read error: Connection reset by peer)
19:57:27  * AvianFlu_joined
20:00:21  <trevnorris>creationix: reasons for passing in the context: you can identify the exact state of the requesting object (e.g. fd) also for some more insane analysis you can actually pass the object native side and extract the calling class
20:01:01  * AvianFluquit (Ping timeout: 272 seconds)
20:01:50  * mbrevoortjoined
20:05:12  <creationix>trevnorris, btw, why not call after in case of error?
20:05:51  <creationix>it's not too bad, I just call after when my error handler is done
20:05:57  <creationix>just curious
20:10:16  * kevino80quit (Remote host closed the connection)
20:10:58  <trevnorris>creationix: oversight. I only put the caller in where the callback is processed. which means if a throw occurs then it doesn't have a way to return back.
20:11:14  <trevnorris>basically I need to explicitely call the after callbacks if the error was handled.
20:11:36  <trevnorris>but when that's supposed to happen, i'm not sure. or, at least, know when the _best_ time to do that would be.
20:12:16  <creationix>it's fine, I can always call it manually when I want it to happen
20:12:20  <creationix>as long as it's consistent
20:13:14  <trevnorris>that's part of the fix i'm going to be doing
20:16:35  <defunctzombie>trevnorris: libuv question: when using a uv_timer_t handle.. when is it safe to destroy the handle?
20:16:56  * thlorenzquit (Remote host closed the connection)
20:17:30  * thlorenzjoined
20:17:52  * jcrugzzjoined
20:19:31  * mikolalysenkoquit (Ping timeout: 260 seconds)
20:22:33  * thlorenzquit (Ping timeout: 272 seconds)
20:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 22]
20:25:08  * fronxjoined
20:27:09  * dguttmanquit (Quit: dguttman)
20:31:19  * fronxquit (Ping timeout: 246 seconds)
20:32:32  * jcrugzzquit (Ping timeout: 240 seconds)
20:33:42  * jcrugzzjoined
20:34:05  * kevinswiberquit (Remote host closed the connection)
20:37:40  * jxsonjoined
20:37:50  * kevinswiberjoined
20:40:48  * mikolalysenkojoined
20:42:14  * jxsonquit (Ping timeout: 264 seconds)
20:48:14  * thlorenzjoined
20:52:57  * thlorenzquit (Ping timeout: 252 seconds)
21:00:27  * kevino80joined
21:01:23  * kenperkinsjoined
21:04:51  * dguttmanjoined
21:09:39  * mbrevoortquit (Remote host closed the connection)
21:14:08  * jxsonjoined
21:14:42  * jxsonquit (Remote host closed the connection)
21:17:14  * jxsonjoined
21:20:04  * kenperkinsquit (Quit: Computer has gone to sleep.)
21:23:04  * kenperkinsjoined
21:24:03  <rowbit>Hourly usage stats: [developer: 0, free: 39]
21:24:18  * jcrugzzquit (Ping timeout: 252 seconds)
21:24:57  * jxsonquit
21:27:54  * thlorenzjoined
21:29:04  * jxsonjoined
21:31:03  * dguttmanquit (Quit: dguttman)
21:31:17  * mbrevoortjoined
21:31:44  <Domenic_>waugh, this thing has gotten better, but is not dead yet. https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm#readableByteStreamInterface
21:32:55  <Domenic_>creationix: do you think { in, out } for duplex and transform streams makes sense? i should probably choose one soon and at least see how it goes.
21:33:16  <Domenic_>ircretary: tell dominictarr i want to talk to him about { in, out } vs. one-object for duplex and transform streams.
21:33:17  <ircretary>Domenic_: I'll be sure to tell dominictarr
21:33:26  <Domenic_>ircretary: you respond so fast, it is frightening.
21:33:26  <ircretary>Domenic_: I'm not sure what to do with that command. Ask for help in PM.
21:37:39  <ehd>creationix: i went through the blob/tree/commit/refs section of the book :D
21:42:06  * jergasonjoined
21:52:07  * kevinswiberquit (Remote host closed the connection)
22:03:12  * kenperkinsquit (Quit: Computer has gone to sleep.)
22:05:38  * fronxjoined
22:06:49  <spion>Domenic_, pipe will still work, correct?
22:07:01  <spion>whoops
22:07:50  * fronxquit (Remote host closed the connection)
22:08:51  * fronxjoined
22:09:36  * Maciek416quit (Remote host closed the connection)
22:15:29  <trevnorris>defunctzombie: sorry dude. I definitely don't know libuv well enough to give you a safe answer on that. :)
22:15:37  <defunctzombie>:(
22:15:42  <defunctzombie>no one loves me
22:16:28  * kenperkinsjoined
22:18:04  * slaskisjoined
22:19:30  * kenperkinsquit (Client Quit)
22:24:03  <rowbit>Hourly usage stats: [developer: 7, free: 26]
22:26:29  <creationix>Domenic_, what do you mean?
22:26:48  <creationix>ehd, awesome. It's a really elegant system isn't it?
22:28:28  <ehd>yep, i especially like how packfiles just build on top of the simpler abstractions
22:28:42  <ehd>i wonder how it performs with really small diffs (single words sometimes)
22:29:05  <creationix>the binary delta in packfile works best for files with small diffs
22:29:29  <creationix>(at least in terms of saving bandwidth)
22:30:11  <creationix>though I must say, there are parts of the pack protocol that I don't enjoy.
22:30:20  <creationix>I see why it was made the way it's made though.
22:32:07  <ehd>i haven't read the transport part (yet); is what you mean related to creating or transporting packs?
22:33:05  <creationix>both, but more so the network protocols layered on top
22:33:21  <creationix>packfile format alone isn't that bad
22:33:34  <creationix>just difficult do parse
22:33:40  * slaskisquit (Quit: slaskis)
22:36:01  * st_lukejoined
22:42:27  <ehd>i used to think git stored diffs, then learned it stored whole content as blobs every time, but then again fascinated that packfiles mitigate that
22:42:41  * thlorenzquit (Remote host closed the connection)
22:42:51  <ehd>so this might work well as a versioned database for code snippets :D
22:43:14  * thlorenzjoined
22:43:23  * kevinswiberjoined
22:43:56  * kenperkinsjoined
22:44:14  <creationix>defunctzombie, by "destroy" do you mean uv_close?
22:44:31  <defunctzombie>creationix: nope, but destroy I mean delete the uv_timer_t
22:45:04  <defunctzombie>creationix: you have to make one for the lifetime of timer callbacks
22:45:12  <defunctzombie>but knowing when there can be no more callbacks is unclear
22:45:14  <creationix>as I understand, you stop the timer, close the handle and once the close callback has happened, you can delete the struct
22:45:36  <defunctzombie>I don't think you have to close a uv_timer_t do you?
22:45:47  <creationix>you have to close everything to be safe
22:45:53  <defunctzombie>creationix: but you can restart the timer
22:45:58  <creationix>it's not just for file descriptor based stuff
22:46:17  <creationix>right, are you worried that some other code will restart the timer behind your back?
22:46:33  <defunctzombie>kinda
22:46:39  <Domenic_>Ceo
22:46:41  <Domenic_>Err
22:46:47  <defunctzombie>creationix: also, you don't have to stop single-shot timers
22:46:56  <defunctzombie>creationix: they will just fire and be done
22:47:12  <creationix>defunctzombie, I think that's right
22:47:27  <creationix>also if I remember correctly it's safe to double stop a timer
22:47:30  <Domenic_>Creationix: I mean for whatwg/streams, trying to decide if duplex/transform streams should be objects with in and out properties, or an object which implements both interfaces.
22:47:33  * thlorenzquit (Ping timeout: 250 seconds)
22:47:42  <defunctzombie>creationix: yes, it is safe, but still you have to know that the timer is a single shot vs multi
22:48:03  <defunctzombie>creationix: and there is this "again" method you can call on a timer
22:48:22  <creationix>defunctzombie, I'm pretty sure there is a property on the struct that tells you if the timer is live
22:48:33  <creationix>it's been a while and I don't have the header file open
22:48:57  <creationix>Domenic_, other than "in" being a keyword, I really like {in,out}
22:49:28  <defunctzombie>creationix: nope, timer has no additional fields beyond handle fields
22:50:21  <creationix>defunctzombie, so why don't you know the state of the timer?
22:50:41  <creationix>you can't delete it if you aren't sure that nobody will try to reference it anymore right?
22:51:12  <defunctzombie>creationix: yea, specifically, you can't delete it until you know that it won't fire more callbacks
22:51:31  <creationix>defunctzombie, right, but that's easily fixed by stopping the timer and closing the handle
22:51:37  <defunctzombie>creationix: I think I may have thought up a solution
22:51:39  <creationix>I promise it won't fire after that
22:51:50  <defunctzombie>creationix: but I can't stop the timer
22:51:54  <defunctzombie>that is for the user to decide to do
22:52:09  <creationix>why can't you stop the timer, you're about to delete it?
22:52:23  <creationix>or is your question, you want to know if it's still running?
22:52:24  <defunctzombie>creationix: but when am I about to delete it?
22:53:04  <defunctzombie>creationix: basically, I need to add some logic that sees if the timer is a single shot or multishot
22:53:11  <defunctzombie>for singleshot that is easy, I can cleanup after
22:53:19  <defunctzombie>for multishot, I need to intercept the stop call too
22:53:26  <creationix>defunctzombie, do you know about uv_is_active
22:53:31  <Domenic_>Creationix: just for duplex, or for transform also? You'd have to add special in/out-detecting/using logic to pipe if you wanted in/out on transform…
22:53:31  <defunctzombie>creationix: I do not
22:53:36  <creationix>I think that's what you're looking for if I understand the question
22:53:42  * ferossjoined
22:53:51  <creationix>defunctzombie, https://github.com/joyent/libuv/blob/master/include/uv.h#L522-L542
22:53:52  * ferossquit (Client Quit)
22:53:59  * thlorenzjoined
22:54:00  <defunctzombie>creationix: seems like what I want :)
22:54:06  <defunctzombie>creationix: thanks! will take a closer look
22:54:13  <creationix>awesome
22:54:24  <defunctzombie>creationix: this is for my libuv.js experiment
22:54:29  <defunctzombie>thus all the detailed questions :)
22:54:34  <creationix>libuv.js?
22:54:42  <defunctzombie>cause I gotta prevent garbage collection from happening
22:54:53  <creationix>Domenic_, just duplex I think
22:55:01  <creationix>a transform is really a single stream
22:55:06  <creationix>but I'm not solid either way
22:55:13  <defunctzombie>creationix: writing some js bindings for libuv
22:55:15  <creationix>personally I don't represent transforms as streams
22:55:22  <creationix>defunctzombie, what js engine?
22:55:27  <defunctzombie>creationix: v8
22:55:53  <creationix>defunctzombie, that's actually pretty cool. The bindings in node are terrible hacked up
22:56:05  <creationix>though I'm sure you can learn a lot from reading node's source
22:56:15  <creationix>defunctzombie, check out how I did my lua bindings in luv
22:56:27  <creationix>much cleaner method than how I did it for luvit
22:56:37  * kenperkinsquit (Ping timeout: 240 seconds)
22:56:43  <defunctzombie>creationix: oh shit yea.. forgot about luv, need to have that open as a reference too
22:56:45  <Domenic_>Creationix: I think I agree, yay. Which leaves https://github.com/whatwg/streams/issues/47
22:57:28  <creationix>defunctzombie, a v8 version of luv would actually be a pretty fun library to use
22:57:38  <creationix>and it could be used from node or as a standalone platform
22:57:45  <defunctzombie>creationix: I hope so
22:58:08  <defunctzombie>creationix: it is all pretty raw right now since I am still learning some libuv patterns and v8 binding shit
22:58:16  <defunctzombie>creationix: but I have some file reading
22:58:22  <defunctzombie>and working on timers
22:58:33  <defunctzombie>mostly just a bunch of the same boilerplate over and over
22:58:37  <defunctzombie>and writing tests for it too
22:58:46  <defunctzombie>creationix: https://github.com/defunctzombie/libuv.js
22:58:52  <defunctzombie>creationix: barely anything works right now
22:59:20  <creationix>defunctzombie, good luck
22:59:56  <creationix>defunctzombie, it's not much, but if it's helpful in any way https://github.com/creationix/uvrun
22:59:58  * tmcw_joined
23:00:25  <defunctzombie>creationix: cool, yea those I got working first :)
23:00:34  <defunctzombie>creationix: cause nothing else is usable without that really haha
23:00:42  <creationix>right
23:00:51  <creationix>but what that project taught me is you can use libuv bindings from inside node
23:00:57  <creationix>it just blocks node's uv_run with your own
23:01:05  <creationix>everything keeps on working normal
23:01:05  <defunctzombie>creationix: that's cool
23:01:12  <defunctzombie>creationix: I am aiming for "pre-node" tho
23:01:19  <defunctzombie>so I don't have anything
23:01:25  <creationix>right, same as luv
23:01:28  <defunctzombie>yep
23:01:40  <creationix>but there are times when I wish I could use libuv directly in a node module
23:01:56  <defunctzombie>heh, maybe I will make a node module for that
23:02:03  <defunctzombie>once I have the bindings working
23:02:12  <creationix>the only problem if you're libuv headers would have to match what was in the node version being used
23:02:30  <creationix>Domenic_, I think I prefer the short names
23:02:54  <creationix>Domenic_, but it's midnight, my battery is dying and I left my American power adapter in the office
23:03:53  <creationix>defunctzombie, if you have more questions, hit me up. I'm no ben, but I have written libuv bindings for four different times
23:04:08  <defunctzombie>creationix: you can count on it
23:04:20  <defunctzombie>creationix: I totally forgot about lua bindings stuff
23:04:24  <defunctzombie>creationix: there will be more questions :)
23:04:35  <creationix>luv is the cleanest by far, start there
23:04:52  <creationix>though the candor stuff isn't bad either, just unfinished
23:05:04  <creationix>candor's binding API is very OOP friendly
23:05:08  <creationix>lua is straight C
23:05:26  <creationix>https://github.com/creationix/candor.io
23:06:33  * kevino80quit
23:06:52  <creationix>alright, g'night everyone
23:07:07  <defunctzombie>later
23:10:47  * tmcw_quit
23:11:51  * djcoinquit (Quit: WeeChat 0.4.1)
23:12:23  * thlorenzquit (Remote host closed the connection)
23:12:58  * thlorenzjoined
23:13:13  * kevinswiberquit (Remote host closed the connection)
23:13:41  * AvianFlu_changed nick to AvianFlu
23:17:27  * thlorenzquit (Ping timeout: 250 seconds)
23:17:56  * timoxleyjoined
23:18:17  * dguttmanjoined
23:24:03  <rowbit>Daily usage stats: [developer: 41, free: 690]
23:24:03  <rowbit>Hourly usage stats: [developer: 1, free: 33]
23:31:59  * kevinswiberjoined
23:36:25  * fronxquit (Remote host closed the connection)
23:41:25  * dguttmanquit (Quit: dguttman)
23:48:06  * joliss_joined
23:48:21  * mbrevoortquit (Remote host closed the connection)
23:49:04  * jolissquit (Ping timeout: 246 seconds)
23:49:05  * joliss_changed nick to joliss
23:49:26  * indexzeroquit (Ping timeout: 264 seconds)
23:55:54  * ednapiranhaquit (Quit: Leaving...)