00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:15:35  * AvianFlujoined
00:20:13  * mikealquit (Read error: Connection reset by peer)
00:24:05  * mikealjoined
00:25:11  * mikealquit (Client Quit)
00:37:52  * yorickquit (Read error: Connection reset by peer)
01:00:29  * dominictarrquit (Read error: Connection reset by peer)
01:01:03  * dominictarrjoined
01:20:46  * AvianFluquit (Remote host closed the connection)
01:23:05  <isaacs>defunctzombie: what's your test case?
01:24:39  <defunctzombie>isaacs: https://gist.github.com/4651999
01:25:26  <defunctzombie>isaacs: I think we talked about it some before but iirc the version of npm I am running should be ok but seems to not be
01:25:40  <defunctzombie>it is the npm that ships with node 0.8.16 (me thinks)
01:26:23  <dominictarr>code mirror does things exactly the way I don't want to do them… the anti widget way
01:27:03  <isaacs>defunctzombie: i see. it works, but only if that's not a tag.
01:27:44  <defunctzombie>isaacs: I don't follow, sorry
01:27:50  <defunctzombie>dominictarr: yea.. it is pretty annoying :)
01:28:11  <defunctzombie>that is why I didn't start on top of codemirror by itself, interactivate made stuff easier
01:28:14  <dominictarr>like, appending itself to the document is the first wrong move
01:28:27  <dominictarr>defunctzombie: yeah, I'm just venting
01:28:30  <defunctzombie>dominictarr: maybe we need to fork and clean some stuff up :)
01:28:39  <defunctzombie>dominictarr: please.. don't let me stop you :)
01:28:47  <defunctzombie>isaacs: a tag in npm?
01:28:48  <dominictarr>yes, make it browserifyable
01:29:02  <isaacs>defunctzombie: sorry. i mean, it checks to see if user/project is a tag in the registry, and fails on a 404, but it shouldn't fail on that
01:30:59  <defunctzombie>isaacs: ah gotcha
01:31:19  <defunctzombie>yea, that would be nice if it didn't fail out on that
01:31:53  <mikolalysenko>stream question here: what is the best way to implement a "lazy stream"
01:32:05  <mikolalysenko>ie I want to return a stream right away, but do some async stuff
01:32:21  <mikolalysenko>and when it completes I'll get a stream that I want to tie to the resulting stream I returned
01:35:27  <mikolalysenko>I could use a buffer stream, but I don't necessarily want buffering
01:38:12  * st_lukequit (Remote host closed the connection)
01:39:33  <defunctzombie>I just installed some python stuff... but I don't know where
01:41:00  * jibayjoined
01:43:21  <mikolalysenko>also what is the best way to report an error in a stream?
01:43:34  <mikolalysenko>like I return a stream, write some stuff to it and half way through I crash
01:43:40  <substack>mikolalysenko: usually you emit 'error' on the stream object
01:43:55  <mikolalysenko>ok, that's what I was doing but it seemed a bit hackish
01:44:05  <substack>nope, that's usually how it's done
01:44:14  <mikolalysenko>substack: also, did you see my above question?
01:44:29  <mikolalysenko>I can't quite figure out what the standard way to return a lazy stream is
01:44:41  <substack>you shouldn't need to make it lazy
01:44:45  <mikolalysenko>hmm
01:44:45  <substack>just return a stream object
01:44:48  <mikolalysenko>ok
01:44:50  <substack>and don't start writing to it for a while
01:44:53  <mikolalysenko>I tried that but something broke
01:45:04  <mikolalysenko>yeah, that was what I thought would work but maybe I am doing something wrong
01:45:12  <mikolalysenko>basically I am getting some error when I try to pipe into it
01:45:14  <substack>make sure its readable property is set
01:45:21  <substack>and its .writable
01:45:27  <mikolalysenko>done and done
01:45:29  <substack>you might need to buffer up some of the writes
01:45:34  <mikolalysenko>hmm
01:45:41  <substack>var buffer = []
01:45:42  <mikolalysenko>I called file.pipe(returned_stream);
01:45:48  <substack>is usually just what I do
01:45:49  <mikolalysenko>that should do the buffer automatically
01:45:56  <substack>can you gist the code?
01:46:03  <mikolalysenko>sure thing, hang on
01:51:11  <mikolalysenko>substack: ok here you go https://gist.github.com/4652191
01:51:29  <mikolalysenko>it is from a module I am hacking on to wrap latex into something more manageable
01:51:32  <defunctzombie>dominictarr: let me know if you do decide to make codemirror usable as a widget like thing
01:52:39  <substack>mikolalysenko: your stream doesn't have a .write or .end
01:52:46  <mikolalysenko>hmm
01:52:54  <mikolalysenko>ok
01:52:55  <substack>so it's not actually a writable stream
01:53:00  <mikolalysenko>ah I see
01:53:05  <substack>do this: var through = require('through'); var stream = through()
01:53:16  <substack>then get rid of setting .readable and .writable and try it
01:53:19  <mikolalysenko>fantastic
01:53:42  <substack>and npm install through
01:53:49  <mikolalysenko>of course
01:54:19  <mikolalysenko>ok, I think that worked
01:54:35  <mikolalysenko>awesome! thanks!
01:59:35  <substack>great!
02:01:59  <substack>ok now I see that it's not finding node_modules/mocha/mocha.js
02:02:05  <substack>ignore that
02:06:10  <defunctzombie>heh
02:07:15  * substackbikes &
02:07:19  <defunctzombie>dominictarr: http://tryme.jitsu.com/ <-- solarized light now
02:08:11  <defunctzombie>and wow does npm install take a while with the tryme repo jesus
02:09:00  <dominictarr>defunctzombie: it just spinned for ages and then nothing
02:09:05  <dominictarr>oh, here it is
02:09:10  <defunctzombie>it will get there
02:09:13  <defunctzombie>takes some time :)
02:09:16  <defunctzombie>it has to npm install
02:09:25  <defunctzombie>and that usually has quite a bit of stuff haha
02:10:22  <defunctzombie>the shadows need to be toned down, but otherwise I think it is alright
02:10:40  <dominictarr>defunctzombie: okay, I'm getting some weird stuff stuck there too
02:10:47  <dominictarr>in localstorage
02:10:54  <dominictarr>sorry - bad phrasing
02:11:14  <dominictarr>I see some editor sections that are just empty
02:12:11  * mikolalysenkoquit (Ping timeout: 255 seconds)
02:12:35  <defunctzombie>refresh? empty how?
02:13:57  <defunctzombie>substack: you should make some interactive examples with some of your web widget repos :)
02:15:31  <defunctzombie>everyone should \o/
02:27:10  * jibayquit (Read error: Connection reset by peer)
02:44:09  * AvianFlujoined
02:51:34  <substack>defunctzombie: I have!
02:51:51  <defunctzombie>\o/
02:51:53  <substack>http://substack.net/projects/slideways/
02:51:56  <substack>http://substack.net/projects/pricing-widget/browserling/
02:52:17  <defunctzombie>you should make them use tryme :p
02:53:44  <defunctzombie>the slideways one would be quite perfect actually
02:53:59  * mikealjoined
02:55:03  * mikealquit (Client Quit)
03:04:26  <defunctzombie>substack: http://tryme.jitsu.com/shtylman/slideways/example/
03:04:32  <defunctzombie>I kinda made it work hahaha
03:04:38  <defunctzombie>not sure why the slider doesn't slide :/
03:28:38  * dominictarrquit (Read error: Connection reset by peer)
03:29:37  * dominictarrjoined
03:37:01  * nk109quit (Quit: Computer has gone to sleep.)
04:02:57  * mikolalysenkojoined
04:13:46  * calvinfoquit (Ping timeout: 245 seconds)
04:23:22  * AvianFluquit (Remote host closed the connection)
04:28:33  <mikolalysenko>ls
04:28:36  <mikolalysenko>err oops
04:28:41  * ralphtheninjaquit (Ping timeout: 252 seconds)
04:29:45  * calvinfojoined
04:33:51  <defunctzombie>no such file or directory
04:34:55  * mikealjoined
04:40:53  * devaholicquit (Ping timeout: 256 seconds)
04:42:27  * mikealquit (Quit: Leaving.)
04:44:22  <dominictarr>okay, guys: crazy idea
04:44:47  <fotoverite>yes!
04:44:56  <dominictarr>interactive examples that are entirely browser, but include server code
04:45:16  <dominictarr>just write the server in _another tab_
04:47:57  <dominictarr>this would be fairly feasible for demonstrating streams, scuttlebutt, etc
04:48:34  <dominictarr>use http://github.com/dominictarr/tab-stream instead of net
04:53:38  * ralphtheninjajoined
05:00:50  * shamajoined
05:04:24  <defunctzombie>dominictarr: elaborate?
05:04:57  <defunctzombie>dominictarr: have you seen node-interactivate ?
05:04:58  <dominictarr>well, the user needs to become familiar with ideas about connections, etc
05:05:14  <dominictarr>ah, I havn't played with it yet
05:05:18  <defunctzombie>https://github.com/Gozala/node-interactivate
05:05:21  <defunctzombie>it is pretty cool
05:05:23  <dominictarr>and i SAID it was a crazy idea
05:05:26  <jesusabdullah>uuugh it's 10:30am >_< >_<
05:05:35  <jesusabdullah>mornings :C
05:05:37  <defunctzombie>basically interactivate except ships the snippet to the server
05:05:52  <fotoverite>morning
05:06:04  <jesusabdullah>>_<
05:07:06  <defunctzombie>I am pretty pleased with the direction of try me, really the only issue is that you have to code it all in js (so now html page to callback to)
05:07:20  <defunctzombie>but I have some ideas around that, and most times it isn't that bad
05:08:01  <defunctzombie>my goal is to get people to focus on making simple examples for small widgets without worrying about the harness
05:08:26  <jesusabdullah>ahahaha
05:08:34  <jesusabdullah>my bird tried to take a bath in my mom's ice water
05:08:43  <jesusabdullah>according to facebooks
05:08:50  <defunctzombie>wow
05:08:55  <dominictarr>can I center align a inline block without giving it a fixed width?
05:09:21  <dominictarr>defunctzombie: I'm experementing with something similar, right now too
05:09:21  <defunctzombie>margin: 0 auto
05:09:25  <defunctzombie>cool
05:09:45  <defunctzombie>dominictarr: the answer to any css question is usually yes hahaha
05:12:08  <jesusabdullah>unless the question is, "will the obvious way work?"
05:12:17  <defunctzombie>right
05:13:48  <dominictarr>defunctzombie: okay, it's not working
05:14:05  <defunctzombie>dominictarr: did you mean vertical or horizontal?
05:14:06  <jesusabdullah>ahaha!
05:14:16  <dominictarr>horizontal
05:14:27  <defunctzombie>should work.. me thinks.. jsfiddle it :)
05:18:02  <mikolalysenko>god this took longer than it should have: https://npmjs.org/package/latex
05:19:16  <jesusabdullah>mikolalysenko: not pdflatex by default?
05:19:20  <mikolalysenko>no
05:19:23  <jesusabdullah>:(
05:19:30  <mikolalysenko>dvi is easier to work with via graphics magic
05:19:37  <mikolalysenko>which is what you probably want to do anyway
05:19:51  <jesusabdullah>why?
05:19:52  <jesusabdullah>I mean
05:20:03  <mikolalysenko>well, maybe you want to split the output apart by files
05:20:03  <jesusabdullah>usually I want to compile a document and then be like, "hey guys I wrote this leet paper"
05:20:21  <mikolalysenko>yeah, but for that you should probably just call latex via the commandline
05:20:32  <mikolalysenko>the use case I am thinking of is generating images from mathmode expressions
05:20:40  <jesusabdullah>hmmmmm
05:20:42  <jesusabdullah>I see
05:20:50  <mikolalysenko>this doesn't quite do that though
05:20:56  <mikolalysenko>it solves a slightly more basic problem
05:21:04  <jesusabdullah>sure, sure
05:21:10  <mikolalysenko>next step is building a tool to do the mathmode only stuff
05:21:31  <mikolalysenko>though it turns out that just calling LaTeX is a huge PITA anyway
05:21:51  <mikolalysenko>since it does everything in its own "unique" way, flagrantly violating any conventions
05:22:39  <mikolalysenko>like the default behavior of pausing parsing on errors to read input from stdin, or the fact that it doesn't spit output to stdout, or that it writes a chunk of intermediate stuff to disk and does multiple passes, etc.
05:22:52  <mikolalysenko>but I digress...
05:23:01  <jesusabdullah>that ctrl-c doesn't quit...
05:23:12  <mikolalysenko>hmm
05:23:20  <jesusabdullah>I love tex but it shows its age
05:23:25  <jesusabdullah>in a lot of bizarre ways
05:23:39  <mikolalysenko>yeah, I think it was kind of bad even when it was first created
05:23:45  <mikolalysenko>but it does a good job at typesetting
05:23:52  <mikolalysenko>and there isn't really any viable replacement
05:24:11  <mikolalysenko>and I guess that is all that matters the end of the day
05:24:24  <jesusabdullah>there are alternatives to latex
05:24:26  <jesusabdullah>like
05:24:27  <jesusabdullah>context
05:24:48  <mikolalysenko>yeah, but no journals accept them and none of them really do mathmode right
05:25:04  <mikolalysenko>and they don't work with existing latex packages (for obvious reasons)
05:25:05  <jesusabdullah>MS word \m/
05:25:15  <mikolalysenko>...no
05:25:51  <jesusabdullah>Hey, the math editor in the 20X6 version or whatever wasn't too bad
05:26:22  <mikolalysenko>ok, perhaps I am being too hard on it
05:26:42  <mikolalysenko>but the results always look bad, like I can tell that the paper has been typeset with MS word
05:27:21  <mikolalysenko>anyway, I am tired and need to get some sleep
05:27:25  <jesusabdullah>a'ight
05:27:32  <jesusabdullah>dont' worry I hate MS Word too
05:27:40  <jesusabdullah>at least the new excel charts are less crappy
05:27:45  <dominictarr>mikolalysenko: jesusabdullah maybe there is a CSS that can just make markdown look like a paper
05:28:01  <dominictarr>and then a js to generate equasions
05:31:28  <dominictarr>defunctzombie: http://jsfiddle.net/hjPBF/2/
05:36:24  <defunctzombie>dominictarr: what do yo uwant to happen/
05:36:38  <dominictarr>I want the textarea to be centered
05:38:16  <defunctzombie>dominictarr: http://jsfiddle.net/hjPBF/2/
05:38:56  <dominictarr>it's the same
05:39:07  <defunctzombie>hm
05:39:07  <defunctzombie>http://jsfiddle.net/hjPBF/3/
05:39:07  <dominictarr>did you mean to send a different link?
05:39:10  <defunctzombie>maybe
05:39:17  <defunctzombie>I don't know how this jsfiddle share magic works
05:39:29  <defunctzombie>you don't need the margin stuff
05:39:32  <defunctzombie>just text-align: center
05:39:38  <defunctzombie>and you are set
05:42:50  <dominictarr>oh, but that makes all text centeraligned
05:42:57  <dominictarr>http://jsfiddle.net/hjPBF/7/
05:43:22  <defunctzombie>dominictarr: you did not specify you had other things :p
05:43:28  <defunctzombie>what do you _really_ want :)
05:44:27  <dominictarr>I want to center the content like on github
05:44:43  <dominictarr>but, without using fixed width
05:45:29  <defunctzombie>?
05:45:35  <defunctzombie>you need some sort of width
05:45:58  <defunctzombie>otherwise what do you mean by "center" ?
05:46:31  <dominictarr>I mean that it should be equally far from either side of the page :)
05:46:39  <defunctzombie>the text area?
05:46:42  <defunctzombie>but not the otehr text?
05:46:48  <defunctzombie>the other text you want on the far left?
05:47:14  <dominictarr>in the jsfiddle - I want the #markdown div to be centered
05:47:35  <dominictarr>and wide enough to fit the text area
05:47:41  <defunctzombie>but your markdown div is centered
05:47:44  <dominictarr>but the text inside it should be right aligned
05:47:45  <defunctzombie>cause it fills the entire space
05:48:49  <dominictarr>http://jsfiddle.net/hjPBF/8/
05:48:56  <dominictarr>^ not if it's inline-block
05:49:58  <defunctzombie>dominictarr: http://jsfiddle.net/hjPBF/10/
05:50:01  <defunctzombie>you just had a type
05:50:15  <defunctzombie>seems like what you want to me.. no?
05:50:46  <dominictarr>YES
05:50:50  <dominictarr>thank you so much!
05:51:45  <defunctzombie>no problem :)
05:57:44  * mikolalysenkoquit (Ping timeout: 240 seconds)
06:08:47  * mikealjoined
06:12:29  * mikealquit (Client Quit)
06:14:24  * ralphtheninjaquit (Ping timeout: 260 seconds)
06:16:14  * mikealjoined
06:16:32  * mikealquit (Client Quit)
06:25:47  * mikolalysenkojoined
06:28:01  * mikealjoined
06:33:11  * mikolalysenkoquit (Ping timeout: 255 seconds)
06:37:51  * dguttmanquit (Quit: dguttman)
07:08:10  * nk109joined
07:17:59  * mirkokjoined
07:48:12  <Raynos>dominictarr: how is hyperscript different from h/
07:48:50  <dominictarr>it's h with a new name
07:49:00  <Raynos>btw i really like the hyperscript idea
07:49:02  <dominictarr>and 1 awesome new feature
07:49:13  <Raynos>I think I want something like that, but works on server and browser
07:49:30  <dominictarr>for making realtime pages
07:49:34  <Raynos>on the server its String(h(...)) would be HTML
07:49:36  <dominictarr>I'm gonna push a demo soon
07:50:10  <dominictarr>well, just need to make a HTMLElement that works on node
07:50:20  <Raynos>something like that
07:50:46  <Raynos>so if you pass it a function
07:50:54  <Raynos>that returns string or node
07:50:58  <Raynos>it will update it in place
07:52:29  <dominictarr>if you go h('h1', function () {…})
07:52:47  <dominictarr>it expects the function to be an observable value
07:52:55  <dominictarr>f() -> returns value
07:53:00  <dominictarr>f(value) -> sets value
07:53:15  <dominictarr>f(function (v) {…}) -> notifes when value changes
07:53:36  * dominictarrquit (Read error: Connection reset by peer)
07:53:53  * dominictarrjoined
07:54:33  <defunctzombie>http://tryme.jitsu.com/shtylman/piecon/example/
07:54:37  <defunctzombie>\o/
07:54:41  <defunctzombie>module all the things
07:56:34  <dominictarr>defunctzombie: NICE!
07:56:53  <dominictarr>that is really cool
07:57:03  <defunctzombie>dominictarr: I can't take credit for the module
07:57:09  <defunctzombie>it was someone's js code
07:57:16  <defunctzombie>but I thought it would be a cool demo
07:57:21  <defunctzombie>so I made it work haha
07:57:24  <defunctzombie>super easy
07:57:29  <defunctzombie>and also published it to npm
07:57:37  <defunctzombie>need to email them and see if they want to own the module
07:58:05  <dominictarr>well, you still deserve thanks for publishing it
07:59:07  <Raynos>defunctzombie: we need require("window")
07:59:08  <dominictarr>I want to make a single page app for organizing cross timezone meetings
07:59:30  <defunctzombie>Raynos: yes
07:59:37  <dominictarr>I want to make it work for totaly retards
07:59:41  <defunctzombie>to go along with require('process');
07:59:43  <defunctzombie>which we now have haha
07:59:50  <defunctzombie>dominictarr: hahaha
07:59:53  <dominictarr>and require('document')
07:59:56  <defunctzombie>dominictarr: time zones.. how do they work
08:00:03  <defunctzombie>down with all the globals!!
08:00:09  <Raynos>agreed
08:00:16  <dominictarr>defunctzombie: there are all these different ones, which one am i in?
08:00:18  <Raynos>I use require("console") too :D
08:00:25  <defunctzombie>nice
08:00:38  <dominictarr>require is the only global we want.
08:00:43  <defunctzombie>I generally avoid console logging in favor of logging lib
08:00:47  <Raynos>https://github.com/substack/node-browserify/pull/275
08:00:47  <defunctzombie>I agree
08:00:56  <Raynos><- add some plus 1 noise
08:01:04  <Raynos>I hate logging libraries, too much bullshit
08:01:06  <Raynos>console is fine
08:01:19  <defunctzombie>Raynos: I wrote one with as little bullshit as i could think
08:01:21  <Raynos>dominictarr: we also need `module` as a token
08:01:27  <defunctzombie>I needed to be able to have good app error level logging
08:01:35  <Raynos>Well that's not true. logging libraries for apps are fine
08:01:36  <dominictarr>Raynos: true
08:01:47  <defunctzombie>yea, it is app level logging
08:01:50  <Raynos>and __dirname >_<
08:01:50  <defunctzombie>not lib level
08:01:57  <defunctzombie>libs should pass their errors up to me
08:01:59  <dominictarr>and __filename __dirname should be module.filename
08:02:00  <defunctzombie>and let me log them
08:02:00  <Raynos>but I write too many lib's and I use console for debugging
08:02:01  <dominictarr>module.dirname
08:02:15  <Raynos>dominictarr: good idea!
08:02:25  <Raynos>we should bitch at isaacs until he does that
08:02:33  <dominictarr>he never will
08:03:00  <dominictarr>this is a feature for node3
08:03:09  <dominictarr>sorry, I actually meant to type node2
08:03:40  * mikolalysenkojoined
08:03:45  <defunctzombie>haha
08:03:46  <defunctzombie>node3
08:03:47  <Raynos>xd
08:03:57  <defunctzombie>Raynos: dominictarr: I published tryme 0.0.1 to npm
08:04:00  <Raynos>well module.filename === __filename
08:04:00  <defunctzombie>the cli should work now
08:04:03  <dominictarr>the other thing we need, is to make http.createServer
08:04:06  <defunctzombie>if you point it to an example dir
08:04:17  <dominictarr>… go like http.createServer(function (stream) {
08:04:30  <dominictarr>not function (req, res)
08:04:33  <Raynos>dominictarr: http.createServer should return an object stream of streams :P
08:04:40  <defunctzombie>dominictarr: http protocol isn't like that tho
08:04:50  <Raynos>but i digress
08:05:04  <Raynos>http.createServer(function (duplex) { ... }) is a good idea
08:05:11  <dominictarr>the problem is 'upgrade'
08:05:24  <dominictarr>sock.install(server, '/prefix')
08:05:27  <dominictarr>is HORRIBLE
08:05:30  <Raynos>isaacs, dominictarr: once node 1.0 is done can we create node2 and break all back compat?
08:05:50  <dominictarr>Raynos: we must.
08:06:33  <Raynos>dominictarr: write a tryme demo for hyperscript!
08:06:58  <dominictarr>it will mostly be refactoring out the core modules and publishing them to npm.
08:07:50  <Raynos>all of node should be on npm
08:07:52  <dominictarr>Raynos: I'm about to do something very similar.
08:08:12  <Raynos>the only thing left should be npm which comes pre-bundled with some dependencies
08:08:17  <Raynos>and probably node.js
08:08:23  <dominictarr>http://npm.im/npm
08:08:42  <Raynos>node should be split up like levelup and leveldown are
08:09:36  <dominictarr>thing is, node is already a huge improvement upon ruby and the like.
08:10:06  <dominictarr>but we've learnt a lot about how things could be improved even further
08:10:46  <dominictarr>Raynos: can I have observable? I'm gonna obliterate it though
08:11:18  <Raynos>yes
08:11:39  <dominictarr>cool, can you transfer ownership to me?
08:12:00  <Raynos>Just did on GH
08:12:06  <Raynos>your an owner on npm
08:13:02  <defunctzombie>Raynos: dominictarr: http://tryme.jitsu.com/shtylman/hyperscript/examples/
08:13:38  * mikolalysenkoquit (Ping timeout: 252 seconds)
08:13:38  <Raynos>500 :(
08:14:05  <defunctzombie>refresh?
08:14:09  <defunctzombie>it loads for me
08:14:23  <dominictarr>nice
08:14:40  <Raynos>i crashed it?
08:14:51  <Raynos>> An error has occurred: {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect"}
08:15:03  <defunctzombie>haha
08:15:23  <dominictarr>I am having problems with the // => bit though
08:15:27  <defunctzombie>yea
08:15:31  <defunctzombie>I will need to look into that
08:15:37  <defunctzombie>it seems to be behaving strangely lately
08:15:43  <defunctzombie>might be cause I updated codemirror
08:16:25  <defunctzombie>this is how all example javascript should be haha
08:16:35  <defunctzombie>so much more fun
08:17:01  <Raynos>:)
08:17:14  * shamaquit (Quit: shama)
08:18:32  <dominictarr>Raynos: can you transfer observable?
08:18:57  <Raynos>github takes time to transfer
08:19:15  <Raynos>because github is a troll
08:19:21  <Raynos>and has a manual transfer process
08:19:25  <Raynos>or some bullshit
08:19:37  <fotoverite>eating all our developers
08:19:50  <Raynos>your already a contributor
08:20:39  <defunctzombie>contributor is easier than transfer for sure
08:20:50  <defunctzombie>dominictarr: do you want a pull request for the example?
08:20:55  <dominictarr>oh, hmm.. that is not gonna work because it's a complete new repo
08:21:07  <defunctzombie>I just threw it up there cause it took me a whole 2 seconds haha
08:21:43  <dominictarr>defunctzombie: no, I got it under control, made a thing that turns your readme.md -> interactive demo
08:21:51  <defunctzombie>cool
08:21:57  <defunctzombie>I want to see that :)
08:22:10  <Raynos>I WANT THAT TOO
08:22:10  <LOUDBOT>I AM BAD WITH WORDS I JUST TYPE AND THE COMPUTER GOES
08:22:21  <Raynos>readme -> demo is a dream come true
08:22:29  <Raynos>i hate the duplication between examples and readme
08:22:36  <defunctzombie>yea
08:22:49  <defunctzombie>that is why I usually say look at examples
08:22:57  <defunctzombie>readme has very basic most common case
08:25:51  <defunctzombie>dominictarr: I think it would be really easy to make tryme do the readme thing you want to do
08:25:58  <defunctzombie>off the top of my head ->
08:26:06  <defunctzombie>parse the markdown using marked
08:26:17  <defunctzombie>use the highlight function they expose
08:26:35  <defunctzombie>to turn the js into the stuff that makes a section with // => at end
08:26:43  <defunctzombie>and the rest is rendered as markdown
08:26:52  <defunctzombie>in comments
08:27:05  <defunctzombie>and run that through the bundler to get the requires
08:27:30  <dominictarr>defunctzombie: yeah, that is basically what I've done, but without codemirror
08:27:54  <defunctzombie>dominictarr: basically, turn the markdown file into a tmp js file flipping the fenced code blocks
08:27:55  <dominictarr>I just generate a single html file that is easy to make into a static site
08:27:57  <defunctzombie>and tryme will render it
08:28:01  <defunctzombie>cool
08:28:16  <dominictarr>defunctzombie: totes
08:31:42  <defunctzombie>I really need to put my sleep schedule back on track
08:32:48  * mikolalysenkojoined
08:35:31  <dominictarr>bah!
08:35:47  <dominictarr>YOU CAN SLEEP WHEN YOUR DEAD
08:35:47  <LOUDBOT>I'VE BEEN CHEATING ON YOU WITH CONSUELA THIS WHOLE TIME
08:36:01  <defunctzombie>hahaha
08:36:05  <fotoverite>sleep is good
08:36:45  <dominictarr><3 THE SUBTLE WAY LOUDBOT ENCOURAGES CAPSLOCK
08:36:45  <LOUDBOT>THE HARLOT, THE SEER, ANYONE BUT THE DAMN PENGUIN!
08:38:26  * defunctzombiechanged nick to defunctzombie_zz
08:39:37  * mikolalysenkoquit (Ping timeout: 244 seconds)
08:41:55  <Raynos>dominictarr: I've been thinking about immutable data types for JS :p
08:42:05  <Raynos>so instead of mutable observables you just pass around values
08:44:28  <dominictarr>what do you mean 'values'?
08:44:59  <dominictarr>from the user's perspective, when you edit a form, you've changed the value
08:45:22  <dominictarr>you could pretend that you have created a new document...
08:45:43  <dominictarr>but the user probably wants other users to also see the new document immediately
08:47:47  <Raynos>Well actually it's a different use-case
08:49:14  <Raynos>i just prefer to not think of an observable as tracking a mutable value
08:49:21  <Raynos>i prefer to think of it as a stream of values
08:49:24  <Raynos>i.e. an event
08:49:34  <Raynos>well not an event
08:50:17  <Raynos>I like the idea of Property ( https://github.com/raimohanska/bacon.js?utm_source=javascriptweekly&utm_medium=email#property )
08:50:28  <Raynos>which is a stream of values that also has a notion of current state
08:54:44  <Raynos>dominictarr: I like how observable.boolean is bound to o in a bidirectional fashion
08:55:22  <dominictarr>yes, basically the idea here was the simplest way to make a 2-way binding
08:55:33  <dominictarr>it's basically what knockout has
08:55:44  <dominictarr>but without a bunch of nonsense
08:56:22  <dominictarr>Raynos: yes. It's the same idea as property in frp
08:56:30  <dominictarr>but it's different than a stream
08:56:42  <dominictarr>because you do f() and always get the latest vaulue
08:57:32  <dominictarr>so, you shouldn't use it for things that are stateful in the sense that the meaning of a given value is dependent on the previous values
08:58:06  <dominictarr>the application state at any particular time must be entirely defined interms of the collection of current values
08:58:27  <dominictarr>is this what you mean?
09:04:30  * mikolalysenkojoined
09:10:09  * devaholicjoined
09:31:45  <dominictarr>http://dominictarr.github.com/hyperscript/
09:39:02  * mikolalysenkoquit (Ping timeout: 244 seconds)
09:47:00  * cianomaidinjoined
09:59:43  * mirkok_joined
10:00:02  * mirkokquit (Ping timeout: 256 seconds)
10:00:02  * mirkok_changed nick to mirkok
10:00:12  * cianomaidinquit (Ping timeout: 252 seconds)
10:01:18  * cianomaidinjoined
10:09:44  <jesusabdullah>hyperskgript eh?
10:09:58  <jesusabdullah>oh cute
10:10:11  <jesusabdullah>a relatively small, obvious dsl that doesn't try to be too clever
10:10:17  <jesusabdullah>*approval*
10:11:24  <jesusabdullah>Almost lispish
10:11:39  * cianomaidinquit (Quit: cianomaidin)
10:17:03  * dominictarrquit (Read error: Connection reset by peer)
10:17:58  * dominictarrjoined
10:33:33  * captain_morganjoined
10:39:24  <dominictarr>jesusabdullah: yes, here is the clever part http://dominictarr.github.com/observable/
10:39:46  <dominictarr>(but it's still obvious and lispy)
10:41:25  * mikolalysenkojoined
10:41:52  <jesusabdullah>dominictarr: is this a sane FRP api?? o lawds
10:42:19  <dominictarr>it's a very simple one, at least
10:42:42  <dominictarr>my main objection to FRP is that they always have too much documentation
10:43:21  <jesusabdullah>Yeah, I feel like it shouldn't be much harder than excel y'know?
10:43:32  <jesusabdullah>Like, if spreadsheets can do FRP why can't actual languages?
10:44:14  <dominictarr>oh, man
10:44:25  <dominictarr>I totally forgot about spreadsheets
10:44:37  <dominictarr>I think I'm gonna make a collaborative excell
10:44:50  <jesusabdullah>I mean, that's the **one** cool thing spreadsheets do
10:44:53  <jesusabdullah>well, maybe one of two
10:45:03  <jesusabdullah>one is FRP-style page updates
10:45:29  <jesusabdullah>the other is, I guess, having a tabular representation that you can use for pretty printing
10:45:46  <jesusabdullah>graph api is nice to have but in the end fairly pedestrian, even hard to work with
10:46:16  <jesusabdullah>but I feel like that should all be separable from the frp aspect *anyway8
10:46:18  <jesusabdullah>*anyway*
10:46:21  <jesusabdullah>bahhh
10:49:32  <dominictarr>jesusabdullah: this is interesting. I was contemplating ways of handling observable arrays
10:49:55  <dominictarr>but a (2d) grid is also an interesting idea!
10:50:27  <jesusabdullah>I mean, you could just make an array of observables, yeah?
10:50:38  <dominictarr>of course.
10:50:40  <jesusabdullah>and iterate through that for pretty printing
10:50:47  <jesusabdullah>yeah, that's how I'd do it :)
10:50:59  <jesusabdullah>or similar, might not be The Smartest Thing
10:51:04  <dominictarr>one thing that complects it is adding and removing elements
10:51:19  <jesusabdullah>indeed
10:51:22  <dominictarr>but maybe the other elements don't change
10:51:23  <jesusabdullah>null values maybe
10:51:54  <dominictarr>but they might have UI generated from them
10:52:00  <jesusabdullah>hmm
10:52:07  <dominictarr>so, don't replace those UI
10:52:13  <dominictarr>but add the new ones
10:53:22  <dominictarr>but, maybe you can just check the identity of the elements
10:54:09  <dominictarr>of course, a 2d array is different - maybe you want to fix the dimensions there
10:55:12  * mikolalysenkoquit (Ping timeout: 252 seconds)
11:20:37  * yorickjoined
11:20:38  * yorickquit (Changing host)
11:20:38  * yorickjoined
11:29:57  * ins0mniajoined
11:36:14  * cianomaidinjoined
11:55:44  * mirkokquit (Ping timeout: 256 seconds)
11:58:40  * mirkokjoined
12:04:37  * mikolalysenkojoined
12:18:14  * mikolalysenkoquit (Ping timeout: 240 seconds)
12:20:08  * dominictarrquit (Quit: dominictarr)
12:37:23  * mikolalysenkojoined
12:45:36  * mikolalysenkoquit (Ping timeout: 256 seconds)
12:46:44  * mikolalysenkojoined
12:57:19  * AvianFlujoined
13:00:48  * mirkokquit (Quit: mirkok)
13:01:37  * mirkokjoined
13:13:14  * mikolalysenkoquit (Ping timeout: 240 seconds)
13:29:57  * ralphtheninjajoined
13:52:08  * niixjoined
14:06:19  * mikolalysenkojoined
14:25:20  * shuaibjoined
14:31:56  * AvianFluquit
15:22:20  * saijanai_joined
15:24:18  * captain_morganquit (Remote host closed the connection)
15:38:23  * dguttmanjoined
15:56:09  <rowbit>SubStack, pkrumins: At least 5 people waiting in the queue for free servers! (Waiting: 17)
15:58:30  <isaacs>Raynos: https://vimeo.com/56402326
16:13:45  * jibayjoined
16:15:39  * alunnyjoined
16:30:26  * alunnyquit (Ping timeout: 245 seconds)
16:34:31  * yuriy_nemtsovjoined
16:36:21  * mikolalysenkoquit (Ping timeout: 276 seconds)
16:42:11  * mikolalysenkojoined
16:44:54  * alunnyjoined
16:49:47  * defunctzombie_zzchanged nick to defunctzombie
16:51:54  * alunnyquit (Ping timeout: 256 seconds)
16:57:49  * shamajoined
16:58:23  * yuriy_nemtsovquit (Ping timeout: 245 seconds)
16:58:32  * shamaquit (Remote host closed the connection)
16:58:43  * shamajoined
17:02:59  * rannmannquit (Remote host closed the connection)
17:05:33  * rannmannjoined
17:05:33  * rannmannquit (Changing host)
17:05:33  * rannmannjoined
17:07:31  * ins0mniaquit (Ping timeout: 245 seconds)
17:31:01  * ins0mniajoined
17:36:16  * CryptoQuickjoined
17:44:17  * alunnyjoined
17:46:59  * cianomaidinquit (Quit: cianomaidin)
17:47:06  * mikolalysenkoquit (Ping timeout: 245 seconds)
17:52:31  <Raynos>isaacs: why do you need net
17:52:36  <Raynos>why can't net be in npm
17:52:52  <Raynos>all node.js needs to be is process.binding and NativeModule, maybe fs.
17:53:05  <Raynos>screw fs, you have process.binding("fs")
17:53:17  <Raynos>then everything else lives in npm
17:53:25  <Raynos>the only painpoint is bootstrapping npm
17:53:30  <Raynos>Just rewrite npm in C++ :D
17:54:29  <CryptoQuick>inline V8 compiled assembly? :)
17:59:47  * mikolalysenkojoined
18:01:08  <isaacs>Raynos: so you're saying, just process.binding
18:01:19  <isaacs>Raynos: have you ever *written* a server using process.binding only
18:01:20  <isaacs>?
18:01:24  <isaacs>Raynos: it's incredibly painful
18:01:37  <isaacs>Raynos: but sure, maybe require() should just fetch it from npm or something
18:04:37  * dguttmanquit (Quit: dguttman)
18:05:41  * mikealquit (Quit: Leaving.)
18:11:31  <ralphtheninja>isaacs: hehe, sometimes it's hard to know if you are serious or taking the piss :) I like mikeals short videos!
18:11:49  <isaacs>ralphtheninja: it's always both.
18:11:55  <isaacs>ralphtheninja: i'm very serious about my piss.
18:11:58  <ralphtheninja>lol
18:28:00  * wiwilliajoined
18:30:24  <defunctzombie>Raynos: isaacs: nodejs should be the event loop and base socket calls
18:30:31  <defunctzombie>everything else sits on top of that
18:30:52  <defunctzombie>basically, node/libuv handle the select dispatching and provide apis to send/recv data
18:31:04  <defunctzombie>that is why you need "net"
18:31:15  <defunctzombie>net is a terrible name tho haha
18:33:43  * dguttmanjoined
18:35:01  * nk109quit (Quit: Computer has gone to sleep.)
18:56:33  * AvianFlujoined
18:56:47  * jaekwon1quit (Ping timeout: 260 seconds)
19:05:09  * jaekwonjoined
19:10:10  * yuriy_nemtsovjoined
19:11:07  * sorensen_joined
19:11:10  * sorensen_quit (Client Quit)
19:17:14  * tphummeljoined
19:18:16  <Raynos>isaacs: I'm not saying I use process.binding ever. I'm saying `http` module on NPM and `net` module on NPM uses process.binding
19:18:56  * nk109joined
19:19:28  <isaacs>Raynos: sure.
19:19:35  <isaacs>Raynos: maybe oo is just bindings
19:19:38  <isaacs>*no
19:19:47  <isaacs>Raynos: "no.js" as in "there is no javascript here"
19:19:48  <isaacs>:)
19:22:32  <Raynos>isaacs: can I interrupt you on wednesday and ask really hard edgecase questions about streams2? :D
19:23:00  <isaacs>Raynos: no. but you can wait politely and then ask questions at the end :)
19:23:16  <Raynos>:D
19:24:56  <Raynos>I dont have any hard questions left :/
19:25:17  <Raynos>other then "how do I decide whether my data source should be a pull or push stream"
19:33:02  <rolnaaba>Is that talk at 7pm PST?
19:35:38  * shuaibquit (Ping timeout: 255 seconds)
19:36:56  * st_lukejoined
19:37:09  * AvianFluquit (Remote host closed the connection)
19:37:52  * shuaibjoined
19:47:23  <mikolalysenko>another stream question: is there a good way to sequentially concatenate streams?
19:47:47  <mikolalysenko>like if I want to do something like pipe stream a into b, then when it is done pipe stream c into b
19:48:50  <mikolalysenko>I could think of quite a few places where this could be useful, like building tar archives, pdf documents, etc.
19:53:01  <Raynos>defunctzombie: can you write window & document modules to put on npm? :D. What would those look like?
19:53:27  <Raynos>miko: there are functions for that. like concat
19:55:11  <Raynos>isaacs: I forgot about process. You need all that state on process aswell :(
19:55:12  * AvianFlujoined
19:55:52  <CoverSlide>net should be two modules
19:55:59  <CoverSlide>net-client, net-server
19:56:03  <CoverSlide>or rather tcp
19:56:39  <CoverSlide>most times I'm only using one or the other
19:57:01  <mikolalysenko>Raynos: Where is concat documented? I can't seem to find it
19:57:10  <Raynos>miko: you write it
19:57:25  <defunctzombie>Raynos: probably just expose the globals via module.exports :/
19:57:52  <defunctzombie>Raynos: maybe they could provide some backwards compat features if not detected?
19:58:04  <defunctzombie>but I would start with just expose global probably
19:58:19  <CoverSlide>if I'm using browserify, usually window/document are an argument of my function, but don't explicitly use them except on my entrypoint module
19:58:20  <defunctzombie>Raynos: https://npmjs.org/package/document :(
19:58:24  <defunctzombie>will need other names haha
19:58:39  <Raynos>well you can steal the window name from fat
20:00:28  <mikolalysenko>Raynos: I am not following you here. I know I could write my own stream concatenation code, but I figure since it seems like a common problem someone must've already done it.
20:00:30  <CoverSlide>maybe he can change it to window-dummy
20:01:13  * devaholicquit (Ping timeout: 240 seconds)
20:01:14  <CoverSlide>apparently ember needs it, but who's using ember on node anyway?
20:02:04  <Raynos>miko: https://github.com/Raynos/chain-stream#concat
20:02:30  <Raynos>nope not that one.
20:02:32  <mikolalysenko>Raynos: Again, not quite what I am looking for...
20:02:35  <Raynos>That one is in time not in space
20:02:55  <mikolalysenko>Raynos: Actually, I found smething that seems promising: https://github.com/fent/node-kat
20:02:56  <Raynos>I agree, someone must have written this
20:03:36  * st_lukequit (Remote host closed the connection)
20:04:38  <defunctzombie>Raynos: yea, window seems more promising
20:04:49  <Raynos>except it doesnt work in browsers
20:04:57  <Raynos>so we need to patch / steal it
20:06:30  <mikolalysenko>unforuntately, that node-kat doesn't really work so well
20:07:54  * alunnyquit (Ping timeout: 276 seconds)
20:09:13  <defunctzombie>Raynos: yea, looking at what it does.. it doesn't do anything
20:13:19  <guybrush>mikolalysenko: b.pipe(a).once('close',function(){c.pipe(a).once('close',function(){..})})
20:13:26  <guybrush>but not sure if that is what you want
20:14:27  <mikolalysenko>hmm
20:14:29  <guybrush>if its a thing you need commonly you may want to write some wrapper for it with async.js or any other async-module
20:14:33  <mikolalysenko>won't it send the end event to a?
20:14:40  <mikolalysenko>that would mess stuff up I think
20:14:46  <guybrush>oooh
20:14:52  <guybrush>i think there is an option
20:15:27  <mikolalysenko>guybrush: I am listening
20:15:41  <mikolalysenko>though I am maybe about 10 minutes away from saying fuck it and writing my own array concatenator
20:15:54  <mikolalysenko>err *stream concatenator
20:16:07  <guybrush>haha :D
20:16:10  <guybrush>mikolalysenko: http://nodejs.org/api/stream.html#stream_stream_pipe_destination_options
20:16:18  <guybrush>so you can pass an option end:false
20:16:33  <guybrush>it will keep the destination stream open
20:16:39  * ralphthe1injajoined
20:16:42  <mikolalysenko>ah, nice!
20:16:45  <mikolalysenko>hmm
20:16:45  * ralphtheninjaquit (Read error: Connection reset by peer)
20:17:00  * ralphthe1injachanged nick to ralphtheninja
20:17:03  <mikolalysenko>ok, but it is still a bit clumsy
20:17:22  <guybrush>you mean because of the "callback-hell" ? :p
20:17:27  <mikolalysenko>not quite
20:17:31  <mikolalysenko>it is that there are two cases
20:17:45  <mikolalysenko>first: I could already be piping a stream when I wan to concatenate a new one
20:17:59  <mikolalysenko>second: I could not be piping, and then it would be ok to just concatenate immediately
20:18:00  <guybrush>oh
20:18:11  <mikolalysenko>and I also need to buffer data events from any pending streams I concatenated
20:18:19  <mbalho>mikolalysenko: not sure if this helps https://npmjs.org/package/concat-stream
20:18:29  <mikolalysenko>yeah, saw that but not the same thing
20:18:36  <mikolalysenko>that drains a stream and concatenates the result
20:18:38  <mbalho>(missed the context of your problem)
20:18:44  <mikolalysenko>I want to concatenate a bunch of living streams
20:18:55  <mbalho>mikolalysenko: ahh without waiting until they end?
20:18:59  <mikolalysenko>yeah
20:19:12  <mbalho>mikolalysenko: that would be easy to add to concat-stream
20:19:15  <guybrush>oh i think theres no way without buffering
20:19:18  <mikolalysenko>like I have a bunch of images that came from running latex via a process
20:19:21  <mikolalysenko>hmm
20:19:38  <mikolalysenko>mbalho: I think it is a bit different though, unless I am misunderstanding concat-stream
20:19:43  <mbalho>mikolalysenko: internally concat-stream keeps and array of data chunks https://github.com/maxogden/node-concat-stream/blob/master/index.js#L8
20:19:57  <mbalho>mikolalysenko: and then lazily on end concats them based on whatever type they are
20:19:58  <mikolalysenko>ie I want to do something like a.pipe(x); b.pipe(x); ... etc
20:20:03  <mikolalysenko>yeah, I got it
20:20:12  <mikolalysenko>mbalho: that is not really the problem I am trying to solve
20:20:33  <mikolalysenko>a library that is closer to what I want is node-kat
20:20:41  <mikolalysenko>https://github.com/fent/node-kat
20:20:57  <mikolalysenko>unfortunately, node-kat doesn't let you add streams once you returned it
20:21:07  <mikolalysenko>since it automatically closes the stream once all the added streams are drained
20:21:16  <mikolalysenko>whereas I want to asynchronously add more streams
20:21:22  <mikolalysenko>and then explicitly end the stream
20:21:49  <mikolalysenko>also node-kat has some redundant functionality like reading files, when you could just use fs.createReadStream instead...
20:21:50  <mbalho>mikolalysenko: ohhhh you are combining two streams into 1
20:21:58  <mikolalysenko>mbalho: exactly
20:22:10  <mikolalysenko>mbalho: and more generally, I really don't know how many streams
20:22:19  <mikolalysenko>these streams will come from running latex
20:22:40  <mikolalysenko>and they will get turned into base64 data urls and streamed inline into a document
20:22:43  <guybrush>mikolalysenko: you could create internally new streams for every stream you add :D and then internalStreamX.pause() and resume() when it should be piped into the destination
20:22:48  <mbalho>mikolalysenko: i think a module called stream-combine or something along those lines would be useful. concatenation is an overloaded term i think
20:23:22  <mikolalysenko>mbalho: maybe... though, technically this is sequential concatenation of streams...
20:23:29  <guybrush>so yourApi.addStream(s) would just create a temporary stream internally and make it pause until you concat it into the result with .resume()
20:23:29  <mikolalysenko>ah well, I'll think of a name later
20:23:39  <mikolalysenko>guybrush: exactly
20:23:53  <guybrush>http://nodejs.org/api/stream.html#stream_stream_pause
20:23:54  <mikolalysenko>though I still need to buffer any data events in case the implementation doesn't respect pause/resume
20:24:13  <guybrush>node will do the buffering then
20:24:20  <mikolalysenko>ok, cool
20:24:35  <mikolalysenko>alright, I think I got this then
20:26:02  <Raynos>defunctzombie: yeah we need a new module that just exports window. Think of a name and i'll write it
20:26:23  * alunnyjoined
20:26:24  <defunctzombie>Raynos: just grab the window name from npm (email the author)
20:26:34  <defunctzombie>Raynos: 2 years ago seems like no one uses it?
20:30:45  <Raynos>yeah ill grab it
20:48:45  <defunctzombie>cool
20:50:08  <CoverSlide>it seems to be used by ember, except noone uses ember
20:54:36  <mbalho>rails people use ember, actually
20:56:20  <CoverSlide>yes but probably not from NPM
20:56:32  <CoverSlide>or node
21:00:11  <mikolalysenko>another stream question:
21:00:18  <mikolalysenko>does stream.pause buffer errors?
21:00:28  * yuriy_nemtsovquit (Ping timeout: 245 seconds)
21:03:43  * tilgovijoined
21:06:13  * CryptoQuickquit (Ping timeout: 240 seconds)
21:21:00  <Raynos>lol ember
21:21:50  <Raynos>who cares about ember
21:21:50  <Raynos>miko: no.
21:22:12  <substack>I don't even know what ember does
21:25:25  <CoverSlide>ember is a big framework for syncing data to the DOM via AJAX
21:25:45  <Raynos>substack: ember solves the problem of writing javascript code that feels like rails
21:25:57  <Raynos>ruby -> coffeescript. rails -> ember.
21:27:17  <Raynos>isaacs: so streams2 are pull streams but still emit errors in a push model. Is this weird?
21:28:06  <CoverSlide>what would be the alternative
21:28:14  <CoverSlide>wrapping all your .read()s in a try/catch?
21:28:29  <Raynos>Heck no.
21:28:39  <Raynos>.readError() = null | Error
21:28:46  <Raynos>well actually no
21:28:51  * mikolalysenkoquit (Ping timeout: 276 seconds)
21:28:53  <Raynos>.read() should just return instanceof Error
21:28:59  <Raynos>var errOrValue = stream.read()
21:29:18  <CoverSlide>not sure i like those either
21:29:21  <Raynos>but the problem with that
21:29:28  <Raynos>is you need a new error handling mechanism
21:29:30  <Raynos>that's how reducers work
21:29:41  <Raynos>when you consume from a reducer you get either value, error or EOF
21:30:27  <Raynos>defunctzombie: if I use tryme locally
21:30:40  <Raynos>what would be the flow for "i changed the source code, example page please refresh"
21:34:20  <Raynos>who's going to the eastbay thing http://www.meetup.com/EBJavaScript/events/99958112/?a=md2_grp&rv=md2&_af_eid=99958112&_af=event
21:34:57  <defunctzombie>Raynos: I don't follow
21:35:04  <defunctzombie>Raynos: I think the current flow is refresh manually
21:35:15  <defunctzombie>but it can be smarter :)
21:35:25  <defunctzombie>it can do 'watch' and refresh for you eventually
21:35:36  <defunctzombie>the only danger is that you might lose changes
21:36:00  <defunctzombie>I want to provide a "save" button that will just data url the file back to you (maybe)
21:37:24  <defunctzombie>I also have a cool update for markdown readmes :) dominic inspired me with that idea
21:40:15  <Raynos>substack: you going to it?
21:42:07  * defunctzombiechanged nick to defunctzombie_zz
21:46:53  <substack>Raynos: I could do that sure
21:46:58  * mikealjoined
21:47:09  <substack>to help some folks out with js and show off some nifty projects
21:49:41  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
21:53:08  <niix>things like that meetup make me wish I lived in SF/Oakland area
21:53:13  <niix>Tampa sucks for developers
21:53:22  <substack>niix: start some shit!
21:53:29  <niix>substack: you're right
21:54:07  <niix>substack: did you just ask the venue if you could hang out there for a few hours?
21:54:24  <substack>sudoroom is a new hackerspace
21:54:37  <substack>they have these kinds of events all the time
21:54:54  <niix>ah, that's so great
21:56:53  <niix>substack: oh shit looks like there is already someone trying to make one in my hometown
21:59:09  * mikolalysenkojoined
22:02:23  <Raynos>niix: move tomorrow
22:02:40  <niix>Raynos: I'm trying, I've applied to a few jobs out there
22:02:52  <Raynos>niix: what's your niche?
22:03:16  <niix>Raynos: I'm working a a full-stack dev right now
22:03:23  <niix>building web apps in Django and Node.js
22:03:30  <niix>applied for a front end job
22:04:40  <Raynos>good luck
22:04:46  <Raynos>you need to actually own css and DOM for that
22:04:48  <Raynos>which is a pain
22:06:25  * tilgoviquit (Read error: Connection reset by peer)
22:10:58  <guybrush>mikolalysenko: i was curious so i tried myself, im sure its crap but here we go :D https://github.com/guybrush/concat/blob/master/index.js
22:11:43  <niix>Raynos: CSS is the easy part, the DOM is just terrible :P
22:13:42  <guybrush>mikolalysenko: also not that pause() resume() and streams in general are going to change in [email protected], see http://blog.nodejs.org/2012/12/20/streams2/ for more info
22:13:56  <guybrush>*note
22:13:57  * niixquit (Remote host closed the connection)
22:14:20  <isaacs>Raynos: "still emit errors in a push model" what does that mean?
22:17:29  <Raynos>isaacs: streams2 is paused by default. I dont consume stuff until I pull
22:17:42  <Raynos>like a streams2 stream doesnt give me any data unless i call read()
22:17:46  <Raynos>so thats me telling the stream I want data
22:17:48  <Raynos>BUT
22:17:50  <Raynos>errors are just emitted
22:17:54  <Raynos>I have no control over when they come
22:18:09  <ralphtheninja>guybrush: looks good to me
22:18:15  * robertjd__joined
22:18:30  <substack>today I shall write tests!
22:18:33  <substack>lots and lots of tests
22:19:29  <Raynos>they are pushed at me, I cant tell the stream "oh if you have an error, now is a convenient time for me to handle it"
22:19:42  <Raynos>substack: https://github.com/Raynos/assert-tap
22:20:01  * mikolalysenkoquit (Ping timeout: 245 seconds)
22:21:19  <pkrumins>woohoo tests!
22:29:40  <isaacs>Raynos: yes, that is by design
22:34:24  * nk109quit (Quit: Computer has gone to sleep.)
22:37:58  <guybrush>ralphtheninja: i think its not implemented 100% properly, im really not a stream-expert and i dont care since the api changes anyway
22:40:24  <guybrush>not sure if destroy() should emit close or not, also i think s.pipe(d,{end:false}); s.on('end',fn); is just not ok
22:40:56  <guybrush>it should be more like s.pipe(d,{end:false}).once('doneOrSomething',fn)
22:41:24  <guybrush>but im not sure :p haha
22:44:31  * jaekwonquit (Quit: Leaving.)
22:44:38  * dominictarrjoined
22:46:15  * captain_morganjoined
22:47:12  * dominictarrquit (Client Quit)
22:49:20  * mikolalysenkojoined
22:50:22  * dominictarrjoined
22:54:03  * mikolalysenkoquit (Ping timeout: 252 seconds)
23:07:36  * alunnyquit (Ping timeout: 256 seconds)
23:14:19  * alunnyjoined
23:19:43  * defunctzombie_zzchanged nick to defunctzombie
23:46:35  * nk109joined