00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:03:10  * mikolalysenkojoined
00:03:47  * marcello3djoined
00:07:19  * mikolalysenkoquit (Ping timeout: 246 seconds)
00:10:55  * marcello3dquit (Read error: Connection reset by peer)
00:12:04  * marcello3djoined
00:13:05  * defunctzombiechanged nick to defunctzombie_zz
00:20:46  <hij1nx>dominictarr: do you get a message like this (https://gist.github.com/hij1nx/5184236) when you try to run the exampleapp program?
00:24:55  * mikolalysenkojoined
00:25:33  <dominictarr>no
00:26:03  <dominictarr>but I need to add something to my .bashrc?
00:29:05  * kirbysayshijoined
00:30:07  * kirbysayshiquit (Client Quit)
00:35:23  * kenperkinsquit (Quit: Textual IRC Client: http://www.textualapp.com/)
00:37:18  * thatguydanjoined
00:37:41  * kenperkinsjoined
00:38:22  * mikolalysenkoquit (Ping timeout: 256 seconds)
00:45:56  <hij1nx>dominictarr: ok fixed.
00:46:02  <hij1nx>published 0.4.0
00:47:43  <hij1nx>dominictarr: the idea is that when you run the program, it will say "you need to install autocomplete", and if you run your program with --install it will spit out the autocomplete script that needs to be added to your profile script so you can then do "myprogram --install >> .myprofilescript" and then autocomplete will start working
00:48:11  <dominictarr>okay, I'll try the new version
00:48:16  * thl0joined
00:48:26  <hij1nx>after installing autocomplete, you can source your profile script `source ./bash_profile` or whatever
00:48:45  <hij1nx>then run your program and hit tab a bunch of times, its really fun :)
00:49:14  * defunctzombie_zzchanged nick to defunctzombie
00:49:48  <defunctzombie>pkrumins: how I run these gif tests?
00:51:48  <dominictarr>hij1nx: does this use the same completion thing that npm/git uses, or does do I have to `brew install autocomplete`
00:53:01  * thl0quit (Remote host closed the connection)
00:55:42  * defunctzombiechanged nick to defunctzombie_zz
00:55:47  <Domenic_>does anyone know where max's slides on using streams as the unifying DOM abstraction are
00:55:59  <Domenic_>trying to convince the TAG that streams are a useful DOM thing
00:56:53  <Domenic_>chrisdickinson we're looking at some of your repos
00:57:06  <substack>TAG?
00:58:54  <Domenic_>http://www.w3.org/2001/tag/
00:59:32  <substack>http://imgur.com/a/9vFGa#0
01:00:51  <hij1nx>thats a lot of hotdogs
01:01:02  <substack>Domenic_: especially http://imgur.com/a/9vFGa#11
01:07:34  * mikolalysenkojoined
01:08:36  <Domenic_>substack: perfect, thank you
01:11:08  <chrisdickinson>Domenic_: which ones?
01:11:24  <chrisdickinson>(and also, awesome!)
01:12:01  <chrisdickinson>Domenic_: I also gave a presentation about using `through` which culminated in a five line autocomplete widget: https://github.com/PDXNode/pdxnode/tree/master/2013-mar/modules/part-3
01:12:10  <chrisdickinson>the code looks like so: https://github.com/PDXNode/pdxnode/blob/master/2013-mar/modules/part-3/main-1.js
01:16:39  <dominictarr>chrisdickinson: have you seen http://github.com/dominictarr/stream-combiner
01:17:01  <chrisdickinson>oh interesting
01:17:55  <chrisdickinson>i've been using duplex for that purpose
01:18:01  <chrisdickinson>but this looks much cleaner
01:18:36  * thl0joined
01:18:52  * mikolalysenkoquit (Ping timeout: 252 seconds)
01:29:07  <jjjjohnn1y>substack: how do i get out of screen -x
01:29:35  <dominictarr>chrisdickinson: Am wondering if there is a really simple stream api out there where it's easy to make it so that a.pipe(x.pipe(y).pipe(z)).pipe(b) works
01:31:55  <jjjjohnn1y>anybody rly
01:33:01  <chrisdickinson>ctrl+a, ctrl+d?
01:33:22  <jjjjohnn1y>chrisdickinson: thx
01:33:38  <substack>jjjjohnn1y: ctrl+a, d
01:33:45  <jjjjohnn1y>dominictarr: https://soundcloud.com/prollabilly/ollotro
01:34:37  <jjjjohnn1y>i can get you the super extra extended delux edition if you want to trolololl out
01:35:15  <dominictarr>jjjjohnn1y: listening
01:38:56  <substack>http://www.youtube.com/watch?v=SGs_bbuWjPA#t=1m
01:45:03  * mikolalysenkojoined
01:50:03  * tukuworkquit (Ping timeout: 245 seconds)
01:53:32  <thl0>tiniest module ever: https://github.com/thlorenz/show-stream-progress/blob/master/index.js
01:54:22  * tukushanjoined
01:54:49  <thl0>unless substack has a shorter one?
01:56:16  <substack>https://github.com/substack/node-gcd/blob/master/index.js
01:56:37  <thl0>damn! :)
01:57:34  <substack>that module has a dependent module even
01:58:40  <guybrush>why not use core-stream transform instead of through?
01:59:24  <guybrush>backwards compatibility?
02:01:50  <thl0>guybrush: yes, want it to work with old and new streams
02:02:09  <thl0>guybrush: also through is just so nice and simple ;)
02:02:42  <guybrush>kk thx for pointing out ^^
02:04:08  <chrisdickinson>substack: if you don't want browserify to pick up a require, can you still do `(require)('some-module')` or has that changed?
02:04:23  <substack>chrisdickinson: use the browsers field now
02:04:30  <chrisdickinson>kk, just making sure
02:04:36  <substack>or you can do var require_ = require; require_()
02:04:43  <chrisdickinson>cool
02:05:35  * defunctzombie_zzchanged nick to defunctzombie
02:06:21  <thl0>guybrush: I see through also as kind of a future proof shim
02:06:53  * nicholas_quit (Read error: Connection reset by peer)
02:07:00  * nichola__joined
02:07:01  <thl0>guybrush: once most people are on 10+ dominictarr can just releas a new version which uses that stream implementation underneath
02:07:28  <thl0>guybrush: all I'd have to do then is bump the version - no code changes - and am using new streams
02:07:46  <mikolalysenko>I got a module that is only one line: https://npmjs.org/package/is-little-endian
02:07:46  <dominictarr>yeah
02:08:25  <thl0>dominictarr: is that the actual plan or am I just making things up here?
02:08:39  <dominictarr>more or less
02:08:44  <thl0>cool
02:08:56  <dominictarr>if you use through and/or duplex
02:09:21  <dominictarr>and avoid the things that arn't in 0.10 like destroy
02:09:28  * thl0thinks we have thought this through (npi)
02:09:32  <dominictarr>then it should just work
02:09:51  <dominictarr>thl0: oh, make sure you use this.queue(data) and not this.emit(data)
02:10:44  <thl0>dominictarr: I am - might have used emit somewhere in the past though - possibly still floating around in older modules of mine
02:12:40  <dominictarr>cool, it's easy to port to using this.queue anyway
02:13:47  * thl0quit (Remote host closed the connection)
02:15:16  * defunctzombiechanged nick to defunctzombie_zz
02:15:26  * st_lukequit (Remote host closed the connection)
02:23:58  * mikolalysenkoquit (Ping timeout: 252 seconds)
02:27:52  * ins0mniaquit (Ping timeout: 240 seconds)
02:32:36  <chrisdickinson>on that note: https://npmjs.org/package/ls-stream
02:32:46  <chrisdickinson>through makes writing tiny reusable modules so fun :D
02:37:53  <dominictarr>chrisdickinson: in node you can just do .on('data', console.log)
02:50:52  * mikolalysenkojoined
03:04:23  * mikolalysenkoquit (Ping timeout: 240 seconds)
03:11:03  <hij1nx>dominictarr: is complete working for you now?
03:11:45  <dominictarr>no,
03:11:52  <hij1nx>wtf :(
03:12:03  <dominictarr>I cloned the latest, and cd example
03:12:03  <hij1nx>whats not working?
03:12:10  <dominictarr>npm install -g
03:12:14  <dominictarr>exampleapp
03:12:23  <dominictarr>~/c/complete/example>exampleapp --install
03:12:24  <dominictarr>program started with the following arguments: --install
03:12:39  <dominictarr>but it should output a script, correct?
03:13:07  <dominictarr>hij1nx: I'm moving this to the too-hard-basket
03:13:13  <hij1nx>hmm. the only diff is that I didnt npm install -g the example
03:13:24  <hij1nx>dominictarr: i had st_luke try it and it worked fine
03:13:34  * marcello3dquit (Remote host closed the connection)
03:13:41  <dominictarr>do I need to install somethnig to enable it?
03:13:50  <hij1nx>the workflow should be
03:13:53  <dominictarr>I'm just on the stock bash
03:13:59  <hij1nx>thats fine
03:14:03  <dominictarr>okay
03:14:16  <hij1nx>1. mkdir test
03:14:19  <hij1nx>2. npm init
03:14:20  * marcello3djoined
03:14:24  <hij1nx>3. npm install complete
03:14:33  <hij1nx>4. cd examples
03:14:37  <hij1nx>(or whatever)
03:14:58  <hij1nx>5. ./exampleapp
03:15:13  <hij1nx>6. should tell you that you're environment doesnt support autocomplete
03:15:33  <hij1nx>7. ./exampleapp --install >> file
03:15:52  <hij1nx>(without `>> file` should spit out the script)
03:16:26  <hij1nx>8. `source file` (where `file` is something like .bash_profile)
03:17:01  <hij1nx>step 7 is a onetime thing that users of a module that contains `complete` will only have to do once
03:17:18  <hij1nx>same with step 8
03:17:28  <hij1nx>hehe, and 6.
03:17:53  <hij1nx>it creates a `.node-complete` folder in your home directory
03:18:29  <hij1nx>files go in there that take care of assigning autocomplete to programs
03:19:30  <hij1nx>dominictarr: im about to buy a ticket to ireland.
03:21:24  <dominictarr>hij1nx: ! swee !
03:21:27  <dominictarr>sweet!
03:22:09  <hij1nx>dominictarr: got it working??? :D
03:22:34  <hij1nx>dominictarr: yep, buying my ticket.
03:22:35  <dominictarr>it's creating an empty .node-complete/exampleapp file
03:22:49  <dominictarr>guessing that is wrong?
03:23:00  <hij1nx>dominictarr: yes that's wrong.
03:23:29  <hij1nx>dominictarr: rm -rf ~/.node-complete
03:23:59  <hij1nx>dominictarr: there might be an issue with it existing already. the detection process could be improved.
03:24:12  * mikealjoined
03:24:33  <hij1nx>https://github.com/hij1nx/complete/blob/master/lib/complete.js#L128
03:24:52  * mikealquit (Client Quit)
03:25:14  <dominictarr>I can see output if I do exampleapp --compgen apple
03:25:37  <hij1nx>dominictarr: did you try removing that dir and then installing again?
03:25:46  <dominictarr>yeah, that is what I did
03:26:06  <hij1nx>dominictarr: but you do not see this message (https://github.com/hij1nx/complete/blob/master/lib/complete.js#L149)
03:26:11  <hij1nx>?
03:26:26  <dominictarr>no, I'm not seeing that
03:26:31  <hij1nx>fffffffff
03:27:51  * mikealjoined
03:29:30  <hij1nx>dominictarr: did it write the completion script to your profile script?
03:29:53  <hij1nx>maybe you can check in there to see if it appended the script
03:30:52  * mikolalysenkojoined
03:31:29  <dominictarr>I never got the message telling me to install it
03:31:49  <dominictarr>and exampleapp --install
03:31:52  <dominictarr>doesn't show it
03:34:49  <hij1nx>dominictarr: i have a gist for you to try, one sec
03:35:25  <hij1nx>dominictarr: https://gist.github.com/hij1nx/5184888
03:35:50  <hij1nx>dominictarr: try replacing lib/complete.js with this
03:43:22  <hij1nx>dominictarr: im pretty sure that works.
03:43:35  <dominictarr>will try it in a sec
03:44:24  * marcello3dquit (Remote host closed the connection)
03:44:42  <jjjjohnn1y>is there a browserified youtube video module? #bfy
03:45:24  * mikolalysenkoquit (Ping timeout: 245 seconds)
03:53:01  * defunctzombie_zzchanged nick to defunctzombie
03:53:31  <substack>jjjjohnn1y: I think max wrote one
03:53:54  <substack>or maybe it was dominictarr
03:53:56  <substack>aha it was dominictarr
03:54:07  <substack>http://npmjs.org/package/youtube-player
03:54:12  <dominictarr>^ thats it
03:55:17  * douglaslassancequit (Quit: Leaving...)
03:55:30  <jjjjohnn1y>yay
03:55:36  <jjjjohnn1y>thx
04:06:49  <jjjjohnn1y>thanks a million DTARR!!
04:07:44  <jjjjohnn1y>ah fuck its an iframe
04:11:25  * mikolalysenkojoined
04:19:14  <jjjjohnn1y>why did i suspect it would be easier than this
04:19:33  <dominictarr>jjjjohnn1y: the thing they give you is sooo horrible
04:20:03  <jjjjohnn1y>dominictarr: what do you mean
04:20:22  <dominictarr>loads of weird shit. in some cases, a method isn't added until it's usable, so you have to poll
04:20:38  <dominictarr>'function' === typeof method
04:20:41  <dominictarr>etc
04:21:01  <dominictarr>my module defers calls like that, so you can just treat it like a node event emitter
04:21:04  <jjjjohnn1y>oh
04:21:16  <jjjjohnn1y>yeah your module seems to work well
04:21:38  <jjjjohnn1y>i wanted to use the audio source as a web audio api source
04:22:05  <defunctzombie>substack: https://github.com/shtylman/node-gif/commits/master
04:22:14  <jjjjohnn1y>but i cant access it cuz its an iframe
04:22:19  <defunctzombie>I have not reworked any api (and don't know if the async stuff will work)
04:22:25  <defunctzombie>buy it does build now
04:22:26  <dominictarr>jjjjohnn1y: oh, bummer, that would be awesome!
04:22:36  <defunctzombie>pkrumins: https://github.com/shtylman/node-gif/commits/master
04:22:42  <jjjjohnn1y>dominictarr: sample the internet!
04:22:46  <dominictarr>maybe you can play the file directly
04:23:06  <jjjjohnn1y>dominictarr: i doubt that they will let me access a raw video file
04:23:07  <dominictarr>you'd probably have to deminify their code and reverse engineer it or somethnig
04:23:36  <dominictarr>jjjjohnn1y: you can download youtube directly using a cli script
04:23:45  <dominictarr>so, it might work
04:23:56  <defunctzombie>pkrumins: ideally it would need some cleaning up for all the build warnings, but at least it builds now, and my manual test ran and seemed to work
04:24:35  <jjjjohnn1y>dominictarr: yeah im on that
04:25:04  <jjjjohnn1y>but thats a whole server side mess, i was hoping against it
04:26:03  * mikolalysenkoquit (Ping timeout: 252 seconds)
04:29:34  * douglaslassancejoined
04:30:43  * jibayquit (Remote host closed the connection)
04:32:12  * marcello3djoined
04:51:45  <dominictarr>jjjjohnn1y: maybe you can access the file directly and then feed it into http://www.jplayer.org/
04:54:30  <jjjjohnn1y>i doubt youtube is gonna let me access raw files
04:54:37  * mikolalysenkojoined
04:54:50  <jjjjohnn1y>this whole horse and pony is about making it hard to scrape
04:55:11  <jjjjohnn1y>youtube requires flash still if you are in a a flash compatible envrionemtn, apparently
04:55:16  <jjjjohnn1y>which is is bullshit
04:58:20  <jjjjohnn1y>dominictarr: whats that plugin that make yr browser simluate browsers
04:58:55  <dominictarr>not sure what you mean?
04:59:01  <dominictarr>html5?
04:59:13  <dominictarr>crome/id-frame?
04:59:17  <jjjjohnn1y>the one you used to make website think you were mobile browsing
04:59:38  <jjjjohnn1y>maybe some user agent thing, a plugin
05:00:09  <jjjjohnn1y>so you got the html5, mobile version of the site, while surfing with chrome
05:00:56  <jjjjohnn1y>was it user-egant switcher
05:00:56  <jjjjohnn1y>https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg/related?hl=en-US
05:02:54  <jjjjohnn1y>hehehe
05:04:05  <jjjjohnn1y>TREAT ME LIKE AN IPAD TOTING CITIZEN YOUTUBE
05:04:05  <LOUDBOT>HOW IS THAT DIFFERENT FROM LINUX
05:07:59  * mikolalysenkoquit (Ping timeout: 246 seconds)
05:08:01  * marcello3dquit (Read error: Connection reset by peer)
05:22:03  * nichola__changed nick to nicholasz
05:27:52  <dominictarr>jjjjohnn1y: user agent switcher
05:33:06  * marcello3djoined
05:35:34  * mikolalysenkojoined
05:37:51  <jjjjohnn1y>dominictarr: i think a work around exists
05:37:57  <jjjjohnn1y>1: user agent switch
05:38:28  <jjjjohnn1y>2. open new window to youtube.com/watch...
05:38:43  <jjjjohnn1y>3. clicks js bookmarklet or plugin
05:38:56  <jjjjohnn1y>4. capture media stream
05:39:04  <jjjjohnn1y>5. window.postMessage back to initial page
05:47:50  <pkrumins>defunctzombie: very cool! but why is checking the whole giflib in the project necessary?
05:47:58  <defunctzombie>pkrumins: yes
05:48:11  <defunctzombie>pkrumins: npm does not interface with other package managers
05:48:21  <defunctzombie>so to ensure a working module without more fuss and bug reports
05:48:24  <defunctzombie>this is much easier
05:48:45  <pkrumins>so it will locally build giflib and use that shared library?
05:48:56  <defunctzombie>it locally builds it and uses that lib yes
05:49:00  <defunctzombie>statically linked in
05:49:17  <defunctzombie>this is the best way to make native node modules that use external libs imho
05:49:36  <defunctzombie>everything else *will* lead to more issues of all random sorts
05:49:53  <defunctzombie>I know cause we get them with libxmljs which I hope to move to a similar approach eventually
05:49:59  * mikolalysenkoquit (Ping timeout: 245 seconds)
05:50:19  <pkrumins>but then you're forcing your version/build of libgif on the user
05:50:23  <defunctzombie>yes
05:50:30  <defunctzombie>that is a good thing actually :)
05:50:50  <defunctzombie>they know exactly what code will be running their gif stuff
05:51:01  <defunctzombie>should they choose to make any fixes, they can easily do it right in the module
05:51:28  <defunctzombie>also, it is easier to track any upstream fixes and apply them (for example how the 5.0 api changed from the 4.0 api)
05:51:59  <pkrumins>alright we can do that
05:52:06  <defunctzombie>;)
05:52:10  <defunctzombie>this is a better way
05:52:16  <defunctzombie>I know it seems strange
05:52:21  <defunctzombie>but it is better
05:54:35  <dominictarr>defunctzombie: is there a way that the external c libs could just be put into npm?
05:54:59  <Raynos>First iteration of TodoFRP API ( https://gist.github.com/Raynos/55d8e82db0f7332af8ac )
05:55:41  <Raynos>dominictarr: Is that a sensible way to write hyperscript style template functions? ^
05:56:23  <pkrumins>defunctzombie: shall i just merge your patch?
05:56:27  <defunctzombie>dominictarr: this is basically the way
05:56:42  <pkrumins>can you actually send me a pull request so i can do it from github's interface?
05:56:54  <defunctzombie>dominictarr: when you want to have external c library used, just bundle it and provide thin bindings
05:57:06  <defunctzombie>dominictarr: very similar to how leveldown / up interact I believe
05:57:24  <dominictarr>Raynos: hyperscript can use observables
05:57:37  <dominictarr>h('h1', obverable)
05:57:44  <pkrumins>defunctzombie: i'll see if i can remember how to run the tests, last time i used it was in 2010
05:57:56  <defunctzombie>pkrumins: I ran the gif.js manually
05:58:02  <defunctzombie>after unpacking the terminal.tar.gz
05:58:03  <Raynos>dominictarr: I think i'll stick to values in templates for now. it's simpler
05:58:09  <defunctzombie>which had the file that was needed
05:58:15  <pkrumins>ah
05:58:16  <defunctzombie>pkrumins: automated tests would be nicer tho :)
05:58:16  <pkrumins>defunctzombie: what about the animated gif?
05:58:23  <defunctzombie>pkrumins: didn't run that test
05:58:33  <pkrumins>how do you automate gif testing?
05:58:47  <dominictarr>Raynos: I am a little concerned about memory usage
05:58:58  <dominictarr>but, we''ll have to test that.
05:58:59  <defunctzombie>pkrumins: easily
05:59:06  <Raynos>dominictarr: It should spike up and down?
05:59:08  <defunctzombie>pkrumins: you have the rgb data
05:59:18  <defunctzombie>and you check the output against a golden image
05:59:26  <defunctzombie>buffers should match exactly
05:59:27  <dominictarr>I don't know, but you are creating a lot of objects
05:59:35  <pkrumins>but the image is lwz'd
05:59:42  <pkrumins>or lzw'd
05:59:53  <pkrumins>compressed plus it has headers and shit
05:59:57  <dominictarr>you are recreating the entire page when any data changes
06:00:05  <defunctzombie>dominictarr: https://github.com/rvagg/node-leveldown
06:00:13  <defunctzombie>pkrumins: ?
06:00:21  <defunctzombie>pkrumins: how do you test it manually?
06:00:21  <Raynos>dominictarr: I can optimize that later when needed
06:00:35  <pkrumins>just create the image and then visuall inspect it
06:00:37  <defunctzombie>dominictarr: that is the binding layer for leveldb and ships with the leveldb c code
06:00:44  <defunctzombie>pkrumins: right, so now imagine this
06:00:49  <pkrumins>defunctzombie: i mean i cant compare gif to rgb data
06:00:56  <pkrumins>as rgb data is raw, but gif has its own format
06:01:01  <Raynos>for example rather then doing `todos.map(createTodoThing)` I could have `var todoList = List(todos, createTodoThing)` which lazily calls createTodoThing once per actual data and only calls it again if the data changed
06:01:02  <defunctzombie>pkrumins: take that image you inspected and save it as "golden.gif"
06:01:13  <defunctzombie>pkrumins: now, make the test output "actual.gif" from the rgb data
06:01:15  <pkrumins>oh
06:01:22  <defunctzombie>and now compare actual.gif to golden.fgif
06:01:27  <defunctzombie>golden.gif will be check in
06:01:29  <defunctzombie>and not changed
06:01:31  <defunctzombie>;)
06:01:34  <Raynos>I do hear you, it's a pain in the ass. However the "recreate page entire time" api has a far lower complexity
06:01:42  <pkrumins>yes that works now with a checked in gif library version
06:02:16  <pkrumins>couldnt do that before because different gif libraries might have slight changes
06:02:24  <defunctzombie>right, can't have that crap
06:02:29  <defunctzombie>need consistent results :)
06:03:05  <dominictarr>Raynos: hmm, maybe, to be honest, I'm not sure that this is the easiest to follow
06:03:37  <rvagg>mbalho: got my kindle connecting to my pi via usbnet (only), so I can either run it via my home wifi and connect from kindle->pi via wifi with no cable between the two, or I can connect with the usb cable between the two when I'm out and about
06:03:37  <dominictarr>one thing I think we need, to make this scalable is an observable array
06:03:49  <rvagg>mbalho: just need to set up tethering to my iphone via bluetooth and I'm set
06:04:02  <rvagg>mbalho: no need for a wifi hotspot device or anything
06:04:16  <dominictarr>that can map a array to a set of elements, and splice/push/pop etc, and have the UI update immediately
06:04:29  <Raynos>dominictarr: what part of it is hard to follow?
06:04:53  <Raynos>dominictarr: I think of that as less of an observable array and more of a clever sorted list thing
06:05:20  <Raynos>var list = SortedList(containerElem, sortedArray, childItemCreator)
06:06:34  <defunctzombie>pkrumins: I am out, but if something doesn't work feel free to open an issue and ping me on it and I should be able to find some time to take a look
06:06:40  <dominictarr>Raynos: I cant figure out where you how an item is added
06:06:52  <dominictarr>also, can you make a gh pages for this?
06:07:13  <pkrumins>defunctzombie: ok.
06:07:23  <Raynos>dominictarr: I need to implement the InputPool & h function. Then I'll make a tryme
06:07:23  <pkrumins>defunctzombie: if you could send me a pr over github
06:07:28  <dominictarr>Raynos: so it's easy to see in actuan
06:07:30  <defunctzombie>pkrumins: I did
06:07:33  <pkrumins>oh ok
06:07:41  <chrisdickinson>man, browserify is pretty great
06:07:50  <dominictarr>Raynos: also, you want one without tryme
06:07:59  <pkrumins>defunctzombie: yes i see it
06:08:00  <dominictarr>less confusing
06:08:01  <Raynos>yeah, that's a not tonight thing :D
06:08:06  <chrisdickinson>i spent about a month or two straight scrounging together packages last time i tried to implement git in js
06:08:21  <chrisdickinson>now, it's a breeze
06:09:58  * defunctzombiechanged nick to defunctzombie_zz
06:10:25  <substack>chrisdickinson: have you gotten in touch with creationix yet?
06:10:30  <chrisdickinson>loosely
06:10:48  <chrisdickinson>i pinged him on twitter with the packidx thing
06:10:58  <substack>also hij1nx was working on a pure js streaming git implementation
06:11:46  <substack>it'd be rad if all this git stuff worked in node too, not just browsers
06:12:03  <chrisdickinson>substack: that's the plan :)
06:12:38  <chrisdickinson>i've already got it to the point (again, i guess) that i can lookup hashes out of packfiles and loose objects
06:12:59  <chrisdickinson>most of it was already done in http://github.com/chrisdickinson/tempisfugit (which was really, really horrible code)
06:13:13  <chrisdickinson>but now i'm breaking it up into a billion modules that aren't so horrifying
06:13:34  <chrisdickinson>the hardest part is that you kind of have to pass the filesystem object down into the object database
06:13:46  <chrisdickinson>to support browsers faking out the fs object at the top level
06:14:05  <chrisdickinson>since they'll be supporting via requestfilesystem, localstorage, or just plain old objects
06:14:24  <chrisdickinson>(handy for node, too, since that means you can cache filesystem access temporarily at the root)
06:14:32  * thl0joined
06:14:50  <chrisdickinson>(the packfile format is definitely reentrant -- you end up going into and out of a few files over and over again.)
06:15:17  * nk109joined
06:15:37  <chrisdickinson>substack: also, i haven't really seen creationix in any channels? i admit i don't check #node.js too often anymore, though
06:15:48  <chrisdickinson>(too much noise)
06:15:57  <substack>he's in #node.js
06:16:04  * mikolalysenkojoined
06:18:55  * thl0quit (Ping timeout: 260 seconds)
06:26:23  * marcello3dquit (Remote host closed the connection)
06:32:53  * mikolalysenkoquit (Ping timeout: 256 seconds)
06:54:25  * fotoveritequit (Read error: Connection reset by peer)
06:58:38  * mikolalysenkojoined
07:12:22  <dominictarr>gozala: Raynos is it possible to disconnect a reducable?
07:12:32  <Raynos>yes
07:12:40  <dominictarr>how do you do it?
07:12:50  <Raynos>the protocol is to do something like
07:13:09  <Raynos>`fold(reducible, function (value, acc) { return reduced(value); })`
07:13:15  <Raynos>where `reduced = require("reducible/reduced")`
07:13:18  <dominictarr>wat
07:13:37  <dominictarr>what is reduced?
07:13:41  <rvagg>https://github.com/rvagg/node-memdown
07:13:46  <Raynos>the value you return from the iterator function is read by the source. Calling `reduced` on a value returns `{ is: "reduced", value: value }`
07:13:48  <rvagg>LevelDOWN in memory
07:13:48  <dominictarr>is it a special value?
07:14:03  <rvagg>juliangruber: do some benchmarks on that baby!
07:14:07  <Raynos>the source is responsible for doing `if (next(newItem).is === "reduced") { destroy() }`
07:14:24  <dominictarr>the source disconnects the user
07:14:29  <Raynos>so it's like node's backpressure but just for saying "STOP SENDING STUFF AND KILL YOURSELF"
07:14:39  <dominictarr>return {is: 'reduced'}
07:14:40  <Raynos>not for a pause / resume protocol
07:14:50  <dominictarr>would make that code a lot easier to understand
07:14:51  <gozala>dominictarr: consumer can box result into reduced to signal input it no longer wishes to get more data
07:15:05  <dominictarr>instead of invoking a special module that just boxes
07:15:12  <Raynos>dominictarr: https://github.com/Gozala/reducible/blob/master/reduced.js
07:15:16  <gozala>dominictarr: it's not intended for public use though
07:15:19  * mikolalysenkoquit (Ping timeout: 258 seconds)
07:15:30  <gozala>you should use takeWhile(input, predicate)
07:15:36  <dominictarr>gozala: that is not the point
07:15:38  <gozala>or some variation instead
07:15:42  <Raynos>dominictarr, gozala: I guess the real answer is. You don't disconnect. you do `takeWhile(input, function () { return am i done })`
07:15:45  <gozala>reduced is implementation detail
07:15:57  <dominictarr>hmm
07:16:12  <dominictarr>so you use a special reducer when you want to be able to disconnect
07:16:41  <dominictarr>actually… that is really good
07:16:42  <gozala>dominictarr: disconnect is side effect
07:16:55  <gozala>it better to think of taking input to a certain point
07:17:13  <dominictarr>gozala: I'm experimenting with making a minimal stream like thing
07:18:03  <dominictarr>it's okay if it's stateful, it's just what is simplest -
07:18:24  <dominictarr>people are put off by functional programming,
07:18:32  <dominictarr>they like results based programming
07:18:35  <gozala>dominictarr: why not just do takeWhile ??
07:19:00  <gozala>how does polling than manually disconnecting better ?
07:19:01  <dominictarr>gozala, no, I like the idea of take while
07:19:03  <Raynos>dominictarr: just remove the current value stuff from observable and add some kind of arbitrary backchannel like reducible has https://github.com/Gozala/reducers/wiki/IO-Coordination
07:22:15  <gozala>dominictarr: I would not call it special reducer
07:22:28  <gozala>it's just result of the consumption propagates to the input source
07:22:40  <gozala>if you encode results by boxing them
07:22:44  <dominictarr>too much documentation!
07:22:49  <gozala>you can establish backchannel
07:23:22  <gozala>to have direct communication between consumer and input
07:23:40  <gozala>reducible is just one of the functions that does boxing
07:23:44  <dominictarr>yes, that is really good too
07:24:01  <gozala>That being said it's not intended to be used by users
07:24:15  <dominictarr>gozala: it would be nicer to have a pipe style left to right syntax
07:24:22  <gozala>but rather for implementing higher level constructs like take(input, x)
07:24:35  <gozala>or takeWhile(input, arWeThereYet)
07:24:35  <dominictarr>source.pipe (through).pipe(dest)
07:24:37  <dominictarr>or
07:24:48  <dominictarr>source (through) (dest)
07:24:56  <Raynos>dominictarr: the entire LISP style way of writing functions suffers from lack of left to write.
07:25:01  <gozala>dominictarr: I don't like objects I like functions
07:25:12  <Raynos>that's a problem to do with lack of infix operators / functions
07:25:13  <gozala>they are composable objects arn't
07:25:18  <Raynos>which is out of scope for reducers
07:25:32  <gozala>if you want chaining there are libs that can let you do that
07:25:34  <dominictarr>gozala: yes, but if I look at your stuff and am ilke WTF is all this
07:25:45  <dominictarr>I can bet that many other people do too
07:25:49  <gozala>out of scope as substack likes to say :D
07:25:58  <dominictarr>as most people are way less crazy than me
07:26:51  <gozala>dominictarr: I hope that someone will base more user friendly flavour for peopel
07:27:05  <gozala>that wanna use method chaining or jQuery
07:27:10  <dominictarr>I'm experimenting at the moment
07:28:08  <gozala>dominictarr: if you wanna use chaining
07:28:09  <gozala>https://github.com/Gozala/enchain#api
07:28:13  <dominictarr>gozala: what does the test on takeWhile get called with?
07:28:28  <gozala>that way you're not limiting users to predefined set of functions
07:28:47  <gozala>dominictarr: it's passed each item
07:29:16  <gozala>dominictarr: every function is documented with examples
07:29:17  <gozala>https://github.com/Gozala/reducers/blob/master/take-while.js#L8-L16
07:30:33  <gozala>dominictarr: P.S. I forward people objecting to functions in favour to objects here: http://www.infoq.com/presentations/Simple-Made-Easy
07:30:45  <gozala>Worth watching I think
07:30:50  <dominictarr>I've seen it
07:30:55  <gozala>:)
07:31:01  <Raynos>its a trade off
07:31:11  <Raynos>the functional style hurts initial readability but has other benefits
07:31:11  <dominictarr>you can still do left to right with functions
07:31:38  <gozala>dominictarr: of course just use chaining lib
07:31:50  <gozala>that's only thing enchain does
07:32:14  <gozala>and it's less than 90 lines and half of it is comments
07:32:57  <gozala>dominictarr: Also I'm strong beliver
07:33:13  <gozala>that functions you wan't in chains is app specific
07:33:14  <dominictarr>gozala: put a example here https://github.com/Gozala/reducible
07:33:21  <Raynos>deploying takes forever >_<
07:33:34  <dominictarr>nobody has time to read all that text
07:34:00  <dominictarr>you have to get people to buy into the idea before anyone will commit to reading that much stuff
07:34:11  <dominictarr>you need to show something really simple
07:34:11  <gozala>dominictarr: mind opening issues and pointing what examples you wanna see
07:34:16  <gozala>I'll make sure to add them
07:34:30  <dominictarr>that they can understand, and see a benefit from
07:34:32  <dominictarr>ok
07:35:09  <gozala>dominictarr: actually reducible again is just building block
07:35:11  <gozala>https://github.com/Gozala/reducers
07:35:16  <gozala>this has far more details
07:35:20  <gozala>and examples
07:35:20  <dominictarr>too confusing
07:35:32  <Raynos>http://raynos.graphics-server.jit.su/full/todo.js
07:35:38  <Raynos>todofrp v0.1 deployed ^
07:35:56  <Raynos>next up, copy paste actual CSS & hook up edit / delete / checked etc
07:36:46  <gozala>dominictarr: also take a look at this
07:36:46  <dominictarr>gozala: so, I want to implement my own reducible
07:36:46  <gozala>https://github.com/Gozala/reducers/wiki/What-can-I-reduce
07:36:51  <dominictarr>where would I start
07:37:04  <gozala>https://github.com/Gozala/reducers/wiki/Making-values-reducible
07:37:26  <Raynos>dominictarr: https://github.com/Colingo/invoker <- minor DRY abstraction on reducible
07:37:35  <Raynos>with two examples for Database cursors
07:37:39  <dominictarr>Raynos: doesn't work
07:37:53  <dominictarr>except for creating new todos
07:37:55  <Raynos>dominictarr: hit enter to add item ?
07:38:02  <dominictarr>that is the thing which works
07:38:04  <Raynos>dominictarr: only creating new todos is implemented
07:38:07  <dominictarr>oh
07:38:14  <Raynos>rest is after sleep
07:38:47  <Raynos>gozala: did you follow the buttonpool stuff on elm thread? I implemented an inputPool
07:39:00  <gozala>Raynos: not really
07:39:12  <gozala>elm is too high of the abstraction IMO
07:39:31  <dominictarr>so gozala so basically I want to implement my own reducible. what do I look at first?
07:39:33  <gozala>I prefer event.target over button.id approach
07:39:36  <dominictarr>I want 10 line example
07:39:47  <gozala>dominictarr: https://github.com/Gozala/reducers/wiki/Making-values-reducible
07:39:52  <gozala>this is guide
07:39:59  <gozala>with examples
07:40:05  <gozala>you can ignore text if you don't care
07:40:08  <dominictarr>A working exampe
07:40:10  <gozala>and just read examples
07:40:22  <gozala>https://github.com/Gozala/dom-reduce/blob/master/event.js
07:40:25  <gozala>dominictarr: ^
07:40:40  <gozala>dominictarr: also this section:
07:40:41  * gozalahttps://github.com/Gozala/reducers/wiki/Making-values-reducible#examples
07:40:51  <gozala>has list of working examples I use
07:41:08  <gozala>dom-reduce is probably simplest
07:41:32  * mikolalysenkojoined
07:41:42  * tukushanquit (Ping timeout: 245 seconds)
07:42:16  <gozala>dominictarr: even simpler is implementations for core data types
07:42:18  <gozala>https://github.com/Gozala/reducible/blob/master/reduce.js#L121-L156
07:42:22  <gozala>I mean built-ins
07:43:27  <gozala>dominictarr: also bugging me or Raynos can help I guess
07:43:39  <Raynos>gozala: I'm just embedding a uuid in event.target.dataset for convenience
07:43:46  <gozala>but you're right I need to orginize docs and everything in one place
07:44:48  <gozala>Raynos: I should read the elm's thread about button pool
07:45:01  <gozala>but I don't really see the problem
07:45:13  <gozala>and I was suggesting him solution too
07:45:19  <gozala>so I sort of dismissed it
07:45:53  <gozala>idea is very simple you have top level signal of all possible events
07:46:04  <gozala>and you filter it down to diff types and targets
07:47:54  * Domenic_quit (Ping timeout: 252 seconds)
07:48:09  <gozala>dominictarr: what are you trying to do with reducers
07:48:14  <gozala>maybe I can help ?
07:48:28  <dominictarr>evaluate them
07:48:34  <gozala>I mean I can write example for it
07:49:49  <gozala>dominictarr: I see
07:50:09  <gozala>dominictarr: I think that best part is that you can make anything reducible
07:50:25  <gozala>without changing either that thing or reducibles
07:50:31  <dominictarr>I can see that the idea has merit
07:50:45  <gozala>that let's you leverage all the layers above it
07:51:08  <Raynos>gozala: yeah sure you can filter it down, but you have to somehow organize the code
07:51:11  <dominictarr>But, I'm not sure that I would have written it the way you have
07:51:48  <gozala>dominictarr: well I have not started like it :)
07:51:49  <Raynos>gozala: this id stuff allows you to create static signals, but create the buttons / inputs later.
07:52:02  <gozala>I had predecessor library
07:52:03  * gozalahttps://github.com/Gozala/streamer
07:52:10  <gozala>a lot simpler
07:52:30  <gozala>but after a year I discovered lot's of limitations
07:52:44  <gozala>and in the end rewrote whole thing as reducers
07:52:55  <gozala>and modelled after clojure's reducers
07:53:20  <gozala>streamer is similar to your observables I guess
07:54:11  <gozala>Side effect of the reducers implementation is that
07:54:20  <gozala>you can optimise special cases
07:54:27  <gozala>by defining special types
07:54:52  <gozala>that is not really possible with shaped based programming
07:54:59  <dominictarr>gozala: yeah' that is a bit more like it
07:55:11  <gozala>which is not obvious and makes code look awkward in some places
07:55:25  <gozala>but that's intentional
07:55:29  <dominictarr>gozala: shaped base?
07:55:38  <dominictarr>what do you mean?
07:55:47  <gozala>dominictarr: I mean duck typing
07:55:56  <gozala>where objects shapes are used to guess types
07:56:11  <gozala>rather than types themself
07:56:22  * thatguydanquit (Ping timeout: 240 seconds)
07:56:26  <dominictarr>right. that is the main place where I think reducers goes too far
07:56:59  <gozala>dominictarr: yeah but there is a reason :/
07:57:11  <dominictarr>there is always a reason
07:57:15  <dominictarr>I have a reason too
07:57:21  <gozala>dominictarr: Although it's not too hard to define reducible
07:57:31  <gozala>that will work with shaped based objects too
07:57:57  * mikolalysenkoquit (Ping timeout: 245 seconds)
07:58:03  <gozala>dominictarr: you can define reduce.define(function(object, next, initial) { object.myReduce(next, initial) })
07:58:16  <dominictarr>gozala: If i am gonna do frp style stuff I want to beable to write a whole thing from scratch within a screen of code
07:58:22  <gozala>and happily use with anything that has myReduce
07:58:23  <dominictarr>30 lines, max
07:58:53  <gozala>dominictarr: I'm not in position to stop you
07:59:03  <gozala>All I can say I've tried it
07:59:07  <gozala>it's possible
07:59:23  <gozala>but you'll run into limitations and decisions behind reducers will start to make sense
07:59:33  <gozala>dominictarr: or maybe you'll get it right
07:59:50  <gozala>I've being messing with this stuff 2+ years
07:59:51  <dominictarr>I'm happy for you to tell me I told you so, if it comes to that!
08:00:03  <gozala>and that's what I ended up
08:00:28  <gozala>also I think you care to much about building blocks
08:00:41  <gozala>dominictarr: if it works just use it to build whatever you want to
08:00:55  <gozala>you can always rip out core in favour of lighter one
08:01:03  <gozala>if that will ever be necessary
08:01:34  <gozala>dominictarr: but to be honest I really don't care much
08:01:41  <gozala>I can reduce anything
08:02:00  <gozala>and if people don't wanna consume reducers well too bad for them
08:02:05  <dominictarr>sure
08:03:47  <gozala>dominictarr: don't get me the wrong way
08:04:10  <gozala>Reading it back sounds aggressive
08:04:22  <gozala>I did not intended that
08:05:00  <gozala>I'm more than happy to share experience and help make reducers more usable for others
08:06:53  <gozala>Raynos: I like how you abuse tryme :)
08:07:15  <Raynos>dominictarr: you also have to remember that the implementation details for tsov & vot are different. observable is a decent vot. reducible/streams are good tsov implementations. We are looking for a decent tsov implementation
08:07:24  <Raynos>gozala: I run a fork of tryme on nodejitsu :p
08:07:32  <Raynos>its really nice for inspecting state
08:08:14  <gozala>Raynos: what's tsov or got
08:08:25  <Raynos>time series of values, value over time
08:09:01  <gozala>Raynos: I see
08:09:32  <dominictarr>gozala: Raynos I want to experiment with _minimalism_ (for tsov)
08:10:01  <gozala>dominictarr: how about minimalism of not using objects :)
08:10:08  <gozala>and sticking to functions
08:10:29  <gozala>object.foo(…) -> foo(object, …)
08:10:44  <dominictarr>gozala: agree, that is what I'm doing!
08:10:50  <Raynos>function tsov(gen) { return gen }
08:10:52  <gozala>solves so many problems hard to imagine :)
08:11:10  <dominictarr>but they will have some closure vars
08:11:11  <Raynos>var stream = function (listener) { listener("new value!"); listener("another value") }
08:11:12  <gozala>dominictarr: oh cool
08:11:27  <gozala>so virus is spreading :D
08:11:31  <Raynos>cant get any more minimalist
08:12:22  <gozala>Raynos: sure but then you'll realise oh I need an "end"
08:12:37  <gozala>because series of values may end
08:12:49  <gozala>and then you realise oh there maybe an errors too
08:13:00  <gozala>and later someone from node community will ask you
08:13:12  <gozala>can your thing handle backpressure ?
08:13:40  <gozala>and even later you'll realise but wait back pressure is just one form of IO coordination
08:13:53  <gozala>and in some cases you may want to do it differently
08:14:11  <gozala>and than I'll welcome you guys to my world :D
08:14:44  <gozala>dominictarr: BTW reducers also have potential to be paralelized
08:15:02  <gozala>I have not done much work there
08:15:17  <gozala>but there are good read if that sounds interesting
08:15:30  <gozala>and having actual types help this too
08:17:05  <gozala>dominictarr: also `reduced` may sound over complicated but
08:17:29  <gozala>it lets you read from inputs that can automatically dispose themself
08:17:36  <gozala>without you closing them manually
08:17:47  <gozala>even better if multiple consumers consume input
08:18:05  <gozala>input will close itself when all of the consumers will finish consuming
08:18:29  <gozala>so no manual disposal and wiring is necessary
08:18:36  <dominictarr>gozala: I don't mean any offence here,
08:18:49  <gozala>dominictarr: I know
08:18:51  <dominictarr>but sometimes people need backpressure ;)
08:19:06  <gozala>just trying to explain why things are the way they are
08:19:22  <gozala>so maybe you'll find some of these useful
08:19:36  <dominictarr>some times waiting and saying "I told you so" or, not saying it, is best.
08:20:20  <gozala>dominictarr: maybe so
08:20:23  <dominictarr>I mean, If someone won't listen (like me) shut up, and let them get burnt
08:20:34  <dominictarr>and next time they will listen
08:21:02  <gozala>dominictarr: I just wish someone told me all of these two years ago :)
08:21:14  <gozala>so I'm little too pushy maybe
08:21:26  <dominictarr>so, what you should do, is let me experiment …
08:21:27  <gozala>was same with Raynos
08:21:40  <dominictarr>and then go like … but what about back pressure?
08:22:02  <gozala>dominictarr: well but there is a thing
08:22:04  <dominictarr>what about _other_ io coordination?
08:22:17  <gozala>more time you spend on something harder it's to give up
08:22:50  <dominictarr>yes, but you can lead a horse to water, but you can't make it drink.
08:22:56  <gozala>dominictarr: anyway I'm being stupid now
08:23:17  <gozala>probably because it's time for me to sleep
08:23:23  <Raynos>reducibles is nice for a value representation of a tsov
08:23:28  <Raynos>mainly because everything is reducible
08:23:34  <Raynos>and also because it has lots of building blocks
08:23:43  <Raynos>its also slightly less complex then streams2 :P
08:23:48  <Raynos>oh and lazy
08:23:52  <dominictarr>ha
08:23:54  <Raynos>but the lazy part is crazy :(
08:24:02  <Raynos>lazy data structures trip me upp all the time
08:24:36  * mikolalysenkojoined
08:25:02  <gozala>Raynos: you should play with
08:25:10  <gozala>lazy-seq in clojure
08:25:18  <gozala>or this in js
08:25:25  <gozala>http://streamjs.org/
08:25:45  <gozala>to see the joys of laziness
08:26:59  <gozala>P.S.: I intentionally don't mention haskell
08:42:04  * mikolalysenkoquit (Ping timeout: 245 seconds)
08:46:22  * yorickjoined
08:46:22  * yorickquit (Changing host)
08:46:22  * yorickjoined
08:58:27  <dominictarr>FRP people alway have WAY too much TEXT in their documentation!!!
09:08:16  * mikolalysenkojoined
09:25:48  * mikolalysenkoquit (Ping timeout: 252 seconds)
09:43:13  <juliangruber>https://github.com/juliangruber/webtap a tap wrapper for testing webservices
09:52:10  * mikolalysenkojoined
10:06:29  * sbppart ("Leaving")
10:10:18  * mikolalysenkoquit (Ping timeout: 264 seconds)
10:13:18  * tilgovijoined
10:22:21  * ITproquit (Ping timeout: 276 seconds)
10:26:50  * marcello3djoined
10:31:24  * marcello3dquit (Ping timeout: 264 seconds)
10:35:49  * tilgoviquit (Remote host closed the connection)
10:36:07  * mikolalysenkojoined
10:47:15  * thl0joined
10:54:12  * mikolalysenkoquit (Ping timeout: 276 seconds)
10:57:06  * jibayjoined
10:58:10  <dominictarr>gozala: Raynos https://github.com/dominictarr/strm
11:06:00  <juliangruber>dominictarr: sweet
11:06:13  <juliangruber>I wanted to do this for UI streams
11:06:21  <juliangruber>but you made it good :)
11:08:32  <rvagg>juliangruber: memdown, for you to add to your benchmarks
11:08:50  * mmckeggquit (Quit: mmckegg)
11:11:04  * mirkok_joined
11:11:59  * spionquit (Ping timeout: 246 seconds)
11:17:04  * ins0mniajoined
11:20:29  * mikolalysenkojoined
11:26:25  * douglaslassancequit (Ping timeout: 256 seconds)
11:37:22  * mirkok_quit (Quit: mirkok_)
11:39:31  * mikolalysenkoquit (Ping timeout: 264 seconds)
11:54:46  <dominictarr>ins0mnia: hey whats up?
12:04:47  <juliangruber>rvagg: Imma do it nau!
12:05:02  * mikolalysenkojoined
12:06:33  * dominictarrquit (Quit: dominictarr)
12:09:54  <rvagg>juliangruber: needs levelup 0.7-wip branch btw
12:10:01  <rvagg>or you'll just be testing leveldown
12:15:40  * rvaggout
12:22:31  * mikolalysenkoquit (Ping timeout: 256 seconds)
12:25:19  * spionjoined
12:34:36  <juliangruber>rvagg: https://github.com/juliangruber/multilevel-bench
12:49:03  * mikolalysenkojoined
13:05:28  * thl0quit (Remote host closed the connection)
13:06:39  * mikolalysenkoquit (Ping timeout: 252 seconds)
13:09:11  * thl0joined
13:11:43  * thl0quit (Remote host closed the connection)
13:13:35  <juliangruber>rvagg: dominictarr and me were talking about developing a super minimal rpc mechanism based on the redis protocol and see how fast we can get with just GET and PUT operations
13:14:15  <juliangruber>bc if we can't get that faster than redis, we've got a problem
13:25:45  * Domenic_joined
13:34:11  * mikolalysenkojoined
13:44:43  * thl0joined
13:50:39  * mikolalysenkoquit (Ping timeout: 252 seconds)
13:51:12  * thatguydanjoined
13:53:08  * tmcwjoined
14:06:32  * nicholaszquit (Read error: Connection reset by peer)
14:07:03  * nicholaszjoined
14:07:57  * Domenic_quit (Ping timeout: 245 seconds)
14:18:22  * mikolalysenkojoined
14:32:41  * tmcwquit (Ping timeout: 258 seconds)
14:34:49  * mikolalysenkoquit (Ping timeout: 256 seconds)
14:41:35  * mikealquit (Quit: Leaving.)
14:43:58  * tmcwjoined
14:44:12  * Domenic_joined
14:51:42  * AvianFlujoined
14:58:35  * AvianFluquit
15:02:52  * mikolalysenkojoined
15:04:06  <rowbit>SubStack, pkrumins: At least 5 people waiting in the queue for free servers! (Waiting: 20)
15:10:07  * marcello3djoined
15:10:35  * defunctzombie_zzchanged nick to defunctzombie
15:13:42  * ralphtheninjajoined
15:19:35  * mikolalysenkoquit (Ping timeout: 256 seconds)
15:19:39  <pkrumins>substack: fixed ^
15:37:19  * dominictarrjoined
15:38:00  <ins0mnia>dominictarr: ping!
15:38:18  <dominictarr>ins0mnia: hey! haven't talked to you in ages!
15:38:25  <dominictarr>whats up?
15:39:01  <ins0mnia>dominictarr: all good! got this project from an annoying customer been trying to complete
15:39:12  <ins0mnia>dominictarr: plus got to know it's going to be a BOY!! :)))
15:40:26  <dominictarr>ins0mnia: CONGRATULATIONS!
15:40:37  <ins0mnia>dominictarr: Thank you :)))
15:41:12  <dominictarr>I'm gonna be in Europe next weekend!
15:41:37  <ins0mnia>dominictarr: really?? where? when??
15:46:15  * marcello3dquit (Remote host closed the connection)
15:46:44  * mikealjoined
15:48:58  * dguttmanjoined
15:52:03  * mikolalysenkojoined
15:55:55  * mikealquit (Quit: Leaving.)
16:03:21  * shamajoined
16:13:39  * fotoveritejoined
16:27:34  * kenperkinsquit (Quit: Textual IRC Client: http://www.textualapp.com/)
16:28:45  * AvianFlujoined
16:30:58  * kenperkinsjoined
16:35:39  * dominictarrquit (Quit: dominictarr)
16:38:36  * defunctzombiechanged nick to defunctzombie_zz
16:47:57  * Domenic_quit (Remote host closed the connection)
16:56:50  * marcello3djoined
16:57:23  * marcello3dquit (Read error: Connection reset by peer)
16:57:50  * marcello3djoined
17:05:26  * Domenic_joined
17:10:22  * CryptoQuickjoined
17:21:09  * tmcwquit (Remote host closed the connection)
17:25:26  * thatguydanquit (Quit: thatguydan)
17:25:26  * kenperkinsquit (Quit: Textual IRC Client: http://www.textualapp.com/)
17:26:55  * dguttmanquit (Quit: dguttman)
17:46:31  * kenperkinsjoined
17:47:50  <Raynos>dominictarr: the strm examples are a bit too terse / confusing
17:54:22  * AvianFluquit
17:54:33  <guybrush>chrisdickinson: awesome gitstuff ♥
17:54:52  <chrisdickinson>thanks!
17:55:02  <guybrush>you should make a kickstarter like creationix :p
17:56:15  <guybrush>git implemented with lots of modules in js which works in the browser = pure awesome
17:56:34  * AvianFlujoined
17:58:25  <thl0>chrisdickinson: did you see my comment on ls-stream?
18:17:41  <chrisdickinson>thl0: i did!
18:18:07  <chrisdickinson>guybrush: i'm hoping that creationix can just reuse my modules when it comes to js-git, and that the final product is better because he gets a big head start :)
18:19:09  <thl0>chrisdickinson: but I guess ls-stream works a bit different than readdirp?
18:19:38  <thl0>chrisdickinson: from first looking at it I got the impression ls-stream server the same need
18:19:47  <guybrush>chrisdickinson: awesome!
18:20:36  <thl0>s/server/served
18:21:48  <chrisdickinson>thl0: yeah -- it's a bit smaller, does less things, and has a shim for `fs` (or allows fs to be passed to it)
18:21:54  <chrisdickinson>s/less/fewer/g
18:22:01  <thl0>chrisdickinson: got is :)
18:22:34  <thl0>chrisdickinson: awesome git stuff btw - looks like you pulled an all nighter with this?
18:22:42  <chrisdickinson>close to :D
18:22:44  <chrisdickinson>thanks!
18:23:10  <chrisdickinson>thl0: it's mostly based on work i did 2 years ago for https://github.com/chrisdickinson/tempisfugit
18:23:47  <chrisdickinson>except much nicer due to browserify / small module philosophy / better modules being available (streams, especially!)
18:23:49  <thl0>chrisdickinson: ah, except this time around its modular
18:23:55  <thl0>:)
18:24:03  * yorickquit (Remote host closed the connection)
18:24:04  <chrisdickinson>modular and the sight of it doesn't cause folks eyes to bleed :)
18:24:47  <chrisdickinson>tempisfugit was bad code, even by the standards of code i was producing at the time; i was rushing because i wanted to get it out there as fast as possible
18:25:04  <chrisdickinson>it did the right things, just in occasionally insanely stupid ways
18:25:08  <chrisdickinson>case in point: https://github.com/chrisdickinson/tempisfugit/blob/master/lib/repository.js#L41
18:25:35  <chrisdickinson>the pack format is full of even worse decisions: https://github.com/chrisdickinson/tempisfugit/blob/master/lib/odb/pack.js#L223
18:25:43  <thl0>chrisdickinson: it's hard sometimes, but I now go for the clean part of the clean-fast-complete triangle
18:25:56  <thl0>i.e you can only get two of the three
18:26:02  <chrisdickinson>ah :)
18:26:10  <chrisdickinson>i've found that "fast" is kind of a non-entity
18:26:10  <thl0>so if it has to be fast I'll pick clean over complete
18:26:39  <chrisdickinson>in that often, optimizing for doing things "fast" actually makes the production of the desired code much, much slower
18:26:57  <thl0>like this morning I released this with minimum API - needs lots of work, but at least that part is clean and tested: https://github.com/thlorenz/mold-source-map
18:27:00  * Domenic_quit (Remote host closed the connection)
18:27:21  <chrisdickinson>that is to say, it's faster to write small, clean, complete modules than it is to optimize for "fast" and write megamodules
18:27:45  * mikealjoined
18:27:46  <chrisdickinson>that said, a lot of the newer modules are lacking proper tests; i'll be remedying that today / tomorrow
18:27:56  <chrisdickinson>awesome!
18:28:00  <thl0>chrisdickinson: thanks
18:28:39  <thl0>chrisdickinson: that module is to keep all these people with requests regarding browserify generated source maps at nay
18:28:44  <thl0>s/nay/bay
18:28:57  <chrisdickinson>sidenote: the packfile now looks like https://github.com/chrisdickinson/git-packfile/blob/master/parse.js, and the packindex looks like https://github.com/chrisdickinson/git-packidx-parser/blob/master/index.js
18:29:10  * Domenic_joined
18:29:11  <thl0>chrisdickinson: I'll just add transforms there up the whazoo for whatever people may need
18:29:12  <chrisdickinson>and they have no knowledge of each other, which is really, really nice
18:29:19  <chrisdickinson>:D
18:29:29  <chrisdickinson>yeah, source maps are the biggest thing i miss from bfy@1.X.X
18:30:27  <thl0>chrisdickinson: they are back - haven't heard?
18:30:41  <thl0>chrisdickinson: https://github.com/thlorenz/WebGLCraft#coffeescript-support-in-chrome-devtools
18:30:48  <chrisdickinson>they weren't working with my git stuff as of yesterday ):
18:30:48  <chrisdickinson>not sure why not, though
18:30:57  <chrisdickinson>it also seems that they were triggering an error in browservefy
18:31:02  <thl0>chrisdickinson: need to enable sourcemaps in brwoser
18:31:14  <thl0>chrisdickinson: hm
18:31:23  <chrisdickinson>they're enabled
18:31:26  <chrisdickinson>i'll put together a failing use case when i get some time today
18:31:35  * kenperkinsquit (Ping timeout: 246 seconds)
18:31:36  <thl0>chrisdickinson: look at the build file of the project I sent you - that one works
18:31:40  <chrisdickinson>(i hate it when people give me cryptic "it's broken" bug reports :| )
18:32:20  <thl0>chrisdickinson: cool, make an issue on browserpack - that is responsible for generating source maps
18:32:21  <chrisdickinson>basically i was running using `browservefy test.js -- -d`, which proxies all calls to `/test.js` to `browserify test.js -d`
18:32:27  <chrisdickinson>will do
18:33:24  <chrisdickinson>browservefy, while super useful, is a great example of where optimizing for writing something quickly ends up taking longer :|
18:34:19  <thl0>chrisdickinson: at least if you have small enough modules, you can easily just start over with one and either keep the API or swap it out wherever the old one is used
18:34:27  * chrisdickinsonnods
18:34:33  * kenperkinsjoined
18:34:35  <chrisdickinson>can't wait to get a working demo of this git stuff up
18:35:02  <chrisdickinson>i keep seeing all of these tweets about the kickstarter and i want to get people interested / helping early
18:36:01  * shamaquit (Remote host closed the connection)
18:36:02  <chrisdickinson>it can already do the rough equivalent of `git log` on smaller repos. it's having some trouble with large packfiles though; which is weird because tempisfugit parses those selfsame packfiles with relative ease
18:41:12  * dguttmanjoined
18:43:02  * defunctzombie_zzchanged nick to defunctzombie
19:04:21  * Domenic_quit (Remote host closed the connection)
19:13:34  * spionquit (Ping timeout: 246 seconds)
19:19:17  * Domenic_joined
19:25:17  <substack>Domenic_: this is so underwhelming https://gist.github.com/wycats/51c96e3adcdb3a68cbc3
19:25:49  <Domenic_>substack: it's an extremely flexible pipeline that allows us to do anything including integrate and emulate node
19:25:49  <substack>there's so much junk in there that I will never, ever use because they are terrible ideas
19:26:04  <substack>like letting the module define the local lexical names
19:26:09  <Domenic_>dude it's basically browserify transforms built into the platform
19:26:13  <substack>terrible idea, `import` explicitly blesses this way of doing things
19:26:28  <substack>but the transform stuff is only feasible if we get an AST parser
19:26:34  <substack>if we get an AST parser fuck everything else
19:26:55  <chrisdickinson>Domenic_: one question: is System subject to the same CORS rules as all other JS requests?
19:27:14  <substack>pulling down an external AST parser would inflate bundles too much for it to be a feasible option for runtime bundling
19:27:19  <Domenic_>chrisdickinson: yes, in that CORS doesn't apply.
19:27:31  <chrisdickinson>ah
19:27:37  <chrisdickinson>well
19:27:40  <chrisdickinson>it does, in the browser
19:27:44  <substack>Domenic_: this proposal is going to lead so many people to write really terrible code still
19:27:50  <chrisdickinson>and in the jquery cdn example
19:27:50  <Domenic_>not for <script> and not for System.
19:28:00  <substack>because of all the mistakes hard-coded into it
19:28:00  <chrisdickinson>iiinteresting
19:28:28  * CryptoQuickquit (Ping timeout: 245 seconds)
19:28:33  <Domenic_>substack: disagree. it will lead to people writing browserify that works without a compile time step.
19:28:53  <substack>but there's no interop
19:29:03  <substack>it's going to preserve the module system fragmentation
19:29:13  <Domenic_>what do you mean there's no interop
19:29:19  <Domenic_>this whole proposal is about interop use cases!
19:29:35  <substack>import { exports: capitalize } 'capitalize.js'
19:29:44  <substack>what is that ugly beast even doing there
19:29:52  <Domenic_>this proposal is about semantics, the syntax is getting fixed
19:29:58  <Domenic_>we've almost reached consensus on something better
19:30:07  <Domenic_>it's basically just going to be `import capitalize from "capitalize"`
19:30:18  <substack>ok that's not bad
19:30:30  <substack>I never want to use {}s in import statements ever
19:30:33  <Domenic_>i won't say more since it's not my place but making single import/export work is a high priority and the proposals are looking good.
19:31:02  <substack>and I never want modules telling me what their export names are
19:31:05  <Domenic_>better than node tbh, in the edge cases that i know you don't care about (like exporting a single export but also auxiliary ones, e.g. glob and glob.sync)
19:31:10  <substack>that should be up to the importer, not the exporter
19:31:15  <Domenic_>yeah, that's covered.
19:31:48  <chrisdickinson>so
19:32:00  <Domenic_>i told wycats to add a syntax disclaimer but he's afk. but yeah this is mainly about semantics. it addresses isaacs's concern about them not focusing on specifying a loader.
19:32:10  <Domenic_>i think it's a huge improvement over the stupid loader wiki page.
19:32:13  <substack>ok that makes sense then
19:32:25  <Domenic_>:)
19:32:42  <substack>yes I didn't see anything objectionable in the loader semantics
19:32:53  <chrisdickinson>will the lack of CORS on System requests fly?
19:32:53  <Domenic_>:O
19:33:01  <substack>my aesthetic sense just immediately revolts whenever I see es6 module syntax
19:33:05  <Domenic_>chrisdickinson: I'll ask but it should be a non-problem.
19:33:24  <chrisdickinson>i mean, how do you keep someone from defining a malicious loader that hits other domains and exposes their contents?
19:33:48  <chrisdickinson>(don't get me wrong, i love the idea that JS gets access to the source of requested JS modules)
19:34:37  * mikealquit (Quit: Leaving.)
19:34:38  <Domenic_>chrisdickinson: yeah staring at the diagram I am now seeing your point, hmm.
19:34:52  * tmcwjoined
19:34:55  <substack>Domenic_: also the idea of a special `exports` export seems pretty good so long as there is accompanying syntax support
19:35:07  <substack>then we can use arbitrary values as exports
19:35:12  <substack>which is the only thing I would ever use ever
19:35:16  <Domenic_>yeah exactly
19:35:25  <Domenic_>that's the plan
19:36:19  <chrisdickinson>Domenic_: maybe specifying them as sending no user-identifiable information / adding hooks for valid response mimetypes?
19:36:27  <chrisdickinson>i mean, i hate to add more stuff
19:36:36  <chrisdickinson>and that's probably on the w3c side
19:36:43  <chrisdickinson>(or whatwg, or … someone?)
19:38:23  <Domenic_>chrisdickinson: seems like a valid concern Yehuda Katz @ 15:37
19:38:25  <Domenic_>welp
19:39:57  <defunctzombie>Domenic_: the import syntax is retarded imho
19:40:02  <defunctzombie>Domenic_: looks too much like python
19:40:12  <defunctzombie>Domenic_: with the whole "as" "from" etc non sense
19:40:19  <Domenic_>defunctzombie: to me it looks too much like destructuring (which it isn't, it's a crippled version of it).
19:40:27  <defunctzombie>Domenic_: too many variations leads to a total clusterfuck at the top
19:40:38  <Domenic_>defunctzombie: you'll probably only ever use `import x from "x"`
19:40:47  <Domenic_>again, syntax is getting fixed
19:41:01  <defunctzombie>Domenic_: doesn't matter, still means other people will make shit that is impossible to figure out haha
19:41:05  <substack>Domenic_: so one question I have now
19:41:05  <Domenic_>the big win this month was that they're explicitly designing the semantics to be node-compatible
19:41:15  <defunctzombie>Domenic_: what is wrong with var a = import 'foo'; ?
19:41:18  <Domenic_>including anonymous exports, with syntactic sugar upcoming
19:41:19  <substack>is how we do things like inline-source maps using .translate()?
19:41:26  <defunctzombie>Domenic_: interesting
19:41:28  <Domenic_>defunctzombie: `if (false) { var a = import 'foo'; }`
19:41:48  <defunctzombie>Domenic_: is the whole point to prevent use except at top level?
19:41:53  <substack>if we have `import x from "x"` that's good enough for me
19:41:57  <Domenic_>defunctzombie: yes.
19:42:01  <defunctzombie>Domenic_: in that case, why no "import x" and be done with it?
19:42:07  <defunctzombie>why this whole "from" ceremony
19:42:12  <substack>so long as there are single-export semantics such that `x` is just an ordinary value
19:42:17  <defunctzombie>why do people wnat to type more than they have to?
19:42:33  <Domenic_>defunctzombie: where is the filename in `import x`?
19:42:43  <defunctzombie>Domenic_: x
19:42:49  <Domenic_>and that's also the variable name?
19:42:50  <defunctzombie>oh, you need a var to assign it to I guess
19:42:50  <Domenic_>lol
19:43:08  <defunctzombie>Domenic_: sure, why not haha, but yea, with filepaths it is dumb
19:43:20  <Domenic_>and it's not a good idea to use assignment operator since every other assignment operator can occur inside an if statement. Thus, from.
19:43:43  <defunctzombie>I dunno, so let it occur inside an if statement?
19:43:56  <defunctzombie>I mean, does it matter?
19:44:13  <Domenic_>This code should not cause an HTTP request: `if (false) { let x = import 'x'; }`
19:44:21  <chrisdickinson>assuming the "import single export" case gets better/fixed (i.e., the plain-old-value substack mentioned), i'm starting to feel a lot better about the modules proposal
19:44:22  <defunctzombie>um
19:44:27  <defunctzombie>what does http have anything to do with anything
19:44:36  <Domenic_>because importing causes http requests
19:44:39  <Domenic_>or filesystem on node, whatever
19:44:41  <defunctzombie>Domenic_: again, they are conflating bundling and browser usage with other shit
19:45:04  <Domenic_>chrisdickinson: ^_^
19:45:07  <defunctzombie>Domenic_: I think they need to ignore http request nonsense, that is not for the language that is for bundlers
19:45:16  <chrisdickinson>Domenic_: thanks for taking the time to explain.
19:45:31  <Domenic_>defunctzombie: wat. module loading inherently involves I/O.
19:45:41  <defunctzombie>Domenic_: sure, so what?
19:45:50  <defunctzombie>Domenic_: stop limiting your mind to the browser :P
19:45:53  <Domenic_>so things inside `if (false)` should not cause I/O.
19:45:59  <defunctzombie>we can rewrite the js to whatever we want for a browser
19:46:09  <defunctzombie>Domenic_: why not?
19:46:16  <defunctzombie>they can do whatever the bundle produces
19:46:23  <defunctzombie>I don't see why you are trying to solve a non problem :/
19:46:32  <defunctzombie>not *you* specifically I mean
19:46:34  <defunctzombie>but in generally
19:46:38  <defunctzombie>*general
19:46:44  <Domenic_>if you really think statements inside `if (false)` should cause side effects i refuse to continue this conversation :(
19:47:02  <defunctzombie>there is no side effect
19:47:09  <defunctzombie>why are you so hung up on if (false)
19:47:13  <defunctzombie>just don't write if (false)
19:47:13  <Domenic_>your file system was hit!
19:47:15  <defunctzombie>:)
19:47:16  <Domenic_>...
19:47:18  <defunctzombie>so what
19:47:23  <Domenic_>that is a side effect
19:47:29  <defunctzombie>again.. so what
19:47:41  <Domenic_>ok, so we do indeed have irreconcilable differences.
19:48:10  <defunctzombie>I don't see what the issue is
19:48:17  <defunctzombie>let the bundler figure it out for the browser
19:48:20  <defunctzombie>or avoid doing that
19:50:00  <Domenic_>chrisdickinson: Yehuda Katz @ 15:47> Dave said they're working on it
19:50:00  <Domenic_>15:47> but basically you will probably be disallowed from doing anything more malicious than <script>
19:50:35  <defunctzombie>let me put it this way
19:50:49  <thl0>defunctzombie: conditional requires wouldn't work with browserify either btw
19:50:52  <defunctzombie>using require function to grab a "module" has ended up being really flexible
19:51:14  <defunctzombie>thl0: "won't" work is not correct, they will work just fine, they will just be bundled
19:51:15  * rannmannquit (Remote host closed the connection)
19:51:18  <defunctzombie>thl0: to have it available
19:51:37  <defunctzombie>the fact that require is a function actually makes implementing it very simple client side
19:51:48  <defunctzombie>because you just have to run some js and give it a 'require' var for the scope
19:51:50  <defunctzombie>and that is run
19:51:53  <substack>Domenic_: added a comment about source transforms
19:52:13  <defunctzombie>all this other shit just seems like a bunch of solutions to problems that are non-existent
19:52:18  <substack>paul_irish, thl0: https://gist.github.com/wycats/51c96e3adcdb3a68cbc3#comment-801303
19:52:29  <defunctzombie>using "import" keyword versus require function, whatever
19:52:51  <substack>when chrome gets es6 modules make sure sourceContentsURL still works with the .translate() api
19:52:52  * shamajoined
19:53:46  <thl0>defunctzombie: if they get all bundled anyways, why conditionally require them ?
19:54:06  <thl0>defunctzombie: just require all at top, assign to different var and then in condition assign that var
19:54:10  <defunctzombie>thl0: not saying I think you should write code like that, but sure
19:54:14  <defunctzombie>thl0: just saying it will still work
19:54:24  <defunctzombie>people do that just for shorthand often
19:54:37  <defunctzombie>anyhow, it is such a non issue
19:55:15  <substack>I just want to have a thing where I can do `import through from "through"` and get a function through() that I can call
19:55:41  <substack>where through.js doesn't have control over what name I give it
19:55:50  <Domenic_>yup that will be there
19:56:05  <Domenic_>i'd give it a 90% chance of being in exactly that form
19:56:17  <defunctzombie>this spec is trying to do too much imho
19:56:22  <defunctzombie>html lookup stuff?
19:56:23  <substack>defunctzombie: oh absolutely yes
19:56:24  <defunctzombie>wtf
19:56:35  <substack>defunctzombie: but fortunately it has enough "good parts" to be not completely worthless now
19:56:37  <Domenic_>it's trying to support MORE THAN JUST NODE!?! UNPOSSIBLE!!
19:56:47  <substack>so you can just ignore all the horrible parts
19:56:53  <defunctzombie>Domenic_: wtf does that even mean!?
19:56:54  <substack>that wasn't possible before
19:56:57  <thl0>substack: btw if people have more requests on how sourcemaps should be generated, send 'em over here: https://github.com/thlorenz/mold-source-map
19:56:58  <defunctzombie>Domenic_: just treat it as a language
19:57:15  <defunctzombie>Domenic_: you are still stuck in this "I have to do something special in the language for browsers" mindset
19:57:25  <thl0>substack: I'll add all kind of mold functions to fit all needs - keeps this out of browserify
19:57:35  <defunctzombie>Domenic_: browsers are a tooling problem
19:57:38  <substack>thl0: yep, great plan!
19:57:58  <defunctzombie>Domenic_: stop trying to solve a tooling problem with complex language nonsense
19:58:55  * dominictarrjoined
19:59:30  <defunctzombie>https://github.com/ncb000gt/node.bcrypt.js/issues/152
19:59:38  <defunctzombie>what the fucking fuck am I supposed to say to this
20:00:10  <jesusabdullah>well
20:00:23  <jesusabdullah>why are those files missing?
20:00:31  <jesusabdullah>are you willing to support that library in windows?
20:00:47  <substack>excellent: https://npmjs.org/package/inh
20:00:48  <jesusabdullah>basically, I see two ways you go about this
20:00:52  <substack>going to start using this module instead of inherits
20:01:03  <jesusabdullah>either you decide to support windows and you try to reliably repro
20:01:08  <defunctzombie>jesusabdullah: I just basically said your report is stupid, try again
20:01:12  <jesusabdullah>and tell the guy to give you exact steps to repro
20:01:14  <substack>it just needs a testling badge, which I'll make a pull request for
20:01:18  <jesusabdullah>or
20:01:28  <jesusabdullah>you decide not to support windows and tell the guy to either PR or gtfo
20:01:31  <defunctzombie>jesusabdullah: I am not doing shit, he needs to provide more info or use something else
20:01:41  <defunctzombie>jesusabdullah: it works fine on windows already, he probably has some other issue
20:01:51  <defunctzombie>jesusabdullah: but without a real issue posted this is useless
20:02:02  <jesusabdullah>yeah, so in this case you tell the guy to get together directions for a consistent repro
20:02:07  <jesusabdullah>without a repro it's a non-fix
20:02:10  <Domenic_>substack: nice.
20:02:10  <defunctzombie>substack: what is wrong with inherits module?
20:02:18  <substack>defunctzombie: uses Object.create()
20:02:20  <substack>es5-ism
20:02:45  <defunctzombie>substack: gotcha
20:02:56  <jesusabdullah>es5 is best es
20:02:57  <defunctzombie>substack: why not just pull request that?
20:03:28  <substack>meh
20:03:38  <defunctzombie>substack: also, I am pretty sure this is not the right way to do it hahaha
20:04:02  * substackto the post office &
20:04:56  * mikealjoined
20:05:26  <defunctzombie>I think we should just pull request inherits .. don't see why not honestly
20:05:37  <defunctzombie>why have two identical modules?
20:05:46  <defunctzombie>now people will just be confused haha
20:06:01  <thl0>defunctzombie: talking of conditional requires, this is how it should be done: https://github.com/dimsmol/inh/blob/master/package.json#L22-L23 ;) ES6 and commonJS alike
20:06:25  <defunctzombie>thl0: I know, I was the one that suggested that field ;)
20:06:37  <defunctzombie>thl0: https://gist.github.com/shtylman/4339901
20:07:07  * st_lukejoined
20:07:16  <defunctzombie>https://github.com/wilmoore/frontend-packagers#complementary-resources that is an interesting page ahaha
20:08:28  * CryptoQuickjoined
20:08:49  <thl0>defunctzombie: so Domenic_ and you ARE on the same page ;)
20:08:58  * AvianFluquit (Remote host closed the connection)
20:09:45  <guybrush>defunctzombie: that page is not so cool, lots of not false information
20:10:20  <guybrush>supported js module formats (global, amd, whatever) you can do that with browserify anyway just wrap it
20:10:30  <defunctzombie>thl0: I just think there is no problem with module haha
20:10:32  <defunctzombie>guybrush: ?
20:10:42  <guybrush>the frontend-packages repo
20:10:43  <defunctzombie>guybrush: not false?
20:10:51  <guybrush>ah lol
20:10:57  <guybrush>false information i wanted to say ^^
20:11:00  <defunctzombie>haha
20:11:10  <defunctzombie>I think that page just points out how awesome browserify is
20:11:18  <defunctzombie>and how you don't need to overcomplicate anything
20:12:19  <guybrush>es6 will fix all the things for sure :)
20:12:51  <guybrush>or just add more complexity at least
20:13:12  <defunctzombie>yea.. totally.. it will fix all the things
20:13:22  * mikealquit (Ping timeout: 245 seconds)
20:13:25  <guybrush>hopefully it will make IE6 die finally
20:14:16  <thl0>defunctzombie: I don't have a problem with module either, but ES6 wants to enforce imports to be statically analyzable
20:14:40  <thl0>defunctzombie: that will keep people from doing stupid things and may allow certain optimizations not possible otherwise
20:16:42  <Raynos>guybrush: lulwut
20:17:38  <Raynos>you dont need es6 to make ie6 die
20:18:00  <st_luke>who is niggler
20:18:04  <st_luke>is he someone's troll alter ego
20:24:02  * spionjoined
20:25:25  <marcello3d>ie6 isn't dead?
20:25:36  <marcello3d>I thought we were trying to make ie7-9 die now
20:30:55  <defunctzombie>easy enough to make it die
20:31:00  <defunctzombie>just block any access from it
20:31:13  <defunctzombie>and tell people to get something newer
20:31:23  <defunctzombie>you are under no obligation to support that crap
20:31:30  <defunctzombie>the alternatives are both FREE and BETTER
20:31:56  <Raynos>im working on killing ie9
20:32:04  <Raynos>its hard
20:34:13  <Domenic_>ie9 is hard to kill
20:40:24  * spionquit (Remote host closed the connection)
20:40:42  <defunctzombie>burn it to the ground!!
20:41:18  * mikealjoined
20:48:31  <st_luke>just pretend it doesn't exist
20:50:37  <st_luke>Domenic_: does windows 7 have anything preinstalled for a decent terminal emulator or is there something you have to get?
20:50:37  <defunctzombie>yep
20:50:56  <st_luke>Domenic_: or windows 8 i guess
20:51:09  <Domenic_>st_luke: what exactly do you mean by decent terminal emulator; like TTY API support or a usable console or...?
20:51:09  <st_luke>it would be cool if someone made a packaged dev version of windows 7/8 you could pirate with all that stuff preinstalled
20:52:19  <Domenic_>it has powershell which i am not a big fan of but some people use. I mostly use Git Bash.
20:52:30  <st_luke>Domenic_: yeah that sounds like what I'm looking for
20:52:31  <st_luke>git bash
20:52:50  <st_luke>like im gonna install windows and I just want to open a command line and make it full screen and pretend thats all I'm looking at
20:52:59  <Domenic_>lol
20:53:12  <st_luke>just to make it easier
20:53:19  <thl0>st_luke: how about installing MSDos7 instead?
20:53:32  <st_luke>I honestly don't care for a lot of the interface on os x either fwiw, I'm not trying to pick on windows
20:53:33  <Domenic_>thl0: is that a real thing O_o
20:53:45  <thl0>st_luke: you can get that nifty norton-commander too
20:53:54  <Domenic_>oh woah that's the version that came with windows 9x
20:54:18  <st_luke>ack windows is like 200 bucks
20:54:25  <st_luke>why cant it be like 20 bucks like os x
20:55:10  <st_luke>I hate pirating software
20:55:24  <thl0>st_luke: otherwise you'd uninstall it right away, but if it cost you $200 you are more likely to put up with it
20:55:35  <st_luke>thl0: :(
20:56:14  <st_luke>oh nycjs is this week
20:56:34  <thl0>I'm going - see you there?
20:56:41  * CryptoQuickquit (Quit: CryptoQuick)
20:57:09  <st_luke>not sure yet pretty busy week, gonna try to make it
21:01:56  * Correnjoined
21:04:18  * kenperkinsquit (Ping timeout: 245 seconds)
21:04:20  * Correnchanged nick to kenperkins
21:05:52  <substack>defunctzombie: this is the best table https://github.com/wilmoore/frontend-packagers#supported-javascript-module-formats
21:06:06  <defunctzombie>substack: yes, yes it is
21:06:11  <substack>not having a feature is the best kind of feature
21:06:21  <defunctzombie>+1
21:06:36  * rannmannjoined
21:09:12  <guybrush>lool wtf
21:09:21  <guybrush>-webkit-user-select: none
21:09:26  <guybrush>will kill performance?!
21:10:15  <guybrush>body {-webkit-user-select: none} drops fps to 20 when you drag with the mouse
21:11:08  <defunctzombie>for some reason I am biased against windows users... this must be some psychological thing
21:12:21  * CryptoQuickjoined
21:12:38  <substack>defunctzombie: html and css can be loaded with brfs for this table https://github.com/wilmoore/frontend-packagers#package-contents
21:14:26  <defunctzombie>substack: I also think it is rather incorrect
21:14:28  <Raynos>st_luke: I used git bash in the past
21:14:33  <defunctzombie>substack: component just makes separate css files
21:14:40  <defunctzombie>substack: so by that logic you don't even need brfs
21:14:48  <defunctzombie>substack: "npm lets you install any arbitrary files (much like bower) so you could bring your own loader for CSS and HTML."
21:14:54  <defunctzombie>substack: that is the line that matters haha
21:15:18  <defunctzombie>"Library and component authors may want to consider:"
21:15:24  <defunctzombie>"Using a UMD wrapper." um no
21:15:30  <defunctzombie>"Authoring both a {component,package}.json for front-end and npm (where appropriate)." why
21:15:36  * Domenic_quit (Read error: Connection reset by peer)
21:15:43  * thl0quit (Read error: Connection reset by peer)
21:15:47  <defunctzombie>"Adhering to these Library best practices or something similar."
21:15:51  <defunctzombie>their practices are wrong haha
21:15:59  * CryptoQuick_joined
21:16:06  * Domenic_joined
21:16:10  * thl0joined
21:16:48  * CryptoQuickquit (Ping timeout: 245 seconds)
21:16:48  * CryptoQuick_changed nick to CryptoQuick
21:19:28  <substack>https://github.com/wilmoore/frontend-packagers/commit/3b9fcb105bc4e8697f65aac36971a1fb1867b49d#commitcomment-2829487
21:20:20  <substack>defunctzombie: I think there is value in being able to ingest packages written for component into browserify with transforms
21:20:33  <substack>so we can appropriate some of the value being created in that ecosystem for our own purposes
21:21:04  * nk109quit (Quit: Computer has gone to sleep.)
21:21:13  <substack>voltron-style
21:21:24  <defunctzombie>haha
21:21:36  <defunctzombie>substack: the problem is that component deps are all fucked up
21:21:46  <defunctzombie>they have no versioning info in component.json
21:21:57  <defunctzombie>also, just fork it and publish to npm
21:22:00  * nicholaszquit (Remote host closed the connection)
21:22:06  <defunctzombie>really, I will even help people do that
21:22:15  <defunctzombie>for things that are actually useful
21:22:29  <defunctzombie>substack: https://github.com/shtylman/piecon
21:22:41  <defunctzombie>I have been adding random components to npm when I find interesting ones
21:22:47  <defunctzombie>we just need a better way to discover them
21:23:09  <tanepiper>dominictarr: YAY http://scotlandjs.com/dominic.html
21:24:39  <defunctzombie>wow.. someone forked my 'nacha' repo hahaha
21:24:50  <defunctzombie>clearly someone else has to struggle with banks
21:31:13  * AvianFlujoined
21:31:41  <thl0>and for the ones defunctzombie doesn't get to there is always https://github.com/thlorenz/browserify-shim#make-commonjs-incompatible-files-browserifyable ;)
21:37:00  * thatguydanjoined
21:40:53  <juliangruber>substack: this badge seems not to reflect the current test state \o/ https://ci.testling.com/juliangruber/encounter
21:41:19  <substack>crap thought I fixed that
21:42:18  <substack>juliangruber: ok I'll use your repo as a test case and fix that in a bit
21:42:34  <juliangruber>substack: alrightey
21:42:58  <substack>doing a quick browserify core fix first
21:43:13  <substack>then I need to overhaul the harness/bundling part of testling-ci
21:43:50  <substack>so tests can use their own html test targets and aren't pegged to the version of browserify we use
21:49:49  <juliangruber>cool
21:50:00  <juliangruber>btw the "debug in browser" link is so super useful
21:52:04  * tilgovijoined
21:52:51  <substack>great!
21:53:05  <substack>it'll be more useful with the harness overhaul
21:54:24  <juliangruber>so I'll be able to set custom html for the tests?
21:58:20  * sbpjoined
21:58:40  <chrisdickinson>mbalho: problem with browservefy?
22:00:58  <mbalho>chrisdickinson: yea just send a pull req
22:02:13  <chrisdickinson>ah HA
22:02:39  <chrisdickinson>mbalho: 1 modification, could you actually make it so it doesn't call `bfyerror(error.join(''))` if error.length === 0?
22:02:50  * nk109joined
22:02:50  <chrisdickinson>*this* is what's breaking the browserify 2 source maps, i bet
22:03:31  * defunctzombiechanged nick to defunctzombie_zz
22:03:42  <mbalho>chrisdickinson: feel free to fix it some other way than my patch, i did it in the github editor
22:03:49  <chrisdickinson>ah cool
22:09:38  * mikolalysenkoquit (Ping timeout: 252 seconds)
22:18:17  <juliangruber>substack: why is that current test's time in the future? it's 23:17 and the test sais it's 23:20
22:18:31  <juliangruber>%s/that/the/
22:20:50  <chrisdickinson>timezone?
22:20:55  <chrisdickinson>well
22:20:59  <chrisdickinson>3 minute timezone?
22:21:00  <chrisdickinson>:D
22:21:46  <juliangruber>:D
22:22:50  <juliangruber>it's fancy times these days
22:23:11  <juliangruber>all them timezones behaving like crazy
22:24:39  <chrisdickinson>fresh baked, artisanal timezones
22:27:52  * thl0quit (Remote host closed the connection)
22:32:59  <juliangruber>substack: what about updating badges showing the last finished build? the fact that tests are running isn't that useful for readmes
22:34:08  * thl0joined
22:34:23  <guybrush>i know its not recommented but is there a good way to require global installed modules?
22:34:37  <mbalho>require()
22:34:54  <guybrush>ah rofl
22:34:58  <guybrush>i forgot
22:35:02  <mbalho>#protip
22:35:10  <guybrush>thx mbalho :D
22:35:16  <mbalho>thats why i make the big bucks
22:36:46  * ins0mniaquit (Ping timeout: 251 seconds)
22:38:27  * mikolalysenkojoined
22:39:50  * thl0quit (Remote host closed the connection)
22:48:02  <st_luke>THE BIG BUCKS
22:48:03  <LOUDBOT>THERE WAS NO HOME FOR THE TERROR BIRD
22:51:36  * tmcwquit (Remote host closed the connection)
22:51:40  * mikolalysenkoquit (Ping timeout: 272 seconds)
22:58:54  * st_lukequit (Remote host closed the connection)
23:00:14  <juliangruber>the bitcount-qt app is maxing out my cpu right now, wtf
23:04:22  * Domenic_quit (Remote host closed the connection)
23:10:54  <Raynos>https://news.ycombinator.com/item?id=5397146 <-
23:10:58  <Raynos>best idea EVER
23:13:25  * defunctzombie_zzchanged nick to defunctzombie
23:15:08  * mmckeggjoined
23:17:10  * mikolalysenkojoined
23:23:02  * defunctzombiechanged nick to defunctzombie_zz
23:29:06  * mikolalysenkoquit (Read error: Connection reset by peer)
23:50:53  * nk109quit (Quit: Computer has gone to sleep.)
23:56:51  * dominictarrquit (Read error: Connection reset by peer)
23:57:13  * dominictarrjoined