00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:44  * thl0quit (Remote host closed the connection)
00:02:09  * thl0joined
00:07:01  * thl0quit (Ping timeout: 276 seconds)
00:08:53  * maksimlinjoined
00:14:36  * jxson_joined
00:14:54  * AvianFluquit (Remote host closed the connection)
00:17:46  * jxsonquit (Ping timeout: 240 seconds)
00:21:38  * ins0mniaquit (Read error: Operation timed out)
00:40:05  <niftylettuce>#9 on Gittip! http://gittip.com
00:40:10  <niftylettuce> (sorry substack lol)
00:45:50  <ralphtheninja>https://www.b1txr.com/pages/about
00:53:33  <mikolalysenko>Is there a way in npm to make binary dependencies optional?
00:53:47  <mikolalysenko>for example, could I write a library that say tries to link to fftw
00:54:00  <mikolalysenko>but if it isn't installed, then falls back to using a native javascript library
00:54:11  <rch>node-redis does that with hiredis iirc
00:54:42  <mikolalysenko>interesting, I will need to take a look at it
00:55:23  <rch>https://github.com/mranney/node_redis/blob/master/index.js#L18
00:55:47  <rch>same idiom as in python
00:55:54  <mikolalysenko>I see
00:56:02  <mikolalysenko>how does it manage the build part of it?
00:57:06  <rch>it doesn't install hiredis, that's a different npm package
00:57:12  <mikolalysenko>hmm
00:57:21  <mikolalysenko>so to use that you have to install hiredis separately first?
00:57:36  <mikolalysenko>I guess that isn't quite what I had in mind...
00:57:58  <mikolalysenko>I was thinking about making a module that automatically tries to install fftw bindings
00:58:07  <mikolalysenko>but if the system doesn't have them it fallsback to not using them
00:58:18  <mikolalysenko>though maybe I am overthinking it
00:58:21  <rch>install via package.json or gyp?
00:58:25  <mikolalysenko>yeah
00:58:32  <rch>if i wanted to do something like that i'd probably cheat in a makefile x.x
00:58:39  <mikolalysenko>hmm
00:59:08  <mikolalysenko>maybe it makes more sense to have one library for fftw bindings and then just check if they are available before doing anything
00:59:14  <mikolalysenko>though it could get annoying with dependencies
00:59:31  <mikolalysenko>like library x uses library y and library y can optionally use the native library z if it is installed
00:59:41  <mikolalysenko>so if I use x, I have to know to install library z if available...
01:00:24  <mikolalysenko>I guess what I am looking for is a way to hook a fail event on gyp
01:00:36  <rch>right. like if you just add node-redis to package.json you miss out on hiredis
01:00:42  <mikolalysenko>yeah
01:00:43  <rch>or if you use something that does that
01:01:05  <mikolalysenko>or if I use a library that uses node-redis, then I'd have to know to add hiredis if I wanted binary performance
01:01:31  <mikolalysenko>for one or two libraries this isn't bad, but if you have a lot of them it could suck
01:01:53  <mikolalysenko>for example, there are lots of places in ndarray where it would makes sense to call out to a native library to do something if you have the option available
01:01:59  <mikolalysenko>like call out to blas, fftw, etc.
01:02:12  <mikolalysenko>since there are tons of very mature and optimized libraries for numerical code out there
01:02:26  <mikolalysenko>but I would also like it to work in a browser or have some fallback if they aren't available
01:02:39  <mikolalysenko>so there could be a slower native js fallback if things don't work
01:03:55  <jcrugzz>isnt there an optionalDependencies field?
01:03:55  <rch>so basically you want to be able to define a polyfill for a native binding
01:04:00  <jcrugzz>not sure how it can be used though
01:04:07  <mikolalysenko>yeah
01:04:17  <mikolalysenko>and also use that in a browser too
01:04:25  <rch>heh
01:04:36  <mikolalysenko>so I already have a polly fill for fftw
01:04:47  <mikolalysenko>but on node it would be awesome to actually use fftw if you have it installed
01:05:06  <mikolalysenko>writing the bindings is easy, but I don't want to force fftw on people if they don't have it set up on their system
01:05:13  <jesusabdullah>jcrugzz: yeah but it's brittle. Ask AvianFlu and Maciej about the old issues with hiredis linker errors sometime
01:05:38  <jesusabdullah>mikolalysenko: There *are* optionalDependencies, they'll just glaze over if they fail to compile or install
01:05:54  <mikolalysenko>jesusabdullah: cool, that sounds like the right thing
01:05:55  <jesusabdullah>mikolalysenko: only issue is linker errors cause the dep won't fail to build, only to run
01:06:16  <mikolalysenko>I think you could detect those at module load time probably
01:06:30  <jesusabdullah>Yeah, if you're smart about it.
01:06:37  <jesusabdullah>Not at require-time, that'll work too
01:06:46  <jesusabdullah>or at least that used to be the case
01:07:46  * jxson_quit (Ping timeout: 240 seconds)
01:07:51  <jesusabdullah>ugh this lazagna has TOO MUCH BLEU CHEESE
01:09:16  * jcrugzzquit (Ping timeout: 240 seconds)
01:12:19  * jcrugzzjoined
01:15:53  * timoxleyquit (Quit: Computer has gone to sleep.)
01:19:58  * dominictarrjoined
01:29:11  * timoxleyjoined
01:31:37  <dominictarr>chrisdickinson: how do I get the length with bops?
01:31:53  * jaz303quit (Ping timeout: 240 seconds)
01:35:58  * thl0joined
02:05:29  <st_luke>jesusabdullah: what the fuck
02:09:54  <thl0>Raynos: shit's starting to come together :) https://github.com/thlorenz/configurate/blob/master/examples/new-config-given-partial-default-edit-step-async.js
02:10:11  <thl0>wish I had more time with this, gonna release this soon though
02:22:34  * brianloveswordsquit (Excess Flood)
02:22:47  <jesusabdullah>st_luke: wat
02:23:05  <jesusabdullah>st_luke: seriously confused
02:23:08  <st_luke>why did you put blue cheese in it
02:23:13  <jesusabdullah>I didn't
02:23:15  <jesusabdullah>Mom did
02:23:24  <jesusabdullah>it was a "bufallo chicken" lazagna
02:23:28  <st_luke>oh wow
02:23:28  <st_luke>wow
02:23:31  <st_luke>haha wowowowow
02:23:37  <st_luke>you are so alaskan hahaha
02:23:47  <jesusabdullah>I guess?
02:24:34  * brianloveswordsjoined
02:24:49  <st_luke>thats cool
02:47:03  * dominictarrquit (Quit: dominictarr)
02:54:10  * mikealjoined
03:00:22  * mikolalysenkoquit (Ping timeout: 246 seconds)
03:03:28  * mikolalysenkojoined
03:03:28  * thl0quit (Remote host closed the connection)
03:04:03  * thl0joined
03:04:15  * thl0quit (Read error: Connection reset by peer)
03:04:19  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
03:04:43  * thl0joined
03:05:25  * mikealquit (Quit: Leaving.)
03:07:42  * mikolalysenkoquit (Ping timeout: 246 seconds)
03:09:40  * thl0quit (Ping timeout: 276 seconds)
03:15:37  * mikolalysenkojoined
03:19:57  * mikealjoined
03:23:09  * mikealquit (Client Quit)
03:23:53  * timoxleyquit (Quit: Computer has gone to sleep.)
03:24:23  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
03:24:23  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
03:28:27  * johnkpaulquit (Quit: ZNC - http://znc.in)
03:31:18  * timoxleyjoined
03:40:52  * st_lukequit (Ping timeout: 276 seconds)
03:42:25  * dominictarrjoined
03:58:46  * ralphtheninjaquit (Read error: Operation timed out)
03:59:31  * mikolalysenkoquit (Ping timeout: 246 seconds)
04:03:07  <dominictarr>Raynos: ping?
04:23:53  * defunctzombie_zzchanged nick to defunctzombie
04:30:48  * mikolalysenkojoined
04:34:08  * timoxleyquit (Quit: Computer has gone to sleep.)
04:43:46  * timoxleyjoined
04:58:34  * shamaquit (Remote host closed the connection)
04:58:47  * shamajoined
05:04:05  * FireFlyquit (Ping timeout: 248 seconds)
05:05:10  <chrisdickinson>dominictarr: get the byte length? `bops.from(buf, 'encoding').length`
05:05:56  * FireFlyjoined
05:06:37  <dominictarr>but that creates a new buffer, doesn't it?
05:07:16  <dominictarr>like if it's a typed array… will it still have the same length?
05:12:27  <chrisdickinson>ah, it'll have a .length
05:12:35  <chrisdickinson>so anything that comes out of bops should have a .length
05:12:46  <chrisdickinson>which'll match up to the byte length
05:13:47  <chrisdickinson>i thought you were looking for a Buffer.byteLength equivalent
05:19:28  * vitorpachecoquit (Ping timeout: 240 seconds)
05:19:39  <dominictarr>oh, no I was working on a pull request, adding bops to bytewise, and worried about getting the wrong length.
05:24:44  <substack>building a worker queue for testling jobs on top of level
05:29:06  <dominictarr>sweet!
05:34:51  * vladikoffjoined
05:38:39  * defunctzombiechanged nick to defunctzombie_zz
05:44:30  * jxsonjoined
05:45:17  <substack>dominictarr: would it make sense to use level-trigger for this or is that only meant for jobs that do db io?
05:46:25  <dominictarr>it's intended for any job that is idempotent, and are triggered by data base inserts
05:46:50  <dominictarr>that can be anything - as long as it's okay that it only runs once.
05:52:19  <substack>ok this should work
06:10:10  * mikolalysenkoquit (Ping timeout: 264 seconds)
06:46:45  * no9joined
06:48:46  * defunctzombie_zzchanged nick to defunctzombie
06:58:43  * defunctzombiechanged nick to defunctzombie_zz
07:05:58  * shamaquit (Remote host closed the connection)
07:12:26  <Raynos>dominictarr: pong
07:15:47  * mikolalysenkojoined
07:19:07  * defunctzombie_zzchanged nick to defunctzombie
07:19:07  * maksimlinquit (Quit: ChatZilla 0.9.90 [Firefox 22.0/20130627185035])
07:19:15  * substacktopic: Unofficial browserling/testling mad science channel. For official help /join #browserling
07:21:05  * mikolalysenkoquit (Ping timeout: 248 seconds)
07:28:54  * jxsonquit (Remote host closed the connection)
07:31:50  * jxsonjoined
07:32:29  * defunctzombiechanged nick to defunctzombie_zz
07:36:10  <dominictarr>Raynos: hey what up -
07:36:28  <dominictarr>I have a thing you might be interested in!
07:46:52  * jxsonquit (Read error: Connection reset by peer)
07:47:18  * jxsonjoined
08:14:11  <Raynos>dominictarr: sweet
08:15:59  * jcrugzz_joined
08:17:16  * jcrugzzquit (Ping timeout: 240 seconds)
08:20:02  <dominictarr>Raynos: what if you had a immutable database, that was fully replicatable?
08:20:20  <Raynos>yes
08:20:31  <Raynos>that's just read only leveldb with replication
08:20:33  <dominictarr>and if any arbitary subset of the database is also replicatable
08:20:48  <dominictarr>no, it's writable
08:21:02  <dominictarr>but just not overwritable
08:21:07  <Raynos>Oh ok
08:21:18  <dominictarr>so, every object is hashed
08:21:25  <dominictarr>and the hash is used for the key
08:21:46  <dominictarr>you can trust that, because no one can change it
08:22:01  <Raynos>what about hash collisions?
08:22:05  <dominictarr>if I give you the data, you can never lie about what the data was
08:22:21  <dominictarr>okay, you can still change it if you find a hash collision
08:22:47  <dominictarr>but you can't change it unless you can find a hash collision
08:22:58  <Raynos>Ok.
08:23:00  <Raynos>Oh wait
08:23:08  <Raynos>your saying I can have a local immutable database
08:23:13  <Raynos>and replicate with a remote
08:23:18  <Raynos>and he won't mutate my keys
08:23:21  <Raynos>and just add new ones
08:23:31  <dominictarr>yes
08:23:40  <Raynos>Ok so how does this effect searching?
08:24:12  <dominictarr>so, you do every access by searching for properties instead
08:24:36  <dominictarr>you just index every value
08:24:40  <Raynos>I see
08:25:04  <dominictarr>also, if you store the hash of one document in another document
08:25:14  <dominictarr>you have created a reference
08:25:31  <dominictarr>and you can traverse those references as a kind of query too
08:25:43  <dominictarr>so you can create trees
08:26:17  <dominictarr>(note, that is is not possible to create a cycle without having a hash collision)
08:27:24  <dominictarr>because othewise… you would have to have some X; Y = HASH(Y + X)
08:28:35  <dominictarr>you can replicate this sort of data trivially
08:28:46  <dominictarr>it's what GIT does!
08:29:25  <dominictarr>git does this in a messy way
08:29:37  <dominictarr>but you can do it better with a merkle tree
08:31:09  <dominictarr>anyway… so basically, you get replication, immutability, search, and tree traversal.
08:32:01  <dominictarr>(every very complex queryies/tree traversals are feasible, because you can just replicate that data locally if necessary, and if it's deterministic you can also veryify that something was done correctly,
08:32:06  <dominictarr>even independently.
08:32:53  <dominictarr>i.e. another phrasing would that you get security
08:35:35  * mcollinajoined
08:35:38  * mcollinaquit (Remote host closed the connection)
08:36:11  * mcollinajoined
08:37:14  <Raynos>so how do you get security
08:37:19  <Raynos>say you replicate only values
08:37:26  <Raynos>and every peer stores incoming values under the hash
08:37:45  <Raynos>you would get eventual consistency if there are zero hash collisions
08:42:24  * defunctzombie_zzchanged nick to defunctzombie
08:43:39  <dominictarr>Raynos: well the security you get is that no one can change your data without you knowing
08:43:54  <Raynos>:p
08:44:01  <Raynos>every local database has that
08:44:26  <dominictarr>defunctzombie: whats up? are you still in the bay area or are you back in ny?
08:44:52  <dominictarr>Raynos: but ONLY if it's local!
08:45:27  <dominictarr>with other databases you have to trust that the data hasn't been changed maliciously.
08:52:18  * defunctzombiechanged nick to defunctzombie_zz
08:59:58  * dominictarrquit (Quit: dominictarr)
09:05:09  * crankquit (Ping timeout: 248 seconds)
09:06:32  * crankjoined
09:14:58  <substack>pow, fixed all extant trumpet issues
09:26:06  <jesusabdullah>gg
09:26:18  <jesusabdullah>I have almost as many open issues on browserify-cdn as closed ones
09:26:21  <jesusabdullah>too bad I have real work now
09:26:23  <jesusabdullah>XD
09:28:33  * dominictarrjoined
09:36:09  <substack>OK THEN
09:36:10  <LOUDBOT_>THAT'S JUST SO WEIRD
09:43:29  * stagasjoined
09:45:40  * jibayjoined
09:48:31  <jesusabdullah>mbalho: I thought that hypernal table with the npmsearch stuff was a screenshot, I shat bricks when I realized that was live
09:48:34  <jesusabdullah>mbalho: so cool
09:52:20  * vladikoff_joined
09:52:46  * rook2paw1joined
09:53:23  * spionjoined
09:54:25  <jesusabdullah>mbalho: it warms my cold frigid heart
09:55:50  * simcop2387_joined
09:57:53  * hij1nxquit (*.net *.split)
09:57:53  * rook2pawnquit (*.net *.split)
09:57:53  * simcop2387quit (*.net *.split)
09:57:53  * vladikoffquit (*.net *.split)
09:57:55  * simcop2387_changed nick to simcop2387
09:57:56  * vladikoff_changed nick to vladikoff
09:57:56  * vladikoffquit (Changing host)
09:57:56  * vladikoffjoined
10:13:15  * jolissjoined
10:18:00  * ricardobeatjoined
10:20:33  * vitorpachecojoined
10:21:31  * ricardobeatquit (Read error: Connection reset by peer)
10:33:20  * stagas_joined
10:34:16  * stagasquit (Ping timeout: 240 seconds)
10:34:25  * stagas_changed nick to stagas
10:38:13  * vitorpachecoquit (Ping timeout: 256 seconds)
10:40:31  * st_lukejoined
10:50:41  * ins0mniajoined
10:57:13  * vitorpachecojoined
11:05:22  * missinglinkjoined
11:08:03  * ralphtheninjajoined
11:11:51  * thl0joined
11:20:25  * guybrushquit (Read error: Connection reset by peer)
11:21:17  * dominictarrquit (Ping timeout: 256 seconds)
11:21:57  * dominictarrjoined
11:24:12  <juliangruber>new module: repo-url. so you can do `$ git clone $(repo-url browserify)`. https://github.com/juliangruber/repo-url
11:25:40  <st_luke>juliangruber: neat, I use a bash function for that
11:26:15  <juliangruber>st_luke: cool, would you mind sharing?
11:26:25  <substack>nifty
11:26:57  <substack>dominictarr: zerovm is a beast to get running and installed
11:27:07  * yorickjoined
11:27:12  <substack>docker is being pretty straight-forward though
11:27:23  <st_luke>juliangruber: function repourl () { npm view $1 repository.url | tee >(pbcopy) ; }
11:27:34  <st_luke>it also copies to the clipboard on os x
11:29:51  * timoxleyquit (Read error: Connection reset by peer)
11:30:30  <juliangruber>st_luke: didn't know npm view could do that
11:30:34  <juliangruber>st_luke: npm view browserify repository.url 2> /dev/null | head -n1 | tr -d '\n'
11:30:40  <juliangruber>that would be a replacement for repo-url
11:31:02  <st_luke>juliangruber: yea npm view is awesome i use it all the time for random crap
11:37:50  <st_luke>I hate when I see an interesting looking module and the main file is 450 lines and `this` shows up 134 times
11:39:10  <st_luke>juliangruber: lmao, you made that a repo?
11:43:49  * vitorpachecoquit (Ping timeout: 276 seconds)
11:45:01  <juliangruber>st_luke: that's how I roll
11:46:31  <st_luke>juliangruber: do you use a separate file for each shell function?
11:46:47  <juliangruber>st_luke: i don't really use shell functions that much
11:47:16  <juliangruber>but I like just putting `source ~/pro/repo-url.sh/repo-url.sh` into my bash_profile
11:47:27  <st_luke>i dont either, usually have ~5 and add/remove when I notice im repeating myself a lot and sick of it
11:47:35  <juliangruber>mhm
11:50:08  <st_luke>you could make a repo for `ls -G` next
11:58:39  <juliangruber>st_luke: only use ls ;)
12:03:18  <st_luke>fuck that
12:06:52  * hij1nxjoined
12:27:53  * jibayquit (Remote host closed the connection)
12:30:59  * joliss_joined
12:32:08  * st_lukequit (Remote host closed the connection)
12:32:16  * jolissquit (Ping timeout: 240 seconds)
12:32:16  * joliss_changed nick to joliss
12:35:10  * ednapiranhajoined
12:50:50  * AvianFlujoined
12:54:53  * AvianFluquit (Ping timeout: 240 seconds)
13:01:29  * AvianFlujoined
13:08:10  * AvianFluquit (Remote host closed the connection)
13:08:39  * AvianFlujoined
13:09:34  * thl0quit (Remote host closed the connection)
13:10:45  * thl0joined
13:15:17  * thl0quit (Ping timeout: 248 seconds)
13:21:41  * mintxianjoined
13:26:40  * Ralt_joined
13:29:37  * ryanseddonquit (*.net *.split)
13:29:37  * Raltquit (*.net *.split)
13:29:37  * creationixquit (*.net *.split)
13:29:37  * mint_xianquit (*.net *.split)
13:29:41  * Ralt_changed nick to Ralt
13:30:26  * ryanseddonjoined
13:30:38  * creationixjoined
13:34:23  * mintxianquit (Ping timeout: 269 seconds)
13:34:38  * mint_xianjoined
13:43:56  * jxson_joined
13:45:52  * mcollinaquit (Remote host closed the connection)
13:46:05  * heathjsjoined
13:47:05  * thlorenzjoined
13:47:40  * Ralt_joined
13:47:55  * joliss_joined
13:48:05  * mcollinajoined
13:50:06  * jolissquit (Ping timeout: 256 seconds)
13:50:07  * joliss_changed nick to joliss
13:53:43  * jcrugzz_quit (Ping timeout: 256 seconds)
13:54:04  * joliss_joined
13:54:08  * creationix_joined
13:55:07  * jolissquit (Ping timeout: 268 seconds)
13:57:21  * creationixquit (*.net *.split)
13:57:21  * Raltquit (*.net *.split)
13:57:23  * jxsonquit (*.net *.split)
13:57:24  * heathquit (*.net *.split)
13:57:25  * Ralt_changed nick to Ralt
13:57:27  * creationix_changed nick to creationix
13:58:49  * joliss_quit (Ping timeout: 256 seconds)
14:00:47  * jolissjoined
14:06:24  * stagasquit (Ping timeout: 246 seconds)
14:06:43  * stagas_joined
14:06:45  * stagas_changed nick to stagas
14:08:13  * mcollina_joined
14:08:36  * stagas_joined
14:11:14  * jxsonjoined
14:11:23  * stagasquit (Ping timeout: 240 seconds)
14:11:27  * stagas_changed nick to stagas
14:12:11  * dfgg_joined
14:13:37  * LOUDBOTjoined
14:15:52  * spionquit (Ping timeout: 246 seconds)
14:17:13  * pikpikquit (Ping timeout: 275 seconds)
14:17:37  * mcollinaquit (*.net *.split)
14:17:37  * jxson_quit (*.net *.split)
14:17:38  * defunctzombie_zzquit (*.net *.split)
14:17:38  * owen1quit (*.net *.split)
14:17:39  * dfggquit (*.net *.split)
14:17:39  * LOUDBOT_quit (*.net *.split)
14:17:59  * sveisveiquit (Ping timeout: 246 seconds)
14:18:06  * defunctzombie_zzjoined
14:18:09  * duncanbeeversquit (Ping timeout: 264 seconds)
14:19:04  * owenb__quit (Ping timeout: 334 seconds)
14:20:14  * jcrugzzjoined
14:20:29  * owen1joined
14:23:42  * duncanbeeversjoined
14:23:59  * 36DAAZYQFjoined
14:26:00  * stagasquit (Ping timeout: 296 seconds)
14:26:03  * tmcwjoined
14:27:58  * spionjoined
14:28:46  * jcrugzzquit (Ping timeout: 240 seconds)
14:29:13  <spion>hmm, i suppose my announcement didn't make it into the channel because I disconnected
14:29:16  <spion>oh well
14:29:18  * spionannounces https://github.com/spion/amd2cjs (converts old AMD modules to commonjs modules, either command-line or as a browserify transform)
14:29:33  * mikolalysenkojoined
14:31:03  <spion>oh wow, I should've checked out browserify-ftw first
14:31:14  <spion>I don't remember it having that many options the last time I tried it
14:33:25  * mcollinajoined
14:33:41  * spionkills it
14:34:27  * pikpikjoined
14:36:34  * mcollina_quit (Ping timeout: 256 seconds)
14:36:59  * owenb__joined
14:37:35  * sveisveijoined
14:37:56  * joliss_joined
14:38:57  * jolissquit (Ping timeout: 246 seconds)
14:38:57  * joliss_changed nick to joliss
14:40:13  * stagasjoined
14:41:41  * 36DAAZYQFquit (Ping timeout: 248 seconds)
14:43:21  * AvianFluquit (Remote host closed the connection)
14:45:17  * joliss_joined
14:45:53  * jolissquit (Ping timeout: 240 seconds)
14:45:54  * joliss_changed nick to joliss
14:50:19  * jcrugzzjoined
14:51:35  * joliss_joined
14:52:21  * jolissquit (Ping timeout: 248 seconds)
14:52:21  * joliss_changed nick to joliss
14:53:57  * stagas_joined
14:55:33  * stagasquit (Ping timeout: 268 seconds)
14:55:46  * stagas_changed nick to stagas
14:57:31  * joliss_joined
14:59:11  * jolissquit (Ping timeout: 260 seconds)
15:01:41  * jxsonquit (Remote host closed the connection)
15:01:53  * joliss_quit (Ping timeout: 240 seconds)
15:03:34  * jolissjoined
15:04:20  * st_lukejoined
15:04:42  * duncanbeeverschanged nick to Guest89724
15:04:42  * spionchanged nick to Guest46466
15:11:54  * thl0joined
15:13:41  * joliss_joined
15:14:20  * jolissquit (Ping timeout: 245 seconds)
15:14:20  * joliss_changed nick to joliss
15:37:54  * snojquit (Remote host closed the connection)
15:47:31  * jibayjoined
15:47:38  <juliangruber>substack defunctzombie_zz : where is browserify's `-r` logic defined? trying to fix https://github.com/substack/node-browserify/issues/450
15:49:45  * soldairjoined
15:50:56  <jjjohnny_>whatup soldair
15:51:18  <soldair>jjjohnny_: nothin much man just getting started
15:53:39  <jjjohnny_>you mean... boot strapping
15:54:08  <soldair>jjjohnny_: how are the chickens
15:54:23  <jjjohnny_>very cute!
15:55:46  <jjjohnny_>only 4 months old, but pretty big
15:55:53  <jjjohnny_>no eggs yet
15:56:35  <jjjohnny_>pretty good company, a bunch of chickens
15:58:24  <soldair>cool. perhaps ill get one or two
15:58:41  <soldair>hacking anything today?
15:58:49  <jjjohnny_>more than one at least, they are groupies
15:59:17  <jjjohnny_>i have 5 in a medium/small yard
15:59:30  <soldair>yeah i dont want lonely chickens
16:00:13  <jjjohnny_>soldair: been hacking a web audio music thingy for a little while
16:00:51  <jjjohnny_>synthesizers, sampling, etc
16:01:29  <jjjohnny_>soldair: you been doing any js/node groups in LA?
16:02:30  <soldair>im going to try to connect with the js.la guys and run some workshop style meet ups nodeconf style. leveldb streams bots etc.
16:02:59  <jjjohnny_>yay
16:03:52  <jjjohnny_>soldair: im just now spec-ing a live-code JS tour of the west coast
16:04:22  <soldair>sounds neat
16:04:50  <jjjohnny_>for ~september
16:05:20  <jjjohnny_>soldair: let me know if you get any things going on down there, I may try to make it
16:05:39  <soldair>jjjohnny_: ok, i will =)
16:09:32  * defunctzombie_zzchanged nick to defunctzombie
16:11:09  <defunctzombie>juliangruber: the flags are handled in the bin launcher
16:11:17  * st_lukequit (Remote host closed the connection)
16:11:37  <defunctzombie>juliangruber: for that specific issue with constants, maybe we need to add constants to the default replaced modules list
16:13:15  * jcrugzzquit (Ping timeout: 268 seconds)
16:18:02  * shamajoined
16:33:28  <mbalho>jesusabdullah: you should try to get your asciimator to work! i couldnt figure it out
16:33:32  <mbalho>jesusabdullah: on requirebin that is
16:34:38  <mbalho>jlord_: https://github.com/taka-wang/art-of-node/commit/9f13439ebda062e9086e5855fc4d362805afd151
16:38:34  * defunctzombiequit (Changing host)
16:38:34  * defunctzombiejoined
16:42:58  <juliangruber>defunctzombie: already did that :)
16:44:07  * mikolalysenkoquit (Ping timeout: 276 seconds)
16:49:51  * jolissquit (Quit: joliss)
16:52:14  * jolissjoined
16:55:52  * thlorenzquit (Remote host closed the connection)
16:59:12  * mikolalysenkojoined
16:59:13  * thlorenzjoined
16:59:26  * jxsonjoined
17:00:10  * shamaquit (Remote host closed the connection)
17:00:41  * stagas_joined
17:01:25  * stagasquit (Ping timeout: 245 seconds)
17:01:32  * stagas_changed nick to stagas
17:02:07  * shamajoined
17:02:44  <Domenic_>this is fascinating. https://github.com/soldair/node-s3-npm /cc thl0 thlorenz
17:03:48  <thlorenz>Domenic_: if this works that'd be a game changer ;)
17:04:36  <Domenic_>thlorenz: it looks pretty innovative. simple but brilliant. postinstall hooks on the app that parse s3Dependencies, and a command-line s3npm that lets you publish to s3.
17:07:57  <soldair>Domenic_: sounds good?
17:08:40  <soldair>Domenic_: it would be super helpful for people to open issues with thoughts etc that are interested
17:10:44  <soldair>Domenic_: thlorenz im so happy i started hanging in the irc =) its like all of my favorite internet people are real ;)
17:11:02  <Domenic_>^_^
17:11:52  <Domenic_>i'd be afraid to open too many issues from the sidelines without actually using it. but i'm tempted to give it a try just so i can, because it seems really cool.
17:12:16  * jcrugzzjoined
17:16:34  <defunctzombie>Domenic_: that would be interesting once the workflow is better
17:16:46  <defunctzombie>as in, maybe don't need the extra module
17:17:02  <Domenic_>you expect npm to integrate s3 support directly?
17:17:04  <soldair>you dont need the extra module if you dont mind running s3npm install
17:17:17  <defunctzombie>Domenic_: nope, don't expect that
17:17:25  <defunctzombie>soldair: interesting
17:17:33  <soldair>Domenic_: the biggest issues right now are that i don't have a list/search command which means you have to use another tool to list the bucket which is silly. and its hard to figure out why it may not be working if you have your user policies configured incorrectly in aws.
17:17:47  <defunctzombie>Domenic_: if npm supported custom install location prefixes that could make it work
17:17:54  <defunctzombie>Domenic_: so like we used to do with git://...
17:17:55  <defunctzombie>in deps
17:17:59  <defunctzombie>you could do s3://
17:18:04  <soldair>but thats only from my use case. im sure as more people think about it other things will be bigger pain points
17:18:10  <Domenic_>soldair: hmm yeah getting a list/search (or, if we're dreaming, an npmjs.org) working seems important
17:18:12  <defunctzombie>and it would maybe use a globally installed module to handle that
17:18:14  <defunctzombie>or a plugin
17:18:17  <soldair>like defunctzombie said
17:18:28  <Domenic_>defunctzombie: that's a really fascinating idea, hrm.
17:18:52  * jxsonquit (Remote host closed the connection)
17:19:12  * jxsonjoined
17:19:31  <defunctzombie>Domenic_: :)
17:21:04  <soldair>do you think the postinstall hook is more mad science style and people would like to run npm install && s3npm install when they deploy thier apps?
17:21:57  <Domenic_>I mean both work, right? I think the postinstall hook is just a way of automating the && version and is something you might think of yourself anyway after a week or so.
17:22:34  <defunctzombie>Domenic_: if npm queried a plugin or something for special prefixes it would do it
17:24:08  <Domenic_>isaacs: what do you think of allowing custom URL protocol handlers for npm dependency URLs. This could help modularize npm itself by making the git handlers a plug-in for this system. It could also open up easy `file:` URL handling or similar. Plus this `s3:` idea.
17:24:46  * defunctzombiechanged nick to defunctzombie_zz
17:25:17  * soldairquit (Ping timeout: 250 seconds)
17:25:23  * mcollinaquit (Ping timeout: 240 seconds)
17:26:12  * Guest46466quit (Quit: Leaving)
17:34:59  <isaacs>Domenic_: i dunno. sounds complicated.
17:35:07  <isaacs>Domenic_: what's "this s3 idea"?
17:36:51  <Domenic_>isaacs: soldair has this cool project https://github.com/soldair/node-s3-npm which uses a `s3npm` binary to interpret `s3Dependencies` and install from s3. defunctzombie_zz suggested that if npm had a pluggable protocol thing, we could instead use "s3://"-type URLs in the normal `dependencies` hash.
17:38:24  <isaacs>hm
17:38:55  <isaacs>i think custom url protocols, to indicate a hostname, is kind of the wrong approach
17:39:12  <isaacs>why not just specify the public url to the s3 thing?
17:39:37  <isaacs>if the answer is, "i have custom login magic", well, ok, then that's shitty, becasue now you have a published package that can't be installed.
17:39:47  <isaacs>that's just like depending on a package that doesn't exist.
17:39:53  <isaacs>or a file:// url
17:41:18  <Domenic_>I think I see what you're saying. But this is for apps. Companies set up their s3 bucket, redistribute .s3npm files to their employees (or use more complicated Amazon auth stuff that solidair is still working on), and their internal projects can use `s3Dependencies` or `s3://` URLs.
17:41:47  <Domenic_>In the s3:// URL idea, s3npm becomes an npm plugin that companies distribute to their employees.
17:42:09  * guybrushjoined
17:42:30  <Domenic_>although, wait, this is weird, the fields end up looking like `{ "my-dep": "s3://~1.2" }`
17:44:57  <Domenic_>yeah maybe URLs aren't the best fit for this, it loses some elegance compared to the existing `s3Dependencies` solution.
17:47:41  * stagasquit (Read error: Connection reset by peer)
17:51:01  * guybrushquit (Quit: gnag!)
17:52:09  * stagasjoined
17:53:59  * stagas_joined
17:57:34  * stagasquit (Ping timeout: 265 seconds)
17:57:49  * stagas_changed nick to stagas
18:04:20  * mikolalysenkoquit (Ping timeout: 245 seconds)
18:09:45  * stagasquit (Ping timeout: 264 seconds)
18:13:26  * guybrushjoined
18:13:57  * stagasjoined
18:14:41  * timoxleyjoined
18:16:39  * missinglinkquit (Ping timeout: 246 seconds)
18:25:58  * mikolalysenkojoined
18:26:21  * stagasquit (Read error: Connection reset by peer)
18:27:20  * stagasjoined
18:31:59  * defunctzombie_zzchanged nick to defunctzombie
18:33:03  <defunctzombie>Domenic_: the files could end up looking like many things
18:33:16  <defunctzombie>Domenic_: the protocol just identifies what tool fetches it
18:33:39  <Domenic_>defunctzombie: ok, but what do you envision the dependencies hash looking like in this case (or ones like it)
18:33:57  <defunctzombie>Domenic_: I don't like the existing solution cause it breaks the deps section apart and makes it not clear what all the deps are I feel
18:34:21  <defunctzombie>Domenic_: s3://bucket-name/module#version maybe, I dunno
18:35:04  <Domenic_>defunctzombie: I guess, but that loses the elegance of `"my-dep": "~1.2"` in both not allowing fuzzy matching and in making you repeat the module name.
18:35:17  <Domenic_>Maybe @~1.2
18:35:21  <defunctzombie>sure
18:35:30  <defunctzombie>personally, I don't care about fuzzy matching :)
18:35:35  <defunctzombie>so don't cry over not having that
18:35:35  <Domenic_>yeah i know :P
18:35:50  <defunctzombie>but sure, use whatever separator you want
18:36:10  <defunctzombie>the nice thing is that it allows for you to have better private modules
18:39:33  * dfgg_changed nick to dfgg
18:40:19  * soldairjoined
18:41:02  * defunctzombiechanged nick to defunctzombie_zz
18:48:30  * guybrushquit (Quit: gnag!)
18:48:40  * calvinfo_joined
18:48:50  * calvinfo_quit (Remote host closed the connection)
18:54:45  * calvinfo_joined
18:55:07  * guybrushjoined
18:56:13  * calvinfo_quit (Read error: Connection reset by peer)
18:58:12  * heathjschanged nick to heath
19:01:42  * guybrushquit (Quit: gnag!)
19:02:29  * calvinfojoined
19:03:03  * guybrushjoined
19:06:20  * guybrushquit (Client Quit)
19:06:51  * guybrushjoined
19:08:08  * calvinfoquit (Quit: Leaving)
19:14:56  * jibayquit (Remote host closed the connection)
19:18:37  * soldairquit (Quit: Page closed)
19:26:27  * calvinfo1joined
19:30:05  * defunctzombie_zzchanged nick to defunctzombie
19:32:08  * johnkpauljoined
19:33:15  * soldairjoined
19:34:06  * guybrushquit (Quit: gnag!)
19:34:43  * guybrushjoined
19:39:11  * timoxleyquit (Read error: Connection reset by peer)
19:39:35  * timoxleyjoined
19:50:01  * mikolalysenkoquit (Ping timeout: 276 seconds)
19:58:36  * stagas_joined
19:59:01  * calvinfo1quit (Remote host closed the connection)
20:00:45  * stagasquit (Ping timeout: 264 seconds)
20:00:57  * stagas_changed nick to stagas
20:02:52  * heathquit (Changing host)
20:02:52  * heathjoined
20:02:55  * calvinfojoined
20:04:29  * spionjoined
20:14:20  <Raynos>Domenic_: What are you storing in s3?
20:18:46  * jez0990quit (Read error: Connection reset by peer)
20:18:52  * jez0990joined
20:20:14  <Raynos>Oh I see
20:20:16  <Raynos>entire packages
20:20:38  * mikolalysenkojoined
20:22:57  * dsfadfjoined
20:24:42  * rannmannquit (Ping timeout: 264 seconds)
20:24:52  <soldair>Raynos: i made it for work. not useful if you can open everything but the patterns are interesting too if you think storage backend agnostic...
20:34:16  <Raynos>cool
20:36:09  * stagasquit (Read error: Connection timed out)
20:40:07  * stagas_joined
20:43:28  * stagas_changed nick to stagas
20:47:25  * mirkok_joined
20:47:42  * juliangruber_joined
20:49:13  * dfgg_joined
20:53:53  * shamaquit (*.net *.split)
20:53:53  * owen1quit (*.net *.split)
20:53:53  * dfggquit (*.net *.split)
20:53:53  * juliangruberquit (*.net *.split)
20:53:53  * mirkokquit (*.net *.split)
20:53:56  * mirkok_changed nick to mirkok
20:58:56  * jolissquit (Quit: joliss)
21:01:38  * shamajoined
21:03:21  * owen1joined
21:03:37  * spionquit (Ping timeout: 246 seconds)
21:05:58  * stagas_joined
21:07:17  * stagasquit (Ping timeout: 240 seconds)
21:07:18  * stagas_changed nick to stagas
21:08:53  * jcrugzzquit (Ping timeout: 240 seconds)
21:17:32  * timoxleyquit (*.net *.split)
21:17:32  * thl0quit (*.net *.split)
21:17:32  * sveisveiquit (*.net *.split)
21:17:32  * pikpikquit (*.net *.split)
21:17:32  * tmcwquit (*.net *.split)
21:17:33  * ecquit (*.net *.split)
21:19:20  * stagas_joined
21:20:07  * stagas_quit (Read error: Connection reset by peer)
21:21:02  * stagasquit (Ping timeout: 240 seconds)
21:22:06  * stagasjoined
21:23:55  * dsfadfchanged nick to rannmann
21:23:55  * rannmannquit (Changing host)
21:23:55  * rannmannjoined
21:25:16  * tmcwjoined
21:25:59  * sveisveijoined
21:28:31  * thl0joined
21:32:14  * mikolalysenkoquit (Ping timeout: 240 seconds)
21:34:23  * ednapiranhaquit (Remote host closed the connection)
21:35:50  * AvianFlujoined
21:36:48  <jesusabdullah>mbalho: asciimator?
21:36:52  * ecjoined
21:39:23  * timoxleyjoined
21:40:15  * pikpikjoined
21:43:15  * anvakajoined
21:45:10  * stagasquit (Ping timeout: 245 seconds)
21:55:12  <anvaka>Is there any way to print v8 version used by node? I can look into the github repository too, but just wondering if there is a CLI to get that...
21:57:50  <soldair>process.versions anvaka ?
21:58:14  <anvaka>nice! Thank you soldair
22:00:32  * thlorenzquit (Remote host closed the connection)
22:23:25  * jolissjoined
22:25:35  * anvakaquit (Ping timeout: 250 seconds)
22:56:10  * maksimlinjoined
23:00:23  <jden>ls
23:00:55  <jden>ENOTTERM
23:03:56  * jolissquit (Quit: joliss)
23:05:07  * anvakajoined
23:05:55  <soldair>ha jden i think everything should support ls
23:06:25  <maksimlin>isaacs: I'm using the same node-irc module as you do for ircretary for a basic logging bot I wrote ( but its a bit newer version of node-irc) but I keep getting disconnect due to "network connection reset by peer" but node-irc never notices them, have you ever had that issue with ircretary?
23:10:34  <anvaka>Wow, I've just tried asm.js demo of Unreal Engine (http://www.unrealengine.com/html5/ ) in Canary. Got 40fps at 1280x800 on macbook pro.
23:13:23  <anvaka>v8 folks are awesome. They also made huge improvements in GC behavior for double values stored on objects
23:14:31  <maksimlin>yep its very impressive how well v8 can run asm.js style code *without* AOT compilation
23:17:18  * anvaka_joined
23:19:45  * anvakaquit (Ping timeout: 250 seconds)
23:22:49  * tmcwquit (Remote host closed the connection)
23:28:29  <jesusabdullah>maksimlin: I have
23:28:35  <jesusabdullah>maksimlin: node-irc is really buggy unfortunately
23:28:58  <jesusabdullah>maksimlin: you know when you write a library out of necessity, but then everyone expects you to maintain it and you don't really want to?
23:29:01  <jesusabdullah>maksimlin: it's kinda like that.
23:29:17  <maksimlin>jesusabdullah: thanks for confirming I thought I was going nuts
23:29:21  <jesusabdullah>maksimlin: mmalecki has a promising new irc lib coming out, but while it's less buggy it's also way way way less feature complete
23:29:40  <maksimlin>oh is ther a repo?
23:29:44  <jesusabdullah>maksimlin: Yeah, ddgbot drops off the face of the earth every once in a while and I *never* really figured out why cause the bot is happily running but yeah
23:29:54  <maksimlin>I don't need many features, mine is just a logging bot
23:30:04  <jesusabdullah>maksimlin: https://github.com/mmalecki/ircb yeah
23:30:19  <jesusabdullah>maksimlin: biggest thing for me is, last I checked it didn't have any startup error catching/handling
23:30:27  <maksimlin>way more minimal than ircretary: https://github.com/maks/mkbot
23:30:30  <jesusabdullah>maksimlin: but once it's connected it seems pretty solid
23:30:58  <maksimlin>jesusabdullah: great, thaks for that I'll check it out
23:31:35  <maksimlin>but what do you mean by "startup error catching/handling"
23:32:45  <jesusabdullah>maksimlin: like, if nick is already taken it has no way of even detecting it, much less handling it.
23:32:48  <jesusabdullah>maksimlin: stuff like that.
23:32:56  <maksimlin>your description of what you see with ddgbot is exactly what I see to, node-irc listenere for all errors from the socket and I even add log output in there and never saw a thing
23:33:10  <jesusabdullah>that reminds me
23:33:13  <jesusabdullah>yup
23:33:17  <jesusabdullah>brb restarting ddgbot
23:33:22  <maksimlin>oh ok, I can live with those limiations
23:33:25  <isaacs>maksimlin: yeah, i just restart ircretary every day
23:34:01  * defunctzombiechanged nick to defunctzombie_zz
23:34:05  * _ddgbotjoined
23:34:11  <maksimlin>guys it makes me slightly suspicious of an underlying bug in nodes socket code
23:34:50  <jesusabdullah>naw I can almost guarantee it's an issue with the irc lib
23:34:53  <jesusabdullah>look at its issues
23:34:55  <maksimlin>isaacs: yep I'm at the point of writing a cron job to do that to mine too
23:35:03  <jesusabdullah>look at how often martyn does work on it
23:35:10  <jesusabdullah>it's just a hairy problem that nobody wants to fix
23:35:23  <isaacs>maksimlin: yeah, that's what i did
23:36:03  <maksimlin>jesusabdullah: sure but on the other hand its code is quite straight forward and I add logging into it conn error handler and it never gets called on those disconnect events
23:36:26  <jesusabdullah>maksimlin: it doesn't seem to straight disconnect for me either
23:36:44  <jesusabdullah>maksimlin: like it's subtly different
23:38:08  <maksimlin>jesusabdullah: yes but when I'm in my irc client at the same time by chance that it disconnects I see the "connection reset by peer" from the irc server in my client UI
23:38:35  <maksimlin>shouldn't that cause a error cb from the node socket conn ?
23:40:01  <maksimlin>I put logging line into func: https://github.com/martynsmith/node-irc/blob/master/lib/irc.js#L668-L670
23:40:29  <maksimlin>but it never gets called on those "connection reset by peer" disconnects from the irc server
23:41:54  <isaacs>Raynos: you remember how you complained that graceful-fs monkey patches the builtin fs module?
23:42:01  <isaacs>Raynos: yeah... i'm encountering the reason why that wasy
23:42:05  <Raynos>isaacs: yes
23:42:14  <Raynos>isaacs: is it because RAGEQUIT
23:42:39  <isaacs>Raynos: not really
23:42:45  <isaacs>Raynos: you see... there are a lot of things that call fs.open
23:42:52  <isaacs>Raynos: like, streams etc.
23:42:57  <Raynos>but aren't they all in fs
23:43:06  <Raynos>Well I guess patching fs.createReadStream
23:43:08  <Raynos>with the same code
23:43:12  <isaacs>Raynos: yes, but... that doesn't actually work
23:43:12  <Raynos>except fs.gracefulOpen
23:43:15  <Raynos>would be a bit silly
23:43:26  <isaacs>Raynos: also, you end up with cases where you don't really know how many things were *actually* opened
23:43:38  <isaacs>so you queue up, let's say 500 streams your'e trying to read from
23:43:49  <Raynos>I understand the reasoning for monkey patching
23:43:54  <Raynos>I agree it's a pretty good use
23:43:57  <isaacs>and then also try to do fs.readFile on 1000 files
23:44:03  <isaacs>there's a lot of little edge cases in there
23:44:10  <isaacs>also, readdir uses a fd, and so does process.cdw
23:44:12  <isaacs>*cwd
23:44:13  <Raynos>the only alternative is to be a fancy pants and say "all file functions are just higher order functions that take open and read as arguments"
23:44:49  <isaacs>Raynos: not gonna happen
23:44:56  <Raynos>of course not
23:45:02  <Raynos>but if you writing node-haskell or something
23:45:14  <isaacs>noted.
23:45:15  <Raynos>I looked at haskell TCP examples and I'm like ;_; why no simple
23:45:37  <isaacs>Raynos: what i could do is have graceful-fs enqueue everything
23:45:52  <isaacs>and only proceed to the next item in the queue when I get a non-EMFILE response
23:45:55  <isaacs>but slooooowwwwwwww
23:45:55  <substack>because haskell makes everything hard for dubious reasons
23:46:10  <isaacs>substack: you only say that beecause you hate purity
23:46:31  <substack>yes. yes I do
23:46:47  <substack>humans are actually pretty good at reasoning about mutable state in small doses
23:46:58  <substack>the answer is just to keep the doses small and modular
23:47:06  <isaacs>substack: if you loved purity more, you'd have small modular purity
23:47:12  <isaacs>substack: and then you'd be pure.
23:47:51  <substack>haskell frees you from worrying about mutable state by forcing you to worry about mutable state even more
23:48:37  <isaacs>substack: it frees you from dirtiness by making you pure
23:48:48  <isaacs>substack: it is like a purifying bath in chlorine bleach
23:48:54  <isaacs>substack: ZERO SIDE EFFECTS
23:49:49  <substack>gotta be clean, gotta be pure
23:50:00  <substack>wash your hands 30 times per day
23:50:20  <substack>to keep the side effects at bay
23:50:28  <jjjohnny_>what's haskell?
23:51:14  <jjjohnny_>just kidding! I don't care!
23:52:37  <substack>isaacs: related http://prog21.dadgum.com/38.html
23:54:27  * yorickquit (Remote host closed the connection)