00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:01:11  * timoxleyquit (Remote host closed the connection)
00:04:27  <CoverSlide>I believe c++ sucks at itself
00:05:16  * ralphtheninjaquit (Quit: leaving)
00:12:10  <jcrugzz>the templating gets kind of crazy
00:14:21  <defunctzombie>mbalho: don't cry
00:30:03  * kumavisquit (Read error: Connection reset by peer)
00:30:18  * kumavisjoined
00:45:39  * hughskjoined
00:58:08  * thlorenzjoined
00:58:58  * thlorenzquit (Remote host closed the connection)
01:04:16  * ednapiranhajoined
01:12:10  * kumavisquit (Quit: kumavis)
01:21:36  * mk30_quit (Quit: Page closed)
01:22:18  * dguttmanquit (Quit: dguttman)
01:31:24  <isaacs>anybody gonna be in ireland after nodeconf?
01:31:45  <isaacs>i'll be in waterford for a few days afterwards
01:32:23  * jxsonquit (Remote host closed the connection)
01:36:46  <substack>isaacs: I'll be in ireland for a while before and after
01:37:01  <substack>I'm leaving on the 4th
01:38:47  <isaacs>substack: you should hang out in waterford after the conf
01:39:09  <isaacs>i'll be heading up to Dublin on the 14th, and then i fly to rome at dawn on the 15th
01:40:29  <substack>anything in particular happening in waterford?
01:42:05  <isaacs>substack: not really, but it's where cian and richard and folks live, and i guess closer to where the conf is.
01:42:41  <isaacs>substack: mostly i'm just gonna be doing the same thing there that i do in oakland, just finding cafes to hack in. might even rent a bike.
01:42:58  <isaacs>substack: oh! and there's the harvest festival happening those two days in waterford.
01:44:17  <isaacs>substack: this looks rad: https://waterfordharvestfestival.ticketsolve.com/shows/873502685/events
01:44:25  <isaacs>if you're into food and blindness.
01:44:56  * gwenbelljoined
01:49:54  * gwenbellquit (Quit: Lost terminal)
01:51:13  * ins0mniaquit (Ping timeout: 268 seconds)
01:51:16  * jolissquit (Quit: joliss)
02:15:22  * mk30joined
02:17:39  * AvianFluquit (Remote host closed the connection)
02:26:26  * thlorenzjoined
02:43:28  * ednapiranhaquit (Remote host closed the connection)
03:23:01  * st_lukequit (Remote host closed the connection)
03:29:13  * thlorenzquit (Remote host closed the connection)
04:17:45  * kumavisjoined
04:21:10  * shama_joined
04:21:14  * shamaquit (Read error: Connection reset by peer)
04:30:12  * mk30quit (Quit: Page closed)
04:53:01  * coderzachjoined
05:08:21  * st_lukejoined
05:22:07  * owen1quit (Ping timeout: 268 seconds)
05:24:47  * mk30_joined
05:35:59  * owen1joined
05:37:56  * shama_changed nick to shama
05:55:45  * st_lukequit (Remote host closed the connection)
05:55:52  * kumavisquit (Quit: kumavis)
05:57:47  * kumavisjoined
06:00:25  * i_m_cajoined
06:22:31  * defunctzombiechanged nick to defunctzombie_zz
06:36:15  * i_m_caquit (Ping timeout: 260 seconds)
06:37:33  * shamaquit (Remote host closed the connection)
06:43:50  * timoxleyjoined
06:45:36  * djcoinjoined
06:48:43  * mcollinajoined
06:50:55  * kumavisquit (Quit: kumavis)
06:55:15  * mk30_quit (Ping timeout: 250 seconds)
07:02:00  * timoxleyquit (Ping timeout: 243 seconds)
07:03:32  * timoxleyjoined
07:08:02  * mcollinaquit (Ping timeout: 264 seconds)
07:15:26  * timoxleyquit (Remote host closed the connection)
07:16:05  * timoxleyjoined
07:20:25  * defunctzombie_zzchanged nick to defunctzombie
07:26:10  * defunctzombiechanged nick to defunctzombie_zz
07:34:00  * defunctzombie_zzchanged nick to defunctzombie
07:45:30  * defunctzombiechanged nick to defunctzombie_zz
07:49:02  * missinglinkquit (Ping timeout: 240 seconds)
08:02:38  * hughskquit (Ping timeout: 264 seconds)
08:03:21  * nicholasfjoined
08:22:59  * mirkokieferjoined
08:32:56  * hughskjoined
08:55:25  * defunctzombie_zzchanged nick to defunctzombie
09:05:10  * defunctzombiechanged nick to defunctzombie_zz
09:13:23  * dominictarrjoined
09:15:29  * mirkokieferquit (Quit: mirkokiefer)
09:29:10  * calvinfoquit (Quit: Leaving.)
10:03:55  * mirkokieferjoined
10:24:09  * timoxleyquit (Remote host closed the connection)
10:27:56  * hughskquit (Quit: Leaving.)
10:37:36  * jolissjoined
10:43:15  * jcrugzzquit (Ping timeout: 260 seconds)
10:54:20  * maksimlinquit (Quit: ChatZilla [Firefox 23.0/20130803215302])
11:08:30  * jolissquit (Quit: joliss)
11:43:06  * ins0mniajoined
12:12:54  <dominictarr>http://www.aeonmagazine.com/living-together/so-you-want-to-invent-your-own-currency/
12:40:28  * thlorenzjoined
13:10:01  * mirkokieferquit (Quit: mirkokiefer)
13:14:11  <Domenic_>defunctzombie_zz: did I give you an IRCCloud invite already? Do you want one?
13:37:10  * mirkokieferjoined
13:43:52  * itprojoined
13:43:52  * itprochanged nick to ITpro
14:02:44  * ITproquit (Ping timeout: 256 seconds)
14:13:27  * tmcwjoined
14:19:26  * klusiasquit (Ping timeout: 264 seconds)
14:34:51  * jolissjoined
14:38:50  * kenperkinsquit (Quit: Computer has gone to sleep.)
14:39:44  * kenperkinsjoined
14:43:33  * mirkokieferquit (Quit: mirkokiefer)
14:47:52  * fallsemojoined
14:47:56  * shamajoined
14:48:45  * timoxleyjoined
14:49:09  * mirkokieferjoined
14:56:46  * AvianFlujoined
15:06:55  <dominictarr>defunctzombie_zz: creationix hey, you can run a tcp server from inside a chrome app, right?
15:07:24  <creationix>dominictarr, yep
15:07:30  <dominictarr>hmm...
15:07:31  <creationix>it's not as fast as node, but it does work
15:07:38  <creationix>I have a basic http parser that I used to test that
15:07:40  <dominictarr>that means you could have a http server
15:07:51  <dominictarr>and you could have an app that you opened other web pages from
15:08:06  <dominictarr>you could have a PAAS in your browser
15:08:26  <creationix>well, not "browser" since TCP isn't in browser mode
15:08:27  <creationix>but yeah
15:08:39  <creationix>packaged apps are a lot like native apps
15:09:33  * calvinfojoined
15:09:45  <dominictarr>creationix: what about firefox?
15:09:52  * ELLIOTTCABLEquit (Remote host closed the connection)
15:09:55  <creationix>same I believe
15:10:49  <creationix>hmm, actually I don't know if firefox tcp can do server
15:10:52  <creationix>https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket
15:10:57  <creationix>looks like client only
15:11:02  <creationix>though it has TLS which is nice
15:11:08  <creationix>chrome doesn't have that yet, they are adding it
15:16:59  <creationix>dominictarr, somewhere around this version, I had a TCP server in a chrome app using min-streams https://github.com/creationix/js-git/tree/1ed58733a028dc1493356d75461d807b2b7fe8dc
15:21:36  <dominictarr>creationix: looking at min-stream-chrome now
15:21:43  <dominictarr>did you implement servers as streams of streams?
15:23:13  <creationix>I think so
15:23:22  <creationix>the chrome API works that way sort-of
15:23:27  <dominictarr>hmm, almost… https://github.com/creationix/min-stream-chrome/blob/master/tcp.js#L9
15:24:19  <creationix>the server is a read stream that emits requests
15:24:20  <creationix>https://github.com/creationix/min-stream-chrome/blob/master/tcp.js#L34
15:25:28  <dominictarr>right. except that server is created via an async call
15:25:40  <dominictarr>rather than immediately returning a stream
15:26:05  <creationix>feel free to tear apart the code
15:26:12  <creationix>just wanted to show you how far I got
15:26:33  <creationix>it should help since min-streams are so close to your pull-streams
15:27:02  <dominictarr>sure. yes
15:27:19  <dominictarr>I might do that, I'm just researching at the moment.
15:27:46  <creationix>but back when I benchmarked a server, I had the exact same code with a pure-js http parser in both node and chrome
15:27:52  <creationix>node has a much faster tcp stack
15:27:59  <creationix>but chrome was plenty fast for local users
15:28:02  <dominictarr>but I'm planning an epic streaming thing, rather, a routing layer
15:28:10  * dguttmanjoined
15:28:16  <creationix>also chrome has udp server and client
15:28:25  <dominictarr>creationix: yeah, you probably arn't gonna be serving massive datas from a browser
15:28:26  <creationix>I want to eventually add some p2p discovery over lans
15:28:40  <dominictarr>that should be pretty simple...
15:28:55  <dominictarr>with udp broardcast. I think defunctzombie_zz has used that.
15:28:59  <creationix>right, mdns or something simpler
15:29:02  <dominictarr>yeah
15:29:18  <creationix>I'm going to have fun making products when js-git is done
15:29:30  <creationix>packaged app APIs should be a lot more mature by then
15:29:48  <creationix>I've been finding bugs in the mozilla tcp stack the last couple days
16:05:15  <jez0990_>dominictarr: are you thinking in terms of hijacking the proliferation of chromebooks? or just that getting the general public to install chrome extensions is simpler than a node-webkit (or equivalent) app?
16:07:03  <dominictarr>jez0990_: more or less.
16:07:52  <thlorenz>has anyone implemented a json object tree walker? can't find one: https://twitter.com/thlorenz/status/373476668142522369
16:08:18  <dominictarr>thlorenz: substack/traverse
16:09:54  <thlorenz>dominictarr: thanks - didn't find this one - kept looking for 'tree walk' instead of traverse )
16:10:50  * CoverSli1joined
16:14:42  <dominictarr>also, i have pull-traverse
16:14:52  <dominictarr>and traverser - but don't use that.
16:15:08  <dominictarr>well worth implementing this stuff your self as an exercise, really
16:16:45  * calvinfoquit (Quit: Leaving.)
16:18:17  * CoverSli1quit (Quit: CoverSli1)
16:18:52  * kenperkinsquit (Quit: Computer has gone to sleep.)
16:20:31  * CoverSlide1joined
16:25:32  * kumavisjoined
16:42:55  * mirkokieferquit (Quit: mirkokiefer)
16:45:45  <jjjohnny>nodesters: i have a direct line to a high paid 3 months contract
16:45:59  <jjjohnny>of which I am also partaking
16:46:12  * mirkokieferjoined
16:46:22  <jjjohnny>email me [email protected]
16:46:34  <jjjohnny>its API cloud building etc etc
16:49:44  * dominictarrquit (Quit: dominictarr)
16:50:03  * tmcwquit (Remote host closed the connection)
16:50:35  * tmcwjoined
16:51:57  <jjjohnny>i pray it doesn't suck hard
16:55:10  <jjjohnny>it is work from home
16:55:18  * tmcwquit (Ping timeout: 264 seconds)
16:57:45  * dstokesjoined
17:02:30  * maekjoined
17:02:40  * maekpart
17:03:37  * AvianFluquit (Remote host closed the connection)
17:07:43  * calvinfojoined
17:08:55  * defunctzombie_zzchanged nick to defunctzombie
17:10:53  * jolissquit (Quit: joliss)
17:10:57  * defunctzombiechanged nick to defunctzombie_zz
17:11:11  * i_m_cajoined
17:17:25  * i_m_caquit (Ping timeout: 248 seconds)
17:21:07  * tmcwjoined
17:22:00  * thlorenzquit (Remote host closed the connection)
17:23:10  * calvinfoquit (Quit: Leaving.)
17:24:50  * tmcwquit (Remote host closed the connection)
17:25:06  * tmcwjoined
17:28:12  * defunctzombie_zzchanged nick to defunctzombie
17:30:19  * thlorenzjoined
17:32:27  * thlorenzquit (Remote host closed the connection)
17:33:58  * AvianFlujoined
17:37:27  * thlorenzjoined
17:38:11  * thlorenzquit (Remote host closed the connection)
17:38:59  * calvinfojoined
17:39:45  * coderzachquit (Quit: coderzach)
17:40:19  * coderzachjoined
17:43:21  * AvianFluquit (Ping timeout: 268 seconds)
17:44:14  * i_m_cajoined
17:46:07  * DTrejojoined
17:46:22  * jcrugzzjoined
17:52:06  * jcrugzzquit (Ping timeout: 264 seconds)
17:57:16  * mirkokieferquit (Quit: mirkokiefer)
18:00:00  * i_m_caquit (Ping timeout: 268 seconds)
18:04:10  * AvianFlujoined
18:09:19  * dominictarrjoined
18:09:33  <dlmanning>is namecheap.com an okay place to buy a domain?
18:12:19  * itprojoined
18:12:19  * itprochanged nick to ITpro
18:13:05  <defunctzombie>creationix: dominictarr: been a while since I revisted this repo: https://github.com/shtylman/node-spaceport
18:13:46  <defunctzombie>creationix: dominictarr: but it was basically a simpler take on MDNS (instead of implementing the full protocol, I just did a simple json protocol) to get things going API layer wise
18:14:02  <dominictarr>nice
18:14:40  <dominictarr>dlmanning: i use iwantmyname.com which has nice interface, and i've met the team
18:15:13  <dlmanning>dominictarr: Thanks, and also oops I'd meant to type that in a different channel :/
18:19:36  * dguttmanquit (Ping timeout: 245 seconds)
18:19:37  <jjjohnny>im worried dollars are going to become worthless very soon
18:20:19  <jjjohnny>i mean in a good way
18:21:43  <defunctzombie>they aren't
18:21:49  <defunctzombie>stop worrying
18:21:53  <jjjohnny>so if we convince the world that money is a s valueless as it should be, then wealth will disappear, but the gun will rule
18:22:42  <jjjohnny>defunctzombie: ok then, I'll make a few more, but I'm putting it all into artistic and scientific instruments
18:23:35  <jjjohnny>tools of learning and creation hold value
18:23:57  <jjjohnny>especially when there is no work, and people need to learn and create to survive
18:24:22  * dguttmanjoined
18:24:22  <jjjohnny>"work" as in currency job
18:24:35  * dguttmanpart
18:25:31  <dlmanning>jjjohnny: Guns and stocks of food/oil would probably be a safer bet if you're just concerned about what will hold value in a situation where all the world's major currencies collapse
18:30:54  * jxsonjoined
18:31:25  * evboguejoined
18:31:55  <defunctzombie>substack: for testling, it would be nice to have a queue or something
18:32:07  <defunctzombie>so when you guys get the github hook but have not started to test anything
18:32:17  <defunctzombie>you still show that info on the project page
18:32:28  <defunctzombie>otherwise, I don't know if things are connected correctly or what
18:33:02  * coderzachquit (Quit: coderzach)
18:33:55  * coderzachjoined
18:44:10  * ITproquit (Ping timeout: 245 seconds)
18:47:29  * soldairjoined
18:49:52  <defunctzombie>isaacs: can't find in npm docs how to run npm command with a config option just for that local project
18:50:11  <defunctzombie>isaacs: I want to run "npm install" with production = true, but not have that be a global user setting on my dev box
18:51:03  * dominictarrquit (Quit: dominictarr)
18:52:19  * itprojoined
18:52:19  * itprochanged nick to ITpro
18:53:31  <defunctzombie>oh I see, npm install --production
18:53:35  <defunctzombie>and npm prune --production
18:53:40  <defunctzombie>had to search issues for that one haha
18:56:11  <jjjohnny>dlmanning: but stocks are based on fiat currency aint they?
18:58:08  <jjjohnny>when the money is worthless, the guns, oil and food will be their wait in "need"
18:58:18  <jjjohnny>worth their wait in "need"
19:01:57  <dlmanning>jjjohnny: that's what I meant
19:08:42  * dominictarrjoined
19:15:02  * timoxleyquit (Remote host closed the connection)
19:17:39  * LOUDBOTjoined
19:21:53  * mirkokieferjoined
19:22:37  <Raynos>defunctzombie: you can see information by adding .json to the uri
19:24:20  * LOUDBOTquit (Remote host closed the connection)
19:24:40  * LOUDBOTjoined
19:25:42  * st_lukejoined
19:29:24  * thlorenzjoined
19:33:38  <jjjohnny>dlmanning: in that case i'll need guns to hold the oil to power the robocrops
19:34:17  <jjjohnny>and then I'll issue a new, real kind money, one which derives its value from my visage
19:36:21  * DTrejoquit (Remote host closed the connection)
19:38:01  * evboguequit (Quit: Lost terminal)
19:49:45  * kenperkinsjoined
19:51:09  * dominictarrquit (Quit: dominictarr)
19:56:54  * st_lukequit (Read error: Connection reset by peer)
19:57:22  * st_lukejoined
20:03:44  * nicholas_joined
20:03:44  * nicholasfquit (Read error: Connection reset by peer)
20:04:06  * kumavisquit (Quit: kumavis)
20:04:34  * jibayjoined
20:13:38  * mirkokieferquit (Quit: mirkokiefer)
20:15:18  * dominictarrjoined
20:35:24  * defunctzombiechanged nick to defunctzombie_zz
20:44:20  * jxsonquit (Remote host closed the connection)
20:54:21  * kriskowal_joined
20:56:33  * kriskowalquit (Ping timeout: 276 seconds)
20:56:33  * kriskowal_changed nick to kriskowal
21:03:36  <isaacs>substack: i recommend merging https://github.com/substack/node-mkdirp/issues/32
21:04:25  <isaacs>substack: also, if you make me a collaborator on substack/node-mkdirp, i'll do it for you, and close all the other pull reqs which are stupid.
21:17:42  * kriskowalquit (Quit: kriskowal)
21:25:27  <substack>why do people even use strict mode
21:27:22  * defunctzombie_zzchanged nick to defunctzombie
21:28:33  * kriskowaljoined
21:30:29  <dominictarr>substack: fear
21:31:13  * AvianFluquit (Remote host closed the connection)
21:31:28  <substack>also why does using strict mode make their code not work if they depend upon code not written in strict mode?
21:31:39  <substack>that seems like the kind of thing that nobody should ever use if that is the case
21:31:55  <thlorenz>substack: that is only the case if they use global strict mode
21:31:56  <substack>I'm confused though because strict mode is supposed to be function-scoped
21:32:19  <Domenic_>this is not normally a problem, this is only for weird people who use a different version of javascript enabled by the --use-strict flag
21:32:22  <thlorenz>you should never do that (always wrap 'use strict' in a function) - in node that is already done for each module
21:32:34  <Domenic_>people who use normal javascript do not run into this problem and there is no issue using your modules
21:32:39  <substack>dominictarr: can you chime in on https://github.com/emberfeather/less.js-middleware/pull/51 ?
21:32:46  <substack>*Domenic_
21:33:26  <substack>even though that is a tiny thing I'm not sure that I should merge it because people are doing it wrong™
21:33:42  <substack>whoops sorry I meant
21:33:48  <substack>https://github.com/substack/node-mkdirp/issues/32
21:33:49  <substack>that link
21:33:57  <thlorenz>substack: I wouldn't merge this
21:34:10  <Domenic_>substack: hmm now I'm conflicted. I support strict mode and would like that PR to be merged, but I dislike --use-strict so it's for all the wrong reasons -_-
21:34:33  <thlorenz>Domenic_: substack those PRs would never stop for people using --global-strict
21:34:46  <CoverSlide>var ohsevensevenseven = parseInt('0777')
21:34:55  * ITproquit (Ping timeout: 256 seconds)
21:35:16  <CoverSlide>because 511 might not be clear
21:36:18  <thlorenz>'use strict' is a crutch, but a very useful one so I use it myself consistently, it keeps me from making stupid mistakes and/or misspelling stuff
21:36:20  <dominictarr>I know a guy who once told me that a crystal on top of his computer made it crash less often
21:36:43  <dominictarr>He said he didn't know how it (the crystal) worked.
21:37:16  <substack>I should just paste this conversation into the issue page.
21:37:17  <CoverSlide>yo should bombard his hd with magnets
21:37:35  <dominictarr>I'd probably just merge this, if it was my repo
21:37:41  <CoverSlide>see which one wins, magnets, or crystal
21:37:43  <dominictarr>because, like, if it makes them happy
21:38:11  * CoverSlidestarts singing Cheryl Crow for no reason
21:38:19  * mk30joined
21:38:43  <dominictarr>CoverSlide: need to carefully position magnets and crystals, according to computers charkras
21:39:12  <Domenic_>kk commented https://github.com/substack/node-mkdirp/issues/32#issuecomment-23590736
21:39:28  <Domenic_>thlorenz: crutch is not the right way of looking at it. it's a way of opting into a saner semantics for the entire language.
21:39:49  <dominictarr>and after heavy use, rest your computer under a cardboard pyramid, battery will recharge faster.
21:40:06  <Domenic_>thlorenz: it is literally impossible to securely call external code within sloppy mode, for example, whereas strict mode makes it very possible.
21:40:09  <Domenic_>thlorenz: http://domenic.me/2013/03/19/strict-mode-static-scoping/
21:42:42  <thlorenz>Domenic_: makes sense, but I know not to use 'with' and/or manipulate closures inside 'eval', so I just use it to give me immediate feedback when I made a stupid mistake
21:42:52  <Domenic_>thlorenz: sure, but any other code can do that
21:43:14  <thlorenz>most times these are misspelled variables in which case Syntastic Check kicks in (driven by jshint)
21:43:25  <CoverSlide>or missing a var
21:43:26  <Domenic_>thlorenz: other code can also manipulate the stack via arguments.callee as well, big security issue.
21:43:42  <thlorenz>Domenic_: if I don't 'use strict' it doesn't barf on misspelled variables for some reason
21:44:07  <thlorenz>I guess due to the fact that it just makes them/assumes them to be global
21:46:09  * calvinfoquit (Quit: Leaving.)
21:46:16  <substack>Domenic_: thanks for the comment!
21:46:29  <substack>I now understand the issue better.
21:46:48  <substack>didn't know that the spec people were adament about how strict mode works, quite prescient
21:46:49  <Domenic_>:). I still think you should merge the PR, haha.
21:47:11  <substack>I only run into strict mode when people bug me to stop using octals and whatever
21:47:18  <substack>so I don't have much positive experience with it
21:47:27  <Domenic_>yeah. that's basically node's fault for including the big global switch :(
21:48:32  <thlorenz>substack: you could still use octals and just do parseInt(myoctal, 8)
21:48:50  <Domenic_>es6 actually recognized that people liked octals and add `0o777`
21:49:10  <Domenic_>i think it's in v8 already... but behind a flag... /facepalm go home v8, you're drunk
21:50:05  <thlorenz>Domenic_: that's weird since you'd still have to be explicit when using parseInt either way
21:51:06  <Domenic_>thlorenz: sure, but parsing octal is so rare anyway
21:51:34  * ednapiranhajoined
21:52:21  <thlorenz>Domenic_: since they still have to treat any num starting with '0' to be an octal (history) I don't see how making it more explicit makes sense
21:52:35  <thlorenz>except to indicate that the 0 is not a mistake maybe?
21:52:35  <Domenic_>thlorenz: that's not true, try it: parseInt("012") === 12
21:52:50  <thlorenz>Domenic_: ah, so they broke the web?
21:52:54  <Domenic_>thlorenz: and in strict mode, 012 => parse error
21:53:17  <thlorenz>Domenic_: did not know that
21:53:20  <Domenic_>thlorenz: more like fixed it :). they couldn't find a page where parseInt("012") === 10 was the desired result
21:53:46  <thlorenz>Domenic_: :) should have done the same with String.blink
21:53:47  <Domenic_>the parseInt fix was part of ES5
21:54:02  <Domenic_>it's already in node, has been in browsers since ie9 I think?
21:54:46  <thlorenz>cool, but we still should specify a radix to parseInt right? or is this now obsolete due to those changes?
21:55:08  <Domenic_>that's obsolete unless you want ie8 support.
21:55:15  <Domenic_>so, like everything else in life, basically.
21:56:47  <thlorenz>Domenic_: got it, so the linters are tweaked for IE8 support then -- even jshint gives me an error for parseInt w/out a radix
21:57:18  <Domenic_>thlorenz: is that even true in newest jshint that turns on es5 by default?
21:57:32  <thlorenz>let me check
21:58:56  <thlorenz>Domenic_: looks like it -- running jshint 2.1.10
21:59:08  <Domenic_>thlorenz: weird, I'll file a bug
22:02:40  * defunctzombiechanged nick to defunctzombie_zz
22:03:44  * i_m_cajoined
22:06:36  * defunctzombie_zzchanged nick to defunctzombie
22:10:04  * kumavisjoined
22:11:42  <isaacs>Domenic_: y'all care way too much about strict mode.
22:11:52  <isaacs>i mean, sure, it sucks that it complains about octal literals
22:12:28  <isaacs>but like, whatever. js is a goddamn mess. strict mode is probably slightly better. if someone's gonna use that flag to catch potentially hazardous stuff in their program, it sucks that they can't use mkdirp in that program.
22:12:55  <Domenic_>isaacs: but you can't change the runtime semantics of other peoples' code.
22:13:08  <isaacs>Domenic_: a module is part of your program.
22:13:16  <isaacs>Domenic_: we're not talking about separate processes.
22:13:21  <Domenic_>ok, *shouldn't*.
22:13:24  <isaacs>they're not running YOUR program in strict mode.
22:13:42  <isaacs>if you have a big team working on some product or something, it kinda makes sense.
22:13:56  <isaacs>why make them fork mkdirp, just to protest the dropping of octal literals?
22:14:12  <isaacs>i dunno. seems like a kinda weird fight to pick.
22:14:57  <Domenic_>why is this big team writing a language that isn't javascript? very strange.
22:15:18  * i_m_caquit (Ping timeout: 268 seconds)
22:16:04  * jolissjoined
22:17:48  <defunctzombie>mbalho have you looked at the csv module?
22:18:20  <st_luke><3 when I have to explain to an infrastructure team how they set their orchestration up
22:18:25  <defunctzombie>haha
22:18:57  <st_luke>im sitting here eating an ice cream bar telling the infrastructure lead how he manages processes
22:20:23  * thlorenzquit (Remote host closed the connection)
22:20:31  <st_luke>why are people running a full app in strict mode
22:23:20  <isaacs>Domenic_: because it's just javascript without all the stupid things in javascript, and also without octal literals.
22:23:27  <isaacs>Domenic_: but the value of reoving with and eval is worth it for them.
22:24:14  <st_luke>isaacs: is there anything I can do to help with the core cluster module? any points you guys were looking for feedback on, since its stability index is still `1 - experimental`?
22:27:24  <st_luke>rvagg: ping
22:27:27  * kumavisquit (Quit: kumavis)
22:27:29  <Domenic_>isaacs: sure. unfortunately no files on npm are written in this new language which has the semantics of javascript strict mode, but without the pragma that enables it. so it's understandable if you can't use npm modules when you force them all to be interpreted as this new language.
22:35:58  <isaacs>st_luke: i think it can be bumped up to "unstable"
22:36:03  <isaacs>st_luke: in master, that is
22:36:36  <isaacs>Domenic_: calling it a "new language" is kind of silly.
22:36:42  <isaacs>Domenic_: and yes, it's understandable
22:37:02  <isaacs>Domenic_: no one's saying that substack is a bad person for using octal literals, or that it's not reasonable than mkdirp doesn't already follow strict mode.
22:37:22  <mbalho>i am actually
22:37:25  <isaacs>Domenic_: but just that there are reasonable use cases where it'd be easier if mkdirp DID follow strict mode.
22:37:31  <substack> I'll probably just merge the patch though, but people are just making things harder for themselves by using global strict mode
22:37:37  <defunctzombie>if strict mode is so awesome
22:37:42  <isaacs>substack: i agree.
22:37:44  <defunctzombie>why don't we just enable it in node by default?
22:38:04  <substack>st_luke: wow
22:38:09  <isaacs>substack: but i encourage people making it harder for themselves
22:38:16  * isaacshmm.
22:38:25  <st_luke>substack: ?
22:38:28  <isaacs>defunctzombie: because it's not awesome.
22:38:39  <isaacs>defunctzombie: it's not faster, and breaks userland programs.
22:38:51  <isaacs>but i've usually just gone the route of letting people do whatever in their own programs if they wanna
22:39:20  <defunctzombie>is that the only reason it isn't awesome?
22:39:27  <mbalho>and another thing, we need truly private methods so those damn sneaky third party developers cant use my library in ways i dont want them to
22:39:31  <defunctzombie>the breakage would be fixed
22:39:44  <defunctzombie>my understanding was that it was a good thing
22:42:08  * tmcwquit (Remote host closed the connection)
22:42:40  * tmcwjoined
22:47:01  * tmcwquit (Ping timeout: 248 seconds)
22:47:14  * jxsonjoined
22:48:16  <defunctzombie>switched to the textual irc client over limechat
22:48:19  <defunctzombie>so far I am liking it
22:48:45  * tmcwjoined
22:48:57  * tmcwquit (Remote host closed the connection)
22:49:30  * tmcwjoined
22:49:58  * djcoinquit (Quit: WeeChat 0.4.0)
22:49:58  * fallsemoquit (Quit: Leaving.)
22:50:52  * kumavisjoined
22:54:06  * tmcwquit (Ping timeout: 264 seconds)
22:58:58  <defunctzombie>substack https://ci.testling.com/shtylman/reactive
22:59:01  <defunctzombie>seems stuck on ie 10?
23:02:00  * calvinfojoined
23:07:26  * wolfeidauquit (Remote host closed the connection)
23:11:13  * no9joined
23:11:17  * fallsemojoined
23:11:32  <Domenic_>strict mode doesn't actually break userland programs, and it's bordering on fud-spreading to say it does. the non-JS language enabled by --use-strict breaks user programs.
23:12:05  <Domenic_>isaacs: I think those use cases are not reasonable. running an incompatible language is not a reasonable use case.
23:12:33  * no9quit (Client Quit)
23:15:59  <defunctzombie>Domenic_: from my rather limited understanding I felt that the case for use strict by default was reasonable
23:16:29  <Domenic_>defunctzombie: i mean, i guess if you wanted to create node.strictscript instead of node.javascript
23:16:42  <defunctzombie>does it make you write something different?
23:16:48  <Domenic_>then the ecosystem would all be written in strictscript
23:16:55  <Domenic_>and we wouldn't be having problems
23:17:06  <defunctzombie>as in.. what is the non-js language you speak of?
23:17:23  <defunctzombie>well, isn't strictscript still javascript?
23:17:33  <guybrush>i dont understand "use strict" i mean i read a article or two, i just dont get it
23:17:35  <Domenic_>the non-js language ("strictscript") is one in which strict semantics are enabled globally, without a local pragma that confines them to the current script or function.
23:18:05  <guybrush>what exactly makes one use "use strict"
23:18:24  <Domenic_>guybrush: wanting to opt in to a sane and secure subset of javascript.
23:18:43  <defunctzombie>Domenic_: I guess my point is that I don't really see strictscript as a bad thing
23:18:45  <guybrush>hmm ok
23:18:56  <Domenic_>strictscript is not javascript because in strictscript `x = 5` causes a ReferenceError whereas in javascript `x = 5` creates a global variable
23:19:00  <defunctzombie>nor do I view it as something other than javascript
23:19:13  <defunctzombie>Domenic_: I see
23:19:15  <Domenic_>defunctzombie: sure strictscript would be a great language, but unfortunately it's not the one the node community has chosen.
23:19:28  <guybrush>but why isnt just everything use strict then? when its better
23:19:33  <defunctzombie>Domenic_: you say that as if it isn't up to like 2 people to change that :)
23:19:49  <Domenic_>even worse, node has a flag (--use-strict) which reinterprets all your javascript as strictscript, breaking lots of modules and causing drama like today's
23:19:51  <defunctzombie>Domenic_: all it would take is a node shipped with use strict for a version or two
23:19:52  <defunctzombie>haha
23:20:10  <Domenic_>defunctzombie: as always, I have to reply: "we couldn't even kill require("sys")!"
23:20:28  <defunctzombie>different imho
23:20:33  <Domenic_>guybrush: because it is a backwar-incompatible change; javascript code not written with strict mode in mind can break or act differently.
23:20:38  <defunctzombie>cause leaving that in makes nothing worse or better
23:20:51  <defunctzombie>but preventing leaks or other side effects does help
23:21:05  <defunctzombie>one could make an argument either way.. just takes enough PR to sell it
23:21:16  <Domenic_>sure, but i think the "don't break stuff" argument is too strong, especially now.
23:21:47  <defunctzombie>meh
23:21:56  <defunctzombie>it is a strong argument but node people break shit all the time
23:22:01  <defunctzombie>native modules for 0.11
23:22:03  <Domenic_>that's true
23:22:04  <defunctzombie>dgram for 0.10
23:22:09  <defunctzombie>so that argument is moot imho
23:22:10  <Domenic_>but they *say* they don't.
23:22:12  <defunctzombie>sure
23:22:16  <Domenic_>they *believe* they don't
23:22:16  <defunctzombie>they can say wahtever they want
23:22:22  <defunctzombie>but they will break anything if it suits them
23:22:27  <defunctzombie>all programmers do this
23:22:32  <defunctzombie>they will break any rule when it suits them
23:22:35  <guybrush>i think its ok to break stuff to make things better
23:22:41  <Domenic_>it might force them to confront some uncomfortable truths if they looked deep inside themselves and recognized the breakage they create
23:22:52  * defunctzombiethat's deep
23:22:57  <guybrush>you can stick with your node-version anyway
23:23:27  <guybrush>but thats really only my opinion and its for sure not true for most other peoples :p
23:23:46  <Domenic_>guybrush: I more or less agree with you, but I don't run a large open-source project, so :P
23:25:46  <guybrush>somehow i think semver makes all this compatibility-issues much less nasty
23:28:05  <defunctzombie>it doesn't really
23:28:05  <defunctzombie>semver is just a hint
23:28:09  <defunctzombie>people still have to follow it
23:28:16  <defunctzombie>and few do all the time
23:28:23  <defunctzombie>but it is better than not using it
23:28:48  <defunctzombie>based on node releases, we should be on 3.0.0 if you look at API breakage haha
23:28:51  <defunctzombie>or maybe even more
23:31:28  <isaacs>Domenic_: that flag is a V8 flag, not a node flag.
23:31:55  <isaacs>Domenic_: also, i mean, calling it a separate language is odd. it's a strict subset of javascript, and the only reasonable feature it removes is octal literals.
23:32:19  <isaacs>Domenic_: if you're using with(){} or eval or other non-strict things in your programs, it's probably already terrible.
23:32:43  <Domenic_>isaacs: yes, I know it's a V8 flag; node still has it, and people still use it with node.
23:32:51  <Domenic_>isaacs: no, it's not a subset of javascript
23:33:00  <isaacs>Domenic_: or defining functions in conditional blocks, which is just odd to do anyway
23:33:14  <Domenic_>isaacs: `x = 5` has different meaning in strictscript and in JS
23:33:25  <isaacs>Domenic_: yeah, that's good.
23:33:27  <Domenic_>`"use strict"; x = 5` has the same meaning in both
23:33:51  <isaacs>Domenic_: you're really splitting a very fine hair here.
23:34:04  <isaacs>--use-strict just prepends "use strict" to the program v8 runs
23:34:33  <Domenic_>sure. but that is not how JS works.
23:34:49  <Domenic_>a global change in the behavior of all code you write *and* all code you depend on is a pretty large hair
23:34:51  <isaacs>but, since there are sometimes perf impacts of running in strict mode, it sometimes makes sense to NOT invoke use strict in production, but still invoke it in testing and staging so that you can catch errors better.
23:35:01  <Domenic_>strict is not some kind of linter
23:35:08  <Domenic_>strict causes extensive runtime changes to the language
23:35:28  <isaacs>yeah, it turns bad behavior into fatal behavior.
23:36:28  <Domenic_>yeah. and everyone should write strict javascript.
23:36:40  <Domenic_>but people shouldn't change javascript into strictscript with a runtime flag.
23:36:48  <isaacs>Domenic_: a run time flag is exactly how they should do that.
23:37:06  <isaacs>Domenic_: if everyone should write strict js, then what's the problem having the flag?
23:37:07  * soldairquit (Ping timeout: 250 seconds)
23:37:18  <isaacs>Domenic_: obviously making it *required* would be insane.
23:37:20  <Domenic_>because not all existing code is strict js
23:37:22  <isaacs>ie, on by default
23:37:31  <isaacs>Domenic_: not all existing code is in my program either ;)
23:37:47  <Domenic_>well, there's an easy way to signify whether you are writing strict js or sloppy js
23:37:56  <Domenic_>if you are writing strict js, add "use strict" at the top of the file. done.
23:38:08  <Domenic_>so it is written, and so it shall be.
23:38:24  <Domenic_>now we have an easy way to consume mountains of sloppy JS alongside your own pure beautiful strict JS.
23:38:34  <substack>if octals weren't prohibited in strict mode I might use them
23:38:40  <substack>but they over-reached in banning those
23:38:53  <substack>so I'll probably never use strict mode
23:38:58  <Domenic_>so sad
23:40:54  * thlorenzjoined
23:41:17  <st_luke>Domenic_: freedom is beautiful too
23:46:38  <Domenic_>i wonder how many people would be opening pull requests like this if instead of doing `node --use-strict myprogram.js`, it was `crazy-bash-script-that-opens-every-js-file-in-my-directory-tree-and-prepends-the-string-"use strict";-to-the-beginning && node myprogram.js`
23:48:37  <defunctzombie>isaacs: perf impact? have some hard numbers?
23:49:30  <defunctzombie>I find it amusing that you guys all agree that use strict is good and yet don't turn it on so that devs can benefit from it… continue down this line of everyone that doesn't know must continue to suffer cause we don't want to improve something
23:49:51  <defunctzombie>however, if use strict is not universally good (minus perf impact) then I can understand
23:50:19  <defunctzombie>I think perf impact is a joke argument tho until someone can prove otherwise :)
23:51:12  <isaacs>defunctzombie: not since node 0.6
23:51:31  <defunctzombie>?
23:51:41  <defunctzombie>what was that in reference to
23:53:57  <isaacs>defunctzombie: the last time i tested the perf impact of --use-strict was node 0.6
23:54:06  <isaacs>defunctzombie: gimme a second
23:54:10  <defunctzombie>anyone know of a node module that does the "backbone models" stuff without the rest of backbone nonsense?
23:54:13  <defunctzombie>isaacs: kk
23:54:18  * itprojoined
23:54:18  * itprochanged nick to ITpro
23:54:24  <defunctzombie>isaacs: curious if it has changed or will change on 0.11 given how much v8 changed
23:54:26  <substack>defunctzombie: what about backbone models do you want/need?
23:54:47  <defunctzombie>substack: https://github.com/shtylman/bamboo
23:54:56  <defunctzombie>substack: I like the simple fetch this from server
23:54:58  <defunctzombie>and .save
23:55:07  <defunctzombie>works really nicely with reactive component
23:55:13  <defunctzombie>since changing properties emits events, etc
23:55:39  <defunctzombie>need more docs for bamboo, but before I go down that road.. wanted to explore if someone had alternatives
23:55:40  <substack>you could just have components that `inherits(YourComponent, EventEmitter)`
23:55:46  <substack>and a .appendTo function
23:55:49  * kenperkinsquit (Quit: Computer has gone to sleep.)
23:55:54  <defunctzombie>substack: this is not for that
23:56:07  <defunctzombie>substack: I have "view" components already
23:56:32  <defunctzombie>this is for the bindings into rendered templates basically, and for persisting to the server when you change stuff
23:56:37  <substack>I guess I don't build things very often that are mutable
23:56:43  <substack>I mostly build append-only kinds of apps
23:56:49  <defunctzombie>ah
23:57:18  <defunctzombie>I have found that a basic data model definition helps a lot with mutable stuff and avoids lots of ajax boilerplate stuff
23:57:27  <defunctzombie>bamboo uses the mongoose style of defining a model
23:57:48  <substack>defunctzombie: I've been experimenting a bit with that using http://github.com/substack/level-assoc
23:57:50  <defunctzombie>so it is super simple and I really just use it for fetch/save and events
23:58:04  <substack>but it's still geared around aggregating append-only data into collections
23:58:11  <defunctzombie>yea and around leveldb
23:58:21  <substack>yes
23:58:33  <defunctzombie>this is db agnostic client side for me for now
23:58:45  <defunctzombie>I should really throw up examples so it is clearer
23:59:00  <defunctzombie>but much of it is modeled after simpler backbone models.. to make it look more normal JS like
23:59:26  <defunctzombie>been building all this for a new calendaring app
23:59:40  <defunctzombie>or more specifically expanding on an existing app
23:59:48  <defunctzombie>where there is a lot of mutating