00:06:17  <Raynos>dominictarr: how is it related to level-scuttlebutt?
00:13:56  <substack>dominictarr: get my email?
00:14:12  <substack>I'm going to be looking into lenses
00:15:46  <substack>and I got the guy who gave the lxjs talk to publish his lens modules to npm
00:16:08  <substack>https://github.com/vmx/jslens/pull/1#issuecomment-10919644
00:18:17  <Raynos>substack: that lens stuff was cool!
00:18:51  <Raynos>substack: A streamlens would be cool
00:19:06  <Raynos>because you could do a.pipe(stream).pipe(b) and b.pipe(stream.reverse()).pipe(a)
00:21:01  <substack>Raynos: I'm more thinking of lenses as useful for de-normalizing normalized structures into nested rich structures that we can modify and have the changes replicate back into the normalized form
00:21:13  <substack>so we can have trees with perhaps even graphs in crdt
00:21:19  <substack>like orm but not completely silly
00:21:24  <Raynos>interesting
00:21:28  <substack>map-lens
00:21:28  <Raynos>I want this too btw
00:21:35  <Raynos>I want automated denormalization
00:21:37  <substack>https://en.wikipedia.org/wiki/Anamorphism#Anamorphisms_in_category_theory
00:21:52  <Raynos>where you can update any part of the denormalized data and everything updates accordingly
00:21:54  <substack>categorical duals of catamorphism
00:22:02  <Raynos>Specifically for re-indexing things
00:22:04  <substack>Array.prototype.reduce and Array.prototype.filter are catamorphisms
00:22:17  <substack>ergo it might be possible to write map-lens instead of just map-reduce using the same inputs
00:22:28  <substack>Raynos: yes exactly!
00:22:43  <substack>updating transformed structures and replicating back into the source data
00:23:08  <Raynos>as long as its not lossly
00:23:10  <Raynos>like reduce is.
00:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 16]
00:25:31  * fentquit (Quit: leaving)
00:56:09  * jez0990quit (Ping timeout: 265 seconds)
01:00:37  <dominictarr>Raynos, level-scuttlebutt needs the _remove event, so that it can cleanup the updates that no longer contribute to the current state.
01:01:07  <dominictarr>substack, yes, I sounds like you may be onto something,
01:01:22  <dominictarr>started reading about category theory.
01:01:27  <dominictarr>complex
01:01:43  <dominictarr>actually, that word doesn't mean much
01:01:54  <dominictarr>"abstract" is more precise.
01:03:12  * ITproquit (Ping timeout: 264 seconds)
01:05:33  * shykeschanged nick to zz_shykes
01:06:13  <substack>so abstract
01:06:48  <substack>not enough practical applications using these ideas
01:08:47  <substack>the recurring problem of academic research
01:19:06  * zz_shykeschanged nick to shykes
01:23:13  <rowbit>Hourly usage stats: [developer: 8, free: 5]
01:25:44  <jesusabdullah>guys I don't work for nodjatso anymore
01:28:27  <substack>jesusabdullah: any next moves out in the open yet?
01:29:12  <jesusabdullah>yeah more or less
01:29:17  <jesusabdullah>I'm flying to india!
01:29:27  <jesusabdullah>in a few hours
01:30:02  * shykeschanged nick to zz_shykes
01:30:20  <substack>crazy adventures
01:31:42  * st_lukejoined
01:32:33  <dominictarr>well, It's math. that makes no claim to practicality.
01:33:37  <dominictarr>the trouble is really that computer scientists can be both engineers and mathematicians
01:34:15  <dominictarr>... sometimes they get misapply the tools of one to the problem of the other.
01:35:20  <substack>vmx's lens module is really great because it's the only lens example I've seen that has practical-looking examples
01:35:28  <substack>particularly that wkt converter
01:35:36  <dominictarr>link?
01:35:59  <substack>http://github.com/vmx/jslens
01:36:01  <dominictarr>it would be cool to use lenses for a compile to js language
01:36:06  <substack>it's the one from lxjs
01:36:09  <substack>now on npm
01:36:27  <substack>although the one on npm doesn't export properly until my pull req goes through
01:37:20  <dominictarr>hmm, what does this guy do, is he an academic?
01:38:04  <substack>oh whoa he has forks of TAP things and couchb things https://github.com/vmx
01:38:20  <substack>incluing pouchb
01:38:25  <substack>need to get him in this channel
01:40:10  <substack>just says "open source enthusiast and hacker" on his website
01:44:52  <mbalho>volker wrote geocouch
01:45:01  <mbalho>he hangs in #couchdb
01:45:08  <mbalho>+ is a friend of mine
01:45:10  <mbalho>hes a kewl d00d
01:45:12  <substack>rad
02:02:38  <fotoverite>cool
02:05:13  <substack>dominictarr: so mbalho just told me that vmx's job is to translate obscure german academic papers into english
02:05:14  <dominictarr>jjjjohnnny, http://www.siward.tv/
02:05:20  <substack>an then he sometimes implements them on the side
02:05:29  <dominictarr>haha
02:05:35  <dominictarr>that is a good job.
02:06:03  <substack>oh wait that is just his hobby I guess
02:06:13  <substack>he's at couchbase
02:12:49  <dominictarr>so, with the hooks that I'm gonna add for updating in place we could easily add a lense, so that two documents are retrived, and then both modified.
02:13:05  <dominictarr>then saved.
02:23:13  <rowbit>Hourly usage stats: [developer: 5, free: 11]
03:19:27  * _sorensenjoined
03:23:01  * st_lukequit (Remote host closed the connection)
03:23:13  <rowbit>Hourly usage stats: [developer: 2, free: 5]
03:56:36  * defunctzombie_zzchanged nick to defunctzombie
04:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 7]
04:31:36  <substack>http://scriptfoo.github.com/game-off-2012/
04:45:14  * nk109joined
04:52:33  * jiang-plusjoined
05:20:51  * AvianFluquit (Remote host closed the connection)
05:23:13  <rowbit>Hourly usage stats: [developer: 1, free: 15]
05:26:27  * AvianFlujoined
05:51:03  * jiang-plusquit (Quit: Lost terminal)
06:01:52  * defunctzombiechanged nick to defunctzombie_zz
06:11:58  * ryan_stevensjoined
06:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 14]
07:09:57  * ryan_stevensquit (Quit: Leaving.)
07:10:04  * _sorensenquit (Quit: _sorensen)
07:19:47  * thatguydanjoined
07:23:14  <rowbit>Hourly usage stats: [developer: 0, free: 9]
07:28:03  * lyaunzbequit (Ping timeout: 244 seconds)
07:38:11  * mikealquit (Quit: Leaving.)
07:44:43  * mikealjoined
07:52:49  <niftylettuce>substack: we needa patch bouncy yo
07:52:59  <niftylettuce>http-proxy api sucks, and nginx/apache alternatives sucks
07:58:07  <niftylettuce>substack: why all the pull requests?
08:02:15  <chrisdickinson>does there already exist a module for finding modules given arbitrary extension requirements?
08:07:00  <niftylettuce>chrisdickinson: can you give an example?
08:07:50  <chrisdickinson>basically, given current path X + module name Y, return path to module Z. Y may be relative to X, or contained within node modules.
08:08:43  <chrisdickinson>should do the package.json dance as well -- if the package exists in node_modules and there's a package.json with a `main` directive, it should return the path represented by that directive.
08:09:31  <chrisdickinson>part of me wants it to return readable streams if possible, but that might be a little silly.
08:09:52  <chrisdickinson>(emitting 'error' after the fact if no module can be found.)
08:13:35  <substack>niftylettuce: fixing bouncy is on my todo but fixing it doesn't involve pull requests
08:13:47  <substack>it involves throwing everything away and doing a different approach
08:14:07  <substack>and I get way too many requests for stupid shit with the routing json
08:14:14  <substack>so the next version won't even have that
08:16:02  * AvianFluquit (Remote host closed the connection)
08:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 10]
08:25:35  <dominictarr>chrisdickinson, the logic for that is well documented, several people have implemented that in sync - copying the core logic
08:25:40  <dominictarr>see browserify
08:26:19  <chrisdickinson>cool -- i have something similar in glslify, and i was planning on spinning it out into another module
08:26:39  <dominictarr>what are you using it for?
08:27:01  <chrisdickinson>locating .glsl modules
08:27:22  <chrisdickinson>(basically piggybacking a glsl module system on top of npm.)
08:27:40  <dominictarr>oh, that is interesting
08:28:02  <dominictarr>hmmm... I think you can register extensions, and it can find it
08:28:09  <dominictarr>(node will find it)
08:28:20  <dominictarr>that is how coffee script works.
08:28:28  <chrisdickinson>that was my first thought, but i'd rather not register an extension with node at large
08:28:32  * jdenchanged nick to jden|away
08:28:52  <chrisdickinson>(also: https://gist.github.com/4186707 for an example of the importing.)
08:28:58  <dominictarr>you can also do require.resolve(path)
08:29:06  <dominictarr>and it returns the path... not the exports.
08:29:16  <chrisdickinson>oh, interesting!
08:29:59  * jden|awaychanged nick to jden_
08:30:21  <chrisdickinson>i was thinking of an api that was basically current path + target module in, readable stream out
08:30:46  <chrisdickinson>(and if the module can't get resolved, the first event out of the readable stream will be an error.)
08:30:50  * jden_changed nick to jden|away
08:31:53  <chrisdickinson>also, a lack of collision with node builtins is desirable.
08:33:03  * jden|awaychanged nick to jden
08:33:40  <dominictarr>hmm, read the node modules code.
08:34:37  <dominictarr>see also http://npm.im/resolve
09:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 9]
09:24:02  * AvianFlujoined
09:55:28  * ITprojoined
10:06:03  * ITproquit (Ping timeout: 260 seconds)
10:21:01  * dominictarrquit (Ping timeout: 265 seconds)
10:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 15]
10:39:13  * nk109quit (Ping timeout: 244 seconds)
11:23:13  <rowbit>Hourly usage stats: [developer: 0, free: 27]
11:34:46  * ITprojoined
11:45:10  * AvianFluquit (Remote host closed the connection)
12:51:30  * thatguydanquit (Quit: thatguydan)
14:10:42  <tanepiper>how would you guys rate flaitron for writing cli apps?
14:30:09  * jez0990joined
15:33:33  * defunctzombie_zzchanged nick to defunctzombie
16:08:18  * lyaunzbejoined
16:12:36  * ForbesLindesayjoined
16:14:27  <ForbesLindesay>I can't seem to get testling ci to work, anyone online who's succeeded in setting it up and could give me some advice?
16:14:28  * lyaunzbequit (Read error: Connection reset by peer)
16:18:49  * lyaunzbejoined
16:39:51  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
16:39:51  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
16:40:02  * defunctzombiechanged nick to defunctzombie_zz
17:15:10  <tanepiper>any good libraries for creating git repos and branches in node? All the modules I've looked at so far are terrible
17:18:43  * AvianFlujoined
17:44:18  * farnsworthquit (Ping timeout: 245 seconds)
17:44:43  * cubertquit (Ping timeout: 245 seconds)
17:47:51  * cubertjoined
17:49:56  * defunctzombie_zzchanged nick to defunctzombie
17:50:21  * farnsworthjoined
17:55:09  * ForbesLindesayquit (Quit: Page closed)
17:59:24  * defunctzombiechanged nick to defunctzombie_zz
18:07:13  * farnsworthquit (Ping timeout: 245 seconds)
18:08:53  <substack>http://techcrunch.com/2012/12/02/dronegames-in-san-francisco-features-twitter-fists-groupon-leashes-mifi-and-botnets/
18:11:49  * farnsworthjoined
18:11:55  <ik>twitter fisting groupon
18:13:50  * st_lukejoined
18:14:25  * ITproquit (Ping timeout: 244 seconds)
18:14:42  <substack>ik: correct
18:14:55  <substack>anyways my silly thing won
18:15:02  <substack>easiest virus ever
18:15:16  <substack>the drones run open wifi and have telnet open as root with no auth
18:16:03  <ik>wicked good
18:23:03  * dominictarrjoined
18:45:07  * ralphtheninjaquit (Read error: Operation timed out)
18:48:59  * ralphtheninjajoined
19:01:23  * lyaunzbequit (Read error: Operation timed out)
19:05:31  * defunctzombie_zzchanged nick to defunctzombie
19:07:35  <dominictarr>substack, xml data from open-street-map! https://gist.github.com/4190483
19:11:53  * _sorensenjoined
19:35:59  * lyaunzbejoined
20:13:18  <AvianFlu>ENOTENOUGHLOUDBOT
20:13:43  <AvianFlu>WHAT'S THE MATTER YOU NEED SPACES OR SOMETHING?
20:13:43  <LOUDBOT>SHARKS WITH LASERS CLEAN UP THE GULF
20:50:04  * st_lukequit (Remote host closed the connection)
20:54:14  * ITprojoined
20:57:24  <substack>dominictarr: sweet!
20:59:29  <dominictarr>you can even download all the data for the entire planet...
20:59:40  <dominictarr>It's only 250 GB
21:05:35  <niftylettuce>substack: https://gist.github.com/411b0a2185b3ee4681b2 seems to work with `$ sudo supervisor cluster` fwiw temp solution
21:15:46  * lyaunzbequit (Ping timeout: 244 seconds)
21:24:44  <substack>dominictarr: http://shawnclover.com/2012/02/23/inside-the-old-fleishhacker-poolhouse/
21:29:19  <dominictarr>it should be converted into hipster accommodation
21:29:27  <dominictarr>we should put it on airbnb
21:31:20  * lyaunzbejoined
21:57:37  * jdenchanged nick to jden|away
22:05:28  * mikealquit (Quit: Leaving.)
22:09:14  * thatguydanjoined
22:14:56  * devaholicquit (Ping timeout: 256 seconds)
22:19:11  <mbalho>so....much....HDR photography....
22:24:48  <Raynos>substack: one of my fleet processes crashed and I cant find the core dump. Is it hidden somewhere?
22:27:26  * jden|awaychanged nick to jden
22:29:35  * ryan_stevensjoined
22:34:00  <fotoverite>Dominictarr when do you get to nyc?
22:39:41  * devaholicjoined
22:40:12  * ryan_stevensquit (Quit: Leaving.)
22:41:09  * mikealjoined
22:53:30  * mikealquit (Quit: Leaving.)
22:54:17  * mikealjoined
22:55:49  * _sorensenquit (Quit: _sorensen)
22:59:53  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
22:59:53  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
23:01:27  * dominictarrquit (Ping timeout: 265 seconds)
23:02:29  * st_lukejoined
23:02:35  * mikealquit (Quit: Leaving.)
23:11:10  <substack>hooray
23:13:23  * thatguydanquit (Quit: thatguydan)
23:19:19  <substack>Raynos: you've got to roll your own logging right now
23:19:53  <substack>when I get around to rewriting fleet it'll just use crdt+leveldb for logs
23:31:18  * _sorensenjoined
23:32:46  * mikealjoined
23:33:36  <Raynos>substack: its not logs. its I cant find the core dump file
23:33:39  <Raynos>i have my own logging
23:43:24  * mikealquit (Ping timeout: 264 seconds)
23:49:50  <substack>what
23:51:44  * thatguydanjoined