00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:03:02  <williamcotton>hmm
00:03:58  <williamcotton>I'm trying to think of an instance where two different runtimes (VMs, whatever… shared object spaces?) had shared code...
00:04:11  <williamcotton>with like the JVM and .NET there are these different languages
00:04:22  <williamcotton>but the same runtimes
00:04:31  <williamcotton>but with node and the browser
00:04:39  <williamcotton>it's the same language, but different runtimes
00:04:53  <williamcotton>and that seems to be sort of problematic
00:06:07  <williamcotton>window/document is like WAY different than process
00:09:01  * damonoehlmanjoined
00:09:18  <rowbit>substack, pkrumins: Encoders down: 50.57.103.135 (free2)
00:12:20  * timoxleyjoined
00:13:42  * hughskjoined
00:15:12  * maksimlinjoined
00:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 30]
00:17:13  * timoxleyquit (Ping timeout: 272 seconds)
00:20:20  * jergasonquit (Quit: jergason)
00:32:09  * thlorenz_joined
00:32:53  * anvakaquit (Remote host closed the connection)
00:34:11  * tmcwquit (Remote host closed the connection)
00:34:26  <williamcotton>so like, to borrow a term from functional programming, what if code was specifically designed to be agnostic of process/node/CLI as well as window/document/browserland, and we then we just "lifted" them to those specific runtime "types"…
00:34:45  * tmcwjoined
00:35:21  <williamcotton>I think I read a blog post about category theory once but I didn't really understand it
00:35:23  <williamcotton>haha
00:36:31  * thlorenz_quit (Ping timeout: 246 seconds)
00:38:53  * jergasonjoined
00:41:07  * blobaumjoined
00:42:04  * st_lukequit (Remote host closed the connection)
00:42:32  * st_lukejoined
00:45:45  * jiangplusquit (Ping timeout: 246 seconds)
00:47:04  * st_lukequit (Ping timeout: 260 seconds)
00:51:04  * tmcwquit (Remote host closed the connection)
00:52:18  <rowbit>substack, pkrumins: Encoders down: 50.57.226.209 (free4)
00:56:10  * jergasonquit (Quit: jergason)
00:56:20  * DTrejojoined
00:58:11  <spion>Raynos, what is the worst part? :)
00:58:30  <spion>I don't get why people keep repeating that.
00:58:35  <Raynos>try catch
00:58:37  <spion>global state is harmful, exceptions or no exceptions.
00:58:47  <spion>err throw or no throw.
00:59:03  <Raynos>x.then(function (foo) { return foo.tYpO() })
00:59:17  <Raynos>syntax errors should throw not be caught in a boxed rejected promise
00:59:20  <spion>bluebird will report that.
00:59:31  <spion>Possible unhandled TypeError
00:59:49  <Raynos>but that sucks
00:59:56  <Raynos>i dont want that, not in node, never in node
01:00:01  <spion>why.
01:00:05  <Raynos>im fine with a promise implementation that has no try catch blocks
01:00:15  <Raynos>throw exceptions should crash processes
01:00:17  <Raynos>thats it. end.
01:00:21  <spion>no its not
01:00:23  <spion>this is not erlang
01:00:26  <spion>spawn has a huge cost.
01:00:37  <Raynos>...
01:00:59  <Raynos>spion: https://twitter.com/izs/status/396361076415025152
01:01:13  <Raynos>spion: https://github.com/AsynchronousGenerators/agen-spec#faq
01:01:14  * jxsonquit (Remote host closed the connection)
01:01:18  <Raynos>Errors & Exceptions are different
01:01:37  <Raynos>> Because of the above, uncaught exceptions in application code prevent the core call stack from unwinding, placing it into an undefined state, requiring a restart of the process
01:01:44  * jxsonjoined
01:01:45  <Raynos>If you dont want the process to crash then dont throw
01:02:04  * jxsonquit (Read error: Connection reset by peer)
01:02:25  * jxsonjoined
01:03:07  <spion>uhh
01:03:18  <spion>lets start with the "core calls tack"
01:03:30  <williamcotton>my vote is to add setjump and longjmp to JavaScript so we can write our own custom exception handling ;)
01:04:34  <spion>what is the core call stack
01:05:18  <spion>exceptions caught in promises are quite... superficial
01:05:47  <spion>its like express catching exceptions thrown directly inside its route handlers.
01:06:33  <spion>once you schedule your own internal async callbacks, anything can happen
01:06:36  <williamcotton>it's funny how closely related the two concepts are!
01:06:52  <spion>they're not deep like domains
01:07:11  <williamcotton>promises, continuations, exception handling… they're all sort of the same process on the machine
01:07:37  <williamcotton>sorry to get all Computer Sciency
01:07:37  * jxsonquit (Ping timeout: 272 seconds)
01:07:48  <Raynos>i just dont want throw Error to be used for two things
01:07:51  <Raynos>its wrong
01:08:56  <spion>Petka and I just wrote another addition to bluebird today
01:08:56  <wolfeidau>Raynos: How do I make this work ? https://github.com/substack/dnode/pull/141 :)
01:09:00  * Maciek416joined
01:09:04  <spion>now it supports predicate-based catch filters.
01:09:22  <spion>for super-fine control over what you're catching.
01:09:27  <Raynos>wolfeidau: https://github.com/substack/dnode/pull/141/files#diff-168726dbe96b3ce427e7fedce31bb0bcR26
01:09:41  <Raynos>so pass in { weak: false } in the dnode constructor
01:09:43  <wolfeidau>Raynos: but weak is still pulled in by dnode
01:09:54  * jergasonjoined
01:10:07  <wolfeidau>as in https://github.com/substack/dnode/blob/master/package.json#L17
01:10:21  <Raynos>wolfeidau: then we need a PR to change dependencies
01:10:26  <isaacs>(re question in irc)
01:10:26  <isaacs>i heard (third-hand) that my involvement with strongloop was used as a selling point in a deck presented to walmart.
01:10:27  <Raynos>move weak to `optionalDependencies`
01:10:27  * enjaworkquit (Ping timeout: 260 seconds)
01:10:29  <isaacs>i don’t know that it’s true, or if it was a misinterpreted comment, or anything of the sort
01:10:32  <isaacs>i wrote it off as "meh, that’s gotta be wrong" when i heard it. then i noticed in the STAC email that I’d sort of implied that it was fine to do so, and just wanted to clarify
01:10:36  <isaacs>whoa!!!
01:10:36  <wolfeidau>Raynos: aha cheers!
01:10:38  <isaacs>wrongpaste
01:10:39  <isaacs>disregard :)
01:10:53  <wolfeidau>Raynos: will do
01:11:13  <wolfeidau>Raynos: Also trying to make it work with 0.11 so hence the question
01:12:18  <rowbit>substack, pkrumins: Encoders down: 173.203.67.76 (free3)
01:13:01  * timoxleyjoined
01:14:00  <spion>Raynos, my gut feeling is telling me that they're going to work out well. I guess I'll find out.
01:14:04  * ednapira_joined
01:14:07  * jiangplusjoined
01:16:36  * enjaworkjoined
01:16:43  <spion>the tools to handle all possible contingencies are there: predicate catch filters, context managers (handles the shiz example nicely), avoiding global state.
01:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 34]
01:16:54  * timoxleyquit (Read error: Connection reset by peer)
01:17:25  * timoxleyjoined
01:18:23  <spion>regarding shiz context manager: shiz.dispose() will reset the shiz to its initial state :)
01:28:53  * DTrejoquit (Remote host closed the connection)
01:29:25  * DTrejojoined
01:32:18  <rowbit>substack, pkrumins: Encoders down: 50.57.103.135 (free2)
01:32:59  * thlorenzjoined
01:33:45  * DTrejoquit (Ping timeout: 245 seconds)
01:34:40  <spion>(or rather, dispose and re-create the shiz, letting old clients fail with the old shiz without compromising new ones)
01:35:00  <spion>I should try and write an example
01:35:39  * dguttmanquit (Quit: dguttman)
01:37:39  * thlorenzquit (Ping timeout: 272 seconds)
01:42:45  * mikolalysenkoquit (Ping timeout: 240 seconds)
01:44:48  * jiangplusquit (Ping timeout: 240 seconds)
01:48:42  * ferossjoined
01:51:34  * williamcottonquit (Quit: williamcotton)
01:51:44  * DTrejojoined
01:53:11  * st_lukejoined
01:53:46  * ins0mniaquit (Ping timeout: 245 seconds)
01:53:52  * jiangplusjoined
01:57:30  * st_lukequit (Ping timeout: 246 seconds)
02:01:41  * tmcwjoined
02:06:24  * tmcwquit (Ping timeout: 260 seconds)
02:07:58  * defunctzombiechanged nick to defunctzombie_zz
02:13:29  * soldairquit (Ping timeout: 250 seconds)
02:16:45  <rowbit>Hourly usage stats: [free: 105]
02:33:20  * DTrejoquit (Remote host closed the connection)
02:33:52  * DTrejojoined
02:33:52  * thlorenzjoined
02:37:46  * DTrejoquit (Ping timeout: 240 seconds)
02:38:48  * damonoehlmanquit (Quit: WeeChat 0.4.2)
02:38:52  * thlorenzquit (Ping timeout: 264 seconds)
02:42:42  * defunctzombie_zzchanged nick to defunctzombie
02:46:10  * timoxleyquit
02:50:45  * ednapira_quit (Remote host closed the connection)
02:52:44  * jcrugzzjoined
02:58:37  * DTrejojoined
03:01:45  * runningskullchanged nick to zz_runningskull
03:05:47  * zz_runningskullchanged nick to runningskull
03:09:17  * DTrejoquit (Remote host closed the connection)
03:09:52  * DTrejojoined
03:10:43  * DTrejoquit (Read error: Connection reset by peer)
03:13:17  * mikolalysenkojoined
03:15:32  * Maciek416quit (Remote host closed the connection)
03:16:07  * Guest6398quit (Ping timeout: 240 seconds)
03:16:45  <rowbit>Hourly usage stats: [free: 255]
03:17:57  * ednapiranhajoined
03:26:19  * AvianFlujoined
03:27:08  * wolfeidauquit (Ping timeout: 261 seconds)
03:33:11  * wolfeidaujoined
03:34:37  * thlorenzjoined
03:36:30  * thlorenz_joined
03:36:30  * thlorenzquit (Read error: Connection reset by peer)
03:38:08  * wolfeidauquit (Ping timeout: 240 seconds)
03:41:09  * thlorenz_quit (Ping timeout: 272 seconds)
03:43:49  * kriskowalquit (Quit: kriskowal)
03:49:02  * st_lukejoined
03:55:12  * AvianFluquit (Remote host closed the connection)
03:56:45  * Maciek416joined
03:58:12  * wolfeidaujoined
04:02:09  * ednapiranhaquit (Quit: Leaving...)
04:05:34  * kriskowaljoined
04:16:02  * jergason_joined
04:16:08  * mesch_joined
04:16:45  <rowbit>Hourly usage stats: [free: 26]
04:17:37  * AvianFlujoined
04:19:29  * kanzure_joined
04:19:32  * chilts_joined
04:21:14  * feross_joined
04:22:03  * mmckegg_joined
04:22:23  * trevnorris_joined
04:23:28  * kriskowalquit (*.net *.split)
04:23:28  * ferossquit (*.net *.split)
04:23:28  * jergasonquit (*.net *.split)
04:23:28  * maksimlinquit (*.net *.split)
04:23:30  * chiltsquit (*.net *.split)
04:23:30  * meschquit (*.net *.split)
04:23:31  * mmckeggquit (*.net *.split)
04:23:32  * josephgquit (*.net *.split)
04:23:33  * trevnorrisquit (*.net *.split)
04:23:33  * kanzurequit (*.net *.split)
04:23:33  * trevnorris_changed nick to trevnorris
04:23:33  * jergason_changed nick to jergason
04:23:34  * feross_changed nick to feross
04:23:34  * mmckegg_changed nick to mmckegg
04:23:38  * mesch_changed nick to mesch
04:24:01  * AvianFluquit (Remote host closed the connection)
04:26:02  * niftylettucequit (Ping timeout: 264 seconds)
04:26:33  * josephgjoined
04:28:13  * st_lukequit (Remote host closed the connection)
04:28:26  * jxsonjoined
04:28:47  * anvakajoined
04:28:49  * st_lukejoined
04:29:40  * st_lukequit (Read error: Connection reset by peer)
04:30:13  * st_lukejoined
04:31:27  * mpiercejoined
04:31:27  * maksimlinjoined
04:32:55  <mpierce>Anyone working on JS-OS?
04:36:36  <mpierce>(I design)
04:37:17  * thlorenzjoined
04:37:36  * Maciek416quit (Remote host closed the connection)
04:38:08  * Maciek416joined
04:39:38  * niftylettucejoined
04:42:19  * thlorenzquit (Ping timeout: 272 seconds)
04:42:46  * Maciek416quit (Ping timeout: 263 seconds)
04:43:58  * jiangplusquit (Ping timeout: 246 seconds)
04:45:15  * shamaquit
04:49:04  * Maciek416joined
04:49:27  * Maciek416quit (Remote host closed the connection)
04:50:02  * Maciek416joined
04:54:27  * Maciek416quit (Ping timeout: 260 seconds)
05:00:24  * dguttmanjoined
05:01:14  * ferossquit (Quit: feross)
05:04:26  * ferossjoined
05:10:15  * jxsonquit (Remote host closed the connection)
05:15:14  <rowbit>/!\ ATTENTION: (default-local) spencer@... successfully signed up for developer browserling plan ($20). Cash money! /!\
05:15:14  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
05:16:45  <rowbit>Hourly usage stats: [free: 45]
05:22:26  * dguttmanquit (Quit: dguttman)
05:25:56  * tmcwjoined
05:26:40  * anvakaquit (Remote host closed the connection)
05:27:47  * Maciek416joined
05:29:01  * Guest6398joined
05:32:48  <rowbit>substack, pkrumins: A developer is waiting in the queue for iexplore/6.0
05:34:48  <rowbit>substack, pkrumins: A developer is waiting in the queue for iexplore/6.0
05:36:18  <rowbit>substack, pkrumins: A developer is waiting in the queue for iexplore/6.0
05:37:22  <maksimlin>mpierce: by JS-OS do you mean: https://github.com/charliesome/jsos ?
05:38:06  * thlorenzjoined
05:38:48  <rowbit>substack, pkrumins: A developer is waiting in the queue for iexplore/6.0
05:39:18  * jergasonquit (Quit: sleepytime)
05:42:30  * thlorenzquit (Ping timeout: 245 seconds)
05:50:46  * tmcwquit
05:51:38  * ins0mniajoined
05:59:33  <mpierce>maksimlin: no. someone at the redecentralized meeting at NB in SF mentioned something of the sort. i dont recall the name, if it had one, so I said 'JS-OS' because that would be awesome
06:01:48  <mpierce>maksimlin: I'll take a look at charliesome. would be great to work locally, IRL on it though
06:02:32  <mpierce>maksimlin: thanks
06:04:42  <jcrugzz>mpierce: anarchyOS maybe. https://github.com/juliangruber/anarchyos
06:06:04  * jxsonjoined
06:09:19  * Maciek416quit (Remote host closed the connection)
06:11:24  <mpierce>jcrugzz: thanks. 'related efforts' in the issues section is helpful
06:11:53  * wolfeidauquit (Ping timeout: 272 seconds)
06:12:11  * hughskquit (Quit: Leaving.)
06:16:44  <rowbit>Daily usage stats: [developer: 2, free: 461]
06:16:45  <rowbit>Hourly usage stats: [developer: 25, free: 30]
06:17:23  <jcrugzz>mpierce: np
06:18:01  * jxsonquit (Remote host closed the connection)
06:18:37  * jxsonjoined
06:22:07  * wolfeidaujoined
06:23:39  * jxsonquit (Ping timeout: 272 seconds)
06:38:58  * thlorenzjoined
06:43:13  * thlorenzquit (Ping timeout: 240 seconds)
06:47:57  * jxsonjoined
06:49:18  * jxsonquit (Remote host closed the connection)
06:52:51  * jxson_joined
06:56:53  * Guest6398quit
06:57:39  * ITprojoined
06:57:58  * ITprochanged nick to Guest35263
06:58:36  * Guest35263quit (Client Quit)
07:07:18  <rowbit>substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3)
07:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 30]
07:16:47  * mikolalysenkoquit (Ping timeout: 260 seconds)
07:25:51  * defunctzombiechanged nick to defunctzombie_zz
07:26:36  * jxson_quit (Remote host closed the connection)
07:27:46  * mcollinaquit (Read error: Connection reset by peer)
07:27:51  * mcollina_joined
07:30:53  * jiangplusjoined
07:31:34  * jxsonjoined
07:39:47  * thlorenzjoined
07:42:18  * mikolalysenkojoined
07:44:16  * thlorenzquit (Ping timeout: 264 seconds)
07:45:25  * runningskullchanged nick to zz_runningskull
07:47:15  * mikolalysenkoquit (Ping timeout: 272 seconds)
08:03:38  * djcoin_joined
08:04:49  * anvakajoined
08:04:51  * djcoin_changed nick to djcoin
08:11:34  * zz_runningskullchanged nick to runningskull
08:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 71]
08:30:52  * jiang_plusjoined
08:31:02  * runningskullchanged nick to zz_runningskull
08:40:37  * thlorenz_joined
08:43:01  * mikolalysenkojoined
08:45:28  * thlorenz_quit (Ping timeout: 264 seconds)
08:47:37  * mikolalysenkoquit (Ping timeout: 240 seconds)
08:49:06  * jxsonquit (Remote host closed the connection)
08:52:35  * jiang_plusquit (Ping timeout: 250 seconds)
08:53:20  * jiangplusquit (Ping timeout: 245 seconds)
08:59:22  * timoxleyjoined
09:07:45  * weqeqwqjoined
09:08:58  * weqeqwqpart
09:09:01  * weqeqwqjoined
09:09:45  * weqeqwqquit
09:09:55  * ITprojoined
09:13:32  * cianomaidinjoined
09:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 65]
09:19:56  * peutetrejoined
09:24:45  * mpiercequit (Quit: Leaving)
09:26:43  * zz_runningskullchanged nick to runningskull
09:29:38  * cianomaidinquit (Ping timeout: 240 seconds)
09:34:25  * ferossquit (Quit: feross)
09:40:58  * slaskisjoined
09:41:27  * thlorenzjoined
09:46:04  * thlorenzquit (Ping timeout: 264 seconds)
09:52:12  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0/20131028113308])
10:00:11  * runningskullchanged nick to zz_runningskull
10:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 61]
10:26:44  * zz_runningskullchanged nick to runningskull
10:34:08  * cianomaidinjoined
10:41:25  * jcrugzzquit (Ping timeout: 272 seconds)
10:42:18  * thlorenzjoined
10:47:07  * thlorenzquit (Ping timeout: 272 seconds)
10:52:21  * kenperkins_joined
10:53:00  * kenperkinsquit (Ping timeout: 246 seconds)
10:54:15  * cianomaidinquit (Quit: cianomaidin)
11:00:11  * runningskullchanged nick to zz_runningskull
11:07:25  * jcrugzzjoined
11:09:55  <Ralt>what does it mean when browsers are grey in testling? http://ci.testling.com/petkaantonov/bluebird
11:11:59  <Ralt>with the css class "empty"
11:12:12  <Ralt>Raynos: any idea? you've used it quite a lot iirc
11:13:37  * jiangplusjoined
11:15:07  * cianomaidinjoined
11:15:13  * peutetrequit (Quit: peutetre)
11:15:50  * jcrugzzquit (Ping timeout: 245 seconds)
11:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 263]
11:17:11  * cianomaidinquit (Client Quit)
11:19:22  * cianomaidinjoined
11:25:46  * cianomaidinquit (Quit: cianomaidin)
11:26:41  * zz_runningskullchanged nick to runningskull
11:43:07  * thlorenzjoined
11:47:28  * thlorenzquit (Ping timeout: 246 seconds)
11:50:43  * cianomaidinjoined
12:00:12  * runningskullchanged nick to zz_runningskull
12:00:30  * yorickjoined
12:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 113]
12:20:53  * slaskisquit (Quit: slaskis)
12:24:43  <substack>jiangplus: http://substack.net/node_aesthetic and http://substack.net/how_I_write_modules
12:26:29  * zz_runningskullchanged nick to runningskull
12:38:14  <spion>hmm, "how i write modules" could be converted into a script :)
12:38:25  <spion>well, parts of it
12:38:59  <spion>... well, small parts, and most are already scripts.
12:39:01  <spion>nevermind.
12:43:54  * thlorenzjoined
12:48:28  * thlorenzquit (Ping timeout: 264 seconds)
12:58:51  * jiangplusquit (Ping timeout: 260 seconds)
13:00:11  * runningskullchanged nick to zz_runningskull
13:03:23  * mcollina_quit (Remote host closed the connection)
13:03:59  * mcollinajoined
13:07:19  <rowbit>substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3)
13:08:59  * mcollinaquit (Ping timeout: 272 seconds)
13:11:34  * slaskisjoined
13:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 56]
13:17:11  * thlorenzjoined
13:22:46  <pkrumins>Ralt: it means the tests didn't run on those browsers
13:26:45  * zz_runningskullchanged nick to runningskull
13:34:30  * mcollinajoined
13:38:54  * mcollinaquit (Ping timeout: 246 seconds)
13:50:13  * peutetrejoined
13:53:46  * djcoinquit (Quit: WeeChat 0.4.1)
13:57:54  * tmcwjoined
13:58:59  * mikolalysenkojoined
14:00:11  * runningskullchanged nick to zz_runningskull
14:04:29  * mcollinajoined
14:06:08  * mcollinaquit (Read error: Connection reset by peer)
14:06:13  * mcollina_joined
14:10:24  * mcollina_quit (Ping timeout: 246 seconds)
14:12:35  * tmcwquit (Remote host closed the connection)
14:13:07  * tmcwjoined
14:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 58]
14:17:39  * tmcwquit (Ping timeout: 256 seconds)
14:19:52  * thlorenzquit (Remote host closed the connection)
14:20:10  * cianomaidinquit (Quit: cianomaidin)
14:22:12  * Maciek416joined
14:26:12  * defunctzombie_zzchanged nick to defunctzombie
14:26:45  * zz_runningskullchanged nick to runningskull
14:27:23  * peutetrequit (Quit: peutetre)
14:32:39  * peutetrejoined
14:32:50  * peutetrequit (Client Quit)
14:32:51  * jolissquit (Ping timeout: 272 seconds)
14:38:16  * tmcwjoined
14:39:46  * mcollinajoined
14:42:03  * runningskullchanged nick to zz_runningskull
14:46:32  * kevino80joined
14:54:32  * dguttmanjoined
14:54:37  * peutetrejoined
14:57:27  * AvianFlujoined
15:00:44  * thlorenzjoined
15:05:40  * Domenic__joined
15:09:50  <rowbit>substack, pkrumins: Encoders down: 50.57.103.135 (free2)
15:14:49  * zz_runningskullchanged nick to runningskull
15:15:39  * brianloveswordsquit (Excess Flood)
15:16:41  * brianloveswordsjoined
15:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 65]
15:20:15  * jolissjoined
15:21:02  * thlorenz_joined
15:22:21  * peutetrequit (Quit: peutetre)
15:23:08  * kevino80quit (Remote host closed the connection)
15:23:41  * kevino80joined
15:25:18  * thlorenz_quit (Ping timeout: 246 seconds)
15:27:10  * defunctzombiechanged nick to defunctzombie_zz
15:28:12  * kevino80quit (Ping timeout: 260 seconds)
15:30:03  * kevino80joined
15:33:21  * brianloveswordsquit (Excess Flood)
15:33:41  * brianloveswordsjoined
15:38:14  * slaskisquit (Quit: slaskis)
15:39:23  * slaskisjoined
15:39:47  * st_lukequit (Remote host closed the connection)
15:42:53  <Ralt>pkrumins: because of an error, or because they're in a queue?
15:47:30  * jolissquit (Ping timeout: 245 seconds)
15:48:45  * ednapiranhajoined
16:05:58  <jjjohnny_>what is atime, mtime and ctime from fs.stat?
16:08:03  * jergasonjoined
16:09:51  * tmcwquit (Remote host closed the connection)
16:11:13  * tmcwjoined
16:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 57]
16:17:21  * defunctzombie_zzchanged nick to defunctzombie
16:18:51  * runningskullchanged nick to zz_runningskull
16:21:00  * thlorenz_joined
16:22:03  <defunctzombie>Raynos: https://github.com/LearnBoost/engine.io-client/commit/0f1d80ecb231af3b8b8dc71e7b1f3ed3f2d3e4c0
16:25:22  * thlorenz_quit (Ping timeout: 246 seconds)
16:25:59  * cianomaidinjoined
16:28:50  <rowbit>substack, pkrumins: Encoders down: 184.106.99.27 (dev-ie7-3)
16:29:29  * AvianFlu_joined
16:29:29  * AvianFluquit (Disconnected by services)
16:29:34  * AvianFlu_changed nick to AvianFlu
16:31:49  * jiangplusjoined
16:31:58  * defunctzombiechanged nick to defunctzombie_zz
16:34:20  <rowbit>substack, pkrumins: Encoders down: 184.106.106.66 (dev-ie7-1)
16:35:20  <rowbit>substack, pkrumins: Encoders down: 184.106.99.27 (dev-ie7-3)
16:47:50  * zz_runningskullchanged nick to runningskull
16:50:53  * jolissjoined
16:56:55  * williamcottonjoined
17:00:17  * peutetrejoined
17:04:35  * tmcwquit (Remote host closed the connection)
17:05:37  * tmcwjoined
17:07:32  * shamajoined
17:09:02  * peutetrequit (Quit: peutetre)
17:12:48  * runningskullchanged nick to zz_runningskull
17:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 45]
17:20:13  * peutetrejoined
17:21:49  * thlorenz_joined
17:26:29  * thlorenz_quit (Ping timeout: 248 seconds)
17:29:25  * peutetrequit (Quit: peutetre)
17:31:26  * djcoinjoined
17:37:25  * jiangplusquit (Ping timeout: 272 seconds)
17:39:42  * mikolalysenkoquit (Ping timeout: 246 seconds)
17:44:15  * yorickquit (Remote host closed the connection)
17:54:37  * mcollinaquit (Ping timeout: 272 seconds)
17:55:11  * mcollinajoined
18:13:26  * soldairjoined
18:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 79]
18:18:22  * cianomaidinquit (Quit: cianomaidin)
18:18:39  * mikolalysenkojoined
18:18:44  * zz_runningskullchanged nick to runningskull
18:21:45  * sgimenoquit (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/)
18:22:25  * ryanseddonquit (Remote host closed the connection)
18:22:26  * Domenic_quit (Remote host closed the connection)
18:22:28  * ELLIOTTCABLEquit (Remote host closed the connection)
18:22:40  * thlorenz_joined
18:23:13  * runningskullchanged nick to zz_runningskull
18:25:05  * Raynosquit (Remote host closed the connection)
18:25:06  * sveisveiquit (Remote host closed the connection)
18:25:06  * ehdquit (Remote host closed the connection)
18:25:06  * tanepiper_quit (Remote host closed the connection)
18:25:06  * gozalaquit (Remote host closed the connection)
18:25:06  * owenb__quit (Remote host closed the connection)
18:27:49  * thlorenz_quit (Ping timeout: 272 seconds)
18:28:29  * meschquit (Remote host closed the connection)
18:28:29  * pikpikquit (Remote host closed the connection)
18:28:30  * daleharveyquit (Read error: Connection reset by peer)
18:28:30  * niftylettucequit (Remote host closed the connection)
18:30:05  * tanepiper_joined
18:33:57  * daleharveyjoined
18:35:19  * ehdjoined
18:35:50  * jxsonjoined
18:37:48  * jergasonquit (Quit: jergason)
18:42:21  * owenb__joined
18:44:14  * mikolalysenkoquit (Ping timeout: 240 seconds)
18:45:22  * cianomaidinjoined
18:46:13  * ELLIOTTCABLEjoined
18:46:47  * ryanseddonjoined
18:46:58  * sveisveijoined
18:47:34  * Raynosjoined
18:48:40  * cianomaidinquit (Client Quit)
18:50:14  * jergasonjoined
18:54:04  * defunctzombie_zzchanged nick to defunctzombie
18:54:19  * niftylettucejoined
18:56:40  * jergasonquit (Read error: Operation timed out)
18:56:40  * gozalajoined
18:57:19  <williamcotton>hah, so I'm noticing something else when it comes to AMD and CommonJS... AMD is Object-Oriented... you can have a dependency that is a Singleton Object floating around in the Object Space... in CommonJS and npm land, dependencies are never Singletons... like if you pull in a shared dependency at different points in the graph, they are unique instances, and never Singletons
18:58:05  * jergasonjoined
18:58:10  <williamcotton>so node/npm/CommonJS is much more functional, and AMD is much more object-oriented
18:58:20  * pikpikjoined
19:00:28  * enjaworkquit (Ping timeout: 264 seconds)
19:01:52  <williamcotton>is this by design or did it just happen like this?
19:02:23  * enjaworkjoined
19:02:28  <williamcotton>isaacs: ^
19:03:42  * Domenic_joined
19:04:56  * alessioalexjoined
19:07:07  * meschjoined
19:07:09  * Guest83970quit (Remote host closed the connection)
19:07:20  <rowbit>substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3)
19:09:33  <williamcotton>what I mean, is what it a side-effect based on other priorities or was it a primary consideration and other things were side-effects?
19:09:45  <williamcotton>er
19:09:48  <williamcotton>you know what I mean, haha
19:10:03  * Guest83970joined
19:11:06  * alessioalexchanged nick to alessioalex__
19:11:38  * alessioalex__quit (Quit: Page closed)
19:13:19  * kevino80quit (Remote host closed the connection)
19:14:25  * alessioalexjoined
19:14:48  <williamcotton>so like
19:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 33]
19:18:23  <chapel>williamcotton: that isn't true for node.js modules
19:19:02  <chapel>if you require the same file, it is cached and if the module exported an object, further requires would get the same object with modifications
19:19:28  * mikolalysenkojoined
19:19:39  <williamcotton>oh shit, ok cool
19:20:00  <williamcotton>hmm, I wonder why this wasn't working for me
19:20:01  * enjaworkquit (Ping timeout: 246 seconds)
19:20:39  <williamcotton>haha, ok, i see what I did...
19:21:24  * meschquit (Read error: Connection reset by peer)
19:22:11  * meschjoined
19:22:15  <williamcotton>funny enough, my thinking of that led me to wonder if pure functions make for better modules in an ecosystem of shared code
19:22:36  * enjaworkjoined
19:22:55  <williamcotton>like, maybe one of the reasons why OOP didn't lead to us swimming in a sea of reusable objects was they relied on a shared global state at some level, an Object Space
19:23:17  <williamcotton>where as pure functions are dead... they just call and return
19:23:22  * thlorenz_joined
19:24:33  <williamcotton>you pass state in to a pure function... the "living" dependencies come in from another vector... not the dependency graph, rather by calling the function in whatever running state it is in
19:24:43  <williamcotton>which you see a lot in npm
19:24:45  <williamcotton>like with express
19:24:48  <williamcotton>it's a good pattern
19:24:55  <chapel>functions (at least in js land) aren't purely dead since they have scope and can have state
19:25:00  <williamcotton>yeah of course
19:25:10  <chapel>so its still up to the programmer to make it that way
19:25:19  <williamcotton>yup
19:25:32  <chapel>just as with oo
19:25:56  * defunctzombiechanged nick to defunctzombie_zz
19:27:54  <williamcotton>I guess what I'm getting at is that code that is meant to be used as a 3rd party dependency, that is, something that you as a programmer are probably not going to be editing, should strive to at least expose an interface that is purely functional with no side-effects
19:28:15  * thlorenz_quit (Ping timeout: 272 seconds)
19:28:47  <mikolalysenko>side effects can be ok to some extent
19:28:52  <williamcotton>for sure
19:29:08  <williamcotton>but they're a pain in the ass to deal with if you can't jump in and refactor things
19:29:09  <mikolalysenko>like allocating memory, or lazily compling code for example
19:29:35  <williamcotton>it's much "nicer" to create 3rd party code that doesn't rely on or have side effects
19:31:14  <isaacs>williamcotton: in Node Modules, deps are singletons, too, they're just singletons based on the filename
19:31:50  <williamcotton>yup! I was totally wrong in my assumptions, haha
19:32:15  <mikolalysenko>my current feeling about object oriented programming is that it isn't the side effects which are the problem, but really the fact that they complicate interfaces
19:32:36  <mikolalysenko>for example, consider two different ways to implement low dimensional vectors: as objects or as arrays
19:32:46  <mikolalysenko>if you do it using objects, then there is no unique way to specify them
19:32:59  <mikolalysenko>so you end up writing a bunch of shit code to munge one custom vector datatype into another
19:33:02  <williamcotton>functions compose much better because they have such a limited facility to do so!
19:33:07  <mikolalysenko>this happens a lot for example in three.js
19:33:15  <williamcotton>yeah, totally
19:33:20  <mikolalysenko>whereas if you just use arrays, there is really only one way to do this in javascript
19:33:41  <mikolalysenko>and so you can more easily pass data between different subroutines without the extra conversion/boxing step
19:34:13  <mikolalysenko>as I see it, object oriented programming is a grab bag of metaphors that can mean many things
19:34:18  <williamcotton>did you read fogus's book? it's so good :)
19:34:23  <mikolalysenko>nope
19:34:30  <williamcotton>Functional Javascript
19:35:36  <mikolalysenko>but anyway, the point is that one of the reasons why oop becomes difficult for writing modular interfaces is that it encourages you to make distinctions between things that are at some representational level the same
19:36:02  <mikolalysenko>for example, you might have: ThreeVector3, WidgetVector3, MyVector3, etc.
19:36:11  * st_lukejoined
19:36:12  <mikolalysenko>which are all just objects that have some property x,y,z
19:36:24  <mikolalysenko>or maybe you make some distinction between coordinate 3d vectors and color vectors
19:36:27  <st_luke>defunctzombie_zz:
19:36:36  <mikolalysenko>or whatever you like
19:36:50  <williamcotton>yup
19:36:58  <mikolalysenko>but this is kind of tedious because you end up reimplementing the same sort of functionality for the each of them over and over again
19:37:16  <williamcotton>and type systems aren't that big of a pain when you only have a few primitives that you're dealing with anyways
19:37:21  <mikolalysenko>and when you convert from a system that uses say one type of vector into another, then you have to do a bunch of wasteful effort to convert them
19:37:36  <mikolalysenko>yeah
19:38:07  <mikolalysenko>my feeling right now about this is that sometimes it can be useful to draw distinctions between things, but often times this works against the principle of modularity
19:38:13  <mikolalysenko>and making simple generic interfaces
19:38:34  <mikolalysenko>now you can get some mileage here using generics, but it really isn't perfect
19:39:04  <mikolalysenko>generics can't protect you from the situation where some guy named the property .x,.y,.z and another guy did .r,.g,.b and someone else used .s,t,u
19:39:20  <williamcotton>yeah
19:39:32  <mikolalysenko>a better solution I think is to accept destructured objects
19:39:49  <mikolalysenko>like you make a function that takes the relevant data from the structure and processes it independently
19:39:50  <williamcotton>what do you mean by that?
19:39:58  <mikolalysenko>for example, say you want to operate on meshes
19:40:20  <mikolalysenko>do you care if the guy who used your library decided to name the position data position or "vertex" or "points" or something else?
19:40:31  <williamcotton>nope
19:40:33  * ferossjoined
19:40:43  <williamcotton>but you're looking for an array with three members?
19:40:43  * DTrejojoined
19:40:48  <mikolalysenko>yeah
19:40:51  <williamcotton>gotcha
19:41:01  <mikolalysenko>but consider doing something like processMesh(mesh) or processMesh(faces, positions)
19:41:10  <williamcotton>and something like Haskell just makes that explicit with strong typing
19:41:18  <mikolalysenko>the former one assumes a lot about how mesh is defined as a datatype, while the second one doesn't
19:41:28  <mikolalysenko>but even in haskell, you'll still have this problem
19:41:39  <mikolalysenko>for example suppose you call the faces "cells" or "triangles"
19:41:43  <williamcotton>oh so you're talking about like, completely implied interfaces
19:41:50  <mikolalysenko>right, don't pass objects around
19:42:00  <williamcotton>haha, wild!
19:42:02  <williamcotton>and awesome
19:42:19  <mikolalysenko>only return objects if you need multiple return types
19:42:32  <mikolalysenko>and only consume them if you really absolutely need an object
19:42:42  <williamcotton>so like, I made this thing
19:42:45  <williamcotton>lemme find it
19:42:45  <mikolalysenko>like some data structure or more complex interface
19:43:16  <williamcotton>http://www.corslit.com/williamcotton/typeParseArguments
19:43:50  <williamcotton>and then
19:44:45  <williamcotton>https://gist.github.com/williamcotton/e0ad6cbf04f508403e59
19:44:55  <williamcotton>so instead of argument order or anything
19:45:18  <williamcotton>it looks at the types of the args and then assigns that to whatever local variables inside the function that is being called
19:45:47  <mikolalysenko>might be ok for somethings, but generally I try to avoid munging around with argument types too much as it can get slow
19:46:11  <mikolalysenko>also regarding argument order, my usual convention is that you put the stuff you are most likely to bind() to the left
19:46:22  <mikolalysenko>and optional arguments go to the right
19:46:48  <mikolalysenko>for example: https://github.com/mikolalysenko/binary-search-bounds
19:47:08  <mikolalysenko>the one kind of gotcha here is the cmp parameter might be more likely to get bound than y
19:47:24  * st_lukequit (Remote host closed the connection)
19:47:29  <mikolalysenko>but I think it is worth it since you end up calling these types of operations over and over again in many other algorithms
19:49:24  <mikolalysenko>sometimes though, an oop interface seems like the best solution though
19:49:40  <mikolalysenko>for example, I don't know of a good destructured way to implement something like this: https://github.com/mikolalysenko/functional-red-black-tree
19:49:42  <soldair>mikolalysenko: awesome module. my binary-search module is way more confusing
19:50:25  <mikolalysenko>soldair: thanks!
19:50:54  <mikolalysenko>you could probably supplement those methods with an extra "find" that just early outs on the first match
19:51:26  <mikolalysenko>hmm
19:51:30  <mikolalysenko>maybe I'll add that right now
19:51:59  * kevino80joined
19:53:47  <williamcotton>I really like the idea of a function that accepts and is willing to accept any sort of arguments... that is it the duty of the function author to accept whatever sort of interface that the function consumer wants to use to call it
19:53:56  <williamcotton>and I know that is basically a Hard AI solution
19:54:40  <mikolalysenko>williamcotton: I think that is a noble goal, but the way to approach that in the lisp tradition is to build it up from smaller functions
19:55:00  <mikolalysenko>start with simple stricter functions that accept inputs in a very specific order with minimally complex input types
19:55:09  <mikolalysenko>then wrap that with functions that can do more sophisticated translation
19:55:12  * DTrejoquit (Remote host closed the connection)
19:55:26  <mikolalysenko>at each step, make a new module to mark progress
19:55:40  <williamcotton>interesting
19:55:48  * DTrejojoined
19:56:08  <mikolalysenko>if people find the wrapper interface more useful, that module will be popular
19:56:24  <mikolalysenko>but if you get it wrong and it annoys/confuses people then they can just use the lower level version
19:56:39  <williamcotton>"lift that shit"
19:56:47  <williamcotton>"or don't"
19:58:47  <williamcotton>mikolalysenko, we should build the entire world like that :)
19:59:08  * dools_joined
19:59:26  <mikolalysenko>williamcotton: well, we got npm :)
20:00:07  <williamcotton>now if I just didn't have to spend 2 minutes setting up a git repo, writing a package.json, pushing to github, registering with npm...
20:00:15  * DTrejoquit (Ping timeout: 260 seconds)
20:00:16  <williamcotton>maybe I could pump out some functions a little quicker ;)
20:00:24  <mikolalysenko>williamcotton: make a module to automate that
20:00:41  <williamcotton>yup, this weekend, node knockout :)
20:00:45  <mikolalysenko>npm init simplifies the package.json part anyway
20:00:58  <mikolalysenko>and there is a commandline git script...
20:01:08  <mikolalysenko>I think it is just a thin wrapper for curl though
20:01:23  <mikolalysenko>maybe make a github interface for npm?
20:01:43  <mikolalysenko>already kind of is...
20:01:46  <mikolalysenko>hmm
20:01:59  * DTrejojoined
20:02:20  <williamcotton>yeah, well the coupling between npm and github is a whole other issue...
20:02:25  * emilisto_joined
20:03:31  <mikolalysenko>I wonder if you wikify npm?
20:03:42  <williamcotton>federated npm
20:04:20  <williamcotton>have you seen Ward Cunningham's federated wiki?
20:04:28  <mikolalysenko>nope
20:04:35  <williamcotton>http://fed.wiki.org/view/welcome-visitors/hsi.fed.wiki.org/hacking-social-impact
20:04:51  <williamcotton>you should be able to tell what is going on just from the structure of the URL
20:05:28  <williamcotton>but yeah, why can't modules have dependencies that look at other repos and datastores?
20:05:40  * chrisdickinson_joined
20:06:31  <williamcotton>just make "npm" an API and add a layer to point at a url... npm://npmjs.org
20:08:13  <mikolalysenko>might be fun. though I think the biggest problem right now with npm is getting more people to understand and use it. believe it or not, there are still tons of people writing node apps AND use AMD on their frontend...
20:08:36  <mikolalysenko>this fact never ceases to astonish me
20:09:02  <williamcotton>mikolalysenko: we're gonna do a web interface for making npm modules, btw
20:09:10  <mikolalysenko>williamcotton: sounds pretty cool
20:09:32  * doolsquit (Ping timeout: 240 seconds)
20:09:32  * emilistoquit (Ping timeout: 240 seconds)
20:09:33  * chrisdickinsonquit (Quit: ZNC - http://znc.in)
20:09:34  <mikolalysenko>I still haven't figured out what I am gonna put together for node-knockout, though it is looking like I won't have too much time
20:09:51  <williamcotton>I did a proof-of-concept in lit/corslit.com...
20:09:59  <williamcotton>that also closes the full loop
20:10:12  <williamcotton>like, so you have a web interface to publish to npm...
20:10:27  <williamcotton>then add in requirebin/browserify-cdn to the equation
20:10:32  * chrisdickinson_changed nick to chrisdickinson
20:11:12  <williamcotton>so like, you can write, run, test, publish, pull in deps, publish, write more... all from one interface
20:12:00  <williamcotton>and it can all be in one living, object space
20:12:01  * jxsonquit (Remote host closed the connection)
20:12:02  <williamcotton>great for live coding
20:12:19  <williamcotton>which is super important for the kind of multimedia work I do
20:12:28  * jxsonjoined
20:12:37  <williamcotton>that is normally stuck in MaxMSP, Quartz Composer, or some other closed runtime
20:12:44  <williamcotton>gotta bring that shit to the web!
20:14:34  <williamcotton>anyways, I built a backend for this that doesn't use npm/github... it uses it's own thing called "lit", which is it's own protocol and datastore, specifically optimized for live coding... there are some slowish aspects to using npm and github that don't work well in the 60 updates to a module a second realm, haha
20:14:46  <williamcotton>but I'm realizing that there is definitely a way to utilize both
20:15:31  <mikolalysenko>williamcotton: what sort of multimedia stuff do you work on?
20:15:51  <williamcotton>for one, a GUI interface doesn't need to know or care about where it is publishing to and from
20:16:08  <williamcotton>oh, I do live visualizations for bands and other events
20:16:31  <mikolalysenko>williamcotton: neat. I've written a few modules along those sorts of lines
20:16:45  <mikolalysenko>have you seen this? https://github.com/mikolalysenko/gl-now
20:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 56]
20:16:55  <mikolalysenko>also this thing: https://github.com/mikolalysenko/detect-pitch
20:17:05  * defunctzombie_zzchanged nick to defunctzombie
20:17:06  <mikolalysenko>and this: https://github.com/mikolalysenko/pitch-shift
20:17:09  * jxsonquit (Ping timeout: 265 seconds)
20:17:12  <williamcotton>oh nice dude
20:17:28  <mikolalysenko>I have a collection of webgl minimodules I've been slowly building up to do graphics demos and stuff
20:17:38  <mikolalysenko>like this thing: https://github.com/mikolalysenko/gl-fbo
20:18:01  <mikolalysenko>part of the higher level goal to do scientific computing/visualization in the browser
20:18:32  <mikolalysenko>but lots of work is still left to be done...
20:19:48  <mikolalysenko>hughsk built a pretty cool demo using some of these tools: https://github.com/smallmultiples/south.im
20:20:26  <mikolalysenko>there is also some work by chrisdickinson and him to create a module system for doing glsl shaders
20:20:44  <mikolalysenko>I'm still a bit fuzzy though on how it all works though
20:21:06  <williamcotton>so like, and this is gonna look a little bit whack and it might take a few reloads because i just ported this over and it is super sketchy right now...
20:21:10  <williamcotton>http://gear.neocities.org
20:21:17  <williamcotton>it might take about 10 seconds to load
20:21:31  <williamcotton>but this is basically "quartz composer in the browser"
20:22:06  <mikolalysenko>hmm
20:22:16  <williamcotton>and an abandoned project of mine, but I'm keeping it around so I can show its architectural flaws, haha
20:22:28  <mikolalysenko>I've never used quartz composer, but it looks kind of interesting
20:22:45  <williamcotton>ok, so like, MAYBE i can explain how to play with it
20:22:52  <williamcotton>click on "box"
20:22:57  <williamcotton>it should make a "box" node
20:23:45  <williamcotton>fuck, this thing is probably still broken, haha
20:24:11  * thlorenz_joined
20:24:26  <mikolalysenko>ok, I see a box
20:24:29  <williamcotton>ah, ok
20:24:37  <mikolalysenko>ah, I got it
20:24:39  <williamcotton>click on "wave"
20:24:43  <mikolalysenko>ok
20:24:48  <williamcotton>connect the output to like, the input of x on the box
20:25:00  <williamcotton>it should animate the box
20:25:01  <williamcotton>anyways
20:25:11  <williamcotton>old concept, boxes and noodles, dataflow
20:25:23  <williamcotton>but, it makes sense for some kinds of development
20:25:27  <williamcotton>not all kinds, just some kinds, haha
20:25:38  <mikolalysenko>ah, I see
20:25:46  <williamcotton>but I really like it for doing multimedia stuff because it is a much more creative space to be in
20:25:57  <williamcotton>compared to a terminal window and a text editor
20:26:14  <mikolalysenko>would be fun to do stuff with it in 3d
20:26:19  <williamcotton>yeah
20:26:24  <williamcotton>you should check out Quartz Composer
20:26:27  <mikolalysenko>I've been thinking about doing something with this old project: https://github.com/mikolalysenko/implicit-studio
20:26:36  <williamcotton>it has some very compelling 3D metaphors with this style of programming
20:26:41  <mikolalysenko>right now it is text/programming based
20:26:52  <mikolalysenko>well basically make a system for generating implicit shapes
20:26:53  <williamcotton>but my realization here is
20:27:39  <williamcotton>http://www.corslit.com/williamcotton/GEAR:Nodes:ImageFile
20:27:43  <williamcotton>when I built this thing
20:27:58  <williamcotton>I stupidly put all of thise code buried inside of a module that is only useful in this context
20:28:33  <williamcotton>like, I should have had that functionality in a more basic form, and then "lifted" it to this specific runtime context
20:28:38  * thlorenz_quit (Ping timeout: 240 seconds)
20:29:29  <williamcotton>even bigger culprit: http://www.corslit.com/williamcotton/GEAR:Nodes:HueAdjust
20:29:40  <mikolalysenko>I think having some generic module to handle the graph drawing/connection would be nice though
20:29:54  <mikolalysenko>I could see it being fun to play around with anyway
20:30:00  <williamcotton>yeah! completely agnostic of the runtime contexts or what the nodes do
20:30:05  <mikolalysenko>yep
20:30:11  <williamcotton>I at least sort of got that part right, haha
20:30:27  <williamcotton>but the main reason I abandoned it is because I went for mouse/desktop first
20:30:27  <mikolalysenko>have you though about factoring it out into a separate npm module?
20:30:41  <williamcotton>and I've started rebuilding it to be touch/tablet first
20:31:58  * mcollinaquit (Remote host closed the connection)
20:32:34  * mcollinajoined
20:32:50  <williamcotton>if you have a touch device: http://nox.neocities.org, preferably iOS or Chrome Beta for Android
20:33:08  <williamcotton>and then just hold your finger down on the screen
20:33:29  <williamcotton>and a box/menu will pop up, and then slide you finger to one of the little boxes
20:33:30  <williamcotton>haha
20:33:41  <williamcotton>it has some submenus
20:33:49  <williamcotton>it should work fine on an iPhone as well, if not a little small
20:34:05  <williamcotton>but like, one of the features I really want
20:34:16  <williamcotton>is to be able to live edit any of the nodes on the screen
20:34:35  * DTrejoquit (Remote host closed the connection)
20:35:00  <williamcotton>like, it just brings up a source code editor right inside the node, you make your edits, publish, and keep going
20:35:07  * DTrejojoined
20:36:06  <mikolalysenko>so I would be happy if I could just reuse the interface for other projects
20:36:09  <williamcotton>and THEN, i'd like for whatever you make in the entire graph editor, all the interconnected nodes, to compile to a javascript function that you can then publish to two locations... one with the wrapped for the graph editor, and a generic one that just follows the dataflow functional model
20:36:24  * zz_runningskullchanged nick to runningskull
20:37:07  * mcollinaquit (Ping timeout: 260 seconds)
20:37:22  <williamcotton>a reusable inteface is definitely something I would like to have around as well!
20:38:09  <williamcotton>the box and noodle metaphor is obviously way less powerful than text based code when it comes to describing functions
20:38:46  <williamcotton>but it has advantages that are big enough in scope that it is worthy of abstraction
20:39:36  * DTrejoquit (Ping timeout: 268 seconds)
20:39:50  <williamcotton>the same can be said for a lot of other metaphors... Morphic in Self, spreadsheets...
20:40:28  <williamcotton>how about curve fitting? a UI where points are laid and a function that appoximates the curve is spit out...
20:40:40  <williamcotton>why can't that function write to npm as well?
20:42:19  <mikolalysenko>williamcotton: there are already some spline manipulation functions out there
20:42:26  <mikolalysenko>like b-spline/bezier stuff
20:42:35  <mikolalysenko>but we could probably use more
20:42:53  <williamcotton>sure, that's a very small use case... but dude, if I'm making a video game... I'd MUCH rather have a GUI interface for quickly generating a curve function that directly interfaces with my code base... right now I have a process where I open up a Graphing Calculator, draw some points, it spits out this crazy unicode function, then I copy that and paste it in to a source editor :)
20:43:43  <williamcotton>i'm saying just let the Graphing Calculator publish functions directly to a repo
20:45:17  <mikolalysenko>well, for generating a function there are easier ways to do it
20:45:23  <mikolalysenko>like pick control points and interpolate a spline
20:45:44  <williamcotton>it depends on the kind of person you are
20:45:44  <mikolalysenko>those are very generic and powerful ways to create arbitrary shaped curves
20:45:56  <williamcotton>some people are much better at drawing a curve by hand
20:46:05  <williamcotton>and then having a computer interperate and generate a function
20:46:05  <mikolalysenko>right. control points accomodate that
20:46:15  <williamcotton>sure, I think we're talking about the same thing
20:46:55  <williamcotton>I'm just saying take it a step further and then publish the generated function directly to a repo
20:47:08  * mpiercejoined
20:47:28  <williamcotton>the repo remains agnostic to how it was created (although metadata, basically some sort of "source map", could map it back the other way)
20:51:45  * yorickjoined
20:51:45  * defunctzombiechanged nick to defunctzombie_zz
20:53:15  <williamcotton>hence, why I might need to be writing to a repo a whole bunch of times a second... and would need some sort of damned near realtime pubsub layer as well... things that I'm baking in to lit and would have a hard time getting out of npm!
20:54:26  <williamcotton>but there's a place for both, I feel, and there should be a way to build projects pulling in pieces from all over
20:56:26  <williamcotton>and I'm just dying to see what a big distributed hash table of code modules would look like :)
20:57:31  * DTrejojoined
21:02:44  <williamcotton>creationix was talking about some similar concerns of his with tedit, having multiple "layers" of code being published
21:03:08  * mcollinajoined
21:07:20  <jesusabdullah>tedit?
21:07:25  <jesusabdullah>unfamiliar
21:07:55  <williamcotton>he's working on this web based editor that utilizes js-git
21:07:58  * mcollinaquit (Ping timeout: 268 seconds)
21:08:31  * jxsonjoined
21:09:52  <williamcotton>and there's a bit of lag in the network roundtrip, so some of the code gets "published" locally... anyways, it was interesting that he seperated the concerns like that... it would allow for code to be published to a number of endpoints
21:10:24  * jcrugzzjoined
21:13:45  * cianomaidinjoined
21:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 44]
21:16:51  <jesusabdullah>does t stand for tim?
21:16:54  <jesusabdullah>I sure hope it does
21:25:02  * thlorenz_joined
21:29:26  * evboguequit (Ping timeout: 240 seconds)
21:29:33  * thlorenz_quit (Ping timeout: 268 seconds)
21:30:53  * djcoinquit (Quit: WeeChat 0.4.1)
21:31:48  * tilgovijoined
21:34:37  * mcollinajoined
21:39:19  * mcollinaquit (Ping timeout: 265 seconds)
21:39:48  * mcollinajoined
21:40:14  * evboguejoined
21:43:49  <mikolalysenko>hey stream peoples, maybe this will be useful: https://github.com/mikolalysenko/aho-corasick-automaton
21:57:20  * mikolalysenkoquit (Ping timeout: 244 seconds)
22:04:32  * Domenic__quit (Remote host closed the connection)
22:08:48  * rxgxjoined
22:11:29  * enjaworkquit (Ping timeout: 268 seconds)
22:14:21  * enjaworkjoined
22:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 52]
22:17:32  * maksimlinjoined
22:22:17  * runningskullchanged nick to zz_runningskull
22:25:55  * thlorenz_joined
22:26:44  * tilgoviquit (Read error: Connection reset by peer)
22:30:14  * thlorenz_quit (Ping timeout: 240 seconds)
22:30:44  * defunctzombie_zzchanged nick to defunctzombie
22:30:51  * ferossquit (Quit: feross)
22:33:37  * thlorenzquit (Remote host closed the connection)
22:42:48  * jergasonquit (Quit: jergason)
22:45:49  * cianomaidinquit (Ping timeout: 246 seconds)
22:47:06  * jergasonjoined
22:48:46  * enjaworkquit (Ping timeout: 245 seconds)
22:49:21  <rowbit>substack, pkrumins: A developer is waiting in the queue for explorer/9.0
22:51:10  * cianomaidinjoined
22:52:11  * kevino80quit
22:52:11  * AvianFluquit (Ping timeout: 272 seconds)
22:52:21  <rowbit>substack, pkrumins: A developer is waiting in the queue for explorer/9.0
22:55:21  <rowbit>substack, pkrumins: A developer is waiting in the queue for chrome/14.0
22:55:59  * enjaworkjoined
22:57:07  * st_lukejoined
23:00:02  * st_lukequit (Remote host closed the connection)
23:03:10  * zz_runningskullchanged nick to runningskull
23:04:32  * thlorenzjoined
23:12:38  * thlorenzquit (Ping timeout: 240 seconds)
23:13:09  * rxgxquit (Ping timeout: 248 seconds)
23:14:05  * slaskisquit (Ping timeout: 272 seconds)
23:15:51  <rowbit>substack, pkrumins: A developer is waiting in the queue for opera/12.0
23:16:45  <rowbit>Hourly usage stats: [developer: 13, free: 140]
23:17:51  <rowbit>substack, pkrumins: A developer is waiting in the queue for opera/12.0
23:20:03  * ferossjoined
23:21:39  * thlorenzjoined
23:24:02  * hughskjoined
23:26:43  * thlorenzquit (Ping timeout: 268 seconds)
23:30:49  * runningskullchanged nick to zz_runningskull
23:32:50  * zz_runningskullchanged nick to runningskull
23:34:46  * cianomaidinquit (Quit: cianomaidin)
23:41:56  * cianomaidinjoined
23:48:51  <rowbit>substack, pkrumins: A developer is waiting in the queue for safari/4.0
23:49:47  * kenperkins_changed nick to kenperkins
23:51:50  <defunctzombie>substack: is there a way to make bouncy not do connection: 'keep-alive', like always respond with close even if the client requested keep alive?
23:52:10  <defunctzombie>I know bouncy can pass headers to where it is bouncing
23:52:14  <defunctzombie>is that the proper way?
23:55:03  <Raynos>defunctzombie: nice
23:55:55  * tmcwquit (Remote host closed the connection)
23:56:29  * tmcwjoined