00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:21  * cianomaidinquit (Ping timeout: 276 seconds)
00:08:29  <gozala>Raynos: too late, I'm already home
00:09:55  <sorensen>substack: ping
00:25:35  * marcello3djoined
00:41:24  * dominictarrjoined
00:44:20  <Raynos>dominictarr: I realized I called your `o.computed` mapMany ( https://github.com/Raynos/graphics/blob/master/examples/full/mario.js#L37 ) and I called your `o.transform` map ( https://github.com/Raynos/graphics/blob/master/examples/react/mouse-position-image.js#L10 )
00:44:42  <dominictarr>very good
00:45:01  <Raynos>Am I'm like. YES same abstractions different stupid name
00:45:58  <Raynos>Do you have something like foldp? ( https://github.com/Raynos/graphics/blob/master/examples/full/mario.js#L84 ). i.e. given prev state and curr observable state compute some new current state
00:46:59  <Raynos>which I guess is like keeping some state in a closure and doing a transform
00:47:23  * HMquit (Read error: Connection reset by peer)
00:47:48  * HMjoined
00:50:58  <dominictarr>Raynos: no I don't have anything like that
00:51:23  <dominictarr>nothing that computes a rate of change or an integral sort of thing
00:51:57  <dominictarr>you could, but there is nothing to guarantee that you get all the changes - it's not a stream.
00:52:12  <dominictarr>so, something like that might not be reliable.
00:52:16  <dominictarr>oh,
00:52:30  <dominictarr>Raynos: what do you think about my new level-* style?
00:52:48  <mbalho>prefixes ftw
00:53:28  * defunctzombie_zzchanged nick to defunctzombie
00:54:43  <Raynos>dominictarr: https://github.com/dominictarr/level-trigger
00:54:47  <Raynos>forcing the user to install sublevel sucks
00:54:56  <Raynos>can't you just check if its installed and if not install it?
00:55:21  <dominictarr>Raynos: sure,
00:55:32  <dominictarr>I'm just doing that so I can iterate quickly
00:55:38  <Raynos>That makes sense
00:56:03  <dominictarr>I want to pull level-sublevel into levelup once it's good - but that is something we need to discuss
00:56:17  <Raynos>Forcing the user to manage the correct order and hierachy of all the plugins smells like express.use
00:56:29  <Raynos>and "oh my plugin breaks if you forget to use express.session()"
00:56:36  <Raynos>thats the only thing I want to avoid
00:56:39  <Raynos>the rest is fine
00:57:00  <dominictarr>right - so, the new pattern only uses level-sublevel
00:57:17  <dominictarr>there is no more monkey patching the main db after thta
00:57:39  <dominictarr>so, just pretend that isn't happening - imagine that is part of levelup
00:58:09  <dominictarr>Raynos: the test of this idea is ease of building your own plugins
00:58:24  <dominictarr>i.e. people other than me
00:58:39  <Raynos>hopefully
00:58:44  <Raynos>im kind of out of the loop :(
01:02:28  <defunctzombie>I want coffeescript people to stop using node
01:02:40  <defunctzombie>they need to go make their own runtime or whatever
01:12:55  <Raynos>+1
01:13:03  <Raynos>I think they should all go use component
01:15:37  <substack>sorensen: pong
01:15:59  <sorensen>i made an extended version of your 'defined' lib
01:16:05  <sorensen>thought you might be interested
01:16:32  <substack>Raynos: people writing coffee script and using component are still creating value that we need to figure out how to better appropriate for our own purposes
01:17:04  <substack>sorensen: publish it!
01:17:06  <sorensen>https://github.com/sorensen/defined-args
01:17:09  <sorensen>i did :)
01:17:38  <sorensen>tried to give you credits for it, saw tblobaums code first
01:17:54  <sorensen>realized you had a module for it after
01:18:16  <sorensen>i feel like a canadian using it
01:18:38  <sorensen>daaaa bears
01:19:59  <sorensen>substack: let me know what you think, also, are you going to be at node conf?
01:21:00  <Raynos>substack: I know, its hard
01:25:03  * HMquit (Read error: Connection reset by peer)
01:25:11  * HMjoined
01:25:20  <substack>sorensen: yep
01:26:10  <sorensen>cool cool, hopefully we'll see each other
01:26:11  <dominictarr>defunctzombie: some one should write a coffeescript vm in ruby
01:26:15  <dominictarr>that doesn't run js
01:26:20  <defunctzombie>hahaha
01:26:32  <dominictarr>you should have to convert javascript to coffeescript to use it
01:26:38  <sorensen>wanted to see you out in oak town last time i was in SF but had the little sis with me
01:28:44  <defunctzombie>juliangruber: tapedeck doesn't seem to work
01:30:09  <defunctzombie>juliangruber: output goes to console even in server mode (which is fine) but it tries to load a reporter.js which it can't find?
01:31:44  <Raynos>substack: I want to use their work too. I think the best thing to do is fork and fix
01:33:06  <defunctzombie>yes
01:33:20  <dominictarr>coffee script often doesn't embrace the strengths of js
01:33:21  <defunctzombie>just fork fix and publish to npm or keep on github
01:33:35  <dominictarr>often I see Object Orientation when it's not an object
01:33:40  <dominictarr>when a closure would be fine
01:33:47  <dominictarr>or just a straight function
01:34:31  <dominictarr>It's only an object if it has both state and behavior.
01:40:59  <defunctzombie>agreed
01:41:16  <defunctzombie>coffescript people tend to think OOP when they really shouldn't
01:41:42  <Raynos>Everyone thinks OOP when they shouldnt
01:41:47  <defunctzombie>regardless, it is a different language and they need to come to terms with that and stop asking for support haha
01:42:02  <Raynos>btw
01:42:15  <Raynos>I was talking to a friend about JS jobs
01:42:24  <Raynos>and he mentioned he wouldnt take a coffeescript job. On principal
01:42:40  <Raynos>Is that a good principle or is that being an opinionated dick as an engineer
01:43:08  <Raynos>im worried its shallow to not work with people because they use coffeescript
01:43:38  <defunctzombie>it isn't
01:43:53  <defunctzombie>I won't take c# jobs or java jobs
01:44:15  <defunctzombie>those languages may be fine, but I tend to not like hte projects those languages are used for
01:44:20  <defunctzombie>and the decisions made as a result
01:44:31  <defunctzombie>I find correlation between it and am in a position to not take the jobs
01:45:58  <Raynos>I see
01:46:11  <Raynos>what do you actually like working on?
01:46:32  <defunctzombie>hm
01:46:58  <defunctzombie>shit that helps people do something better and isn't boring for me to work on
01:48:03  <defunctzombie>these days I like doing js stuff because it is very flexible and we are making interesting tools
01:48:24  <defunctzombie>really I like the "subset" of js that I tend to see many here use (subset/style)
01:48:36  <defunctzombie>and methodologies of testing, etc
01:49:44  <Raynos>If your looking for something let me know, I know something suitable
01:53:22  * defunctzombiechanged nick to defunctzombie_zz
01:53:24  * ins0mniaquit (Ping timeout: 248 seconds)
01:59:40  <dominictarr>Raynos: I nearly had a coffee-script job.
02:00:00  <dominictarr>I feel I can maintain a charitable opinion about coffee script as long as I don't use it
02:00:11  <dominictarr>but that is because I am good at js.
02:01:22  <dominictarr>to do good coffee script you need to understand good js
02:01:34  <dominictarr>and anyway, the important thing isn't syntax
02:02:07  <dominictarr>it doesn't matter whether you have a pretty syntax - that is just patterns that you can learn to read, and learn to type fast
02:02:21  <dominictarr>the truly important thing is architecture
02:02:39  <dominictarr>whether what you are building is elegant at a high level
02:02:49  <dominictarr>that is what is _actually_ important.
02:04:38  <Raynos>dominictarr: can you do a testling badge for observable?
02:07:04  * dominictarrquit (Ping timeout: 245 seconds)
02:08:01  * dominictarrjoined
02:13:37  <Raynos>dominictarr: I think i'll rewrite my signal portion of Raynos/graphics to use observable instead of reducible
02:13:58  <Raynos>its way less complex
02:14:09  <dominictarr>cool!
02:14:28  <dominictarr>yeah, you can completely write an observable in ~ 5-10 lines
02:15:42  <dominictarr>Raynos: is there a command to testlingify a module?
02:15:57  <Raynos>not yet
02:17:02  <dominictarr>If there was, all my modules would be on testling
02:17:34  <Raynos>:(
02:17:37  <dominictarr>how are you adding testling?
02:17:47  <Raynos>I have a ngen
02:17:53  <Raynos>that auto generates package.json with testling noise
02:18:00  <Raynos>and manually go into github and add hook and test hook
02:18:31  <dominictarr>https://npmjs.org/package/travisify
02:18:43  <dominictarr>that adds a travis hook automatically
02:20:22  <Raynos>yea
02:20:29  <Raynos>someone needs to write this module :D
02:20:47  <dominictarr>indeed
02:21:58  * lejdenjoined
02:25:11  <mbalho>new version of javascript-editor http://maxogden.github.com/javascript-editor/
02:28:46  <dominictarr>mbalho: is it possible to use it without passing in a #editor thing
02:28:46  <dominictarr>?
02:28:55  <dominictarr>can it just return an element
02:29:07  <dominictarr>or return an emitter with a .element property?
02:29:34  <jesusabdullah>mbalho: are you or have you ever been max ogden y/n
02:30:16  <dominictarr>you don't have to answer that
02:30:53  <mbalho>dominictarr: it defaults to document.body
02:31:13  <mbalho>dominictarr: you just have to give it a cotnainer
02:31:18  <mbalho>dominictarr: it creates its own elements inside the container
02:31:48  <dominictarr>so, can I go editer({container: document.createElement('div')})
02:32:04  <dominictarr>does it matter if it has been added to the dom yet?
02:32:46  <jesusabdullah>dominictarr: DAMN YOU PUBLIC DEFENDER DAMN YOUUUUU
02:33:02  * HMquit (Read error: Connection reset by peer)
02:34:59  * lejdenquit (Quit: Lost terminal)
02:40:05  * HMjoined
02:41:31  * thl0joined
02:43:36  <mbalho>dominictarr: hmm i am not sure
02:45:51  * thl0quit (Ping timeout: 245 seconds)
02:45:58  * marcello3dquit (Remote host closed the connection)
03:03:16  * defunctzombie_zzchanged nick to defunctzombie
03:04:17  * jibayquit (Quit: Leaving)
03:13:53  <defunctzombie>http://phpthegoodparts.tumblr.com/
03:15:51  * AvianFlujoined
03:16:36  * HMquit
03:23:47  * Altreusquit (Ping timeout: 260 seconds)
03:23:53  * Altreusjoined
03:29:49  <defunctzombie>http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/40738.pdf
03:31:09  <dominictarr>wow, that looks good
03:53:38  * AvianFlu_joined
03:54:16  * AvianFluquit (Disconnected by services)
03:54:19  * AvianFlu_changed nick to AvianFlu
03:58:34  * dominictarrquit (Quit: dominictarr)
03:58:38  * defunctzombiechanged nick to defunctzombie_zz
04:14:22  <hij1nx>cool new leveldb logo! http://d.pr/i/fZzN
04:26:31  <rvagg>hij1nx: very nice
04:27:02  <rvagg>hij1nx: tho I think dominic was saying he thought lots of hexagons in it would be good; to link in a bit with node
04:27:16  <rvagg>but I'm easy! we should use it on all our projects on our READMEs
04:27:30  * thl0joined
04:30:24  <hij1nx>well, that might be good for a leveldb-node account or something ;)
04:30:47  <rvagg>hij1nx: we need to make the node connection a subconcious thing
04:30:48  <hij1nx>we should try to keep it semi-platform agnostic
04:30:51  * thl0quit (Read error: Connection reset by peer)
04:31:06  <hij1nx>agreed, thats why its green ;)
04:31:06  * thl0joined
04:31:47  <hij1nx>the node green, plus it says "Tweetery about LevelDB things. Node.js in particular."
04:33:23  <rvagg>upload that baby!
04:33:37  <hij1nx>btw, https://twitter.com/LevelDB
04:35:28  * thl0quit (Ping timeout: 252 seconds)
04:36:18  <rvagg>tweet it too
04:40:56  <hij1nx>https://twitter.com/LevelDB/status/310610922240634880
04:41:38  * nicholasfjoined
04:59:06  <substack>http://substack.net/images/leveldb.png
04:59:23  <substack>more hexagons!
05:08:32  * defunctzombie_zzchanged nick to defunctzombie
05:10:10  <hij1nx>hexagons are so 2012
05:10:51  <hij1nx>i thought she did a nice job, and its classy :)
05:11:56  <substack>yeah looks good
05:12:26  <substack>I was just looking for a distraction from this paperworky task
05:18:12  * defunctzombiechanged nick to defunctzombie_zz
05:32:26  * zero_coderjoined
05:39:18  <rvagg>hij1nx: can we get a vector version of it?
05:42:02  <hij1nx>rvagg: yeah, where should we put it?
05:42:33  <rvagg>turns out, if you mention hexagons on twitter then this thing retweets you: https://twitter.com/hexagonbot ..
05:42:49  <rvagg>hij1nx: lets make a gh-pages branch on levelup and publish it there
05:43:19  <rvagg>along with a good size to embed in README pages
05:43:22  <rvagg>png
05:43:45  <rvagg>original vector, as svg would be handy tho if people want to use it elsewhere, like in presentations
05:45:36  * zero_coderquit (Ping timeout: 240 seconds)
05:52:13  <hij1nx>cool. its acutally pretty viable to publish a module from a gist! https://gist.github.com/hij1nx/5105621
05:52:51  <hij1nx>so i guess for things that are just too tiny to deserve a regular repo?
05:53:25  <hij1nx>but i like how a gist is actually a repo really, and then it just turns into a conversation
05:54:52  <hij1nx>rvagg: ok, will do
05:55:50  <hij1nx>rvagg: hexagonbot has a lot of followers, im going to mention hexagons in every tweet from now on ;)
06:03:19  <hij1nx>DOMINICTARR.
06:05:48  <rvagg>hij1nx: are you definitely going to be in dublin at the end of the month?
06:17:56  * AvianFluquit (Remote host closed the connection)
06:32:59  <Raynos>hij1nx: `ngen module-name description && git init && hub create Raynos/module-name && git add. && git commit -m "initial" && npublish`
06:33:29  <Raynos>still like 5 commands too many
06:33:37  <Raynos>I need to write `npmify` command that does all of that :D
06:43:58  * nicholasfquit (Read error: Connection reset by peer)
06:44:11  * nicholasfjoined
06:56:35  <chrisdickinson>mine is: "init-repo; git first; git add .; git ci -m 'initial code commit'; npm version patch; git push -u origin master; git push --tags; npm publish"
07:12:00  * dominictarrjoined
07:34:07  <Raynos>chrisdickinson: You need to get `hub create`. Totally badass
07:34:18  <chrisdickinson>yeah
07:34:23  * dominictarrquit (Ping timeout: 255 seconds)
07:34:28  <Raynos>I also use `npublish` to `npm version patch && git push origin master --tags && npm publish`
07:34:28  <chrisdickinson>init-repo does that for me + adds testling hooks
07:34:34  <Raynos>O_O
07:34:41  <Raynos>you need to open source testling hooks
07:34:48  <Raynos>I wants them
07:36:30  <chrisdickinson>Raynos: https://gist.github.com/chrisdickinson/5127523
07:36:54  <chrisdickinson>assuming you have your github auth token saved as ~/.github-token
07:51:46  * dominictarrjoined
07:56:17  * mikealjoined
08:16:36  * dominictarrquit (Quit: dominictarr)
08:47:44  * nicholasfquit (Ping timeout: 255 seconds)
09:21:42  <Raynos>http://lanyrd.com/2012/scotlandjs/sccxkr/ :D
09:21:46  <Raynos>I feel sorry for scotland js
09:40:11  <Raynos>I cange mind
09:40:13  <Raynos>I feel jealous
09:48:02  <kanzure>scotlandjs is a neat name for a conference.
09:48:41  <kanzure>that is all.
09:57:32  <rvagg>isaacs: npm-www bug? https://npmjs.org/package/hoarders - "undefined"
10:27:06  <juliangruber>rvagg: multilevel is faster than mongodb for simple PUTs :) https://gist.github.com/juliangruber/5128036
10:28:44  <juliangruber>correction, I mean GETs
10:35:08  <rvagg>juliangruber: niiiice, but you can do better I think!
10:36:02  <juliangruber>that means I have to benchmark and improve the whole dependency tree :O
10:36:22  <rvagg>but you know what levelup is capable of from those benchmarks, so it's just the bits between
10:36:25  <rvagg>trim the fat
10:37:08  <juliangruber>if the underlying implementation were leveled I could make it much faster by removing mux-demux
10:37:21  <juliangruber>then it would only be dnode
10:37:37  <juliangruber>but I'll see how far I can get
10:38:05  * jibayjoined
10:39:17  <rvagg>juliangruber: mux-demux is needed for the streams?
10:39:30  <juliangruber>and events
10:39:35  <rvagg>ahhhh
10:39:37  <rvagg>hm
10:39:43  <rvagg>that's unfortunate I suppose
10:39:55  <juliangruber>I'll do a quick multilevel with leveled
10:39:58  <juliangruber>and see how that performs
10:39:59  <rvagg>impressive that you've managed to export the whole API tho
10:40:12  <juliangruber>and that it was so easy!
10:40:13  <rvagg>perhaps you should do a multilevel on leveldown
10:40:20  <juliangruber>or that!
10:40:34  <juliangruber>then you could pass that to the constructor of levelUp
10:40:41  <rvagg>then if we had the { db: <whatever> } then you can have levelup on the client end
10:41:00  <juliangruber>cool
10:41:03  <juliangruber>will do
10:41:16  <rvagg>a `db` option is on my todo list, it seems like a no-brainer
10:41:32  <rvagg>then you don't need no stinkin' events or streams
10:41:59  <juliangruber>I AM EXCITE
10:42:07  <rvagg>btw, levelup runs on my Kindle Paperwhite! I got Node to work on it tonight and for that I AM EXCITE
10:42:16  <juliangruber>:OOO
10:42:35  <juliangruber>that is sweet, man!
10:42:37  <rvagg>just working on a quick web server to expose to the world, before I go to bed
10:43:16  <juliangruber>multilevel-http?
10:43:38  <rvagg>no, just a standard node web server running on the kindle
10:43:47  <rvagg>just for the pure thrill
10:44:05  <rvagg>I don't actually need levelup running on there, but since I have cross-compiling working for it now it's pretty simple
11:18:43  * yorickjoined
11:54:50  <rvagg>http://home.va.gg:8080/
12:25:49  * cianomaidinjoined
12:27:29  * cianomaidinquit (Client Quit)
12:32:28  * cianomaidinjoined
12:46:43  * HMjoined
12:53:49  * ins0mniajoined
12:58:36  * cianomaidinquit (Quit: cianomaidin)
13:01:55  * cianomaidinjoined
13:05:08  * cianomaidinquit (Client Quit)
13:13:49  * cianomaidinjoined
13:15:15  * cianomaidinquit (Client Quit)
14:03:04  * marcello3djoined
14:23:38  * marcello3dquit (Remote host closed the connection)
15:19:11  * coffeecup_joined
15:19:57  * coffeecupquit (Remote host closed the connection)
15:19:58  * guybrushquit (Remote host closed the connection)
15:40:56  * guybrush_joined
15:41:13  * guybrush_changed nick to guybrush
16:19:05  * cianomaidinjoined
16:20:00  * cianomaidinquit (Client Quit)
16:29:42  <isaacs>rvagg: yeah, deleted packages don't disappear all the way
16:30:30  <isaacs>rvagg: deleted the cache entry for it. getting a proper 404 now
16:35:33  * dguttmanjoined
16:37:35  * dguttmanquit (Client Quit)
16:42:36  * thl0joined
16:47:05  * HMquit (Ping timeout: 252 seconds)
16:52:24  * cianomaidinjoined
16:56:41  * cianomaidinquit (Ping timeout: 245 seconds)
16:57:53  * marcello3djoined
17:01:27  * cianomaidinjoined
17:01:27  * mikealquit (Quit: Leaving.)
17:07:41  * cianomaidinquit (Quit: cianomaidin)
17:08:10  * simcop2387quit (Quit: ZNC - http://znc.sourceforge.net)
17:08:10  * perlbotquit (Quit: ZNC - http://znc.sourceforge.net)
17:20:10  * perlbotjoined
17:21:40  * simcop2387joined
17:28:52  * defunctzombie_zzchanged nick to defunctzombie
17:30:36  * HMjoined
17:34:02  * defunctzombiechanged nick to defunctzombie_zz
17:52:22  * defunctzombie_zzchanged nick to defunctzombie
18:04:53  * defunctzombiechanged nick to defunctzombie_zz
18:06:21  * thl0quit (Remote host closed the connection)
18:12:38  <mbalho>rvagg: hey can you put a node binary for kindle somewhere i can download?
18:12:55  <mbalho>everyones talking to rvagg!
18:15:29  <substack>whoa the taliban is employing 3d animators now http://www.youtube.com/watch?v=WusWrL0lZTk
18:19:36  * yorickquit (Remote host closed the connection)
18:22:00  * thl0joined
18:32:23  * isaacs_mobilejoined
18:42:58  * marcello3dquit (Remote host closed the connection)
18:44:32  * defunctzombie_zzchanged nick to defunctzombie
18:45:05  <defunctzombie>it is hard to convince someone when they clearly don't understand
18:45:25  <defunctzombie>https://github.com/substack/mmmify/issues/3
18:45:36  <defunctzombie>I think thing guy wants to love es6 modules so hard
18:47:33  <defunctzombie>juliangruber: tapedeck doesn't work in IE8 it seems
19:05:51  <defunctzombie>pkrumins: substack: http://about.travis-ci.org/docs/user/how-to-skip-a-build/
19:06:08  <defunctzombie>^ would be a nice thing to minimize useless testing
19:26:21  * isaacschanged nick to _isaacs_away_lea
19:31:14  * mikealjoined
19:31:23  * thl0quit (Remote host closed the connection)
19:36:33  * isaacs_mobilequit (Ping timeout: 248 seconds)
19:40:18  * defunctzombiechanged nick to defunctzombie_zz
19:40:44  * mikealquit (Quit: Leaving.)
19:42:56  * yorickjoined
19:50:04  * Domenic_joined
19:51:33  * isaacs_mobilejoined
19:53:17  * thl0joined
20:08:06  * cianomaidinjoined
20:13:21  * cianomaidinquit (Ping timeout: 248 seconds)
20:25:38  * isaacs_mobilequit (Remote host closed the connection)
20:28:31  * defunctzombie_zzchanged nick to defunctzombie
20:29:34  <defunctzombie>juliangruber: I think it has to do with the use of "shoe" or such. Maybe try a simpler live reloading server. tapedeck should work in all browsers otherwise the incentive to use it is less
20:29:46  <defunctzombie>juliangruber: I had to revert to mocha as a result :(
20:30:12  <juliangruber>defunctzombie: I only used it to check if tests are working before pushing to testling
20:30:29  <defunctzombie>juliangruber: when tests don't work on testling, I need to be able to debug locally
20:30:34  <juliangruber>since I don't want to have all those browsers running on my machine
20:30:40  <defunctzombie>juliangruber: I use ievms :)
20:30:53  <defunctzombie>debugging with testling is impossible currently
20:30:53  <juliangruber>you can debug failed tests in browserling, testling-ci added those nice links
20:30:58  <defunctzombie>juliangruber: not really
20:31:03  <defunctzombie>because I can't make code changes
20:31:07  <defunctzombie>or get good dev consoles
20:31:12  <defunctzombie>it really is not a substitute
20:31:19  <defunctzombie>I have tried
20:31:22  <defunctzombie>it does not work
20:31:35  * isaacs_mobilejoined
20:31:47  <defunctzombie>I *must* be able to run locally, that is way more important than any live reload feature :)
20:32:50  <chrisdickinson>i wonder what a modern, stream-focused node.js framework would look like.
20:34:07  * defunctzombiedoes not want streams anywhere near the core/low level stuff
20:34:15  <defunctzombie>streams are too opinionated and complex
20:34:27  <defunctzombie>streams are a framework
20:34:29  <juliangruber>defunctzombie: then we have 2 use cases: I use it while developing and didn't yet care about debugging in browsers. BUT, since it's all tap, you should be able to swap test runners for that
20:34:43  <defunctzombie>juliangruber: it is all one use case
20:34:49  <defunctzombie>juliangruber: developing is debugging
20:34:53  <juliangruber>defunctzombie: but I want live reload!
20:34:58  <defunctzombie>juliangruber: if I can't debug with it, it is useless
20:35:04  <defunctzombie>juliangruber: sure, then make it work :)
20:35:07  <juliangruber>then don't use it or make a PR ;)
20:35:28  <defunctzombie>juliangruber: just saying that it isn't currently a replacement for my workflow because it has browser limitations
20:35:50  <defunctzombie>when I need to debug an issue, I have to stop using it which is unfortunate
20:35:55  <defunctzombie>cause I shouldn't have to do that
20:36:19  <defunctzombie>test tools should not be the ones causing breakages
20:36:27  <defunctzombie>if they do, then they are not to be relied on
20:36:49  <thl0>substack, defunctzombie: need some input on how to adapt browserify cli args to support sourcemap
20:37:23  <thl0>originally I had a sourcemapBundle arg that would tell me where the bundle ends up and when given automatically turns sourcemaps on
20:37:41  <thl0>however we already have an outfile arg, so that would be duplicate
20:37:43  <defunctzombie>thl0: I am more interested in api personally
20:38:04  <thl0>defunctzombie: well it has to match up with api cli uses though
20:38:17  <defunctzombie>thl0: other way around for me
20:38:26  <defunctzombie>thl0: I make the api first and then figure out how to expose via cli
20:38:35  <thl0>defunctzombie: exactly what I did
20:39:06  <thl0>and then I realize that for cli you'd have to give me bundle path twice
20:39:29  <defunctzombie>some problems have no easy answer
20:39:44  <thl0>i.e. for outfile (no affect on sourcemap) and then for sourcemap (turn them on and tell me what generated file they relate to)
20:40:17  <thl0>ok, I'll keep the extra sourcemap param around, make a PR and then we can decide if/how it can be improved
20:40:37  <defunctzombie>I personally am a fan of sourceURL
20:40:44  <defunctzombie>since that does what I need anyway
20:41:02  <defunctzombie>I don't really care about coffeescript
20:41:14  <thl0>right, but then you'd need to eval
20:41:40  <thl0>so I'm already way past that, I used sourcemappingURL and am in the last steps integrating into browserify
20:42:03  <thl0>will PR on browser-pack in a minute to support this and then on browserify itself
20:42:06  * isaacs_mobilequit (Remote host closed the connection)
20:42:28  <defunctzombie>thl0: so you eval, whatever
20:42:35  <defunctzombie>thl0: I only do it for development anyway
20:42:52  <defunctzombie>thl0: eval is not evil
20:42:57  <thl0>defunctzombie: well @substack didn't like the eval and sourcemapping URLs are way more powerful
20:43:11  <defunctzombie>sure, I am not against the sourcemapping url
20:43:23  <defunctzombie>probably a cleaner long term solution
20:43:35  <thl0>defunctzombie: not only for coffeescript, but also allows you to debug minified code and see full variable names
20:43:42  <thl0>defunctzombie: cool
20:43:53  <chrisdickinson>defunctzombie: ah, wasn't saying that a framework should be baked into node. i just was wondering what a "modern, streaming" node.js framework might look like, so when i say that I don't like express I can point to something else.
20:44:05  <defunctzombie>chrisdickinson: ah
20:44:23  <defunctzombie>chrisdickinson: personally, I don't buy into streams for everything
20:44:37  <defunctzombie>chrisdickinson: I have toyed with the idea of a more streamy http routing system
20:44:48  <chrisdickinson>or, a framework that uses observables / reducers
20:44:48  <defunctzombie>chrisdickinson: but the api/ux never comes out as nice
20:45:07  <defunctzombie>chrisdickinson: don't really care for reducers or all that stuff in my basic http routing setup
20:45:28  <defunctzombie>chrisdickinson: more and more I am actually moving away from just lots of api routes and toward something like dnode probably
20:45:41  <defunctzombie>or persistent two way communication
20:45:44  <chrisdickinson>hm
20:47:03  <chrisdickinson>dnode is definitely awesome, but i wouldn't replace restful routes for it
20:47:28  <defunctzombie>chrisdickinson: sure, just depends on the usecase
20:47:28  <chrisdickinson>s/for it/with it/g
20:47:31  <chrisdickinson>yeah
20:47:42  <defunctzombie>for restful routes I am very very happy with express
20:48:01  <defunctzombie>no other thing I have seen yet is better
20:48:14  <defunctzombie>not even close actually in terms of clarity
20:55:30  <rvagg>mbalho: download node off my KINDLE WEB SERVER: http://home.va.gg:8080/noodle.img.gz
20:55:52  <rvagg>mbalho: it's a mountable image, have to do it that way cause of the crappy filesystem used on the rest of the kindle
20:56:29  <rvagg>mbalho: put it in /mnt/us/ and make a mount script, noodlemount.sh, with this in it:
20:58:26  <rvagg>#!/bin/sh
20:58:28  <rvagg>mount -o loop,noatime -t ext3 /mnt/us/noodle.img /opt/node
20:58:37  <rvagg>then you'll have an /opt/node/ directory to play with
20:58:51  <rvagg>export PATH="${PATH}:/opt/node/bin"
20:59:02  <rvagg>install global modules by going into /opt/node/lib and `npm install` there
20:59:24  <rvagg>and make your node apps in /opt/node cause npm will bork at installing on the normal fs
21:00:11  <rvagg>oh, and there's a compiled version of levelup in that image, /opt/node/lib/node_modules/levelup, works like a charm
21:00:11  * mikealjoined
21:06:50  <rvagg>mbalho: I'm having trouble on my home network, so grab it here: http://js.vagg.org/noodle.img.gz
21:07:15  <rvagg>it's only 9M but it's actually a 250M image file so you have space to play once mounted
21:11:43  <thl0>defunctzombie: so API would look like this: .bundle({ sourcemapBundle: bundlePath }) -- if sourcemapBundle prop is not given no sourcemaps are generated
21:18:20  <defunctzombie>thl0: is this going to put a file on my disk?
21:18:30  <thl0>defunctzombie: nope
21:18:48  <defunctzombie>thl0: it is just for urls in the sourcemap?
21:19:00  <thl0>defunctzombie: it just needs to know where it is gonna be since chrome will try to find the original files relative to the generated file path
21:19:02  <defunctzombie>thl0: also, why not just "sourcemapPath": ?
21:19:03  <thl0>defunctzombie: yep
21:19:06  <defunctzombie>or some such since that is what it is
21:19:15  <defunctzombie>thl0: well, the problem with original files relative to that
21:19:28  <defunctzombie>thl0: is that I have many files which are not web server accessibe
21:19:36  <defunctzombie>*accessible
21:19:40  <thl0>defunctzombie: because its the path of the bundle (that contains also wil contain sourcemap)
21:19:53  <defunctzombie>they are part of final bundles, but not something you can ever make an http request to get
21:20:12  <ralphtheninja>rvagg, mbalho you guys should blog about the kindle
21:20:15  <thl0>defunctzombie: server works since it will just ask server for the original files (relative to where bundle loaded from)
21:20:31  <ralphtheninja>share that info yo! :)
21:20:33  <defunctzombie>thl0: won't work cause some of those files won't be obtainable ;)
21:20:39  <thl0>defunctzombie: path can be any path
21:20:46  <substack>thl0: it'd be nice if we could just do --debug like before
21:20:52  <thl0>defunctzombie: files have to be attainable
21:20:56  <substack>are paths strictly necessary?
21:21:00  <defunctzombie>thl0: I am saying they are not
21:21:14  <thl0>substack: but chrome needs to know where bundle is to find originals relative to it
21:21:19  <defunctzombie>thl0: imagine I have my "public" js files in /public/js
21:21:30  <defunctzombie>and those reference things in /libs/
21:21:40  <substack>thl0: I think so long as the names are the same nobody will care
21:21:42  <defunctzombie>libs in not publicly visible
21:21:42  <thl0>defunctzombie: if you don't have them there this won't work -- I thought of this, but that is unavoidable
21:21:56  <substack>chrome doesn't seem to care whether files exist or not either
21:21:59  <defunctzombie>thl0: I will probably need to put the sourceURL option back for debugging heh
21:22:01  <substack>at least with sourceURL that is the case
21:22:16  <thl0>substack: it does not until you look into the file and it is emptyu
21:22:29  <thl0>substack: b/c if it doesn't find it it loads no source into it
21:22:35  <substack>do the stack traces show up though?
21:22:37  <defunctzombie>with sourceURL I don't really look at the files, I just care about reasonable stacktraces and relative locations
21:22:44  <thl0>substack: yep
21:23:01  <substack>probably it's fine without it then
21:23:11  <defunctzombie>substack: thl0: I think once we have something to play with we will get a better idea of it :)
21:23:29  <substack>I don't like having to pass debug paths around
21:23:49  * mirkokquit (Read error: Operation timed out)
21:23:50  <substack>would rather just do --debug and have it mostly work even if it's not 100%
21:23:58  * mirkokjoined
21:24:06  <thl0>substack: bottom line is for this to work properly we need to give the mapper the generated bundle path
21:24:07  * mikealquit (Quit: Leaving.)
21:24:45  <thl0>substack: otherwise it will never be able to find the original files and you cannot put breakpoints and look at the code since they'll appear empty
21:25:18  <substack>look at the -o param
21:25:25  <thl0>substack: so I thought sourcemapBundle is ok (doubles as flag and a way to tell me where you'll save the bundle)
21:25:33  <thl0>substack: -o is just for commandline
21:25:34  <substack>or if the bundle is output on stdout just have part of it not work
21:25:51  <thl0>substack: but people may want to give -o but want to have no sourcemaps
21:26:04  <substack>then they wouldn't say --debug
21:26:28  * defunctzombiechanged nick to defunctzombie_zz
21:26:29  <substack>combinations: --debug, -o + --debug, -o
21:26:33  <substack>3 of them
21:26:41  <substack>or the empty set makes 4
21:27:02  <thl0>substack: but what if they say --debug but don't give -o ?
21:27:20  <substack>then have it partly work
21:27:29  <substack>so long as stack traces show up properly I don't even care about the other part
21:27:29  <thl0>substack: or if they want --debug but want to write file themselves
21:27:34  <substack>I can open the files myself
21:27:46  <substack>I barely even use the debugger except to look at console log output and stack traces
21:28:22  <thl0>substack: ok, I'll do it that way, but then for the js API, you'd have to give me 'outfile' as well although it wouldn't be actually written
21:28:26  <substack>the fanciness of it seems too IDE-esque usually
21:28:43  <substack>thl0: you can have a second param for that explicitly
21:28:55  <substack>I'm more thinking about how the command-line tool should infer the paths
21:29:02  <thl0>substack: i.e. 'sourcemapRoot' ?
21:29:08  <substack>having to specify 2 params to get source maps sucks
21:29:19  <substack>sourcemapRoot doesn't really tell people what that is supposed to be
21:29:49  <thl0>substack: so even for non-cli we'd give --debug and outfile (but not write outfile) ?
21:30:18  <substack>no
21:30:27  <substack>outfile is only something that the command line tool has
21:30:35  <substack>the lib doesn't write any files
21:30:38  <thl0>substack: ok so how would the api workk then
21:30:58  <substack>first, what does the sourcemapRoot actually *do*
21:30:59  <thl0>substack: we still need a way to turn on sourcemaps and pass bundle path into browser-pack
21:31:02  <substack>and what should it be
21:31:06  <substack>can you give an example?
21:31:37  <thl0>substack: so when I generate the sourcemap, the original files get included with paths relative to it
21:32:02  <thl0>substack: if this in not done properly, chrome cannot find them and they are empty in dev tools
21:32:34  <thl0>substack: i.e. chrome makes an actual server request (or loads from filesystem) to get the original sources
21:32:50  <thl0>substack: this only happens when dev tools are open
21:32:53  <substack>most of the time those files aren't even accessible
21:33:02  <substack>I wish sourceURL didn't need an eval() container
21:33:11  <substack>then I would just ignore sourcemaps completely
21:33:17  <substack>paul_irish_: ^^^
21:33:25  <thl0>substack: but mappingURLs are so much more powerful
21:33:47  <substack>but they are much more tightly bound to the file system organization
21:33:49  <thl0>substack: people will want them (i.e. you could debug minified code with variable names being restored)
21:33:52  <substack>they aren't portable when you move files around
21:33:58  <substack>since the refs get all mis-aligned
21:34:28  <thl0>substack: all you have to do is set up your server properly to serve the original files (while developing)
21:34:38  <substack>and they depend on placing the files properly into a publically-accessible location
21:34:57  <substack>I usually have a browser/ and static/ where the original files in browser/ aren't even accessible directly
21:35:06  <thl0>substack: I thought you were aware of this when we decided to go the mappingURL route?
21:35:43  <substack>if you have to set up your server "properly" that is imposing an unwarranted constraint downstream on users I think
21:36:00  <substack>I hadn't looked very much into how these work
21:36:04  <substack>this seems pretty terrible
21:36:18  <thl0>substack: well, all you'd have to do IMO is have the root be above all your original files
21:36:35  <thl0>substack: that way you can still serve them properly
21:36:48  <substack>it might be better to just Function(function(){ //@ sourceURL=...\n $CONTENT }.toString())
21:37:05  <substack>that way the files show up not all in a string but sourceURL still works
21:37:32  <substack>bundles should be portable
21:37:58  <substack>if they impose external file organization constraints that is a bad api that bleeds out
21:40:35  <thl0>substack: lsts experiment with this then - I'll just make this work on my fork (which will work togehter with my browser-pack fork)
21:41:01  * _isaacs_away_leachanged nick to isaacs
21:41:33  <substack>experimentation is good
21:42:11  <thl0>substack: ok - so ignore browser-pack PR for now
21:42:49  <thl0>substack: it'd be nice to find a way to somehow make chrome load the src from within the bundle, but that is not what this is trying to do
21:43:27  <thl0>substack: the specification is written with transpiled/minified code in mind, so they expect the original to look entirely different
21:44:38  <substack>this is what happens when people invent new things without testing them in reality first >_<
21:46:16  <thl0>substack: I don't see the big pain point here though, since this is only to support development
21:46:51  <thl0>substack: i.e. you could have the files in proper locations while developing -- you'll see in the example I'll commit
21:46:59  <substack>but sourceURL is a much better fit
21:47:08  <thl0>substack: then in production you just don't deploy those files
21:47:25  <thl0>substack: until you want to make transpilers happy
21:47:26  <substack>the only reason I dislike sourceURL is because of the eval() constraint
21:47:54  <thl0>substack: I believe more people will use transpilers in the future (since browsers support these mappings now)
21:48:41  <thl0>substack: if you want to make browserify useful for more people, we should support this
21:49:22  <thl0>substack: here is a thought: make souremappingURLs only work via a javascript API which people can use and add sourceURL option as well
21:50:02  <substack>maybe
21:50:14  <thl0>substack: sourceURL option would work from cli (via --debug) and be what most people use, but at least if needed people can leverage the more advanced sourcemapping
21:50:17  <substack>it feels very messy
21:50:25  <substack>--debug should just do sourceURL, I agree
21:50:35  <substack>since there seems to be no way to provide that functionality cleanly
21:50:41  <substack>with source maps
21:50:43  <thl0>substack: ok, that'd be another PR
21:50:56  <substack>I can just write that part
21:52:43  <thl0>substack: well I don't think it is that bad, all you have to do during development is put the bundle above the original files
21:53:17  <thl0>substack: but ok, lets divide it up then, you'll put sourceURLs back in and I'll have a fork with sourceMappingURLs that people can try
21:54:21  <substack>sounds good
21:54:23  <substack>doing this now
21:57:11  <thl0>substack: a little sad though - took a while to get this all working properly (sourceURL is rather trivial compared to full fledged mappings)
21:59:54  <Raynos>thl0: why are sourcemaps fucked?
22:00:20  <substack>thl0: we can have them, it's just sad that they suck so much
22:00:20  <thl0>Raynos: cause they try to be very flexible and support transpiled/minified languages
22:00:30  <Raynos>why cant we use them for our use-case?
22:00:37  <Raynos>I can bitch at the firefox devs for sourcemaps
22:00:42  <substack>Raynos: they impose file organization constraints
22:00:46  <Raynos>so consider me a liason
22:00:51  <substack>end-users will need to organize their files in a particular way
22:01:00  <thl0>substack: ok - I'll finish these tests and check into my fork, then you can have a look
22:01:06  <substack>Raynos: complain at them to make //@ sourceURL work in function-scope
22:01:08  <substack>instead of eval-scope
22:01:13  <substack>problem solved
22:01:27  <Raynos>no thats not the way
22:01:33  <Raynos>we need to fix source maps
22:01:40  <Raynos>but I dont understand the problem
22:01:48  <thl0>substack: actually they just have to be organized like always (i.e. for require to work, files also have to be organized)
22:02:07  <substack>Raynos: the problem is that to use source maps you need to put your original source files in a particular place
22:02:23  <thl0>substack: you'll see from the example that it is maybe not that bad - give me a few mins then I'll check in
22:02:35  <Raynos>I dont understand the problem
22:02:42  <substack>Raynos: so you can't just move the bundle.js around however you please
22:03:01  <Raynos>so the bundle has to be relative to the file locations?
22:03:31  <Raynos>Well how do you serve the bundle from memory?
22:05:08  * shamajoined
22:06:58  * cianomaidinjoined
22:18:51  <thl0>substack: Raynos: it's checked in you can 'git clone -b sourcemaps git://github.com/thlorenz/node-browserify.git'
22:19:50  <thl0>Raynos: substack: then go to example/source_maps and either 'build.sh' or node the build js - open index and look in your browser console
22:20:02  <thl0>Raynos: substack: requires chrome beta or canary
22:21:03  <thl0>substack: just confirmed, stacktraces still work without the files actually being loaded, but then they are empty
22:27:35  <mbalho>rvagg: hahaha 'nood'e
22:29:29  <thl0>Raynos: I don't think it's such a big problem - check out the example in my fork
22:29:47  <mbalho>'noodle'
22:29:56  <thl0>Raynos: currently working on a simple sample app that uses express and browserify with sourcemapURLs
22:30:39  <thl0>Raynos: I hope that will show that it is actually ok, although I agree that people should have option to use simple sourceUrls as well
22:30:41  <Raynos>thl0: this sounds complex :(
22:31:15  <thl0>Raynos: sourceURLs would work like in [email protected] - @substack is working on that right now
22:31:51  <thl0>Raynos: it's not complex - have a look at the example in the fork (or the sample app once I built it ;) )
22:34:40  <thl0>Raynos: just a bit annoying since the original files have to actually exist and be resolvable by chrome
22:35:00  <thl0>Raynos: that's the only way though that transpiled language debugging in browser would work
22:39:07  <Raynos>:(
22:39:19  <Raynos>wtf do you mean the original files have to exist
22:39:25  <Raynos>But I gave them the fucking original files
22:39:28  <Raynos>in the fucking bundle
22:39:34  <Raynos>man this is epic bullshit
22:39:38  <Raynos>EPIC BULLSHIT
22:40:23  <Raynos>thl0: from my point of view I want to patch tryme & browservefy
22:40:29  <Raynos>so that both of them work with source maps
22:40:41  <thl0>Raynos: but if your bundled files had been transpiled (i.e. where minfied or originally coffeescript) then the source in the bunle is not the original
22:41:14  <Raynos>true dat
22:41:38  <thl0>Raynos: so chrome wants to load the actual original code before it was transformed in any way since the whole point is to debug your code as you see it in your editor
22:41:59  <thl0>Raynos: and get stacktraces pointing to lines in your editor
22:42:15  <Raynos>I see your point
22:42:18  <Raynos>I still think
22:42:31  <Raynos>It's ok
22:42:46  <thl0>so sourcemapURLs support that - not such a big deal since they could also just exist in memory as long as you serve them to chrome when it asks for it
22:42:47  <Raynos>defunctzombie: remind to remove the reducible bullshit from Raynos/tryme so you land my fork :D
22:44:56  <thl0>Raynos: this is actually pretty cool if you think about it, since now you could write and debug any language in the browser that transpiles sourcemap information
22:45:25  <thl0>Raynos: although I personally am perfectly fine with JavaScript ES5 ;)
22:52:17  * rvaggquit (Ping timeout: 248 seconds)
22:55:48  * Altreusquit (Ping timeout: 248 seconds)
22:56:20  * Altreus_joined
22:57:22  * mikealjoined
22:57:37  * nicholasfjoined
23:00:13  * rvaggjoined
23:04:21  * mikealquit (Quit: Leaving.)
23:06:22  * isaacs_mobilejoined
23:06:31  * isaacs_mobilequit (Client Quit)
23:17:26  * cianomaidinquit (Quit: cianomaidin)
23:32:31  * spionjoined
23:44:36  * mikolalysenkoquit (Ping timeout: 264 seconds)
23:46:37  <ralphtheninja>mbalho: have any good pointers to sites with public and sound data?
23:47:05  <ralphtheninja>mbalho: want pretty much any kind of data, population in cities, temperatures, whatever
23:47:18  <ralphtheninja>preferrably in json of course :)
23:48:35  <ralphtheninja>and if it's just streams you can connect to, even better
23:51:29  <rvagg>mbalho: gunzip that file before you put it on your kindle btw
23:52:28  <thl0>substack: Raynos: created sample express app using sourcemaps here: https://github.com/thlorenz/browserify-sourcemap-example
23:52:36  <thl0>it's actually no pain at all
23:52:49  <substack>I'll need to play around with this
23:54:24  <thl0>substack: cool - all I did is use a static file server to serve original files
23:54:40  <thl0>substack: bundle is generated on the fly during development to reflect changes
23:57:15  <thl0>substack: I'll also investigate the sourceRoot property - possibly that could point anywhere (i.e. even a different server)
23:57:57  <thl0>substack: at that point it wouldn't matter where your bundle actually is, since it will resolve files relatively to the source root
23:58:25  <thl0>would be useful to find out if I could point that to a different domain even