00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:02:06  * thatguydanjoined
00:02:11  <Raynos>defunctzombie, dominictarr: In fact. Streaming middleware is a REALLY good idea
00:02:33  <Raynos>it's just non streaming / serial waterfall middleware is a terrible idea
00:02:45  <Raynos>also global app middleware is a terrible idea
00:02:51  <Raynos>substack: nice!
00:03:03  <Raynos>ins0mnia: https://github.com/Raynos/DOM-shim
00:03:17  <Raynos>ins0mnia: https://gist.github.com/Raynos/4350728
00:03:31  <Raynos>I dont actually recommend a DOM shim. just use modules that have minimal abstractions
00:05:18  * thl0_quit (Remote host closed the connection)
00:05:48  * nk109joined
00:07:13  * tilgovi_quit (Remote host closed the connection)
00:16:14  * dominictarrjoined
00:18:35  <jjjjohnn1y>QUESTION
00:19:08  <jjjjohnn1y>if var x = readInt16LE(offset)
00:19:36  <guybrush>is there some tool in linux i can use to cut mp3s?
00:19:40  <dominictarr>Raynos: you there?
00:19:46  <jjjjohnn1y>and x = some value that can be represented in 8 bits
00:19:47  <Raynos>yes
00:20:13  <jjjjohnn1y>will x express the top 8 bits in terms of bit shifting?
00:20:26  <dominictarr>cool, just pushing new simpler strm.reader
00:20:33  <jjjjohnn1y>nevermind
00:20:37  <dominictarr>also, with working, lazy traversals!
00:20:44  <Raynos>dominictarr: https://gist.github.com/Raynos/5145d6f5091335654614#file-duplex-js
00:21:04  <Raynos>I think i'm going to document and make a full bodied thing out of this idea of mine. maybe copy the strm examples over for comparison
00:21:43  <dominictarr>why is this recurse https://gist.github.com/Raynos/5145d6f5091335654614#file-duplex-js-L5
00:22:08  <Raynos>dominictarr: I called it recurse because calling it will do the next step on pulling data out of the source
00:22:16  <Raynos>so its like your kind of recursively pulling data out
00:22:18  <dominictarr>CALL IT 'next'!
00:22:22  <Raynos>sec let me normalize name
00:24:01  <jjjjohnn1y>t>>8<<1>>1
00:24:28  <jjjjohnn1y>if t is 16 bits, t>>8<<1>>1 = the bottom 7 bits of the top eight bits AM I RITE
00:25:20  <Raynos>dominictarr: normalized names in all the things (https://gist.github.com/Raynos/5145d6f5091335654614)
00:25:43  <jjjjohnn1y>pretty sure it blends
00:25:48  <dominictarr>Raynos: can you add a runnable example code?
00:25:51  <guybrush>nvm ffmpeg is just awesome
00:25:52  <Raynos>it's called recurse because readstream function set's up recursive reading ( https://gist.github.com/Raynos/5145d6f5091335654614#file-minimal-back-pressure-js-L18)
00:26:32  * mmckeggjoined
00:26:56  <dominictarr>you should return writable here, so you can chain https://gist.github.com/Raynos/5145d6f5091335654614#file-map-js-L6
00:27:14  <Raynos>dominictarr: http://jsfiddle.net/y5zUc/2/
00:28:07  <Raynos>dominictarr: I think you mean return the function itself. returning writable won't be useful for chaining
00:28:17  <Raynos>also this api doesn't support chaining
00:28:23  <Raynos>you need to set up reducers style transformations
00:28:33  <dominictarr>Raynos: I think if you change (chunk, next) to (chunk, end, next) then this will be compatible with strm
00:28:45  <Raynos>im not sure
00:28:49  <dominictarr>but that is how this works https://gist.github.com/Raynos/5145d6f5091335654614#file-duplex-js-L16
00:29:05  <dominictarr>Raynos: it's very close
00:29:05  * thl0joined
00:29:13  <Raynos>dominictarr: you could only chain them if you only have duplex
00:29:28  <Raynos>i recommend avoiding duplex where possible as its complex
00:29:54  <dominictarr>map could work like that though
00:30:02  <dominictarr>reader | mapper | writer
00:30:07  <dominictarr>etc
00:30:22  <Raynos>it could. I have to think about it
00:30:32  <dominictarr>often through doesn't need it's own backpressure, it should just pass it through
00:30:35  <Raynos>if its that way then I think mapper has to have a buffer so does reader
00:30:52  <Raynos>i need to think about it more :p
00:30:55  <dominictarr>I'm not sure about this https://gist.github.com/Raynos/5145d6f5091335654614#file-read-file-js-L6-L12
00:31:16  <Raynos>dominictarr: thats ok because you don't have that many raw writers
00:31:19  <dominictarr>I think a separate arg would be more flexible… but will have to explore
00:31:23  <Raynos>most of the time you use map & takeWhile
00:31:26  <Raynos>and pals
00:31:41  <Raynos>you only use raw writers for write_tcp, write_file, write_fd, write_socket, write_dom, etc
00:32:01  <Raynos>its also trivial to abstract with higher order function
00:32:45  <dominictarr>hmm, I will consider this
00:32:46  <Raynos>I think that gist is very similar to gozala/streamer except streamer had first class support for end where as mine has first class support for back pressure
00:33:17  <dominictarr>maybe undefined is a better end signal than null
00:33:19  <Raynos>i also think it's similar to things that tj & bruno have suggested for simpler streams
00:33:26  <dominictarr>because null is a valid json value
00:33:43  <dominictarr>yeah, I think so
00:33:46  <Raynos>dominictarr: streams2 uses null. streams2 JSONStream will break on null
00:34:11  <dominictarr>yes, but we are experimenting
00:34:16  <Raynos>but yeah maybe a special boxed value would be good for end symbol
00:34:21  <dominictarr>and this is object streams
00:34:27  <Raynos>https://github.com/Gozala/reducible/blob/master/end.js
00:34:40  <dominictarr>yeah… but then you have a global type
00:34:56  <dominictarr>if you run stuff in contexts then that breaks
00:35:03  <gozala>dominictarr: I used null before
00:35:10  <dominictarr>I think even e instanceof Error
00:35:16  <gozala>but then I came to conclusion it's better to have own special value
00:35:19  <dominictarr>might have that problem
00:35:24  <gozala>and not expose it end user
00:35:43  <Raynos>dominictarr: you can use `Object#toString` for Error across contexts
00:35:46  <gozala>although I meant new String("End of the collection")
00:35:47  <gozala>actually
00:35:58  <dominictarr>Raynos: that is horrible
00:36:05  <gozala>that's what reducers use https://github.com/Gozala/reducible/blob/master/is-error.js
00:36:18  <gozala>js is horrible if that's your game
00:36:27  <gozala>you have to do horrible things
00:36:28  <gozala>:D
00:36:29  <dominictarr>yes, but that isn't the only way
00:36:40  <dominictarr>gozala: just use the good parts
00:36:49  * dominictarrquit (Quit: dominictarr)
00:36:51  <gozala>What's the good way ?
00:36:59  <gozala>I'm happy for suggestions
00:37:41  <gozala>in fact that is why isError is function
00:37:55  <gozala>so I can change impl details if I need to
00:39:57  <Raynos>gozala: https://gist.github.com/Raynos/5145d6f5091335654614 I think I might try to re-implement something like streamer for lulz
00:40:55  <gozala>Sure more streams more fun :D
00:42:06  <Raynos>:D
00:42:24  * dominictarrjoined
00:42:48  * dominictarrquit (Client Quit)
00:54:48  * stlsaintquit (Ping timeout: 240 seconds)
01:03:17  * thl0quit (Remote host closed the connection)
01:06:59  * tmcwjoined
01:10:30  <substack>this is cool: https://github.com/unfold/browserify-ejs
01:11:19  <substack>similar: https://npmjs.org/package/hbsfy
01:12:00  <Raynos>dominictarr: you were right. your strm implementation is my duplex
01:15:14  <mbalho>substack: do you have pieces of writing that i can base the modules section of https://gist.github.com/maxogden/4011336 on?
01:17:21  <Raynos>dominictarr: https://gist.github.com/Raynos/5145d6f5091335654614#file-map-js async map
01:17:51  <Raynos>note that it's either serial, i.e. respects order, or does the mapping in parallel dependending on whether writable is a serial or parallel writer.
01:18:16  <Raynos>The writer can call `recurse` in a tight loop if it wants the source to give it values as fast as possible. Or call recurse once per value to get them all in serial order.
01:18:42  <substack>mbalho: I don't have any introductory materials
01:18:51  * tmcwquit (Remote host closed the connection)
01:19:08  <Raynos>substack: https://github.com/unfold/browserify-ejs/blob/master/index.js
01:19:08  <mbalho>werd
01:19:15  <Raynos>O_O writing browserify plugins is that simple?
01:19:17  <Raynos>THAT SIMPLE?
01:19:20  <Raynos>STREAM ALL THE THINGS
01:20:26  <substack>yes
01:20:59  <substack>well that one uses require() for html
01:21:09  <substack>but whatevs I guess
01:21:38  <substack>oh I guess they both do
01:24:22  <Raynos>substack: but that's ok. It's "bad practice" but you wrote browserify 2.0 in such a modular way that they can do this
01:24:25  <Raynos>which is modular win
01:27:54  * marcello3dquit (Remote host closed the connection)
01:33:13  * defunctzombie_zzchanged nick to defunctzombie
01:39:37  * dguttmanquit (Quit: dguttman)
01:45:46  <jjjjohnn1y>is the javascript ArrayBuffer different in node than the browser?
01:46:40  <jjjjohnn1y>it seems to have data views built in
01:48:15  <jjjjohnn1y>which is handy but not compatible
01:53:05  * thl0joined
01:54:47  <chrisdickinson>mbalho: i've been working on https://gist.github.com/chrisdickinson/821359fb8d95570ab22a for work
01:54:54  <chrisdickinson>executable crash course in javascript
01:56:39  <defunctzombie>I have a question for the module oriented crowd
01:57:02  <defunctzombie>lets say I have some backoffice code which I spin out of my "main" repo
01:57:15  <defunctzombie>and that code needs to do user lookups in a database (or some such)
01:57:29  <defunctzombie>previously the "user" model lived with the main repo
01:57:34  * ITproquit (Ping timeout: 256 seconds)
01:57:42  <chrisdickinson>mbalho: exercise 3 has the reader refactor the javascript from one form to another and verifies the scope change using episcope
01:57:53  <defunctzombie>anyone got good tips about what to do about these user lookups now? I don't feel like the user model should be a "module" in the system
01:58:05  <defunctzombie>or maybe it should be haha
01:59:29  * mikolalysenkojoined
02:01:57  <mbalho>chrisdickinson: nice, that is a cool approach. more technical than what i am aiming for but i think parts of it can be recontextualized for beginners
02:03:30  <substack>defunctzombie: if the code still has user-specific lookup logic maybe it's too specific to be spun out?
02:04:02  <defunctzombie>substack: yea, so I guess the options are service oriented architecture
02:04:18  <defunctzombie>substack: or in my case, I can actually maintain a separate db I think just for this module
02:04:22  <defunctzombie>substack: for some other separation
02:04:43  <defunctzombie>substack: in general tho, I think the answer to this is service oriented versus module but not sure yet
02:08:41  <substack>yes
02:08:54  <substack>browserling has a service that just does auth
02:08:59  <substack>talks to the database in one place
02:09:09  <substack>used by all services that need to do auth things
02:10:13  <defunctzombie>yep
02:10:26  <defunctzombie>will most likely do that
02:10:31  <defunctzombie>spaceport \o/
02:10:31  <defunctzombie>haha
02:18:33  * thl0quit (Remote host closed the connection)
02:20:52  <defunctzombie>between book logging for errors and debug module for dev I am pretty happy heh
02:21:20  * ITprojoined
02:21:32  <defunctzombie>substack: you should give bookrc a try for a deployed app :)
02:22:30  <defunctzombie>hij1nx: make progress on that logging module?
02:24:24  <defunctzombie>\o/ http://bitcoincharts.com/markets/bitfloorUSD.html passed 2 mill 30 day volume!
02:27:33  * shamaquit (Read error: Connection reset by peer)
02:29:18  * tmcwjoined
02:33:56  * tmcwquit (Ping timeout: 258 seconds)
02:48:44  * tmcwjoined
02:48:47  * tmcwquit (Remote host closed the connection)
03:04:48  * dominictarrjoined
03:06:02  <dominictarr>Raynos: back.
03:06:20  <dominictarr>can you publish your stream thing - I want to be able to make pull-requests
03:13:10  * ITproquit (Ping timeout: 256 seconds)
03:20:10  <substack>ok a bunch of awesome stuff landing in testling-ci soon
03:20:28  <substack>html harnesses and arbitrary preprocess steps, not just browserify
03:21:33  <defunctzombie>nice
03:21:37  <defunctzombie>substack: server support?
03:21:41  <defunctzombie>so I can test engine.io ?
03:22:33  <substack>not as much, this is mostly about having arbitrary html pages as endpoints and not being pegged to the browserify version we run
03:22:42  <defunctzombie>gotcha
03:22:42  <substack>I'll work on that soon though
03:22:47  <defunctzombie>:D
03:22:52  <defunctzombie>oh.. and those fancy gif badges haha
03:23:03  <defunctzombie>but that is not important
03:23:04  <substack>as soon as we finish up these things for an enterprise client :D
03:23:10  <defunctzombie>ooooo
03:23:13  <defunctzombie>"enterprise"
03:23:33  <substack>company with ~1 billion valuation :D
03:23:43  <defunctzombie>nice
03:23:46  <defunctzombie>congrats
03:27:53  * mikealjoined
03:28:16  <defunctzombie>do some of the modules like url and querystring have npm equivalents?
03:28:36  <substack>querystring does
03:28:48  <defunctzombie>I wonder how much of core can be modulized so I can depend on a specific version
03:28:50  <substack>gozala published it I see
03:28:58  <substack>oh that's a good idea
03:29:02  <substack>explicit versions ftw
03:29:19  <defunctzombie>indeed
03:29:43  <substack>the trick I used in the new testling is pretty sweet I think
03:30:08  <substack>uses an /inject?url=... to wrap the testling.html value
03:30:29  <substack>to insert a script with the console.log() patcher
03:30:39  <substack>and a <base href=...>
03:31:13  <defunctzombie>to accomplish what?
03:31:32  * ITprojoined
03:31:33  <substack>so you can load static assets from the git repo in your tests
03:31:44  <substack>like images and css and scripts and whatevs
03:31:47  <defunctzombie>ah
03:31:58  <substack>much more general-purpose than before
03:32:02  <defunctzombie>wouldn't you be able to load those if you just made a "server" on the test dir?
03:32:19  <substack>that's a good idea too
03:32:31  <defunctzombie>this is what tryme does for examples iirc
03:32:48  <defunctzombie>anything it doesn't know about just gets served as a static asset
03:34:48  <substack>I will come up with something good for server tests soon
03:34:59  <defunctzombie>cool
03:35:01  <substack>using shoe as the example test
03:35:04  <defunctzombie>engine.io is my test case :)
03:35:25  <substack>if it can pass shoe+engine.io it can pass a lot of things!
03:35:27  * mikealquit (Quit: Leaving.)
03:36:13  <defunctzombie>yep
03:36:33  <substack>defunctzombie: your streak, ruined! https://github.com/shtylman
03:36:35  <rvagg>hij1nx: https://github.com/rvagg/node-leveldown/pull/21#issuecomment-15216792
03:36:55  <defunctzombie>substack: ?
03:37:15  <substack>February 16 - March 18
03:37:16  <defunctzombie>substack: oh noes!
03:37:21  * jibayquit (Quit: Leaving)
03:37:22  <defunctzombie>I have private repo commits
03:37:27  <substack>doesn't count
03:37:29  <defunctzombie>ultimate sadness!
03:38:08  <substack>my longest is 51 days including private commits
03:38:21  <rvagg>just hack up some git history and you'll be ok
03:38:35  <substack>like some sort of REVISIONIST HISTORIAN
03:38:41  <defunctzombie>hahaha
03:38:49  <mbalho>oh dang i didnt even notice... i could have had a huge streak the last few months
03:39:01  <mbalho>there should be a version that shows pull requests that you merge
03:39:04  <defunctzombie>my friend is convinced that in the future their will be software archeologists
03:39:07  <rvagg>http://www.catb.org/esr/reposurgeon/
03:39:23  <substack>defunctzombie: is your friend isaacs?
03:39:46  <defunctzombie>substack: hahaha nope
03:39:49  <substack>software archeology is something that a verner vinge book discusses
03:39:58  <substack>I think it's the book that I got from isaacs
03:40:00  <defunctzombie>oh yea?
03:40:04  <substack>still need to read it though
03:40:53  <Raynos>Dominictarr: this evening. Ill finish buffer(). I wrote a 5 line asynchronous map
03:40:59  <chrisdickinson>substack: what kind of things does the ci.testling.com profesh edition do?
03:41:22  <dominictarr>me too
03:43:45  <substack>chrisdickinson: it's exactly the same right now except you can `git push` to it directly instead of going through github
03:43:53  <chrisdickinson>ah, cool
03:44:33  <substack>we're not charging for it yet but I can make you a token if you want to mess with it
03:44:43  <chrisdickinson>that would be awesome
03:44:49  <substack>cool!
03:45:08  <chrisdickinson>:D
03:50:18  <mbalho>mmckegg: hey can i have a copy of the neon block textures you used for your music voxel.js app?
03:51:16  <mmckegg>mbhalo: haha if you really want, it's just colorized bedrock with blur. I'll post on github
03:51:40  <mbalho>mmckegg: sweet yea less work for me :P
03:54:32  <mmckegg>mbalho: https://github.com/mmckegg/disco-textures
03:59:48  <dominictarr>Raynos: so … a sync stream going through 4 noop streams is 10 times faster with strm than with node streams
04:00:07  <dominictarr>because way less function calls, etc… just way simpler
04:01:35  <dominictarr>I wonder if this will make a difference in the core benchmarks?
04:08:30  * ITproquit (Ping timeout: 276 seconds)
04:10:29  <dominictarr>hmm, adding buffering and the difference isn't as great, but is still about 3x
04:19:27  * mikealjoined
04:20:38  * mikealquit (Client Quit)
04:37:10  * dominictarrquit (Ping timeout: 260 seconds)
04:40:46  * dominictarrjoined
04:44:34  <wolfeidau>dominictarr: I started using your level-map-merge yesterday working pretty well so far, that said what is up with the batching, how do you see this being configurable?
04:45:39  <dominictarr>wolfeidau: so the basic idea there is to do the batch every few hours, and do updates inbetween (which isn't implemented yet -- but should be simple)
04:45:49  <dominictarr>what are you using it for?
04:46:21  <wolfeidau>Ok simple version is I get metrics out of a service called collectd which i want to calculate an average for and store the averages in buckets
04:46:53  <wolfeidau>dominictarr: Code is here https://github.com/wolfeidau/datum/blob/master/lib/datum.js
04:47:21  <wolfeidau>dominictarr: We chatted about the idea a while back at campjs i finally implemented some of it :)
04:48:19  <dominictarr>how come the calculations are async? https://github.com/wolfeidau/datum/blob/master/lib/datum.js#L71
04:49:12  <wolfeidau>dominictarr: I want to handle errors without throws, I am bit on the fence with callback vs throws
04:49:32  <dominictarr>ah, okay
04:49:45  <dominictarr>I was just worried because the map function has to be sync
04:49:58  <wolfeidau>dominictarr: aha ok well that is good info
04:50:19  <dominictarr>I think it will throw and error if you call emit asyncly
04:50:32  <wolfeidau>dominictarr: My callback is just doing a calculation, no IO or anything
04:50:44  <dominictarr>yup
04:50:55  <wolfeidau>dominictarr: But i will make a sync version just in case, cheers
04:50:56  <dominictarr>so, how many averages do you have -- is it a fixed amount?
04:51:14  <dominictarr>because if you do, I think there is an even simpler way to do this
04:51:24  <wolfeidau>dominictarr: I will keep rolling averages for a period of time say a month of 15min averages
04:52:00  <wolfeidau>dominictarr: Yeah I am open to suggestions as it has been an interesting journey so far
04:52:49  <dominictarr>right -- so it seems from reading your code that there are 3 calculations you are doing
04:53:12  <dominictarr>oh… now I see
04:53:43  <dominictarr>you are calculating hits(?) per interval, per host
04:54:06  <dominictarr>okay!
04:54:25  <wolfeidau>I have a dump.json in the test/unit directory which illustrates the input data
04:54:37  <wolfeidau>host has many metrics which has many samples
04:54:44  <dominictarr>so, the idea was to do batches periodically
04:54:58  <wolfeidau>Well at the moment I am doing it real time
04:54:59  <dominictarr>but merge in updates inbetween times https://github.com/dominictarr/level-map-merge/blob/master/index.js#L106-L109
04:55:20  <wolfeidau>dominictarr: aha
04:55:50  <dominictarr>https://github.com/dominictarr/level-map-merge/blob/master/index.js#L80
04:56:02  <dominictarr>it doesn't save the merge when it's not in batch mode
04:56:05  <wolfeidau>dominictarr: Yeah I think I need to write a document on how I see the data working and then see if we can compare notes on my data vs your data :)
04:56:19  <wolfeidau>dominictarr: Yeah i gathered that :)
04:56:32  <wolfeidau>dominictarr: Whenever i restart the service it reprocesses all the data
04:57:32  <wolfeidau>8 hours data is about 9mb
04:57:42  <wolfeidau>in leveldb
04:57:47  <dominictarr>that won't take long to process
04:58:04  <dominictarr>anyway… you just need to put a bit that writes the update in here https://github.com/dominictarr/level-map-merge/blob/master/index.js#L106
04:58:04  <wolfeidau>nah it runs through it pretty quickly
04:58:18  * defunctzombiechanged nick to defunctzombie_zz
04:58:42  <dominictarr>but still, you want realtime
04:58:51  <wolfeidau>dominictarr: Yeah, will give it a shot, do you see that folding into another sublevel store?
04:59:30  <wolfeidau>In my case I know when a bucket is finished based on the count of samples which have passed through it
04:59:53  <dominictarr>it should do into mapDb https://github.com/dominictarr/level-map-merge/blob/master/index.js#L57
05:00:59  <dominictarr>when updates come through… I'd wait a bit, incase they are heavy… building up the mapped = {} object, and then write it out, clear it, and go again.
05:01:31  <wolfeidau>dominictarr: Yeah i have a test to assert on 1min = {"n":5,"mean":1574494000,"m2":42269120000000} n is the number of samples
05:01:38  <dominictarr>just like here https://github.com/dominictarr/level-map-merge/blob/master/index.js#L45-L57
05:02:29  <wolfeidau>dominictarr: yeah i have logging in my version of your module, I sort of understand how it works :)
05:02:46  * AvianFlujoined
05:02:53  <wolfeidau>dominictarr: The interesting part is the workflow, how data transitions between stages
05:03:12  <wolfeidau>Because it seems to come back through the map phase after a while
05:03:15  * mikealjoined
05:03:36  <wolfeidau>which must be the call here https://github.com/dominictarr/level-map-merge/blob/master/index.js#L105
05:04:12  <dominictarr>oh, that code path is only used if there is an update while the batch is being calculated
05:04:17  <wolfeidau>The map-reduce module was even more intriguing
05:04:33  <wolfeidau>aha
05:04:53  <wolfeidau>dominictarr: Well i see my "big" value come back through the map phase for some reasone
05:05:01  <dominictarr>I mean, sorry -- that one is for when it's NOT in batch mode
05:05:24  <dominictarr>but it is for realtime updates that fall inbetween batches
05:05:44  <wolfeidau>dominictarr: It is a windy path :)
05:06:10  <dominictarr>so, when a realtime update happens
05:06:19  <dominictarr>and it's not in batch mode
05:06:29  <dominictarr>it loads the current value form the database
05:06:34  <wolfeidau>aha
05:07:22  <wolfeidau>dominictarr: yeah i need to work with it a bit more and hassle you
05:07:29  <wolfeidau>dominictarr: Cheers for the tips
05:08:38  * dguttmanjoined
05:08:55  <dominictarr>wolfeidau: I think you may have found a bug
05:09:30  <dominictarr>can you make a testcase that has the realtime update, and the big value coming back through?
05:10:14  <wolfeidau>dominictarr: Yeah for sure, i found a couple of odd results I will build a couple of test cases
05:10:22  <dominictarr>hang on, I see it
05:10:23  <dominictarr>https://github.com/dominictarr/level-map-merge/blob/master/index.js#L105
05:10:40  <dominictarr>that line should be `doMap(key, e.value)`
05:11:04  <wolfeidau>dominictarr: Some times I only see the first val get persisted in my reduced rows
05:11:18  <wolfeidau>dominictarr: aha yeah i see
05:12:38  <wolfeidau>dominictarr: That mite explain it
05:12:56  <wolfeidau>dominictarr: As value is used at a higher level
05:13:18  * dguttmanquit (Ping timeout: 264 seconds)
05:13:22  <dominictarr>yup, it would still need to be saved, and then that should be right
05:17:31  <wolfeidau>dominictarr: Well i will see how that affects my process and put in a ticket if i find anything else
05:17:52  <dominictarr>please do,.cheers
05:18:25  <wolfeidau>dominictarr: Yeah very interesting stuff
05:24:38  * AvianFluquit (Remote host closed the connection)
05:44:25  * defunctzombie_zzchanged nick to defunctzombie
05:45:08  <dominictarr>Raynos: how do you get errors out?
05:45:12  <dominictarr>question.
05:45:55  * dominictarrquit (Quit: dominictarr)
05:54:13  * mmckeggquit (Quit: mmckegg)
06:06:34  * mikolalysenkoquit (Ping timeout: 256 seconds)
06:07:19  * wolfeidauquit (Remote host closed the connection)
06:29:02  * defunctzombiechanged nick to defunctzombie_zz
06:30:16  <Raynos>dominictarr: consume it?
06:31:23  <Raynos>I want to write a new stream module
06:31:25  <Raynos>its like a stream
06:31:29  <Raynos>but I cant use the name stream
06:31:32  <Raynos>because thats siully
06:31:54  <substack>cream
06:33:04  <Raynos>cream is a name that is not funny :(
06:34:44  <substack>dream
06:34:58  <substack>scream
06:34:58  <chrisdickinson>hose
06:35:05  <substack>garden-hose
06:35:42  <Raynos>maybe tsov
06:35:46  <Raynos>for time series of values
06:35:54  <Raynos>but its not even that
06:35:57  <Raynos>its really a pull stream thing
06:37:24  <Raynos>ok the pullstream author will hate me
06:37:33  * ins0mniajoined
06:40:05  <ralphtheninja>Raynos: river
06:40:27  <ralphtheninja>or creek? :)
06:40:41  <Raynos>going for pull-stream
06:40:48  <Raynos>maybe recurse-stream is a better name
06:40:52  <Raynos>ok
06:40:57  <Raynos>HOLD ON
06:41:05  <ralphtheninja>hehe
06:41:17  * thatguydanquit (Ping timeout: 240 seconds)
06:43:31  * ralphtheninjaquit (Quit: Lost terminal)
07:05:42  * fotoveritequit (Quit: fotoverite)
07:13:51  <substack>https://github.com/substack/testling-html-example/blob/master/package.json#L5
07:13:55  <substack>you can do that in testling tests now
07:14:10  <substack>it captures console.log() just the same
07:20:14  * Domenic_quit (Ping timeout: 256 seconds)
07:22:01  * Domenic_joined
07:33:32  <juliangruber>rvagg: should level-stream append or replace by default when writing to it?
07:45:33  * mmckeggjoined
07:49:53  <substack>chrisdickinson: testling PROFESH tokens sent
07:49:59  <chrisdickinson>substack: thanks!
07:50:30  <substack>and let us know if you have problems/feature requests
07:50:55  <substack>we're still figuring out what features the PROFESH version should have versus the open version
07:53:52  <chrisdickinson>will do -- i'll start playing with it tomorrow :D
07:56:15  <juliangruber>substack: what new features does testling PROFESH have?
07:57:11  <substack>juliangruber: it's exactly the same except you can `git push` to it directly with your private repos
07:57:35  * dominictarrjoined
08:00:30  <substack>"california is just a made-up place like hoth or endor"
08:00:36  <substack>http://www.youtube.com/watch?v=Ho_SzhKd8F4
08:02:57  * ins0mniaquit (Remote host closed the connection)
08:11:38  <Raynos>dominictarr: https://github.com/Raynos/recurse-stream
08:11:51  <dominictarr>saw it.
08:11:58  <dominictarr>I have already posted an issue!
08:12:01  <Raynos>https://github.com/Raynos/recurse-stream/blob/master/test/buffer.js#L14 wrap any naughty stream in buffer & success!
08:12:07  <dominictarr>oh, no… just about to
08:13:42  <dominictarr>https://github.com/Raynos/recurse-stream/issues/1
08:14:12  * ins0mniajoined
08:21:21  <Raynos>dominictarr: there is no pipe
08:21:33  <Raynos>because chained pipe only works on duplex streams
08:21:35  <dominictarr>it's not a stream without pipe!
08:22:17  <dominictarr>actually, before 0.6 streams didn't have chainable pipe
08:22:30  <dominictarr>then they made it chainable, and there was much rejoicing.
08:23:13  <dominictarr>I'm gonna make the strm writables readable too, but they will only call on end/error
08:26:12  <Raynos>but i think pipe is a bad idea
08:27:37  <substack>pipe is nice
08:28:00  <substack>it will shuffle data and end events for you to a destination, cleaning up the listeners on error and close
08:28:16  <substack>and whatever the streams2 analogue for that is
08:28:42  <substack>if you have data and end events that you would like to shuffle around, it's great
08:37:18  <Raynos>dominictarr: can you explain reader?
08:40:43  <dominictarr>substack: also, it forces you into a consistent api!
08:41:00  <dominictarr>Raynos: reader gives you one chuck at a time
08:41:09  <dominictarr>and you callback when you want another one.
08:41:26  <Raynos>I see
08:41:31  <dominictarr>so, it's for PULL
08:41:56  * wolfeidaujoined
08:42:43  <Raynos>ok im done with recurse-stream for tonight
08:42:45  <Altreus>substack: oh no are you injured
08:43:42  <Altreus>i hope not :o
08:43:49  <Altreus>this sounds like how I broke my wrist
08:43:57  <Altreus>try not to break your wrist
08:46:42  * Domenic_quit (Ping timeout: 276 seconds)
08:47:35  <substack>Altreus: noted!
08:47:42  <substack>I am just sore thankfully
08:47:51  <substack>my right leg aches but appears not to be broken
08:47:58  <Raynos>dominictarr: https://github.com/Raynos/recurse-stream#example-buffers
08:48:11  <Altreus>phew, that is good
08:48:13  <Raynos>I think buffer correctly handles streams2 style pull stream buffering + high water marks
08:48:49  <Raynos>I think recurse-stream is cool because it's a pull based stream primitive instead of push based
08:49:15  <substack>yow 222 repos on testling-ci
08:49:17  <substack>75 unique users
08:49:48  * ITprojoined
08:50:25  * CryptoQuickjoined
08:51:22  <substack>crap the name I was planning on using a few days ago for my yet-unwritten thing just got taken 9 hours ago
08:51:58  <dominictarr>substack: did they write the same thing?
08:52:04  * Domenic_joined
08:52:08  <substack>nope, completely different
08:52:27  <substack>but there are plenty of available names to choose from
09:01:39  * nicholasf_quit (Read error: Connection reset by peer)
09:01:58  * nicholasfjoined
09:03:06  * dominictarrquit (Ping timeout: 264 seconds)
09:13:56  * dominictarrjoined
09:14:00  <juliangruber>rvagg dominictarr substack: a streaming storage engine based on LevelDB: https://github.com/juliangruber/level-store
09:15:47  * ins0mniaquit (Ping timeout: 240 seconds)
09:16:07  <dominictarr>juliangruber: NICE!
09:26:50  * ITproquit (Ping timeout: 276 seconds)
09:48:26  * mmckeggquit (Quit: mmckegg)
09:51:32  * spionquit (Ping timeout: 246 seconds)
10:02:25  * mmckeggjoined
10:22:24  * mmckeggquit (Quit: mmckegg)
10:24:04  * mmckeggjoined
10:40:18  * CryptoQuickquit (Quit: CryptoQuick)
10:42:41  * spionjoined
10:49:11  * mmckeggquit (Quit: mmckegg)
11:01:06  * thl0joined
11:15:06  * ins0mniajoined
11:22:19  <substack>dominictarr: most of the way past rewriting bouncy using through, went from https://github.com/substack/bouncy/blob/master/index.js to https://github.com/substack/bouncy/blob/through/index.js
11:22:48  <substack>more than half the test suite now passing on it
11:23:15  * dominictarrquit (Quit: dominictarr)
11:58:32  * ITprojoined
12:11:09  * ralphtheninjajoined
12:39:52  * jibayjoined
12:40:12  * AvianFlujoined
13:06:56  * thl0quit (Remote host closed the connection)
13:16:51  * yorickjoined
13:31:29  * AvianFluquit (Read error: Connection reset by peer)
13:32:01  * AvianFlujoined
13:34:10  * thl0joined
13:35:17  * AvianFluquit (Read error: Connection reset by peer)
13:35:44  * AvianFlujoined
13:50:07  * mikolalysenkojoined
14:17:13  * ITproquit (Ping timeout: 256 seconds)
14:19:13  * Domenic__joined
14:22:51  * mikealquit (Quit: Leaving.)
14:25:33  * marcello3djoined
14:30:51  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
14:30:52  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
14:33:12  * tmcwjoined
14:33:51  * Domenic__quit (Remote host closed the connection)
14:34:17  * Domenic__joined
14:37:08  * mikolalysenkoquit (Ping timeout: 246 seconds)
14:38:44  * Domenic__quit (Ping timeout: 255 seconds)
14:44:12  * mikolalysenkojoined
14:48:50  * marcello3dquit (Read error: Connection reset by peer)
14:49:43  * marcello3djoined
14:51:09  * Domenic__joined
14:51:49  * mikolalysenkoquit (Ping timeout: 256 seconds)
14:51:58  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
14:52:02  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
14:55:44  * marcello3dquit (Read error: Connection reset by peer)
14:56:33  * CryptoQuickjoined
15:03:11  * mikealjoined
15:04:13  * mikealquit (Client Quit)
15:11:21  * marcello3djoined
15:15:28  * defunctzombie_zzchanged nick to defunctzombie
15:22:43  * Domenic__quit (Remote host closed the connection)
15:42:33  * fotoveritejoined
15:53:06  * Domenic__joined
15:58:37  * mikolalysenkojoined
16:01:30  * Domenic__quit (Ping timeout: 252 seconds)
16:02:56  * tilgovijoined
16:06:46  * marcello3dquit (Remote host closed the connection)
16:09:31  * johnkpauljoined
16:22:19  * marcello3djoined
16:26:23  * mikealjoined
16:35:00  * mikealquit (Quit: Leaving.)
16:40:07  <defunctzombie>isaacs: you really are gonna drop sendgrid cause of that shitshow?
16:40:19  <isaacs>defunctzombie: probably, yeah.
16:40:20  * marcello3dquit (Read error: Connection reset by peer)
16:40:40  <defunctzombie>isaacs: doesn't that seem a bit off?
16:40:46  <isaacs>defunctzombie: unless they come out soon and say "We were hacked, she's not fired"
16:40:54  * marcello3djoined
16:41:33  <defunctzombie>isaacs: ?
16:41:37  <defunctzombie>isaacs: did I miss something
16:41:50  <isaacs>defunctzombie: they fired adria richards.
16:41:58  <isaacs>that's not how you handle a ddos attak
16:43:34  <defunctzombie>isaacs: wait.. wut.. really?
16:43:49  <defunctzombie>man... why is everyone so retarded
16:44:30  <defunctzombie>this story just keep getting better
16:46:39  <defunctzombie>two people fired over some fucked up bs
16:50:30  * thl0quit (Remote host closed the connection)
16:52:12  * thl0joined
16:52:17  * tmcwquit (Remote host closed the connection)
16:53:00  <mikolalysenko>did they really fire her over that stuff?
16:53:17  <mikolalysenko>although it was equally bizarre that the other guy got fired too
16:53:48  * AvianFluquit (Remote host closed the connection)
16:55:36  * CryptoQuick_joined
16:56:20  * CryptoQuickquit (Ping timeout: 272 seconds)
16:56:21  * CryptoQuick_changed nick to CryptoQuick
17:00:07  * marcello3dquit (Remote host closed the connection)
17:01:16  * marcello3djoined
17:01:27  * tmcwjoined
17:03:49  <fotoverite>Ugh http://randyluecke.tumblr.com/post/45915323813/im-done-with-the-web
17:04:24  <fotoverite>At this point even if they do come out where were they for 50 minutes
17:07:41  * thl0_joined
17:09:47  * thl0quit (Remote host closed the connection)
17:12:06  * thl0_quit (Ping timeout: 264 seconds)
17:30:33  <mbalho>'why doesnt everyone use my giant framework LOL'
17:30:39  <mbalho>'fucking microjs'
17:31:05  * AvianFlujoined
17:31:20  <defunctzombie>mbalho: +1
17:31:29  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
17:31:29  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
17:32:08  <defunctzombie>there is some person in the express channel
17:32:16  <defunctzombie>giving me a hard time because I re-nick when I go away
17:32:19  <defunctzombie>this is hilarious
17:33:18  * st_lukejoined
17:33:42  * mikolalysenkoquit (Ping timeout: 264 seconds)
17:36:54  * thl0joined
17:40:36  <Raynos>:D
17:49:57  <chrisdickinson>substack: do you have an idea as to why this situation crops up every once in a while? https://ci.testling.com/chrisdickinson/git-write-pkt-line
17:50:16  <chrisdickinson>(some pass, but a lot of them just fail-all, with no output)
17:50:21  <chrisdickinson>(i'm guessing it's a timeout)
17:51:27  * tilgoviquit (Remote host closed the connection)
17:53:31  <niftylettuce>isaacs: have a count for # of node downloads?
17:54:36  <defunctzombie>mbalho: https://github.com/ncb000gt/node.bcrypt.js/issues/155
17:54:40  <isaacs>niftylettuce: no, i do not have that
17:54:46  <defunctzombie>mbalho: look at the last line of the issue
17:55:44  <niftylettuce>shame github has no stats
17:58:29  <isaacs>niftylettuce: we don't download from github anyway
17:58:33  * Domenic__joined
18:02:49  <mbalho>LOL
18:02:54  <mbalho>defunctzombie: that man is desperate
18:03:01  <defunctzombie>yes
18:03:06  * Domenic__quit (Ping timeout: 276 seconds)
18:03:12  <mbalho>or rather, that duck
18:04:42  <Raynos>isaacs: I started working on minimal pull streams ( https://github.com/Raynos/recurse-stream#example-buffers)
18:04:56  <Raynos>I think I implemented high water mark buffering correctly >_>
18:11:23  * marcello3dquit (Remote host closed the connection)
18:15:49  <substack>chrisdickinson: I'm not sure why tests do that sometimes
18:16:35  <mbalho>chrisdickinson: did you ever get to the bottom of https://github.com/substack/tape/issues/21 ?
18:17:25  <substack>hadn't looked at it
18:17:26  * ins0mniaquit (Ping timeout: 255 seconds)
18:17:30  <substack>do you have a fix?
18:19:34  * marcello3djoined
18:21:16  * ins0mniajoined
18:21:32  <mbalho>(i do not)
18:22:32  * CryptoQuickquit (Ping timeout: 246 seconds)
18:22:37  <substack>can't duplicate on 0.8
18:23:14  <substack>compiling 0.10
18:23:52  <substack>not seeing this on 0.10 either
18:24:50  <mbalho>run the voxel-engine npm test on 0.10
18:25:50  <substack>wait, got it working on the byway repo
18:27:51  * jez0990_changed nick to jez0990
18:28:11  <chrisdickinson>mbalho: yes, process.nextTick
18:28:22  <chrisdickinson>changed semantics on 0.10.0
18:28:23  <chrisdickinson>well
18:28:28  <chrisdickinson>that was causing some set of errors
18:28:42  <chrisdickinson>mbalho: substack: https://github.com/substack/tape/issues/22
18:30:35  * spionquit (Ping timeout: 246 seconds)
18:31:57  * CryptoQuickjoined
18:34:12  * mikolalysenkojoined
18:34:12  * CryptoQuickquit (Read error: Connection reset by peer)
18:35:02  * Domenic__joined
18:36:33  * defunctzombiechanged nick to defunctzombie_zz
18:39:33  * CryptoQuickjoined
18:39:54  <Raynos>mbalho, substack: I noted that it ran the first test once, the second one twice, the third one three times
18:40:01  <Raynos>I definetely thing its a process.nextTick thing
18:42:38  <substack>https://github.com/substack/node-browserify/issues/335
18:43:05  <substack>Raynos: it could be a logic bug
18:43:11  <substack>I get 400 tests on both 0.8 and 0.10
19:06:54  * shamajoined
19:15:10  * nk109quit (Quit: Computer has gone to sleep.)
19:16:02  <mbalho>would a short book on node called 'Art of Node' be too pretentious?
19:19:28  * mikealjoined
19:19:54  * dguttmanjoined
19:32:37  * tmcw_joined
19:32:37  * tmcwquit (Read error: Connection reset by peer)
19:36:15  * tmcw_quit (Read error: Connection reset by peer)
19:36:32  * tmcwjoined
19:39:25  * mikealquit (Quit: Leaving.)
19:39:35  <Raynos>mbalho: call it 'The Art of Node'
19:40:48  <mbalho>ahh yea that sounds better
19:44:25  <substack>the node of art
19:48:26  <chrisdickinson>mbalho: "Sculpting Node Programs"
19:49:44  <substack>oh sculpting would be good especially with the voxel tie-ins
19:50:09  <substack>it's also a good metaphor for taking something big and breaking it up into lots of little pieces
19:50:24  <chrisdickinson>and slicing away whatever's not necessary to reveal the core of the program
19:50:57  * st_lukequit (Remote host closed the connection)
19:52:42  <mbalho>hah
19:52:51  <mbalho>i'll throw a sculpting pun in
19:55:02  <jesusabdullah>yo dawgs
19:55:30  <jesusabdullah>mbalho: only if it centers around using node-canavas to generate graffix
19:56:18  <jesusabdullah><--still waiting for a chart lib that doesn't suck
20:00:46  <substack>this is exactly the opposite of what I think about everything: http://randyluecke.tumblr.com/post/45915323813/im-done-with-the-web
20:03:39  <chrisdickinson>yep
20:03:57  <chrisdickinson>had to explain why that article completely missed the point in #django-social
20:04:19  <mbalho>i accept that people have that viewpoint, but that article seems to be biased + myopic
20:04:42  <substack>the biggest thing is that writing open source is less about you and more about the people who will be consuming your software
20:05:13  <substack>people aren't going to spend days researching some tool that may or may not solve their immediate problem
20:05:34  <substack>and the switching costs for existing apps to use giant solutions are huge
20:05:59  <substack>there are too many tools to evaluate to justify spending more than a few minutes on a first-pass
20:06:14  <substack>or even a few minutes is a bit much, it needs to be communicable in a first-glance
20:06:42  * defunctzombie_zzchanged nick to defunctzombie
20:07:21  <substack>if your library can't communicate itself clearly, it will lose users to libraries that can communicate their scope, intent, and usability quickly
20:08:15  <substack>a "a desktop web framework for creating amazing desktop like experiences in the browser" is not sufficiently narrow to communicate how exactly a programmer can start to make immediate use of it
20:09:31  <jesusabdullah>tanepiper: you gonna be in edinburgh may 9th/10th? :v
20:09:47  <tanepiper>jesusabdullah: yea, i live here :) also I'll be at ScotlandJS
20:10:03  <jesusabdullah>Well
20:10:12  <jesusabdullah>For a limited time only, you can let me crash on your couch!!
20:10:19  <jesusabdullah>Since I'm speaking and am a cheapass
20:10:52  <jesusabdullah>Think about it. >:)
20:12:01  <jesusabdullah>substack: cappuccino is a thing that gives you osx-like ux riggledoggs in return for making you program in a made-up bullshit language
20:12:16  <substack>compounding assumptions
20:12:38  <jesusabdullah>Point is, it's pretty much worth ignoring
20:12:48  <jesusabdullah>uncomfortable truth: objective-j considered harmful
20:12:52  <substack>the more choices you make FOR people, the narrower your audience becomes
20:13:09  <tanepiper>jesusabdullah: i'll need to ask the wife, but i don't think it'll be a problem
20:13:26  <jesusabdullah>tanepiper: Cool!
20:13:31  <jesusabdullah>tanepiper: Do you have kids too?
20:13:47  <tanepiper>nope, but your not allergic to dogs or cats?
20:14:00  <jesusabdullah>allergic to cats but not so much so that I can't handle it
20:14:06  <jesusabdullah>especially if I get some zyrtec up in this
20:14:19  <jesusabdullah>basically as long as the cat's not sleeping on my face I'm okay
20:14:22  <jesusabdullah>C:
20:14:47  <tanepiper>haha, no promises - they like doing that :p But yea, you can also close the door :p
20:16:44  <jesusabdullah>XD
20:16:46  <jesusabdullah>awesome
20:20:20  * dominictarrjoined
20:22:00  <hij1nx>juliangruber: you must attend! :) http://peerconf.com/
20:22:15  <juliangruber>hij1nx: I will be there!
20:22:21  <hij1nx>W00T!
20:22:27  <juliangruber>awesomeballs, right? :)
20:22:38  <hij1nx>i think the pictures on the front page are not showing all
20:22:45  <hij1nx>who are attending
20:22:58  <juliangruber>I'll bing cian
20:23:16  <juliangruber>s/bing/ping/
20:24:01  <juliangruber>hij1nx: he'll add you too
20:24:04  <hij1nx>yeah, bing sucks ;)
20:30:11  <dominictarr>wow, nice logo
20:31:13  <dominictarr>looks like a painful thing to accidentally sit on!
20:32:05  <hij1nx> dominictarr those are all over the place in dublin, watch out when you sit down
20:32:51  <dominictarr>I will be so tired when I arrive in about 40 hours
20:32:55  <dominictarr>that I just might
20:33:47  * mikolalysenkoquit (Ping timeout: 255 seconds)
20:37:12  <defunctzombie>mbalho: https://github.com/maxogden/art-of-node
20:37:15  <defunctzombie>mbalho: hot
20:37:22  <substack>\o/
20:38:07  <substack>Raynos: oh by the way, browserify versions used in the preprocessing step are now taken from the package.json in testling-ci now
20:38:20  <substack>so if you depend on a version in your dependencies or devDependencies you'll get that version
20:38:52  <substack>and you can have custom preprocessor commands in pkg.testling.preprocesor
20:39:03  <substack>but if you do that you'll also need to manage the pkg.testling.html yourself
20:40:56  * spionjoined
20:42:40  <jesusabdullah>chilts: Alaskans are generally huge caffeine addicts, 6 shot mochas are relatively common here
20:44:31  <Raynos>substack: cool
20:45:45  <Raynos>substacK: where are docs?
20:46:25  <substack>no docs yet
20:46:31  <substack>just landed last night
20:46:59  <substack>but if you put a browserify dependency in your package.json in deps or devdeps you'll get that version
20:55:34  <defunctzombie>substack: and if you don't?
20:55:45  <defunctzombie>substack: like if I just use tapedeck or something else
20:55:51  <defunctzombie>that does stuff for me
20:56:44  <jesusabdullah>tanepiper: So yeah lemme know if that works, that sounds fun!
20:56:55  <substack>defunctzombie: then you get whatever the latest browserify version is
20:57:13  <defunctzombie>Domenic_: https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-nightly/
20:57:19  <defunctzombie>substack: coo
21:01:39  * nicholasfquit (Read error: Connection reset by peer)
21:02:00  * nicholasfjoined
21:08:34  <Raynos>substack: https://github.com/substack/tape/pull/24 implemented
21:10:56  <Domenic__>defunctzombie: nice
21:13:46  <substack>Raynos: I can't pull that in
21:13:55  <Raynos>hmm
21:14:02  <Raynos>weird
21:14:07  <substack>https://github.com/substack/tape/issues/23#issuecomment-15264265
21:14:10  <substack>no I mean I won't
21:14:43  <substack>json-stringify-safe doesn't have enough browser support to bring in
21:14:49  <Raynos>but I use `JSON.stringify` from jsonify https://github.com/substack/tape/pull/24/files#L0R2
21:15:19  <Raynos>substack: because of `Array#indexOf` in IE ? ( https://github.com/isaacs/json-stringify-safe/blob/master/stringify.js#L11 )
21:15:26  <Raynos>BLARGH
21:15:38  <substack>https://github.com/isaacs/json-stringify-safe/blob/master/stringify.js#L22
21:15:52  <substack>yes also https://github.com/isaacs/json-stringify-safe/blob/master/stringify.js#L11
21:16:03  <substack>Raynos: just go find a decycle algorithm
21:16:33  <substack>that a decycle algorithm is going around calling itself json-stringify-safe is a bit weird
21:16:35  <Raynos>ill just inline json-stringify-safe :p
21:16:41  <substack>sure
21:16:48  <substack>just fix it
21:18:34  <Raynos>on it.
21:18:53  <substack>also my changes last night introduced a bug that is breaking ie <9 on testling-ci ;_;
21:19:03  <substack>need to figure this out
21:21:34  <Raynos>substack: done
21:21:52  <Raynos>https://github.com/substack/tape/pull/24#commits-pushed-178a8dc
21:22:29  * nk109joined
21:25:45  <substack>looks good!
21:27:37  <substack>merged, published
21:28:35  * substackgetting some street food &
21:30:58  <tanepiper>oooh interesting: http://www.ros.gov.uk/vacancies/software_engineers.html
21:31:13  <chilts>jesusabdullah: I've never seen anyone do a 6 shot coffee! :)
21:31:17  <chilts>I have two at most
21:31:22  * mikolalysenkojoined
21:31:25  <chilts>otherwise I wouldn't sleep
21:32:08  <Raynos>substack: thanks!
21:32:34  <Raynos>chilts: I've seen 11 shot coffee
21:33:03  <Raynos>I was like ⓧ_ⓧ
21:33:48  <chilts>wowser
21:38:37  <jesusabdullah>Raynos: Now we're talking
21:41:23  <jesusabdullah>I want to do an AK conference
21:42:24  <jesusabdullah>talks + gwennie's + coffee stand(s) + Spenard barhopping \m/
21:44:22  <jesusabdullah>mcGinley's imo
21:48:02  * mikealjoined
21:53:35  * spionquit (Ping timeout: 246 seconds)
21:55:34  <Raynos>substack: https://ci.testling.com/Colingo/sorted-list using new tape
21:56:19  * wolfeidauquit (Remote host closed the connection)
22:02:50  * jibayquit (Read error: Operation timed out)
22:05:25  <substack>Raynos: sweet!
22:06:17  <ins0mnia>quick browserling question, when I run a url that fails on IE9 for example, is there a way to still see the browser instead of getting the black screen?
22:06:38  <substack>still see the browser?
22:06:54  <ins0mnia>substack: yeah, I get a black screen with the browserling logo
22:07:01  <ins0mnia>substack: not the IE9 browser itself
22:07:14  <substack>oh try reloading
22:07:31  <substack>the browserling logo is actually the windows desktop background
22:07:38  <ins0mnia>substack: I keep trying, doesn't show
22:07:49  <ins0mnia>I'll try on IE8
22:07:50  <ins0mnia>there
22:08:07  <ins0mnia>happens on IE9 only
22:08:37  <substack>hmmm
22:08:45  <substack>do you see ie9 then it goes away?
22:08:52  <ins0mnia>(sorry for interrupting the conversation)
22:08:58  <ins0mnia>substack: not really, doesn't show up at all
22:09:10  * st_lukejoined
22:09:37  <substack>I'm not sure what could be causing that
22:09:55  <ins0mnia>substack: there now it showed, but with some other url
22:10:01  * wolfeidaujoined
22:10:18  <ins0mnia>https://ineversolo.dev.fusionbox.com/account/plans/home
22:10:56  <ins0mnia>substack: don't worry about
22:10:58  * dominictarrquit (Quit: dominictarr)
22:13:03  <substack>it could be crashing the browser
22:13:12  <substack>just like real life!
22:13:25  <ins0mnia>substack: lol yeah
22:13:38  <ins0mnia>I wish IE could just go away
22:14:10  <ins0mnia>like disappear
22:14:21  <ins0mnia>as if it never came out
22:15:19  <ins0mnia>Raynos: Are you still maintaining DOM-shim?
22:15:40  <substack>defunctzombie: browser-resolve could use a dgram shim
22:15:44  <substack>just an empty file would do
22:15:53  <defunctzombie>substack: noted, can you open an issue
22:15:56  <defunctzombie>lest I forget
22:15:58  <substack>ok opening
22:16:50  <Raynos>ins0mnia: NO & its a terrible idea
22:17:39  <ins0mnia>Raynos: any suggestions?
22:17:50  <Raynos>https://gist.github.com/Raynos/4350728
22:18:15  * dguttmanquit (Quit: dguttman)
22:18:36  * jibayjoined
22:19:10  <substack>defunctzombie: ok created https://github.com/shtylman/node-browser-resolve/issues/11
22:19:24  <jesusabdullah>you WOULD create a github issue
22:19:43  <jesusabdullah>hmm
22:19:50  <jesusabdullah>I'll keep ahold of that gist
22:20:07  <ins0mnia>Raynos: what about event listeners? (IE8)
22:20:12  <ins0mnia>Raynos: don't see this on the list
22:20:16  <Raynos>ins0mnia: lol IE8
22:20:22  <Raynos>I do IE9
22:20:32  <ins0mnia>Raynos: I know, but I'm not as lucky :(
22:20:44  <Raynos>but dom-reduce supports IE8 ( https://github.com/Gozala/dom-reduce/blob/master/event.js#L35 )
22:20:59  * defunctzombiechanged nick to defunctzombie_zz
22:22:09  <gozala>Raynos: I plan on supporting IE6 too
22:22:37  <jesusabdullah>ie8 motherfuckers at every occasion supportin' browsers motherfuckers at evry location
22:23:11  <jesusabdullah>so
22:23:24  <jesusabdullah>why should I use a dozen libraries instead of just script tagging jquery
22:23:44  <ins0mnia>Raynos: cool thanks for the tip
22:23:47  <jesusabdullah>just sayin'
22:23:54  <Raynos>dominictar: how do you benchmark strm against core?
22:26:05  <ins0mnia>jesusabdullah: my employer wouldn't understand that:)
22:26:30  <ins0mnia>but I'm gonna fire him after I'm done with this crap
22:27:06  <ins0mnia>(as in not work for him)
22:27:06  <jesusabdullah>ins0mnia: you mean using jquery?
22:27:13  * mikealquit (Quit: Leaving.)
22:27:18  <ins0mnia>jesusabdullah: yeah
22:27:32  <ins0mnia>jesusabdullah: but when it comes to jquery I avoid using it
22:27:33  <chrisdickinson>substack: would it be feasible to create a require.js -> browserify transform?
22:27:41  <ins0mnia>jesusabdullah: either cases
22:29:14  <substack>chrisdickinson: I think that's what browserify-ftw is
22:29:17  <substack>by thl0
22:29:32  <chrisdickinson>i meant to be run by browserify as a `-t` option
22:29:32  <substack>yep: https://github.com/thlorenz/browserify-ftw
22:29:57  <substack>yes you could definitely write that as a transform
22:30:06  <chrisdickinson>iiiinteresting
22:30:19  <substack>would be relatively simple since all you'd need to do is wrap the source contents with some shim code
22:30:38  <jesusabdullah>idk man jquery works
22:30:46  <substack>or you could get fancier and parse the AST for the define() calls
22:30:58  <substack>jesusabdullah: you can't explain that
22:31:16  * mikealjoined
22:31:24  <substack>callback goes in, animation goes out
22:34:22  * sbppart ("Quit")
22:34:53  <jesusabdullah>I'm a practical person, I tend to choose time-tested over elegance
22:34:59  <jesusabdullah>does that make sense?
22:36:01  <ins0mnia>jesusabdullah: it does, until you run the thing on Android :-)
22:37:07  <ins0mnia>cool http://www.guardian.co.uk/science/2013/mar/21/planck-telescope-light-big-bang-universe
22:37:27  * ins0mniaoff to bed
22:37:30  <ins0mnia>nighty all
22:37:45  * ins0mniaquit (Remote host closed the connection)
22:38:34  <jlord>yalllllll the nodes
22:39:09  <Raynos>dominictarr: is pipe important or is linear flow sugar important?
22:42:18  * thl0quit (Remote host closed the connection)
22:42:48  * Domenic__quit (Remote host closed the connection)
22:44:10  <jlord>i need the most simple, one line way to just get the contents of index.html in the root directory streamed
22:44:18  <jlord>I think
22:47:45  <substack>jesusabdullah: res.setHeader('content-type', 'text/html'); fs.readFileSync(__dirname + '/index.html').pipe(res) ?
22:47:49  <substack>*jlord
22:47:54  <substack>cursed js!
22:48:15  <substack>9 js in here, easy to misfire!
22:48:46  * dominictarrjoined
22:48:57  <st_luke>js
22:49:40  <chrisdickinson>jlord: i think you want to replace readFileSync with createReadStream
22:49:54  <chrisdickinson>but otherwise yeah, go with the above suggestion
22:51:29  <substack>hahah whoops
22:51:30  <substack>>_<
22:51:45  <substack>fs.createReadStream(__dirname + '/index.html').pipe(res) indeed
22:51:54  <substack>chrisdickinson: good catch
22:52:25  * stlsaintjoined
22:52:33  <jlord>substack chrisdickinson it's telling me that i don't have req/res at the point i'm trying to use it.
22:52:34  <st_luke>substack: wow
22:52:38  <jlord>put it in a gist: https://gist.github.com/jllord/5217537#file-route-js-L33
22:52:57  <jlord>I took a more complicated static file server i had and am trying to strip it down super simple
22:53:42  <jlord>to explain to the kids the very basic of server/browser stuff - so i don't need to check for the file, or check for GET... just want to serve up the one static file i know will be there because i'm putting it there for this example for the kiddies
22:55:01  * CryptoQuick_joined
22:55:14  * chrisdickinsonnods
22:55:33  * CryptoQuickquit (Ping timeout: 245 seconds)
22:55:33  * CryptoQuick_changed nick to CryptoQuick
22:55:40  <chrisdickinson>so you don't have request / response on line 35 of route.js?
22:55:41  <substack>jlord: s/res/response/
22:55:57  * dguttmanjoined
22:56:03  <substack>and s/req/request/
22:56:38  <substack>I think it's more direct to just use fs.createReadStream() inline here than to use filed
22:56:50  <substack>filed does a bunch of magical things to the response like setting headers
22:56:52  <jlord>Yeah, filed was there from when it was a bigger operation
22:57:08  <jlord>I just didn't get rid of it bc I wasn't sure if I'd keep using
22:57:38  <substack>I find it's always better to cull dead weight earlier
22:58:12  <substack>even though it often doesn't feel like it
22:58:14  <jlord>chrisdickinson: everytime I try to make line 35 a line which I think should go get the contents of index.html it tells me that request is not defined
22:59:25  <substack>jlord: writeHeader(200) is implied too
22:59:30  <substack>so it's not necessary
22:59:37  <substack>*writeHead
22:59:48  <substack>and writeHead is deprecated in favor of assigning to statusCode
22:59:55  <chrisdickinson>oh! i didn't know that
22:59:59  <juliangruber>substack: just started a new website and using single-page, sorta, hyperglue and brfs. that approach feels really nice.
23:00:20  <jlord>substack: so i've got this now: https://gist.github.com/jllord/5217537#file-route-js-L29
23:00:39  <substack>oh I guess not deprecated officially in the docs but I don't see it used as much
23:00:40  <jlord>but still says response is not defined
23:00:57  <substack>jlord: because it is undefined!
23:01:10  <substack>1) delete line 29
23:01:17  <jlord>:( i wanna get it!
23:01:46  <substack>2) replace lines 31-32 with fs.createReadStream(__dirname + '/index.html').pipe(response)
23:01:46  <jlord>I tried putting it after route.get line but then it told me that i couldn't do headers after they're set or something
23:02:41  <jlord>AHHHHH! IT WORKED!
23:03:15  * mmckeggjoined
23:03:36  <jlord>substack: i realize that i would have req/res at lines 31 because they are being put into the function, but but why am i getting read of the header and end stuff?
23:04:01  <jlord>Aren't they important?
23:04:09  <substack>jlord: because 1) writeHead(200) is implicitly added when you start writing
23:04:21  <substack>it uses the response.statusCode which is 200 by default
23:04:34  <substack>you only need to care about it if you have a non-200 status code to report
23:04:40  <substack>2) end is handled by streams
23:04:46  <jlord>Oooo!!
23:04:47  <substack>if you leave those in you'll break it
23:04:54  <substack>because streams handles setting the end
23:04:59  <jlord>it was breaking!
23:05:02  <substack>streams handle .write() and .end()
23:05:11  <substack>so you can't really mix and match as easily
23:05:13  <jlord>streams, so useful!
23:05:15  <substack>one or the other
23:05:41  <juliangruber>substack: will testling profesh require a private github account or will any git repo work?
23:05:50  <substack>juliangruber: any git repo works
23:06:02  <juliangruber>substack: sweet, then I'm interested in beta testing
23:06:03  <substack>profesh is just raw git endpoint that doesn't go through github
23:06:05  <substack>cool!
23:06:09  <substack>creating you a token
23:06:16  <juliangruber>awesome
23:06:33  <jesusabdullah>DID SOMEBODY SAY MY NAME??
23:06:35  * jesusabdullahreads up
23:06:51  <jesusabdullah>substack: ?
23:06:56  * dominictarrquit (Quit: dominictarr)
23:08:26  <jlord>Thank you substack!
23:08:55  <jesusabdullah>hey jlawds
23:09:22  <jlord>hey jesusabdullah!
23:13:26  <jesusabdullah>how goes?
23:14:20  * tmcwquit (Remote host closed the connection)
23:14:37  <jlord>It goes good! I'm learning node little by little as I try to create tutorials for kids on node, haha
23:14:52  <jlord>I just finished www.diy.org/skills/frontend-dev
23:15:24  <jlord>and now working on www.diy.org/skills/backend-dev (the link is live but it's obvs not finished/launched yet)
23:15:27  <jesusabdullah>word
23:15:47  <jlord>woops, there are no hypens in the url
23:15:58  <jlord>jesusabdullah: how are you!
23:21:05  * marcello3dquit (Remote host closed the connection)
23:21:36  <juliangruber>substack: when I provide a html page to testling, will the bundled js be at /bundle.js ?
23:22:30  <substack>juliangruber: the bundling actually uses the job id to prevent conflicts
23:22:56  <substack>so you'll need to have a custom preprocessor config in addition to a custom html page if you want to use both at the same time
23:23:05  <substack>I should make that nicer
23:23:10  <substack>but that's how it is right now
23:23:50  <substack>this will probably work: "testling": { "html": "page.html", "preprocess": "browserify test.js -o bundle.js" }
23:24:01  <juliangruber>ok sweet
23:27:26  <Raynos>jlord: HOW I WALK DOG?
23:29:00  * dominictarrjoined
23:34:15  <jlord>Raynos: haha I'm using it as a place holder but it's a real reference for the Veterinarian Skill I think
23:35:49  <Raynos>I WANT WALK DOG APP
23:35:52  <Raynos>HOW I BUILD WALK DOG
23:38:44  <jesusabdullah>jlord: not bad
23:42:58  <substack>http://esa-matti.suuronen.org/blog/2013/03/22/journey-from-requirejs-to-browserify/
23:45:22  <jlord>jesusabdullah: how is the bird!
23:46:19  * marcello3djoined
23:46:21  <jesusabdullah>jlord: sassy as ever! He's with my parents right now
23:46:45  <jesusabdullah>jlord: he's a little less social these days, in part because my mom doesn't let him fly everywhere while she's working but also because he has a huge cage with lots of toys
23:46:57  <jesusabdullah>jlord: but he's healthy and happy :)
23:47:03  <substack>sassy eh?
23:47:37  <jesusabdullah>oh yeah, you remember his demeanor
23:47:42  <jesusabdullah>hasn't changed one bit
23:48:03  <jlord>haha sassy!
23:48:05  <st_luke>sassy
23:48:05  <st_luke>hah
23:48:19  <st_luke>birds bein sassy
23:48:36  <jesusabdullah>hello st_luke long time no see
23:52:45  * thl0joined
23:53:14  * Domenic__joined
23:54:02  <st_luke>mikeal: who does the driving?
23:54:14  <st_luke>it might encourage people to be assholes
23:54:27  <mikeal>i nominate you :)
23:54:40  <st_luke>also does that rule apply to yehuda katz
23:54:42  <mikeal>unless you're getting kicked out, in which case visnu will drive :)
23:54:46  <mikeal>yehuda is not invited
23:54:49  <st_luke>hahahaha
23:55:16  <mikeal>if he buys a ticket then he can come, i doubt he will, but he's not invited to speak and if he decides to speak regardless he'll be thrown out :)
23:55:42  <st_luke>that's fair though
23:57:09  * thl0quit (Ping timeout: 256 seconds)
23:57:30  * Domenic__quit (Ping timeout: 245 seconds)
23:57:52  <substack>mikeal: did you figure out aside from the mime and dgram stuff what was stopping request from working under browserify?
23:58:17  <mikeal>dgram stuff?
23:58:25  <mikeal>i didn't even know about that
23:58:26  <dominictarr>substack: [email protected]<2 works
23:58:36  <mikeal>version 2 is really old
23:58:44  <substack>dominictarr: even with browserify>=2.6?
23:58:45  <mikeal>we are at 2.16
23:58:56  <dominictarr>works great though
23:59:10  <dominictarr>substack: hmm, don't know.