00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:05  <jesusabdullah>I'm just saying, if you're looking for an experte opinione you'll want to ask avianflue as he is an experte in daemonizatione in node
00:00:08  * ircretaryjoined
00:00:15  <defunctzombie>yea, I will ping him
00:00:20  <defunctzombie>when I see him online
00:00:40  <jesusabdullah>though, brohonestly I think he decided that using C for daemonization was moar betters
00:00:47  <jesusabdullah>YOU'll HAVE 2 ASK HIM
00:00:48  * Domenic_joined
00:01:10  * tmcwjoined
00:01:26  <defunctzombie>I think they gave up on this module haha
00:04:59  <jesusabdullah>yeah they did
00:05:01  <jesusabdullah>for REASONS
00:05:11  <jesusabdullah>"they" was "we" back then
00:05:16  <jesusabdullah>even if I was a step removed
00:06:30  * devaholicquit (Remote host closed the connection)
00:07:20  * thl0joined
00:08:31  * devaholicjoined
00:08:50  <defunctzombie>hahaha
00:08:56  <defunctzombie>jesusabdullah: yea, the reasons made sense
00:09:01  <defunctzombie>this approach is different
00:09:11  <defunctzombie>to make it work with node >= 0.8
00:09:15  * Domenic__joined
00:09:18  <defunctzombie>by using things node already does
00:09:21  <jesusabdullah>I see
00:09:24  <dominictarr>jesusabdullah: maybe we need an irc channel #ex-nodejitsu
00:09:25  <jesusabdullah>yeah def chat with Avian then
00:09:28  <jesusabdullah>dominictarr: lol
00:09:32  * thl0quit (Read error: Operation timed out)
00:09:32  <defunctzombie>haha
00:10:13  <jesusabdullah>dominictarr: ronin? XD
00:10:21  <mikolalysenko>jesusabdullah: hmm, I have a suggestion
00:10:27  <dominictarr>noderonin
00:10:27  <jesusabdullah>mikolalysenko: go for it
00:10:34  <jesusabdullah>dominictarr: nice
00:10:35  <mikolalysenko>what you could do is run the daemonize the moment the script loads
00:10:41  <mikolalysenko>and then set module.exports = pid
00:11:09  <jesusabdullah>mikolalysenko: yes you have to do that due to thread-safeness or lack thereof
00:11:10  <dominictarr>jesusabdullah: speaking of noderonin where is marak, I never see him online?
00:11:13  <mikolalysenko>so you could just at the top of your main script do: require("daemonize")
00:11:22  <jesusabdullah>dominictarr: he's in India, you can find him in #big sometimes
00:11:28  <mikolalysenko>there are no threads in node, so it shouldn't matter right?
00:11:33  <jesusabdullah>mikolalysenko: incorrect.
00:11:42  <mikolalysenko>internally yes, but externally no
00:11:43  <jesusabdullah>mikolalysenko: threads are used at the libuv level to juggle IO
00:11:46  <dominictarr>thanks
00:11:51  <mikolalysenko>right, but not in js
00:12:02  <jesusabdullah>mikolalysenko: doesn't matter, it'll still fuck up your IO situation
00:12:13  <mikolalysenko>interesting
00:12:16  <mikolalysenko>what happens?
00:12:16  <jesusabdullah>mikolalysenko: hold on lemme find this talk AvianFlu did where he touches on this it's actually really good
00:12:44  <mikolalysenko>ok, I'm curious to find out; though I'd definitely believe it happens
00:12:45  <jesusabdullah>mikolalysenko: https://www.youtube.com/watch?v=9fhOL0oCbpY
00:12:50  <mikolalysenko>thanks
00:13:10  <mikolalysenko>though that isn't quite what I was talking about in my comment
00:13:11  <jesusabdullah>mikolalysenko: iirc, everything's great until some IO tries to happen and then it just hangs cause there's no background thread
00:13:27  <defunctzombie>mikolalysenko: that is what this stuff does
00:13:30  <mikolalysenko>basically, I was suggesting an api tweak
00:13:33  <defunctzombie>mikolalysenko: it daemonizes itself
00:13:33  <mikolalysenko>yeah, got it
00:13:40  <mikolalysenko>yep, I understand that
00:13:42  <defunctzombie>by relaunching itself
00:13:45  <jesusabdullah>mikolalysenko: so if you do everything immediate-like like you said before any IO, it's mostly good
00:13:50  * Domenic__quit (Ping timeout: 255 seconds)
00:13:51  <mikolalysenko>I was just saying that rather than do require("daemonize")()
00:13:57  <jesusabdullah>oh yeah, sure
00:13:58  <mikolalysenko>you could do require("daemonize")
00:14:02  <mikolalysenko>internally it would be the same
00:14:07  <mikolalysenko>just skip the ()
00:14:14  <defunctzombie>mikolalysenko: interesting
00:14:31  <defunctzombie>mikolalysenko: well, one reason it doesn't is because the module does have other api
00:14:35  <mikolalysenko>then you just put require("daemonize") at the start of your main script
00:14:37  <defunctzombie>which you can use to daemonize other scripts
00:14:52  <mikolalysenko>ah, I see
00:15:01  <defunctzombie>mikolalysenko: https://github.com/shtylman/daemon.node/blob/master/index.js#L26
00:15:04  <mikolalysenko>ok, if it does then nvm
00:15:05  <defunctzombie>I need to put that on the readme
00:15:09  <jesusabdullah>I suppose if requiring it does the daemonization and you only need to do it once.........
00:15:46  <mikolalysenko>hmm
00:15:48  <jesusabdullah>oh also
00:15:55  <mikolalysenko>what about just having the daemonize a script interface then?
00:16:04  <jesusabdullah>have you guys seen chjj lately? I HAVE NOT but he also hacked together a daemonization lib in noads
00:16:06  <mikolalysenko>that way you don't have the confusing run-all-this-code twice thing
00:16:28  <jesusabdullah>uuuugh I'm out of tobaccoooooo
00:16:37  <jesusabdullah>*whine* *pout*
00:21:51  * _ritchpart
00:26:36  <mikolalysenko>is there a good library to do code coverage testing with tap?
00:27:02  <mikolalysenko>or an option you can pass to tap to make it do it
00:27:24  <mikolalysenko>actually nvm, just figured it out
00:27:33  * yorickquit (Remote host closed the connection)
00:28:54  <mbalho>mikolalysenko: howd ya do it
00:29:08  <defunctzombie>mikolalysenko: istanbul
00:29:24  <mikolalysenko>scroll to the bottom of this page: https://github.com/isaacs/node-tap
00:29:26  <niftylettuce>HE PUT THE BONK BONK IN THE SNOG SNOG
00:29:32  <mikolalysenko>though istanbul sounds like it might be better..
00:29:48  <defunctzombie>mikolalysenko: don't use the doc there
00:29:50  <defunctzombie>istanbul is better
00:29:52  <defunctzombie>use it
00:30:13  * dguttmanjoined
00:30:21  <defunctzombie>mikolalysenko: just having a script interface could be cool, one advantage was that if you wanted your script to daemonize itself, you just do that
00:30:34  <defunctzombie>without having to come up with the tricks
00:30:52  <mikolalysenko>defunctzombie: true, but the semantics are a bit cleaner with the script interface
00:31:13  <mikolalysenko>since you don't have that weirdness of code running twice...
00:31:27  <mikolalysenko>of course if you are daemonizing stuff, it is expected you should know what you are doing
00:32:49  <defunctzombie>heh
00:35:23  * st_lukejoined
00:46:22  * thl0joined
00:53:08  * thl0_joined
00:53:11  * thl0quit (Read error: Connection reset by peer)
00:53:51  * tilgoviquit (Read error: Connection reset by peer)
01:03:31  * dguttmanquit (Quit: dguttman)
01:03:41  * st_lukequit (Remote host closed the connection)
01:05:35  * CoverSlidequit (Ping timeout: 260 seconds)
01:07:13  * CoverSlidejoined
01:09:09  <Raynos>isaacs, defunctzombie, substack: I have a 100 dependencies. How do I know which ones work in 0.10 ;_;
01:09:23  <Raynos>fixing my own code for 0.10 is easy
01:09:27  <defunctzombie>Raynos: tests hahha
01:09:36  <Raynos>fixing the cluster fuck that's 400 deps in node_modules is another thing
01:09:44  <Raynos>defunctzombie: you assume i have decent test coverage >_>
01:10:01  <defunctzombie>hahaha
01:10:05  <Raynos>miko, defunctzombie: document test coverage + tape please!
01:11:24  * st_lukejoined
01:16:16  <Raynos>Mother of god
01:16:19  * st_lukequit (Remote host closed the connection)
01:16:24  <Raynos>I now see why large companies can't just "upgrade versions"
01:18:40  <defunctzombie>hahaha
01:19:06  <defunctzombie>Raynos: write a script to see which of those modules has a .travis config file with 0.9 or 0.10 :)
01:19:19  <defunctzombie>and that will narrow it down some
01:19:19  <Raynos>or at least
01:19:22  <Raynos>recursively run `npm test`
01:19:28  <defunctzombie>that too
01:19:34  <Raynos>Man I should write a test failure bot xd
01:19:46  <Raynos>`npm i hoarders && test-failure-bot .`
01:20:14  <defunctzombie>haha
01:21:49  <defunctzombie>recursive test running should help quite a bit
01:22:07  <Raynos>and piss off a lot of people :p
01:22:14  <defunctzombie>I imagine some modules will not have 'npm test' working and might use makefiles, but otherwise it would be quite cool
01:22:20  <defunctzombie>don't see why it would
01:22:29  <defunctzombie>if their shit is broken they will probably want to know
01:22:33  <Raynos>just open an issue on those repos to say `npm test does not output TAP`
01:22:44  <defunctzombie>personally I am not upgrading till some other issues are resolved
01:22:49  <Raynos>isaacs: the npm docs should recommend `npm test` outputs TAP
01:22:51  <defunctzombie>Raynos: that would be mean
01:23:03  <defunctzombie>'npm test' should just exit with non 0
01:23:06  <defunctzombie>period
01:23:10  <defunctzombie>that is the only requirement
01:23:15  <defunctzombie>and makes everyone happy
01:23:19  <Domenic_>+1
01:23:25  <Raynos>defunctzombie: and it the package.json doesn't have a git link then find the email of the author & email them saying package X does not have github link :D
01:23:33  <defunctzombie>yes
01:23:34  <Domenic_>+1 to that too
01:23:44  <defunctzombie>no github link should result in removal from npm
01:23:49  <defunctzombie>or no repo link I should say
01:23:52  <Raynos>what about bitbucket
01:23:55  <Raynos>or githero
01:24:01  <defunctzombie>any valid link
01:24:10  <defunctzombie>and author must have email
01:24:24  <defunctzombie>these are not unreasonable requests for packages
01:24:28  <Raynos>authors have an email in the npm system
01:24:29  <defunctzombie>in an OSS ecosystem
01:24:38  <Raynos>even if not in the package.json
01:24:46  <defunctzombie>yea
01:25:04  <Raynos>isaacs: can we can make `npm publish` fail if you `npm test` does not output 0 and there is no repo link? :D
01:25:36  <Raynos>actually the repo link isn't important
01:25:49  <defunctzombie>it is, need to be able to find the source
01:26:35  <defunctzombie>it is about community and sharing :)
01:28:52  * ins0mniaquit (Ping timeout: 248 seconds)
01:29:19  <Raynos>the source is in a tarball
01:29:21  <Raynos>in couch :D
01:29:22  <dominictarr>Raynos: defunctzombie not having a repo link is really annoying
01:29:42  <dominictarr>because I want to browse your code before I install you shit
01:29:53  <dominictarr>and that is easier on github
01:30:08  <dominictarr>also, if I find a problem, I want to be able to make a pull request
01:30:20  <dominictarr>I need a repo link for that too
01:30:43  <dominictarr>If your module isn't worth fixing, it's not worth using
01:30:45  <Raynos>I personally find `npm docs` not going to github frustrating
01:31:06  <dominictarr>so, make a new command
01:31:37  <dominictarr>Raynos: I'm working on stuff to replicate all the npm stuff into a local leveldb
01:31:53  <Raynos>:)
01:31:53  <dominictarr>so building tools like this will be super easy
01:32:02  <dominictarr>actually, most of the stuff is ready
01:32:15  <dominictarr>https://github.com/dominictarr/level-couch-sync/blob/master/example.js
01:32:33  <dominictarr>as examples in things, but I havn't gotten around to pulling it all into one repo
01:32:33  <Raynos>https://github.com/Colingo/is-object#is-object > because typeof null is a troll
01:32:49  <Raynos>cant believe i had to write that ._.
01:33:22  <dominictarr>Raynos: if you run that example, it will sync the latest data from npm
01:34:17  <defunctzombie>Raynos: docserv
01:36:09  <dominictarr>defunctzombie: what is docserv?
01:36:27  <defunctzombie>dominictarr: amazing
01:36:40  <defunctzombie>dominictarr: npm install -g docserv
01:36:44  <defunctzombie>then go into one of your projects
01:36:47  <defunctzombie>and type docserv
01:36:54  <defunctzombie>https://github.com/shtylman/docserv
01:37:14  <dominictarr>okay, trying
01:39:19  <dominictarr>defunctzombie: nice!
01:39:31  <dominictarr>It needs a fixed width layout
01:41:22  <defunctzombie>yea
01:41:23  <dominictarr>also, it breaks when there is no package.json
01:41:27  <defunctzombie>yep
01:41:32  <defunctzombie>it needs some love
01:41:44  <defunctzombie>like links to github if available
01:41:46  <defunctzombie>and npm
01:41:58  <defunctzombie>and src docs/browsing
01:42:11  <dominictarr>would also be nice to have a common js aware code browser
01:42:23  <dominictarr>where I can click require like it's a link
01:42:26  <defunctzombie>totally doable
01:42:30  * CryptoQuick_joined
01:42:33  <defunctzombie>I know all the tricks to make it happen I think :)
01:42:36  <dominictarr>yeah, it's just work
01:42:40  <defunctzombie>yep
01:44:15  * CryptoQuickquit (Ping timeout: 276 seconds)
01:44:15  * CryptoQuick_changed nick to CryptoQuick
01:44:50  <dominictarr>defunctzombie: does it read the deps in package.json or does it scan node_modules?
01:45:04  <defunctzombie>dominictarr: both
01:45:09  <defunctzombie>it can identify extraneous
01:46:09  <dominictarr>also, not every package.json has a readme property
01:46:53  <dominictarr>okay, it just took a little time to load
01:48:00  <dominictarr>hmm… needs a text index too
01:49:43  <Raynos>so I have this weird habit
01:49:47  <defunctzombie>dominictarr: open issues if you want on github :)
01:49:49  * marcello3dquit (Remote host closed the connection)
01:49:49  <Raynos>of having a util folder in my test folder
01:49:55  <defunctzombie>when I find time I can get around to them
01:49:57  <Raynos>that contains things shared between multiple test cases
01:50:02  <defunctzombie>Raynos: bad
01:50:05  <defunctzombie>haha
01:50:09  <Raynos>and they feel too specific to my unit tests to facture into a seperate repo
01:50:11  <defunctzombie>DEATH TO UTIL!!
01:50:20  <Raynos>I can rename the folder to lib for all I care :P
01:50:30  <defunctzombie>Raynos: they probably don't need to be a separate repo
01:50:45  <Raynos>then where do they belong ;_;
01:50:46  <dominictarr>oh, and to diff documents for version numbers, so you can see what has changed in the public api
01:51:02  <Raynos>a common.js file at ./test/common.js ?
01:51:05  <defunctzombie>assuming they documented it haha
01:51:12  <defunctzombie>Raynos: yea
01:51:16  <defunctzombie>Raynos: sure, why not
01:51:20  <Raynos>I guess I could do that
01:51:32  <Raynos>but then you can't `tape ./test/*.js
01:51:39  <defunctzombie>yea you can
01:51:47  <dominictarr>Raynos: test/util/index.js
01:51:47  <Raynos>just make common.js not do anything stupid
01:51:49  <Raynos>I guess so
01:51:51  <defunctzombie>assuming common.js just exports
01:52:00  <defunctzombie>it will be fine
01:52:56  <substack>people want to do this kind of thing a lot https://github.com/substack/node-browserify/pull/324
01:53:10  <substack>also this http://stackoverflow.com/questions/15313720/nodejs-local-modules-for-complex-application-structures/15317142
01:53:17  <substack>what's so bad about putting stuff in node_modules?
01:54:37  <defunctzombie>substack: tell this person to learn what a symlink is
01:54:51  <defunctzombie>substack: I have a common dir in my project and a package.json in that
01:55:02  <defunctzombie>and am more than happy to symlink inside node_modules
01:55:08  <defunctzombie>or better yet, pull out into a module when I can
01:55:41  <defunctzombie>substack: that SO thread is full of nonsense haha
01:55:42  <mbalho>guys my stuff is complex i need more complexity to manage it
01:56:04  <Raynos>substack: noobs are going to noob.
01:56:28  <defunctzombie>hahaha
01:56:45  <defunctzombie>anyone who says their stuff is complex need to have a nice chat with me
01:56:50  <defunctzombie>so I can tell them to stfu
01:59:20  <defunctzombie>" might require a helper module which is located "my/app/lib/helpers/view"."
01:59:29  <defunctzombie>sounds like he has modules living in the wrong places
01:59:34  <substack>well I would like it more if beginners didn't stumble into these traps as much
02:00:30  * dguttmanjoined
02:01:48  <defunctzombie>" lib utils and helpers"
02:01:50  <defunctzombie>wtf
02:02:08  <defunctzombie>maybe we can be more vague with our naming
02:02:11  <defunctzombie>file.js
02:02:40  * dguttmanquit (Read error: Connection reset by peer)
02:03:29  * dguttmanjoined
02:03:44  * CryptoQuickquit (Quit: CryptoQuick)
02:05:19  <Raynos>defunctzombie: index.js
02:05:40  <Raynos>lib/lib/lib/lib/index.js & lib/lib/lib/lib/lib/index.js
02:06:31  <defunctzombie>"It’s not conceivable for most package maintainers to sit down and test their package will all the new updates that ship for their deps."
02:06:36  <defunctzombie>this is BS
02:06:50  <Raynos>Where?
02:06:51  * dguttmanquit (Client Quit)
02:06:52  <defunctzombie>if you let your shit ship with broke ass deps, then you are to blame
02:06:56  <defunctzombie>http://www.futurealoof.com/posts/nodemodules-in-git.html#
02:07:08  <defunctzombie>" This is why package maintainers should not version lock,"
02:07:18  <defunctzombie>I must ignore anything this person has to say
02:07:28  <defunctzombie>because they don't develop software
02:07:32  <defunctzombie>mikeal: :p
02:08:12  <Raynos>defunctzombie: if people did semver differently then we should just float the patch version
02:08:16  <Raynos>it's convenient for sure
02:08:52  * dguttmanjoined
02:08:56  <defunctzombie>I will take reproducibility over convenience at this point
02:09:06  <defunctzombie>when node was 0.1
02:09:11  <defunctzombie>maybe it mattered more
02:09:19  <defunctzombie>but now things are different imho
02:09:23  <defunctzombie>but whatevs
02:09:28  <defunctzombie>most people do the right thing
02:10:31  <substack>I still float patch versions
02:11:29  <mikeal>defunctzombie: package maintainers should not lock version numbers
02:11:37  <mikeal>you miss out on bug fixes more than you opt out of existing bugs
02:11:53  <Raynos>i only fix versions when I know its buggy
02:11:55  <mikeal>for apps you deploy, check in the deps, and run your fucking tests before you deploy
02:12:12  <mikeal>i make a habit of only fixing bugs as well :P
02:12:13  <defunctzombie>mikeal: package maintainers should lock versions otherwise there is no history of wtf was going on
02:12:13  <Raynos>I've rarely had to do this. One case was the mongo driver where i just didn't have the time or test coverage to fix it
02:12:20  <defunctzombie>mikeal: people are bad developers
02:12:24  <defunctzombie>and are not to be relied on
02:12:29  <mikeal>~0.1.0
02:12:31  <Raynos>defunctzombie: Then don't do OS
02:12:38  <mikeal>which will also get bug fix 0.1.1000
02:12:42  <Raynos>and welcome to NIH :D
02:12:55  <defunctzombie>Raynos: NIH is fine if everyone else has broken ass shit
02:12:56  <mikeal>defunctzombie: you're still relying on people's buggy software, you just aren't getting their bug fixes
02:13:03  <Raynos>agreed.
02:13:04  <defunctzombie>mikeal: bug fixes are a lie
02:13:15  <mikeal>in my experience, the buggiest programmers are the ones that write everything themselves
02:13:21  <defunctzombie>bug fix = change in behavior
02:13:29  <defunctzombie>which may break previously relied upon behavior
02:13:31  <mikeal>yes, a good change :)
02:13:34  <Raynos>now checking node_modules into git has other problems
02:13:40  <mikeal>do you use software?
02:13:41  <Raynos>like mother of god diff noise
02:13:51  <substack>I have somehow convinced armies of developers to fix bugs for me.
02:13:52  <defunctzombie>diff noise is very bad
02:13:54  <substack>it's pretty great
02:13:59  <defunctzombie>yes
02:14:01  <mikeal>i don't consider it noise, it's part of your application, it should be in the history
02:14:02  <defunctzombie>that is the best approach
02:14:15  <mikeal>a dep is code that your app runs
02:14:18  <Raynos>defunctzombie: http://xkcd.com/1172/
02:14:36  <Raynos>mikeal: the problem is that github doesn't let me hide the 500 new files in node_modules & let me see the real changes
02:14:36  <defunctzombie>Raynos: yep
02:14:42  <mikeal>pretending it's not is dangerous
02:14:44  <Raynos>so it's a tooling problem and an over reliance on github
02:14:58  <mikeal>Raynos: don't take deps that are 500 files :)
02:15:10  <defunctzombie>mikeal: it absolutely is part of the app, but not my source
02:15:10  <mikeal>problem solved :)
02:15:11  <Raynos>i touch npm dedup
02:15:20  <Raynos>and node_modules rupts the sky and earth and 500 files change
02:15:21  <defunctzombie>maybe I just need a github repo with submodules to the others haha
02:15:35  <Raynos>maybe moving folders
02:15:38  <Raynos>i write "big apps"
02:15:41  <mikeal>did flatten ever make it in as a feature?
02:15:47  * thl0_quit (Remote host closed the connection)
02:15:51  <Raynos>isn't flatten & dedup the same thing?
02:15:52  <mikeal>submodules are the WORST
02:15:55  <Raynos>or is flatten like unsafe dedup?
02:15:57  <mikeal>yeah, maybe
02:16:10  <mikeal>flatten was what it was called when it was my idea
02:16:21  <defunctzombie>personally I think these are all issues solved by a good package manager
02:16:29  <defunctzombie>no reason the damn package manager can't help me do this
02:16:31  <mikeal>then isaac made it a real thing and not just an idea in my head, and it was called dedup i guess
02:16:32  <Raynos>yeah that exists
02:16:34  <Raynos>its pretty cool
02:16:34  <defunctzombie>that is why I use it in the first place
02:16:44  <defunctzombie>if I wanted to just wget and add to node_modules
02:16:48  <mikeal>if you use dedup consistenly its not noisy
02:16:53  <defunctzombie>there would be no point to the damn package manager
02:17:06  <Raynos>the problem is there's a few hundred mbs of junk in node_modules
02:17:11  <defunctzombie>that is why I hate arguments about checking in deps, etc
02:17:13  <mikeal>the package manager is for install and publishing packages
02:17:13  <Raynos>and it's node_modules debt acquired over years
02:17:18  <defunctzombie>when I instead want a better package manager
02:17:21  <mikeal>the package manage is NOT for deployment
02:17:26  <Raynos>defunctzombie: REBUILD ALL THE NPMS
02:17:33  <defunctzombie>mikeal: not true
02:17:39  <defunctzombie>mikeal: it can be whatever it is designed to do
02:17:44  <Raynos>defunctzombie, dominictarr, isaacs: kickstarter to rebuild npm.
02:17:47  <mikeal>it's not designed for deployment
02:17:50  <defunctzombie>mikeal: just because you think it isn't for deployment doesn't mean it can't be
02:17:57  <mikeal>i can tell you that with some authority
02:18:07  <defunctzombie>mikeal: my argument is that a good package manager helps with deployment
02:18:09  <mikeal>says the creator and maintainer
02:18:11  <defunctzombie>as in, doesn't make it harder
02:18:15  <defunctzombie>sure
02:18:22  <mikeal>sure, it helps by installing and maintaining packages
02:18:23  <defunctzombie>but I think that is broken by design
02:18:29  <defunctzombie>which is fine
02:18:30  <mikeal>dedup is for helping with apps you will deploy
02:18:35  <defunctzombie>I just have different opinions on it
02:18:36  <Raynos>mikeal: at some port I started doing the one test per file thing. It just happened o_o;
02:18:38  <mikeal>so that you don't checkin so much noise
02:18:46  <defunctzombie>I don't want to checkin any noise
02:18:49  <mikeal>one test per file is the right thing
02:18:54  <defunctzombie>I want the thing to shashum and do it for me
02:18:57  <defunctzombie>and do the right thing
02:18:59  <Raynos>i still use tape & TAP output though :p
02:19:17  <mikeal>here's the issue defunctzombie
02:19:19  <defunctzombie>and eventually I will get to a point where I will want to make something that does that (just not today)
02:19:24  <mikeal>git is for maintaing the code in your app
02:19:29  <Raynos>mikeal: dedup is for frontend and anality about minimal duplication of code
02:19:31  <mikeal>many people use it for deployment and there are many tools for doing that
02:19:36  <mikeal>npm is NOT built for deployment
02:19:47  <mikeal>and you're like "I don't want the thing that is built for this, i want npm to do it"
02:19:47  <defunctzombie>npm is a package manager
02:19:50  <defunctzombie>it installs packages
02:19:54  <defunctzombie>if I can't make it install shit consistently
02:19:59  <defunctzombie>then it is a useless package manager
02:20:17  <defunctzombie>I don't want npm to be my version control system
02:20:19  * mikolalysenkoquit (Ping timeout: 264 seconds)
02:20:20  <defunctzombie>I want it to install shit
02:20:24  <mikeal>Raynos: dedup was written because people like me complained about noise when checking in dependencies
02:20:31  <Raynos>Oh I see.
02:20:54  <mikeal>you want the package manager to resolve all your deps on deploy?
02:20:55  <defunctzombie>because checking in deps is stupid if you have a good package manager system
02:21:00  <mikeal>that's crazy retarded :)
02:21:02  <dominictarr>the basic pattern in npm is great
02:21:04  <defunctzombie>why?
02:21:10  <defunctzombie>mikeal: it is a package manager
02:21:14  <mikeal>1) it increases your deploy time
02:21:15  <defunctzombie>if it can't resolve the shit to install
02:21:17  <defunctzombie>then it is useless
02:21:20  <dominictarr>it could be implemented differently
02:21:22  <defunctzombie>mikeal: deploy time is already short
02:21:22  <mikeal>2) you pull down the same dep one every machine
02:21:29  <defunctzombie>mikeal: yea, so what
02:21:40  <defunctzombie>eveyrthing you say is a non problem
02:21:44  <mikeal>3) you're relying on metadata to resolve to the same code as you have locally which is BOUND to be inconsistent at some point in time
02:21:48  <defunctzombie>I can easily maintain a local npm cache if it matters
02:21:56  <mikeal>npm helps you do versioning, it doesn't offer hard guarantees like git does
02:21:59  <defunctzombie>mikeal: doesn't have to be that way
02:22:11  <defunctzombie>mikeal: I am saying a tool like it could easily do both
02:22:13  <mikeal>do you distribute your deployments?
02:22:20  <mikeal>it doesn't
02:22:21  <defunctzombie>meaning?
02:22:23  <mikeal>nodejitsu tries
02:22:26  <mikeal>and it's painful
02:22:31  <mikeal>and deploys take forever
02:22:45  <Domenic_>holy shit that stackoverflow link is my coworker
02:22:49  <Domenic_>hahahaha
02:23:13  <defunctzombie>mikeal: probably cause they didn't run a local npm clone
02:23:20  <defunctzombie>mikeal: or cache proxy I bet
02:23:26  <mikeal>you have some sort of OCD
02:23:29  <defunctzombie>mikeal: I worked for a company with many servers
02:23:34  <defunctzombie>mikeal: we set up a local apt mirror
02:23:34  <mikeal>that makes you irrational about what goes in to source control
02:23:39  <defunctzombie>worked just fine and fast
02:23:41  <mikeal>and you're making your life very painful as a result
02:23:43  * dguttmanquit (Quit: dguttman)
02:23:48  <defunctzombie>mikeal: my life is not painful as a result
02:24:00  <defunctzombie>I strive ot make things more consistent if I can
02:24:12  <mikeal>that's the thing about consistency guarantees, they are usually right with means at scale they are EVENTUALLY wrong
02:24:12  <defunctzombie>you are just saying this tool is this and it can never be better
02:24:16  <mikeal>ask MongoDB
02:24:18  <mikeal>:P
02:24:18  <defunctzombie>?
02:24:25  <defunctzombie>useless argument imho
02:24:35  <defunctzombie>all I am saying is that i think the tool could be better
02:24:41  <defunctzombie>it is already quite good in many ways
02:24:44  <mikeal>it's not going to be source control
02:24:57  <mikeal>its not going to have a consistent hash of the contents of every file
02:24:57  <defunctzombie>sure ok
02:25:04  <defunctzombie>you don't need that
02:25:04  <mikeal>that is called a guarantee and that is what git is for
02:25:06  <defunctzombie>anyhow, whatever
02:25:08  <defunctzombie>it is fine
02:25:12  <defunctzombie>you are not gonna develop it
02:25:15  <mikeal>and if you don't want that in your deployments then we can stop having this conversation
02:25:27  <defunctzombie>I am once I get there
02:25:41  <defunctzombie>the nice thing about all this stuff is it is easily re-instrumented
02:25:51  <mikeal>i can't beleive we started this conversation with you accusing me of not shipping software :)
02:26:01  <defunctzombie>mikeal: :D
02:26:04  <mikeal>why are you instrumenting solved problems?
02:26:08  <Raynos>Domenic_: Mother of god. Your company :(
02:26:13  <mikeal>that's called "adding bugs"
02:26:18  <Domenic_>Raynos: it's not so bad
02:26:30  <Raynos>Domenic_: If you want to work with people that "get" browserify I might know some people ;)
02:26:43  <Domenic_>Raynos: we "get" browserify pretty well. it was me who set it up
02:26:52  <Domenic_>As the app grows you have to be diligent about splitting things out
02:26:56  <Domenic_>But that's not always easy
02:27:01  <Raynos>i know
02:27:04  <Raynos>its a nightmare
02:27:10  <Raynos>I fall into the trap each time ._.
02:27:23  <Raynos>"ship now. modularize later. mother of god how do I fix this codebase"
02:27:24  <Domenic_>I'm not sure one package per UI component is a great solution in terms of overhead, given zero code reuse
02:27:37  <Domenic_>Obviously "helpers" should be its own package
02:27:43  <Domenic_>And I'm berating him over Skype about that now
02:27:51  <defunctzombie>hahaha
02:27:57  <Raynos>Domenic_: I actually think creating new packages / repos should be trivial
02:28:01  <Domenic_>But in general the very app-specific code modularization is not as easy
02:28:08  <defunctzombie>I also find it hard to believe there are acutally ../../../../../ that many levels of code
02:28:23  <Raynos>I have my new package creation down to being able to move a file into a seperate repo / tests / published in <5 mins. still takes too long
02:28:28  <mikeal>Domenic_: it is fi you like to have LOTS of index.js files open in your editor :)
02:28:34  <defunctzombie>Domenic_: agreed, for widgets tho I just put them in their own folders
02:28:44  <Domenic_>defunctzombie: there are, we just nest folders depending on UI structure
02:28:54  <Raynos>defunctzombie: I have that.
02:28:57  <Domenic_>not sure that was the best decision but it was pretty nice sometimes
02:29:27  <Raynos>./public/lib/{{company}}/page/component/lib/{{file}} :(
02:29:44  <mikeal>that made me thow up some Java
02:29:45  <mbalho>can anyone recommend a module like this? https://npmjs.org/package/json-query high level in memory object filtering/queries
02:29:48  <Domenic_>components\Terms\Items\ZoomedOut\Terms
02:29:56  <Raynos>mikeal: +1
02:30:37  <Domenic_>contains index.js, template.jade, itemTemplate.jade, zoomedOutTerms.styl
02:30:47  <Raynos>I think you win super bonus points if you have `lib` in your file path twice
02:30:49  <Domenic_>maybe make it its own package? not sure
02:31:06  <Raynos>Domenic_: if you solve loading jade & styl files through npm then yes
02:31:11  <Domenic_>and if it's its own package, should it be its own repo?
02:31:17  <Domenic_>Raynos: interesting tangent about that
02:31:24  <Raynos>the benefits of making it it's own repo
02:31:28  <Raynos>is that it can have it's OWN tests
02:31:28  <defunctzombie>Domenic_: no, just link into node_modules if you want
02:31:33  <Raynos>and it's OWN documentation
02:31:36  <Raynos>and it's OWN examples
02:31:39  <Raynos>if you do all three
02:31:42  <Domenic_>Raynos: jade's are done through require('./template.jade') in browserify with simple-jadeify
02:31:43  <defunctzombie>but if it is own repo that is nice
02:31:50  <Raynos>and if writing tests / examples in isolation for a single widget / component is trivial
02:31:51  <Raynos>then yes
02:31:53  <Raynos>massive +1
02:31:59  <Domenic_>Raynos: styluses are done by taking every stylus file in the project and compiling them together.
02:32:03  <Raynos>if you can't do that and you need to bootstrap half the app to write an example then no
02:32:16  <Raynos>Domenic_: I do the same with jade.
02:32:31  <Raynos>we have a less optimum less flow
02:32:34  <Domenic_>Raynos: I pretty much agree with that idea. Next time I guess.
02:32:38  <Raynos>and havn't figure out how to put less files in node_modules
02:32:55  <Domenic_>I really like the "if it's in your project it should end up in the compiled.css file"
02:32:57  <Domenic_>approach
02:33:02  <Raynos>Domenic_: The current project I'm working on i'm trying "examples for each individual widget"
02:33:14  <Raynos>and it's a nightmare because I need to bootstrap half the app to get a decent example for a widget
02:33:20  <Raynos>because I'm building my widgets wrong
02:33:35  <Raynos>Domenic_: does node_modules count as in the project?
02:33:45  <Raynos>Domenic_: I like https://github.com/shtylman/npm-css
02:34:06  <Raynos>but need to figure out how to hook it up to a preprocessor even though defunctzombie basically wrote the less code already :P
02:35:14  <Domenic_>interesting
02:35:33  <defunctzombie>npm css is great
02:35:42  <defunctzombie>I use it on things not even in node_modules
02:35:53  <defunctzombie>for my standalone widgets custom to the project
02:36:07  <Domenic_>We just used grunt. stylus: { src: ["styles/**/*.styl", "components/**/*.styl"], dest: "out/css" }. Then everything in the app has its own .styl file in its own folder, and it automatically ended up in the app. No fuss.
02:36:52  <defunctzombie>I hate grunt haha
02:37:12  <defunctzombie>if my app doesn't do it automatically at startup, I don't like it :)
02:37:21  <Domenic_>yeah for us a build step was really important
02:37:28  <Domenic_>partially because of windows 8 things
02:37:31  <defunctzombie>no point in having all these js libs and then making separate manual things for them
02:37:32  <Domenic_>we had no server
02:37:37  <defunctzombie>ah
02:37:39  <mikeal>https://twitter.com/mikeal/status/311667289038655488
02:37:43  <mikeal>i'm kind of an asshole
02:38:21  <defunctzombie>haha
02:38:49  <defunctzombie>I think both of you are made for each other
02:40:15  <Domenic_>FakeAlexRussell is my favorite thing
02:46:29  <Raynos>+1
02:47:21  <Raynos>Domenic_: Are you not worried that ES6 is going to bring an explosion of crazy features?
02:47:31  <dominictarr>defunctzombie, what do you need to make npm deployable?
02:47:50  <dominictarr>is it just speed, and if shrink wrap did hashes?
02:48:12  <defunctzombie>dominictarr: speed is less important to me
02:48:21  <defunctzombie>dominictarr: anyone running a large deployment can just run an npm mirror
02:48:34  <dominictarr>so, what is the important thing?
02:48:38  <dominictarr>shrinkwrap?
02:48:42  <defunctzombie>consistency
02:49:07  <defunctzombie>npm install should mean 1 thing at all times
02:49:28  <defunctzombie>(this actually matters for dev environments too)
02:50:22  <Domenic_>Raynos: not really. Modules are the only things I am worried about. Everything else looks awesome.
02:50:37  <Raynos>Domenic_: comprehensions look like a trap
02:50:47  <Raynos>I'm worried es6 will be as unreadable as coffeescript
02:50:47  <Domenic_>Raynos: then don't use them. Just sugar.
02:50:52  <Raynos>classes are a massive trap
02:50:57  <Domenic_>O___o
02:50:59  <Raynos>I'm not worried about the subset I'll use
02:51:00  <Domenic_>again, just sugar
02:51:15  <Raynos>I'm worried about making it harder to read and contribute to other people's code
02:51:20  <Domenic_>Classes are strictly more readable than what they desugar to. Comprehensions I can understand.
02:51:34  <Raynos>I mean gozala, substack's and dominictarr's code is already hard to read I guess
02:51:39  <Domenic_>heh
02:51:48  <Raynos>Domenic_: Classes may encourage abuse of OO
02:51:48  <defunctzombie>the problem with evolving a language syntax too much is that it isn't really the same language
02:51:49  <dominictarr>Raynos: YOUR CODE IS HARD TO READ
02:51:56  <Raynos>dominictarr: HEAR HEAR
02:52:00  <dominictarr>CODE IS HARD TO READ. PERIOD.
02:52:02  <defunctzombie>the push to "evolve" js is only there because no other thing runs in browsers
02:52:07  <defunctzombie>but this is the wrong way to look at it
02:52:08  <Domenic_>sure. but es3 will always be there for you.
02:52:26  <Raynos>I can write in the sensible subset of es6 myself, that's easy
02:52:29  <defunctzombie>some of these are different runtimes
02:52:35  <defunctzombie>and others should really be different languages
02:52:52  <Raynos>Domenic_: abuse of proxies is going to be a nightmare :(
02:52:57  <defunctzombie>the browser should just run a VM/syscall interface
02:52:58  <Domenic_>stagnation on the web is a social ill. stagnating at es5 means stupid shit like ActiveG and Visual GBScript start appearing.
02:53:04  <dominictarr>defunctzombie: what do you mean consistency? I think npm-shrinkwrap does that
02:53:06  <defunctzombie>and let people battle the language shit out in "userspace"
02:53:16  <dominictarr>…nearly
02:53:24  <Raynos>Domenic_: ActiveGoogle and visual google basic script?
02:53:27  <defunctzombie>dominictarr: modules themselves don't use shrinkwrap
02:53:37  <Domenic_>Raynos: exactly. Aka NaCl and Dart.
02:53:42  <defunctzombie>dominictarr: which means that over time, what the dev tested with versus what is current starts to change
02:53:52  <dominictarr>sure, but your app does
02:53:57  <defunctzombie>dominictarr: my opinion is that in a good system, shrinkwrap doesn't need to exist
02:53:59  <Domenic_>Not to mention Silverlight ("WPF Everywhere") etc.
02:54:15  <dominictarr>defunctzombie: Right. you want exact ranges for everthing
02:54:18  <defunctzombie>dominictarr: yes, but coming back to debug things later as code is changing becomes a challege
02:54:32  <defunctzombie>Domenic_: take that evil spirit talk away from here
02:54:39  <dominictarr>you are the only person with this opinion, unless you didn't notice.
02:54:47  <defunctzombie>I noticed :)
02:54:58  <defunctzombie>I also write financial software
02:55:05  <defunctzombie>so maybe that influences some things haha
02:55:38  <defunctzombie>dominictarr: I find it funny that I have to defend this opinion and not hte other way around haha
02:55:41  * tmcwquit (Remote host closed the connection)
02:55:57  <dominictarr>well, it's a question of what can be made workable
02:56:08  * tmcwjoined
02:56:08  <dominictarr>I mean, you arn't gonna be able to talk everyone around
02:56:41  <defunctzombie>dominictarr: sure, I think one major mistake in npm was allowing flex versioning in the first place
02:56:52  <defunctzombie>dominictarr: I am of the strong opinion that tools should make you do the right things
02:57:03  <defunctzombie>versus leading you down paths to do the wrong things
02:57:11  <defunctzombie>I think that is bad UX
02:57:21  <defunctzombie>and developer UX is just as important as user UX
02:57:23  <Domenic_>Raynos: I think proxies will be abused to the same extent getters and setters are abused today. Which is to say, not much.
02:58:00  <dominictarr>proxies really opens the floodgates
02:58:08  <dominictarr>but you can just not use modules that abuse that shit
02:58:13  <Domenic_>pretty much yeah
02:58:21  <dominictarr>noobs will be tempted into that trap though
02:58:21  <Domenic_>whereas it'll be nice to use them for things like process.env etc.
02:58:29  <Domenic_>they're too complicated for noobs to use
02:58:51  <dominictarr>yes, but they will use stuff other people wrote using them
02:59:16  <dominictarr>ruby has lots of stuff based on method_missing … the proxy in ruby.
02:59:43  <dominictarr>that stuff seems like a good idea to every programmer at some point.
03:00:15  <dominictarr>defunctzombie: without flexible versioning you have to manage all your dependencies much more manually
03:00:19  <Domenic_>How about stuff like Backbone's models, but without the stupid get/set methods.
03:00:27  <Domenic_>Seems like a solid win to me.
03:00:36  * tmcwquit (Ping timeout: 248 seconds)
03:00:46  <dominictarr>hmm,
03:01:02  <dominictarr>although get/set shows that something is happening there
03:01:09  <dominictarr>without that it's magic
03:01:15  <Domenic_>sure
03:01:21  <Domenic_>so, same abuse as getters and setters currently
03:01:26  <Domenic_>some magic can happen on property access/setting
03:01:32  <Domenic_>I think it's worth it
03:01:37  <defunctzombie>dominictarr: dependencies are burdens you accept and absorb
03:01:37  <Domenic_>some may disagree
03:01:51  <defunctzombie>dominictarr: and yes, management of them is important
03:02:32  <dominictarr>defunctzombie: you are never gonna convince everyone that your opinion is the way
03:02:43  <dominictarr>what you need is some tooling so that you can get what you need
03:02:45  <defunctzombie>dominictarr: we do not yet have the tools to not manage them
03:02:45  <defunctzombie>(because computers don't have AI haha)
03:02:45  <defunctzombie>dominictarr: if you make people think they don't need to manage deps, then you set them up for failure imho
03:02:53  <dominictarr>and that can 'show others the light'
03:03:01  <defunctzombie>dominictarr: weaklink
03:03:18  <dominictarr>the tool?
03:03:32  <defunctzombie>I need to document it, but it identifies poorly pinned modules
03:03:38  <defunctzombie>ala an npm ls like output
03:03:45  <dominictarr>of I saw
03:03:51  <dominictarr>I remember that
03:04:14  <defunctzombie>dominictarr: as for convincing, I am not really interested in that I guess, people are just gonna get burned by it and learn
03:04:27  <dominictarr>yes, and that will take a while
03:04:30  <defunctzombie>dominictarr: for many it is religious and until they experience it nothing anyone says matters
03:04:41  <defunctzombie>dominictarr: so I just insulate myself from the damage haha
03:04:44  <dominictarr>in the short term you need a tool so that you can control exact versions
03:05:10  <defunctzombie>but at the end of the day, I think the registry/installer/system needs to enforce things like this
03:05:24  <dominictarr>from your app, or fork modules and pin them
03:05:42  <defunctzombie>?
03:06:26  <dominictarr>i mean, use shrinkwrap like tool
03:06:47  <defunctzombie>yea, but I like to address root causes too :)
03:06:52  <defunctzombie>shrinkwrap is a patch
03:08:21  <dominictarr>sure, but if the solution is that "defunctzombie has his own incompatible npm registry"
03:08:32  <dominictarr>that is worse
03:08:36  <defunctzombie>I agree
03:09:17  <defunctzombie>which is why I prefer to talk about it
03:09:50  <dominictarr>anyway, just because an author used some exact version of modules when they wrote a version, doesn't mean that they tested it all that well or anything
03:10:03  <defunctzombie>of course
03:10:10  <defunctzombie>but that is the version they used
03:10:26  <defunctzombie>I mean, now we are just talking about general dev heh
03:10:34  <defunctzombie>their whole module may be broken heh
03:10:50  <dominictarr>you are responsible for testing YOUR app
03:10:56  <defunctzombie>I think a package manager can make similar guarantees that version control systems make
03:11:22  <dominictarr>I agree
03:11:24  <defunctzombie>if I git clone my code and it doesn't clone to the same thing between two clones of the same version, well, I would consider that an issue
03:11:39  <dominictarr>but most people want fexibility by default
03:11:40  <defunctzombie>I feel the same way about modules/deps/and installation for production and development
03:11:54  <defunctzombie>dominictarr: I do not see the two as mutually exclusive
03:12:05  <dominictarr>agree
03:12:05  <defunctzombie>I just think it is a ui problem at that point
03:12:33  <dominictarr>so… you want some way to lock the versions to the version that the module author used when they published?
03:12:37  <defunctzombie>all people think when I say pin versions is.. oh.. I will have to publish another module update
03:12:47  <defunctzombie>instead of thinking.. oh my code will break randomly
03:13:05  <defunctzombie>dominictarr: yes
03:13:34  <defunctzombie>dominictarr: and I also think it is wise to have that be reproducible for dev, since I might want to grab their code and have the same thing going on that they did
03:13:40  <dominictarr>so, npm could add a hash of it's dep tree at publish
03:13:47  <defunctzombie>for example
03:13:55  <defunctzombie>recently browserify changed which 'required' it used
03:14:07  <defunctzombie>I think this was a patch version bump
03:14:14  <dominictarr>defunctzombie: what if you just ran the tests when ever a new dep came out?
03:14:19  <defunctzombie>this introduced a giant perf regression
03:14:34  <defunctzombie>so between two installs of the same browserify I get totally different behavior
03:14:42  <defunctzombie>dominictarr: ?
03:15:08  <dominictarr>or, what if a ci tool ran the tests with every change in a module's tree?
03:15:30  <defunctzombie>still don't follow what that means for deps?
03:17:20  <dominictarr>I mean all the deps of a module, recursively
03:17:48  <defunctzombie>sure, but that still doesn't mean anything about auto updating
03:18:09  <Raynos>defunctzombie: what's that fake event creation module called?
03:18:19  <Raynos>I think it starts with a h
03:18:31  <defunctzombie>?
03:18:40  <defunctzombie>synthetic-dom-events?
03:18:43  <defunctzombie>eve?
03:18:45  <defunctzombie>happen?
03:18:48  <Raynos>happen!
03:19:01  * thatguydanjoined
03:19:29  <Raynos>defunctzombie: why is synthetic-dom-events better?
03:19:54  <defunctzombie>synthetic-dom-events is lower level
03:19:58  <defunctzombie>it only makes the event object
03:20:06  <defunctzombie>eve is what I made to work on top of that
03:20:24  <defunctzombie>synth dom events does the hard part of cross browser event object crap
03:20:26  <defunctzombie>and that is it
03:20:48  <Raynos>defunctzombie: can you rename your github to defunctzombie ._.
03:21:16  <defunctzombie>no
03:21:18  <defunctzombie>haha
03:21:23  <defunctzombie>I thought about it
03:21:29  <defunctzombie>but it will break too many things
03:22:27  <defunctzombie>substack: is there a tap consumer module that emits info stuffs?
03:23:19  <dominictarr>can stick version ranges into levelup now! https://github.com/dominictarr/padded-semver
03:24:32  <substack>defunctzombie: you mean like https://github.com/substack/tap-parser ?
03:24:58  <defunctzombie>substack: yea, just like that
03:25:02  <defunctzombie>juliangruber: ^
03:25:10  <defunctzombie>would be awesome if tapedeck html reporter
03:25:14  <defunctzombie>used that to make a pretty list :)
03:25:20  <defunctzombie>I might make a pull req for it haha
03:25:40  <defunctzombie>that will be a nice preview tool for tape tests run through tapedeck in the browser
03:28:39  * mikolalysenkojoined
03:33:41  * shamaquit (Remote host closed the connection)
03:37:50  * AvianFlujoined
03:41:25  <substack>https://github.com/substack/node-falafel#falafel
03:42:02  <Domenic_>hah wow nice
03:42:57  <Raynos>Are we rebuilding all the tools
03:43:02  <Raynos>that the perl generation build
03:43:17  <substack>revamping my site with new art!
03:43:19  <Raynos>I'm excited about my toolset for node & browsers
03:43:22  <substack>and readmes while I'm at it
03:43:24  <defunctzombie>hahaha
03:43:26  <Raynos>but I feel that we are behind
03:43:36  <substack>Raynos: but we're picking the best parts
03:43:43  <Raynos>http://www.youtube.com/watch?v=NLORWry8F5Y
03:43:48  <substack>appropriating useful things like TAP output
03:43:54  <Raynos>Like mr doob shows how he rebuild a tool he used in 2005 to build desktop demos
03:43:56  <substack>stealing pipes from bash
03:44:12  <substack>perl is really shit at streaming stdout around in multiple places in the same program
03:44:12  <dominictarr>LIBERATING PIPES
03:44:16  <Raynos>it's like dude. He had a tool that was ready to work and did awesome shit in 2005, and 8 years later he's rebuilding it in html5
03:44:20  <substack>node is EVEN BETTER than BASH at streams
03:46:53  <dominictarr>streams is the only thing BASH is good at, apart from always being there.
03:47:40  <substack>dominictarr: SUCCESS https://github.com/substack/node-browserify/pull/324#issuecomment-14819049
03:47:45  <substack>+1 for simplicity
03:50:23  <dominictarr>it would be kinda good if require(appname) would give the current module if it packageJson.name == appname
03:50:40  <dominictarr>but that boat has sailed
03:50:45  <hij1nx>juliangruber: im currently adding this to tsd -- http://mbostock.github.com/d3/talk/20111018/area-gradient.html
03:50:48  <mbalho>did someone say boat
03:50:52  <mbalho>ahh figuratively, nvm
03:54:23  <Raynos>dominictarr: functions! https://github.com/Colingo/form-data-set/commit/3c315342b8bc4998cd1baf33aded86942a1045bd#L2R30 hyperscript is glorious
03:54:30  <substack>mbalho: http://substack.net/images/falafel.png
03:54:52  <Raynos>dominictarr: That would be interesting
03:55:20  <substack>hyperscript looks excellent
03:55:28  <dominictarr>Raynos: sweet!
03:55:45  <substack>I like every module that starts with hyper
03:55:47  <Raynos>It's like. I can actually DRY my template up with a FUNCTION.
03:56:14  * mikolalysenkoquit (Ping timeout: 245 seconds)
03:56:47  * tmcwjoined
03:56:56  <Domenic_>http://domo-js.com/
03:58:14  <substack>dominictarr: http://browserling.com:9088/mad-science
03:58:52  <mbalho>substack: nice falafel!
03:59:02  <dominictarr>substack: BEST CV EVER
03:59:13  * mikolalysenkojoined
03:59:48  <dominictarr>substack: you need a link to http://areallykewlwebpage.tripod.com/
04:00:03  <substack>hahaha
04:00:04  <substack>yes
04:00:05  <rvagg>made a simplified buster test runner and put it in to levelup, so tests run on Node 0.10 without much change and all the browser dependencies are gone
04:01:25  <defunctzombie>substack: awesome site
04:01:28  <dominictarr>on my CV I have ARCHITECH, ENGINEER, CITY PLANNER: 10 years LEGO experience 1987- 1997 (or something like that)
04:01:43  <defunctzombie>wow
04:02:11  <substack>I racked up 4 or 5 years of city planning experience playing sim city 2000
04:02:17  <defunctzombie>rofl
04:02:19  <substack>and sim city classic on the NES
04:02:20  <dominictarr>I figure that anyone who thinks that is unprofessional, I don't want to work for
04:02:27  <substack>SNES rather
04:02:37  <mbalho>jlord actually has architect + city planner on her CV
04:02:42  <dominictarr>disasteradio has a list of all the games he's ever clocked
04:02:45  <mbalho>lol
04:03:34  <substack>"founded, planned, budgeted hundreds of cities over the course of thousands of years of their history"
04:03:54  <defunctzombie>this was before DRM clearly
04:04:22  <Raynos>defunctzombie: https://npmjs.org/package/eve
04:04:29  <Raynos>defunctzombie: https://github.com/shtylman/eve/blob/master/package.json
04:04:32  <Raynos>rename eve & publish it
04:04:44  <defunctzombie>yea, it is gonna become dom-event
04:04:47  <defunctzombie>I think
04:06:09  * tmcwquit (Ping timeout: 258 seconds)
04:06:49  <substack>oh yeah I am going to put an "I do art for comission" thing on my new website
04:06:57  <substack>art is like the best possible way to make money
04:07:13  <defunctzombie>I think you have that backwards hahaha
04:07:28  <substack>ridiculously easy
04:07:39  * dguttmanjoined
04:07:40  <substack>programming is way harder and more exausting
04:08:04  <substack>especially when you build things that need to work with other people's code
04:10:09  <rvagg>anyone else getting this npm "cb() never called!" error on Travis + Node 0.10? https://travis-ci.org/rvagg/node-levelup/jobs/5460643/#L85
04:10:31  <defunctzombie>rvagg: yes
04:10:38  <defunctzombie>someone filed an issue about it on bcrypt
04:10:42  <defunctzombie>the issue with with gyp tho iirc
04:10:45  <dominictarr>substack: I had a job as a life model once
04:10:48  <rvagg>I thought that was an old npm bug..
04:11:01  <dominictarr>deff one of my best jobs ever
04:11:11  <Domenic_>rvagg: I got that earlier
04:11:15  <rvagg>defunctzombie: thanks, will remove "0.10" for now then I suppose
04:11:28  <Raynos>defunctzombie: `eve.emit` does not make events bubble correctly
04:11:42  <dominictarr>sometimes I consider going back to life modeling, and just programming for fun
04:11:44  <defunctzombie>Raynos: why not?
04:11:49  <Raynos>sec
04:14:57  * CryptoQuickjoined
04:15:06  <Raynos>wait a second
04:15:10  <Raynos>this may be a DOM fucking me over thing
04:15:45  <dools>Raynos: otherwise known as a conDOM
04:18:34  <Raynos>I hate fake events
04:18:37  <Raynos>they are so hard
04:18:43  <defunctzombie>yep
04:19:10  <Raynos>ok im building a jsfiddle to share the test case -.-
04:19:12  <Raynos>this is wrong
04:19:17  <Raynos>we should have better tools then jsfiddle for tis shit
04:20:01  <Domenic_>codepen.io is ok
04:20:12  <Domenic_>jsbin is a bit better than jsfiddle
04:20:17  <Domenic_>but we need a browserifying version
04:21:41  <defunctzombie>tryme hahaha
04:22:55  <Raynos>defunctzombie: Oh wait its not broke
04:23:04  <Raynos>its just you dont default to bubbles to true ;_;l
04:24:18  <defunctzombie>Raynos: is it supposed to default to true?
04:24:29  <defunctzombie>I think I default it to whatever the constructor creates
04:24:38  <Raynos>it defaults to whatever the constructor does
04:24:44  <Raynos>but bubbles false is such a bad default :P
04:24:49  <defunctzombie>heh
04:24:56  <defunctzombie>is it?
04:25:06  <defunctzombie>I didn't really get into that part yet
04:25:32  <Raynos>well you'll see once I finish my demo for submissions
04:25:40  <Raynos>which has the flawed reducible walled garden api ;_;
04:26:04  <defunctzombie>hahaha
04:27:46  <Raynos>I fixed the api `submissions(elementsHash, function onSubmit(elementsValues) { ... })` :D
04:27:48  <Raynos>FIXED
04:27:58  * dguttmanquit (Quit: dguttman)
04:32:03  <Raynos>defunctzombie: `emit(input, "keypress", { which: 13 })` doesn't work :(
04:32:14  <defunctzombie>is which standard?
04:32:19  <defunctzombie>keyCode is the param
04:33:20  <Raynos>ugh I use which in detection code :/
04:34:04  <Raynos>keyCode does work but now I have to figure out what browser support for it is like
04:38:40  <Raynos>I hate IE & DOM
04:38:43  <defunctzombie>not sure which one is standard(ish)
04:38:47  <defunctzombie>maybe supporting both isn't bad
04:38:49  <Raynos>where is my damn browser support lookup table
04:42:16  <Raynos>ok IE9 vm running. keyCode works. cool
04:42:33  <Domenic_>I think which is a jQuery invention.
04:42:40  <defunctzombie>https://github.com/ncb000gt/node.bcrypt.js/issues/149
04:42:42  <defunctzombie>what the fuck
04:42:47  * AvianFluquit (Remote host closed the connection)
04:44:29  <Domenic_>http://www.asquare.net/javascript/tests/KeyCode.html
04:45:19  <Domenic_>hmm chrome and firefox both have which, just not ie even ie10
04:46:30  <Domenic_>wow the only standard ones are event.key and event.char which aren't even implemented anywhere http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
04:49:20  <defunctzombie>yep
04:49:26  <defunctzombie>welcome to the clusterfuck of the web
04:49:31  <defunctzombie>this is why people use jquery at all
04:49:38  <defunctzombie>but if we can make simple libs
04:49:44  <defunctzombie>then it is less of an issue
04:49:45  <dominictarr>ralphtheninja: need an ASIC for JSON parse
04:51:58  <rvagg>haha, http://screenhero.com/download.html?src=navbar with Linux -> "Not on a Windows? Download the Mac version."
04:51:59  <rvagg>quality
04:52:36  <ralphtheninja>dominictarr: hehe
04:54:11  <ralphtheninja>rvagg: lol, but no one uses linux surely
04:54:24  <rvagg>aye
04:55:39  * Domenic_quit (Ping timeout: 260 seconds)
04:58:35  * mikealquit (Quit: Leaving.)
04:59:08  * mikealjoined
05:01:24  <Raynos>Domenic_: jquery made me and the rest of the wolr blind
05:02:12  * tmcwjoined
05:03:03  * thatguydan_joined
05:03:26  * thatguydanquit (Ping timeout: 256 seconds)
05:03:28  * thatguydan_changed nick to thatguydan
05:06:43  * tmcwquit (Ping timeout: 258 seconds)
05:07:19  <rvagg>use Bean, it has all you need in events, github/fat/bean
05:09:23  * jden|zzz_changed nick to jden
05:09:53  * jdenchanged nick to Guest49522
05:10:28  * Guest49522changed nick to jden|zzz
05:10:41  * jden|zzzchanged nick to lejden
05:10:59  <substack>https://github.com/substack/pushover#pushover
05:11:11  <substack>http://substack.net/images/pushover.png
05:18:24  <defunctzombie>rvagg: I want slimmer
05:18:32  <defunctzombie>I did see bean
05:19:02  <rvagg>defunctzombie: I hear ya, there's lots of cruft in there for old browser garbage though
05:19:07  <defunctzombie>yea
05:19:13  <defunctzombie>rvagg: I am trying to separate those things out
05:19:18  <rvagg>and it does some nice synthetic stuff too
05:19:21  <defunctzombie>you know.. all modular like :)
05:19:51  <rvagg>defunctzombie: yes, for now Bean is built for Ender as is, but Ender will be supporting greater modularity so I'll be able to pull Bean apart a bit more too
05:20:12  * CryptoQuickquit (Quit: CryptoQuick)
05:20:13  <defunctzombie>cool
05:20:33  <substack>more modules!
05:21:59  <defunctzombie>\o/
05:28:20  <Raynos>That's number one http://ci.testling.com/Colingo/submissions
05:28:27  <Raynos>rvagg: lol no
05:29:06  <Raynos>rvagg: its 700 lines
05:29:18  <Raynos>rvagg: https://github.com/shtylman/eve/blob/master/index.js eve is 40
05:31:32  <Raynos>rvagg: I also have this bias where I think "anything to do with ender? TAINTED."
05:33:17  <rvagg>I think your personal rules might be hindering your potential Raynos, you need to relax a little and just build cool stuff and stop being OCD about EVERYTHING
05:34:10  <defunctzombie>hahah
05:34:13  <Raynos>rvagg: im not ocd about everything. Im just not going to pull in a large dependency when a smaller one will do
05:34:36  <dominictarr>juliangruber: how did you get that flamegraph the other day?
05:34:41  <jesusabdullah>I'm with rvagg here, not so much about "oh yeah ender rocks" but more, "it's okay to be messy"
05:34:45  <defunctzombie>rvagg: bean is interesting, but I didn't see the way to do custom even options in it
05:34:53  <defunctzombie>*event
05:35:15  <substack>Ihttp://browserling.com:9088/code
05:35:17  <defunctzombie>rvagg: I was also not sold on the custom event stuff they had going on, I wanted lower level stuff to build the more complex stuff on
05:35:23  <substack>http://browserling.com:9088/code
05:35:24  <substack>rather
05:35:25  <Raynos>But I see your point, cheap shot against ender is cheap.
05:35:51  <defunctzombie>+1 substack
05:36:27  <substack>I wonder how much money I could make doing readme art on commission
05:37:06  <defunctzombie>http://www.csun.edu/~hcedu013/eslplans.html
05:37:11  <defunctzombie>substack: I would totally pay for it
05:37:28  <substack>I need to get that bitcoin stuff all set up
05:37:34  <substack>so it's easier to accept payments
05:38:39  <defunctzombie>yes
05:38:46  <defunctzombie>substack: I told you, blockchain haha
05:38:55  <defunctzombie>while you play around for the standalone wallet :D
05:39:28  <substack>perhaps!
05:39:52  <substack>ok will do this after I draw a few more project logos
05:40:16  <rvagg>defunctzombie: yeah, the custom event stuff is based on jQuery, I'd personally prefer to be using simple Node-style EE stuff, but we're tied to the jQuery style in Bean for now
05:40:57  <defunctzombie>substack: blockchain.info is nice and simple and you can get off it without much pain cause they don't try to hide things
05:41:12  <defunctzombie>rvagg: I was mostly talking about emitting events and setting keyCode and such
05:41:17  <defunctzombie>rvagg: didn't see that in bean
05:41:37  <defunctzombie>rvagg: I took a close look at bean, and then determined to work on some lower level parts
05:41:47  <defunctzombie>to hopefully have things like bean use it later
05:42:20  * nicholasf0quit (Read error: Connection reset by peer)
05:42:50  * nicholasf0joined
05:42:53  <mbalho>chrisdickinson: isaacs: hmMMM https://gist.github.com/maxogden/86efa9fac01c3b672682 on 0.10.0
05:43:02  <mbalho>with an empty ~/.npm folder
05:45:39  <defunctzombie>sadness
05:48:43  <defunctzombie>"In 2009, SITA assisted ten government institutions in conducting FOSS readiness assessment exercises. "
05:48:50  <defunctzombie>we need FOSS readiness assesment exercises
05:48:59  <jesusabdullah>yes
05:49:36  <Raynos>defunctzombie: http://ci.testling.com/Colingo/submissions
05:49:43  <Raynos>something about keypress makes opera 12 blow up :(
05:49:54  <defunctzombie>sadness
05:50:04  <defunctzombie>Raynos: no one uses opera
05:50:11  <defunctzombie>Raynos: I don't even test against it
05:50:19  <Raynos>this is many sads
05:50:42  <Raynos>MANY sads
05:51:02  <Raynos>you run it in IE6 but ignore opera :P
05:51:14  * mikolalysenkoquit (Ping timeout: 245 seconds)
05:52:25  <defunctzombie>Raynos: ie6 mostly cause ie8 generally means ie6 works
05:52:37  <defunctzombie>Raynos: not sure why I run in ie6 or 7 actually
05:52:50  <defunctzombie>opera is moving to webkit anyway haha
05:53:00  <defunctzombie>not against adding support for it, probably something silly
05:53:15  <defunctzombie>but really, less people use opera than ie6 probably haha
05:53:51  * fotoveritejoined
05:56:35  * fotoveritequit (Client Quit)
06:01:17  * mikolalysenkojoined
06:02:33  * tmcwjoined
06:03:44  * CryptoQuickjoined
06:09:06  * tmcwquit (Ping timeout: 264 seconds)
06:25:49  * AvianFlujoined
06:29:01  * mikolalysenkoquit (Ping timeout: 240 seconds)
06:37:46  * thatguydanquit (Quit: thatguydan)
06:51:27  <juliangruber>defunctzombie: a pull request with tap-parser would be great!
06:52:38  <juliangruber>hij1nx: sweet, will have a look when I finished preparing my next talk
06:52:51  * defunctzombiechanged nick to defunctzombie_zz
06:53:39  <Raynos>aw man
06:53:45  <Raynos>software creaks
06:53:48  <Raynos>and is unstable :(
06:55:14  * mikolalysenkojoined
07:05:24  * tmcwjoined
07:07:18  * mikolalysenkoquit (Ping timeout: 264 seconds)
07:09:11  * calvinfoquit (Ping timeout: 245 seconds)
07:09:46  * tmcwquit (Ping timeout: 258 seconds)
07:13:01  * mikolalysenkojoined
07:13:59  <juliangruber>Raynos: the whole life and existence thing is unstable
07:16:46  <Raynos>Software is far less complex then life. I expect to be able to do better then this
07:28:48  <juliangruber>creating something stable inside a completely unstable environment is almost impossible
07:29:01  * calvinfojoined
07:30:04  <dominictarr>substack: do you have an api for testling?
07:30:57  <substack>dominictarr: for which part of it?
07:31:11  <dominictarr>the data of course
07:31:15  <substack>yep!
07:31:21  <substack>http://ci.testling.com/dominictarr/scuttlebutt.json
07:31:38  <substack>just add .json
07:31:40  <substack>you get all the data
07:31:50  * mikolalysenkoquit (Ping timeout: 252 seconds)
07:31:54  <dominictarr>but now that I think about it for 30 seconds
07:32:13  <dominictarr>I think the best way to get what I want to just to perusade you to use leveldb
07:32:21  <substack>haha
07:32:24  <juliangruber>:D
07:33:30  <juliangruber>dominictarr: what do you want to do?
07:41:51  <dominictarr>I want to see realtime stuff for everything
07:42:18  <dominictarr>like, at the moment, I don't know how many tests will run
07:45:48  * thatguydanjoined
07:45:50  <dominictarr>it needs to show when a test run is queued etc
07:46:19  <dominictarr>at the moment -- especially since some my modules have had complications -- I'm never sure if it's working
07:47:41  <substack>yep I'm going to work on that tomorrow
07:47:42  <Raynos>Agreed
07:47:45  <dominictarr>and you could fix things like how it starts rendering the output from the oldest test run first
07:47:52  <Raynos>It takes about 15 minutes of worrying to see whether my thing works
07:47:53  <dominictarr>that is the opposite
07:48:29  <dominictarr>of what should happen
07:48:42  <Raynos>Something really simple will help. Like an image of a robot working
07:52:51  * AvianFluquit (Remote host closed the connection)
07:54:34  <juliangruber>dominictarr: how would substack using leveldb help?
07:55:25  <dominictarr>realtime stuff is much easier in leveldb than in couch
07:58:00  <juliangruber>he's using couch?
07:58:19  * mikolalysenkojoined
07:58:58  <dominictarr>I believe so
07:59:47  <juliangruber>http endpoints streaming events is what you want, I guess
08:00:02  * nk109joined
08:05:12  <dominictarr>of course, i'll get disconnected sometimes, so I also need a thing to resume queries - what happened since TIME, etc
08:05:25  <dominictarr>hmm, we need some modules for that in level-*
08:05:45  * tmcwjoined
08:05:55  <Raynos>dominictarr: doesn't _changes make couch good for real time?
08:06:07  <dominictarr>it's pretty limited
08:06:57  <Raynos>i see
08:07:10  <Raynos>i wonder whether there are actual good realtime databases
08:07:14  <juliangruber>a replayable event system
08:07:29  <Raynos>btw what kind of real time are we talking about
08:07:47  <dominictarr>soft real-time, aka notifications
08:07:58  <dominictarr>not realtime as in music or robots
08:08:50  <dominictarr>juliangruber: the thing I have observed again and again is that if you don't match the datastructure to the app, the app sucks.
08:09:14  <dominictarr>any particular pattern is good for somethings, but shit for others
08:09:19  <Raynos>I guess you mean
08:09:23  <Raynos>given any new piece of informations
08:09:26  <Raynos>all views on all clients
08:09:30  * mikolalysenkoquit (Ping timeout: 240 seconds)
08:09:31  <Raynos>are updated as fast as possible
08:09:49  <juliangruber>yes, datastructures are key
08:09:54  <dominictarr>Raynos: you can't talk in generalities
08:10:06  <dominictarr>you need to be specific to an app.
08:10:18  <Raynos>I see
08:10:20  * tmcwquit (Ping timeout: 258 seconds)
08:10:27  <dominictarr>like, I wrote map-reduce, and I thought that it was a general purpose approach
08:10:28  <juliangruber>wrong datastructures -> wrong names, bloated code, confusion, less focus on important things
08:11:03  <Raynos>I actually want to use leveldb in production soon. Our current mongo stuff is a pain in the ass
08:11:09  <dominictarr>but later I realized that other databases just used map-reduce because they needed a one-size-fits all thing
08:11:24  <Raynos>I see
08:11:28  <juliangruber>so dominictarr you're saying we need to make implementing custom datastructures easy?
08:11:29  <dominictarr>because it's hard to iterate and colaborate on a database
08:11:45  <juliangruber>Raynos: mongodb is very very wrong
08:11:48  <dominictarr>so things like quering patterns, etc
08:11:55  <dominictarr>need to be moduels
08:12:03  <Raynos>mongodb is wrong but its easy
08:12:26  <juliangruber>mhm
08:12:38  <dominictarr>we have this in leveldb
08:12:54  <dominictarr>well we are starting to get there
08:13:18  <dominictarr>Like, I tried to implement an inverted index with my map-reduce module
08:13:30  <dominictarr>but it just took hours
08:13:37  <dominictarr>then I rewrote it
08:14:09  <dominictarr>so that it ran as a batch, and built up an in memory datastructure, then flushed it to disk
08:14:41  <dominictarr>(the idea here being that you'd run the batch every few hours, and merge live updates inbetween)
08:14:44  <dominictarr>ANYWAY
08:15:14  <dominictarr>the rewritten index could process EVERY readme in EVERY npm package in 40 seconds!
08:15:55  <juliangruber>what we need...is npm for levelUp. plugins = modules. plugins must depend on other plugins. we need to figure out the right abstractions for writing databases and make #stackvm-style modules. You're suggesting we're not there yet and I think so too
08:16:07  <juliangruber>but now the inverted index is reusable, right?
08:16:16  <dominictarr>totally
08:16:18  <juliangruber>so when dealing with big data we have to optimize more
08:16:39  <dominictarr>juliangruber: we are doing great with levelup
08:16:58  <juliangruber>we need to have a performance index or supported usecases....like "can I use this module if I want to do X"
08:17:13  <dominictarr>but we are the first explorers in the territory of a modular database
08:17:26  <Raynos>I am a bad person for not understanding what an SST is
08:17:52  <Raynos>man
08:17:56  <Raynos>I should go read some papers
08:18:16  <dominictarr>I don't think there is a good paper on SST
08:18:19  <dominictarr>but it's simple
08:18:21  <juliangruber>substack: ^ can you make a tshirt of this? explorers of modular databases? I'd buy 20 :D
08:18:49  <dominictarr>it's just a bunch of records written to an immutable file in order
08:19:05  <dominictarr>(with maybe a tree/index at the end)
08:19:27  <dominictarr>but, being in order you can do binary search, etc
08:19:40  <dominictarr>and RANGE queries!
08:20:09  <dominictarr>juliangruber: we can just use npm, but prefix our modules with level-
08:22:23  <Raynos>agreed
08:22:29  <juliangruber>agreed
08:22:59  <juliangruber>and plugins depending on other plugins is solved with peerDependencies?
08:24:52  <juliangruber>what if plugin A depends on B v1.0 and C depends on B v0.5. Then augmenting the db object the way we currently do it won't work. But still everything should work with 2 versions of a plugin active
08:25:09  <juliangruber>we need a require-system
08:25:32  <juliangruber>so that the db.B that A sees is different from the db.B that C sees
08:27:50  <dominictarr>juliangruber: yeah, I want to get away from augmenting the db, but it's worked well in dev
08:28:24  <dominictarr>now that I have level-sublevel I'm not monkey patching anything now
08:29:32  <dominictarr>maybe also need level-update …
08:29:42  <dominictarr>but can do a lot with just level-sublevel
08:30:28  <dominictarr>So, I think we will be able get past this and just use npm like normal
08:36:19  * mikolalysenkojoined
08:39:01  <Raynos>peer deps are no fun
08:40:08  <dominictarr>I'm kinda dubious about peerDeps
08:40:31  <dominictarr>like engines: node "0.6.5" was a bad idea too
08:40:35  <Raynos>juliangruber: there is no such thing as b 1.0 and b 0.5 on the same global thing
08:40:40  <Raynos>your fucked if you try that
08:40:46  <Raynos>unless you design the thing properly
08:40:52  <Raynos>even then your probably fucked
08:41:05  <dominictarr>just avoid using globals
08:41:13  <Raynos>that works
08:44:55  <dominictarr>substack: how do you feel about an extension to the TAP protocol?
08:45:14  <dominictarr>there is a need for another thing
08:45:38  <dominictarr>assertions are not enough
08:46:02  <juliangruber>Raynos: then don't have it on the global thing. just `var map = require('level-map')(db)` so there is no global
08:46:12  <dominictarr>for stuff with realtime events, you need to say "X must eventually happen"
08:46:17  <Raynos>assuming level-map is a pure plugin
08:46:25  <dominictarr>and then later, you say "X happened"
08:46:38  <juliangruber>Raynos: yes
08:46:45  <dominictarr>but if you never see "X happened" that test failed
08:46:50  <Raynos>dominictarr: i have no problem with those kind of tests, never had
08:47:10  <Raynos>the way I use tape for that
08:47:14  <substack>dominictarr: you just plan a certain number of events
08:47:14  <Raynos>is that tape will hang
08:47:16  <Raynos>forever
08:47:26  <dominictarr>Raynos: yeah, that is really crude
08:47:26  <Raynos>tap will timeout
08:47:27  <juliangruber>dominictarr: becourse the browser doesn't have process.on('exit'), right?
08:47:38  <Raynos>dominictarr: it works though
08:47:44  * mikolalysenkoquit (Ping timeout: 252 seconds)
08:47:59  <dominictarr>I'm not saying it doesn't work. Just saying it doesn't work very well.
08:48:52  <Raynos>i agree
08:48:58  <Raynos>that async tests are harder then need be
08:49:07  <substack>http://browserling.com:9088/art
08:49:13  <Raynos>but I dont know a solid improvement on them
08:49:19  <dominictarr>yay! http://ci.testling.com/dominictarr/through
08:49:37  <dominictarr>tests are working!
08:49:47  <substack>sweet!
08:51:07  <dominictarr>Raynos: that is what I wrote macgyver for
08:51:25  <Raynos>macgyver did not have an api that was less complex then tape
08:52:08  <dominictarr>nice map!
08:52:09  <dominictarr>http://browserling.com:9088/images/world_map.png
08:52:58  <dominictarr>I gotta go! catch you dudes later!
08:53:00  * dominictarrquit (Quit: dominictarr)
08:53:54  <substack>I'll be filling in some of south america around june 22nd
08:58:42  <juliangruber>substack: http://ci.testling.com/dominictarr/through.json 500
09:01:14  * douglaslassancejoined
09:03:56  <substack>uh oh
09:04:01  <substack>we possibly ran out of disk again
09:10:01  <douglaslassance>Can someone help me a bit with the latest version of bowserify. I used to be able to get my source bundled. But now I am doing b = bowserify('packageName'); b.require('packageName'); lib = b.bundle()... but lib does not seem to be my js lib as expected... thanks...
09:10:33  <substack>douglaslassance: b.bundle() now returns a stream
09:12:01  <douglaslassance>I am no sure what this means substack
09:14:32  * mikolalysenkojoined
09:15:00  <douglaslassance>substack: is it what the "cb" argument is for now?
09:15:14  * spionquit (Ping timeout: 246 seconds)
09:15:21  <rvagg>juliangruber: I'm sorry.....
09:15:41  <rvagg>juliangruber: for totally transforming your C++...
09:15:49  <tanepiper>can't see that map :(
09:15:58  <rvagg>juliangruber: but thus is the nature of C++, it's got as many styles as there are people programming it
09:16:04  <rvagg>juliangruber: but it's nicely integrated in LevelDOWN now
09:16:29  <rvagg>juliangruber: and the API is quite nice I guess: https://github.com/rvagg/node-leveldown/blob/0.2-wip/test/chained-batch-test.js#L22-L27
09:16:56  <substack>douglaslassance: the cb argument buffers the stream contents for you
09:17:14  <substack>so you can do b.bundle(function (err, src) {}) to get at the entire source contents in `src`
09:17:44  <substack>otherwise you'll need to .pipe() the b.bundle() stream someplace on your own
09:20:24  <douglaslassance>oh so it's just a callback now substack
09:20:32  <douglaslassance>perfect
09:20:50  <substack>the callback buffers the content or you can pipe the stream someplace
09:20:57  <substack>everything is async now in v2
09:22:13  <douglaslassance>cool, ill try
09:22:32  <douglaslassance>the doc is not very clear on this
09:22:34  <douglaslassance>it says
09:22:35  <douglaslassance>b.bundle(opts, cb)
09:22:52  <douglaslassance>opts being a object of options
09:23:17  <douglaslassance>oh... i am dumb... cb stands for callback
09:23:22  <douglaslassance>sorry
09:23:43  <douglaslassance>my bad
09:36:20  * mikolalysenkoquit (*.net *.split)
09:36:54  <rvagg>juliangruber: benchmarks aren't so promising, perhaps you'd like to have a go. leveldown batch(), both styles, are running slower than levelup batch()! so something's screwy
09:37:12  <rvagg>juliangruber: I think I might give up for today but the leveldown code is in the repo, 0.2-wip
09:48:43  <douglaslassance>More silly questions. The source that the bundle method outputs seems to have a syntax error according to chrome. Is this common? Is it something that I can somehow fix my filtering the source? The package I am browserifying is not causing syntax error when required from an instance of node.js.
09:50:18  <gozala>dominictarr: Raynos Code is hard to read is not a (real) problem, but code that is hard to reason about is
09:54:06  * mikolalysenkojoined
10:05:24  * mikolalysenkoquit (Ping timeout: 245 seconds)
10:06:28  * tmcwjoined
10:08:23  * thatguydanquit (Quit: thatguydan)
10:11:01  * tmcwquit (Ping timeout: 248 seconds)
10:11:08  * thatguydanjoined
10:14:51  * douglaslassancechanged nick to asterokid
10:31:22  * mikolalysenkojoined
10:34:18  * asterokidchanged nick to douglaslassance
10:43:46  * mikolalysenkoquit (Ping timeout: 245 seconds)
10:45:35  * spionjoined
10:53:20  * thl0joined
11:06:46  * tmcwjoined
11:10:07  * mikolalysenkojoined
11:11:15  * tmcwquit (Ping timeout: 258 seconds)
11:14:17  <juliangruber>rvagg: I hoped that you'd transform my C++ :D yours is way more elegant, I have more redundant code
11:14:46  * jibayjoined
11:18:00  <juliangruber>rvagg: Will investigate why the cbatch is so slow in leveldown, although it was fast when I initially integrated it
11:22:29  * mikolalysenkoquit (Ping timeout: 248 seconds)
11:44:24  <rvagg>juliangruber: I probably should pull your original version and test it alongside in these same tests just to see what kind of a difference there is
11:44:32  <rvagg>rather than comparing apples to oranges!
11:48:29  * mikolalysenkojoined
11:50:33  * douglaslassancequit (Quit: Leaving...)
11:51:04  * shuaibjoined
12:00:50  * mikolalysenkoquit (Ping timeout: 252 seconds)
12:07:07  * tmcwjoined
12:11:30  * tmcwquit (Ping timeout: 264 seconds)
12:13:00  * rvaggquit (Quit: ta ta)
12:27:05  * mikolalysenkojoined
12:38:22  * mikolalysenkoquit (Ping timeout: 245 seconds)
12:44:56  * CryptoQuickquit (Quit: CryptoQuick)
12:59:41  * yorickjoined
12:59:41  * yorickquit (Changing host)
12:59:41  * yorickjoined
13:04:56  * mikolalysenkojoined
13:06:04  * ins0mniajoined
13:07:31  * tmcwjoined
13:11:53  * tmcwquit (Ping timeout: 255 seconds)
13:14:40  * thl0quit (Remote host closed the connection)
13:17:32  * mikolalysenkoquit (Ping timeout: 245 seconds)
13:17:59  * tmcwjoined
13:29:21  * tmcwquit (Remote host closed the connection)
13:30:27  * mikealquit (Quit: Leaving.)
13:43:17  * mikolalysenkojoined
13:43:38  * thl0joined
13:44:59  * mikealjoined
13:49:30  * mikolalysenkoquit (Ping timeout: 240 seconds)
14:07:22  <spion>how does one decouple a user accounts system from every other part of the system that needs to know the user account?
14:10:04  * mikealquit (Quit: Leaving.)
14:15:31  * mikolalysenkojoined
14:20:01  * AvianFlujoined
14:25:48  * CryptoQuickjoined
14:27:15  * Domenic_joined
14:28:50  * mikolalysenkoquit (Ping timeout: 246 seconds)
14:47:26  * tmcwjoined
14:48:12  * mikolalysenkojoined
14:52:31  * dguttmanjoined
14:52:50  * Domenic_quit (Remote host closed the connection)
15:04:26  * Domenic_joined
15:17:32  * yorickquit (Ping timeout: 245 seconds)
15:18:51  * yorickjoined
15:33:59  * defunctzombie_zzchanged nick to defunctzombie
15:49:42  * mikealjoined
16:07:16  * thatguydanquit (Quit: thatguydan)
16:19:14  * mikealquit (Quit: Leaving.)
16:20:42  <juliangruber>rvagg: sounds good :)
16:22:45  * HMquit (Read error: Connection reset by peer)
16:37:43  * HMjoined
16:43:46  * marcello3djoined
16:45:22  * AvianFluquit (Remote host closed the connection)
16:48:42  * HMquit (Read error: Connection reset by peer)
16:52:02  * HMjoined
16:52:16  * HMquit (Read error: Connection reset by peer)
16:56:29  * HM2joined
17:00:16  * HM2quit (Read error: Connection reset by peer)
17:02:33  * HM2joined
17:03:31  * mikolalysenkoquit (Ping timeout: 264 seconds)
17:15:50  * shamajoined
17:18:56  * mikolalysenkojoined
17:20:10  * CryptoQuickquit (Ping timeout: 252 seconds)
17:21:13  * HM2quit (Read error: Connection reset by peer)
17:21:59  * HM2joined
17:25:56  * ITproquit
17:27:18  * AvianFlujoined
17:32:17  * dominictarrjoined
17:32:41  * CryptoQuickjoined
17:32:45  * mikealjoined
17:39:01  <substack>gozala: I super agree about that!
17:39:45  <substack>consolidating system side effects into a thin io shell helps tons
17:46:03  <gozala>substack: agreed ;)
17:48:41  * douglaslassancejoined
17:49:02  * tmcwquit (Remote host closed the connection)
17:50:52  <mikolalysenko>so, I've been toying with the idea of writing a tensor contraction library to do stuff like matrix operations/continuum mechanics
17:51:18  <mikolalysenko>I think it might be interesting to try adapting the technique in cwise to handle expressions using einstein notation
17:51:23  <mikolalysenko>so you could do stuff like:
17:51:45  <mikolalysenko>var mmult = tensor(function(a,b,c) { a[i][j] = b[i][k] * c[k][j] })
17:52:07  <mikolalysenko>though getting the bound names for the indices could be tough
17:52:42  <mikolalysenko>one possibility could be to specify the index operations as arguments, like:
17:52:55  <substack>jesusabdullah has done some stuff with tensors in node I think
17:53:08  <mikolalysenko>interesting, do you have a link?
17:53:52  <substack>https://github.com/jesusabdullah/node-tensor
17:53:56  <mikolalysenko>actually I found it: https://github.com/jesusabdullah/node-tensor/tree/master/lib
17:54:15  <mikolalysenko>It doesn't look like it is as far along as ndarray
17:54:38  <mikolalysenko>https://github.com/mikolalysenko/ndarray
17:55:01  <mikolalysenko>also, I have a more generic solution to the componentwise operations that is cache efficient
17:55:10  <mikolalysenko>https://github.com/mikolalysenko/cwise
17:55:38  <mikolalysenko>but the next step is to add in stuff like tensor contraction, so you can do matrix multiplication and solve problems
17:55:49  <mikolalysenko>in multilinear algebra anyway
17:56:24  <mikolalysenko>what is there right now is just for processing dense multidimensional arrays
18:05:09  * tmcwjoined
18:05:27  * douglaslassancequit (Quit: Leaving...)
18:09:22  * dominictarrquit (Quit: dominictarr)
18:15:47  <thl0>substack: do you agree with this approach concerning sourcemap generation for transpiled code https://github.com/substack/browser-pack/pull/5#issuecomment-14845884 ?
18:16:33  <defunctzombie>AvianFlu: ping
18:17:02  <defunctzombie>AvianFlu: I was told you were the person to talk to about daemons
18:17:04  <defunctzombie>AvianFlu: https://github.com/shtylman/daemon.node
18:17:14  <AvianFlu>ah right
18:17:16  <defunctzombie>AvianFlu: any feedback you have about that approach would be appreciated :)
18:17:21  <AvianFlu>you rewrote that and we all probably forgot about it XD
18:17:25  <AvianFlu>I'll have a look
18:17:33  <defunctzombie>Charlie gave me repo access
18:17:38  <AvianFlu>cool, cool
18:17:42  <defunctzombie>but I didn't want to merge until it got reviewed some more
18:18:47  <substack>thl0: yep sounds great
18:19:07  <thl0>substack: cool will continue down that path then
18:19:09  <substack>thl0: also if you get transpiled source maps working ping me and I'll put them into coffeeify
18:19:58  <AvianFlu>defunctzombie: this looks great so far
18:20:05  <AvianFlu>I'm poking around some more and github is being slow from here
18:20:14  <AvianFlu>but it looks like it's all what it should be, on the face of it
18:20:21  <defunctzombie>cool
18:25:03  <thl0>substack: I think for usage with coffeeify I'm pretty close, look at this spike: [email protected]:thlorenz/coffeescript-browserify-spike.git
18:25:16  <thl0>substack: these lines: https://github.com/thlorenz/coffeescript-browserify-spike/blob/master/index.js#L18-L22
18:26:01  <thl0>substack: basically compiles coffee script with sourcemaps enabled and then adds the source content in, finally spits out mapping comment
18:27:15  * Guest31644quit (Read error: Operation timed out)
18:28:28  * pikpikquit (Ping timeout: 245 seconds)
18:28:45  * owenbquit (Ping timeout: 260 seconds)
18:28:54  <thl0>substack: you could do something similar and use my convert-source-map module (https://github.com/thlorenz/convert-source-map) to add the source and then encode the map
18:30:27  * tukuworkquit (Ping timeout: 245 seconds)
18:35:54  <jesusabdullah>to clarify, I wanted tensors in node but was never able to get anything working due to noobery
18:36:01  <jesusabdullah>look up numericaljs
18:36:04  <jesusabdullah>or something like that
18:36:13  <jesusabdullah>a project which *actually* implements osme of this shit
18:36:15  <jesusabdullah>some*
18:43:23  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
18:43:41  <AvianFlu>jesusabdullah: DON'T BE SO TENSOR BRO
18:43:44  <AvianFlu>YOU GOTTA CHILLAX
18:44:36  * mikealquit (Quit: Leaving.)
18:51:35  * mikealjoined
18:55:51  <mbalho>FOR CONVERSATION https://twitter.com/mbostock/status/311898415829245952
18:57:35  <substack>:/
18:58:05  * owenbjoined
19:02:32  * spionquit (Ping timeout: 246 seconds)
19:15:29  * mikolalysenkoquit (Ping timeout: 246 seconds)
19:16:32  * mikealquit (Quit: Leaving.)
19:33:13  * jesusabdullahchanged nick to pope_brohonestly
19:35:27  * pope_brohonestlychanged nick to jesusabdullah
19:35:54  <mbalho>substack: any ideas on this bug? https://github.com/substack/tape/issues/21
19:37:31  <jesusabdullah>yessch that's pretty gnar
19:37:43  <jesusabdullah>I'm waiting a few versions before I 0.10 it up
19:37:50  <jesusabdullah>because I'm a crusty old man like that
19:38:04  <jesusabdullah>"back in MY day pausing was only ADVISORY and we LIKED IT THAT WAY"
19:38:17  <substack>mbalho: unsure why that would be the case
19:38:28  <substack>perhaps some different events are now firing?
19:39:07  <jesusabdullah>EEs do emit a new kind of event yeah?
19:39:25  <substack>jesusabdullah: check out my new art viewer! http://browserling.com:9088/art
19:39:44  <jesusabdullah>MAYBE I WILL
19:39:44  <substack>I based it on that thing that somebody (possibly it was you?) wrote that one time
19:39:49  <substack>oh maybe it was mbalho
19:40:01  <jesusabdullah>it weren't me
19:40:05  <jesusabdullah>who is mbahlo
19:40:09  <mbalho>i did that once yea
19:40:10  <jesusabdullah>idk that guy
19:40:18  <mbalho>jesusabdullah: i am your dad
19:40:31  <jesusabdullah>DAD WEN U LEARN HOW2COAD
19:40:45  <mbalho>i wanna keep tabs on you son
19:40:49  <mbalho>and your little internet friends
19:40:52  <jesusabdullah>My dad figured out how to put music on his iphone a few weeks back
19:41:06  <jesusabdullah>and we were so proud until he complained loudly at us kids about how we didn't do it for him
19:41:12  <mbalho>substack: https://github.com/maxogden/get-images
19:41:33  <substack>yep!
19:41:39  <jesusabdullah>substack: I miss maxogden where is that guy
19:41:40  <jesusabdullah>;)
19:41:55  * douglaslassancejoined
19:42:11  <jesusabdullah>oh, substack mbalho I did have an idea, I bet it would be easy to hack up an image viewer with node-webkit that didn't totally suck balls
19:42:17  <jesusabdullah>and then
19:42:18  <jesusabdullah>and THEN
19:42:31  <jesusabdullah>whenever a feature or lack thereof pissed me off I could JAVASCRIPT IT ON INS
19:42:56  <substack>agreed!
19:43:09  <jesusabdullah>substack that copter image is sick
19:43:12  <jesusabdullah>fyi
19:43:34  <jesusabdullah>also your website is lookin' good
19:43:51  <jesusabdullah>I still like mine but like, mine doesn't show off any real level of craftsmanship :(
19:44:56  * thatguydanjoined
19:45:23  <substack>but your website is far more genuine
19:45:32  * douglaslassancequit (Client Quit)
19:45:47  <substack>those animated gifs must've taken ages to find or make
19:46:05  <substack>and marquees are a lost art
19:48:03  * douglaslassancejoined
20:09:29  * douglaslassancequit (Quit: Linkinus - http://linkinus.com)
20:15:53  * AvianFluquit (Remote host closed the connection)
20:30:02  * pikpikjoined
20:30:38  * duncanbeevers_joined
20:31:44  <jesusabdullah>substack: naw I found a website for those XD
20:34:16  <jesusabdullah>the fire one is from homestar runner ^__^
20:39:34  * mikolalysenkojoined
20:40:00  * mikealjoined
20:43:35  * CryptoQuick_joined
20:45:09  * CryptoQuickquit (Ping timeout: 248 seconds)
20:45:09  * CryptoQuick_changed nick to CryptoQuick
20:50:11  * dominictarrjoined
20:50:27  * tilgovijoined
20:50:52  <guybrush>hey guys in browserify do i get a process.nextTick shim for free?
20:51:14  <guybrush>like https://github.com/shtylman/node-process/blob/master/browser.js
20:51:40  <substack>yes
20:51:42  <guybrush>but i dont see right now how thats built in in bfy 1.x or 2.x
20:52:58  <guybrush>im still on 1.x maybe i should try to switch to 2.x :D
20:53:18  <guybrush>but i kind of fear touching running things haha
21:04:55  * tukuworkjoined
21:06:29  <substack>they both let you do process.nextTick()
21:09:32  <guybrush>thx
21:14:57  <ralphtheninja>dominictarr: what's the status on mux-demux and rpc-stream on node 0.10?
21:15:24  <dominictarr>should still work
21:17:20  <dominictarr>refactoring through and duplex should make it work with streams2
21:17:27  <dominictarr>but it should work without
21:17:33  <ralphtheninja>cool
21:19:35  <Domenic_>i am finding this "everything should still work without changes" idea to be full of lies
21:20:12  <substack>Domenic_: changes to the module resolution algorithm
21:20:36  <Domenic_>substack: what??
21:21:24  <substack>were you referring to https://github.com/substack/node-browserify/pull/324 ?
21:25:36  <Domenic_>substack: oh no, i was referring to the 0.8 -> 0.10 transition
21:26:28  <substack>oh aha
21:26:39  <substack>yes it seems to be the case
21:26:45  <ralphtheninja>Domenic_: I have that feeling too, a lot of shit is going to break
21:27:12  <dominictarr>well,
21:27:25  * mikealquit (Quit: Leaving.)
21:27:28  <dominictarr>classic streams havn't changed
21:27:37  <Domenic_>they have though
21:27:43  <Domenic_>you need to call .resume() a lot.
21:28:06  <Domenic_>https://github.com/mikeal/request/commit/681af644a2ebccad8bcccb75984f7f10f909b382
21:28:26  <dominictarr>oh great
21:28:59  <dominictarr>everything was so simple for a while
21:30:37  * mikealjoined
21:30:49  <substack>dominictarr: imagine if you just went to the nearest commercial building to do work and then went home to the nearest house http://www.rockpapershotgun.com/2013/03/13/simcitys-sims-dont-seem-that-smart-after-all/
21:30:55  <substack>whoops
21:31:02  <substack>anyways I want real life to work that way
21:32:03  <dominictarr>what do they care?
21:32:17  <dominictarr>another mindless drone arrives, sits at a desk.
21:32:34  <defunctzombie>hahaha
21:32:55  <dominictarr>If you don't get in on time you are flipping burgers today
21:33:39  <ralphtheninja>lol
21:34:16  <ralphtheninja>I shouldn't laugh at that, it's sad really
21:37:15  <dominictarr>AND first one in the office gets to be CEO!
21:39:12  <dominictarr>ralphtheninja: on the whole I think such a system may actually be much fairer and more balanced than the world we actually live in
21:39:51  <ralphtheninja>dominictarr: it sounded like the world we live in
21:40:30  <dominictarr>yes maybe, on a different scale.
21:41:55  * mikealquit (Quit: Leaving.)
21:46:37  * AvianFlujoined
21:59:03  <ralphtheninja>dominictarr: it would be nice if companies were more open to people being different, some like to work in the evenings and some like to be really early
21:59:24  <ralphtheninja>it's the 9-5 mentality I don't like
21:59:43  <dominictarr>most companies are like little fudalisms
22:00:01  <Domenic_>i don't think anyone does 9-5 anymore
22:00:17  <defunctzombie>I will run an anarchist company hahahaha
22:00:28  <Domenic_>the most strict i see is more like "work 7--10 hours, get in by 11 at the latest"
22:00:33  <ralphtheninja>defunctzombie: hi5!
22:01:03  <ralphtheninja>Domenic_: I'm talking more general, not just programming stuff
22:01:13  <Domenic_>ah right
22:01:31  <ralphtheninja>well unless you are a clerk in a store somewhere, someone has to be there and open it of course :)
22:01:51  * fotoveritejoined
22:02:02  <dominictarr>ralphtheninja: a robot
22:02:21  <ralphtheninja>hehe yup
22:02:31  <ralphtheninja>connected via scuttlebutt to all the other robots :)
22:12:22  * nicholasf0quit (Read error: Connection reset by peer)
22:12:51  * nicholasf0joined
22:21:26  * mikealjoined
22:22:25  * st_lukejoined
22:24:42  <st_luke>substack: I have this forlorn dream of working on a boat or an oil rig and not ever using a computer again
22:24:54  <st_luke>your tweet hit close to home
22:25:17  <fotoverite>I'm back guys!
22:26:01  <fotoverite>If I ever go back to SxSW i might need to kill myself
22:26:09  <fotoverite>st_luke: you get out of the airport?
22:26:46  <st_luke>fotoverite: no its my new home i live in the bathroom
22:26:56  <fotoverite>LoL
22:27:07  <fotoverite>No really were you able to make your flight
22:27:29  * Domenic_quit (Remote host closed the connection)
22:28:29  * thl0quit (Remote host closed the connection)
22:28:40  <st_luke>yeah, I took a bunch of muscle relaxers in the airport because I was super bored and almost missed it though
22:31:01  <st_luke>dont do drugs (c)
22:31:24  <defunctzombie>https://news.ycombinator.com/item?id=5357417
22:34:22  <defunctzombie>my general policy with multiple collabs is work in branches, and still do pull requests against master
22:34:24  <defunctzombie>for code review
22:34:33  <defunctzombie>code review is a critically important tool
22:46:17  <st_luke>defunctzombie: thats how we do it
22:46:34  <st_luke>cut a branch then PR to master and everyone looks at it
22:46:52  <st_luke>there's no formal dbag review process, just everyone making sure they understand with and agree whats going on
22:47:24  <st_luke>with small enough teams there isnt too much bikeshedding either
22:51:01  <ralphtheninja>that's how levelup and leveldown works too
23:00:51  * jibayquit (Remote host closed the connection)
23:17:12  * AvianFluquit (Remote host closed the connection)
23:17:38  * st_lukequit (Remote host closed the connection)
23:33:10  * tilgoviquit (Remote host closed the connection)
23:33:29  <Raynos>defunctzombie: CODE REVIEW?!
23:33:38  <Raynos>Who needs it when you can ship straight into prod
23:37:50  * Domenic_joined
23:39:37  * thatguydanquit (Quit: thatguydan)
23:40:14  * mikealquit (Quit: Leaving.)
23:40:19  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
23:40:19  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
23:40:23  <substack>woot!
23:41:02  * CryptoQuick_joined
23:41:04  <dominictarr>tar -cz . | ssh [email protected] 'tar -xz . && npm install ; pkill node ; node server.js'
23:41:39  * CryptoQuickquit (Ping timeout: 245 seconds)
23:41:40  * CryptoQuick_changed nick to CryptoQuick
23:42:39  * Domenic_quit (Ping timeout: 260 seconds)
23:44:24  <mbalho>suck it capistrano
23:45:45  <defunctzombie>GOOGLE READER IS GOING AWAY!!! WHAT DO I USE??
23:48:02  * tmcwquit (Remote host closed the connection)