00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:05:41  * stlsaintjoined
00:05:41  * stlsaintquit (Changing host)
00:05:42  * stlsaintjoined
00:18:58  <substack>pushState enabled: http://browserling.com:9009/
00:19:05  <substack>with hash route fallbacks
00:21:58  <substack>biking around to get a burrito and groceries, then factoring out some of the components into modules, then whipping up an npm+testling-ci powered search engine for it, then implementing public key crypto for auth
00:22:31  * dguttmanjoined
00:31:21  * defunctzombie_zzchanged nick to defunctzombie
00:33:00  <defunctzombie>isaacs: so that means it works in node 0.8.15?
00:33:08  <defunctzombie>ive been using it a few times and it seemed to work
00:33:40  <isaacs>defunctzombie: the user/repo thing works, but not user/repo#commit
00:33:54  <defunctzombie>does it just truncate the #commit part?
00:37:39  <defunctzombie>isaacs: I just tried it on 0.8.16 and it works
00:37:50  <isaacs>defunctzombie: with the #commit part?
00:37:53  <defunctzombie>yea
00:37:53  <isaacs>defunctzombie: that's... weird.
00:37:56  <isaacs>ok
00:38:07  <defunctzombie>also.. the reason I ever did that was because I asked you about it long ago iirc
00:38:08  <isaacs>ohhh.... right, it did work, but only by accident
00:38:12  <defunctzombie>yea
00:38:19  <defunctzombie>:)
00:38:22  <isaacs>because of how we handle git urls
00:38:31  <substack>isaacs: http://browserling.com:9009/
00:38:37  <isaacs>but in the newer version, it's ~5x faster, because it's using the tarball url instead of git
00:38:37  * dguttmanquit (Quit: dguttman)
00:38:57  <mbalho>substack: needs wizard before the fold
00:38:59  <defunctzombie>isaacs: cool, hopefully all that still works tho?
00:39:07  <isaacs>defunctzombie: yes
00:39:15  <defunctzombie>\o/
00:39:17  <isaacs>substack: pretty rad
00:39:36  <defunctzombie>the docs should be updated to use module.exports vs exports =
00:39:50  <defunctzombie>for the node.js docs I mean
00:40:10  <substack>isaacs: it'll have a search engine that takes npm search results and ranks repos with testling-ci badges at the top
00:40:34  <defunctzombie>substack: I can haz browser ranges?
00:40:59  <substack>soon!
00:41:07  <substack>I am like really sleepy lately
00:41:46  <defunctzombie>winter time
00:41:51  <defunctzombie>it snowed in nyc today
00:41:51  <substack>probs
00:43:12  <defunctzombie>I kinda want to write a javascript book
00:43:34  <defunctzombie>not about language bullshit but about practical use
00:44:33  <defunctzombie>how to read library code, how code is shared, how people find libs, how stuff is tested, how stuff is deployed, and various alternatives to all of the above
00:45:05  <substack>defunctzombie: write articles, not books
00:45:20  <substack>books are monolithic
00:45:25  <defunctzombie>articles are the modules
00:45:27  <defunctzombie>;)
00:46:44  <defunctzombie>articles : modules :: books : zookeeper
00:47:01  <defunctzombie>someone should make a better analogy
00:48:16  <substack>defunctzombie: you could make a glog server for your book
00:48:20  <substack>and publish the articles incrementally
00:48:30  <defunctzombie>that is what I do with my blog now basically
00:51:55  <defunctzombie>glog is basically like your own github pages
01:05:02  * xaqquit (Remote host closed the connection)
01:06:47  * ryan_stevensjoined
01:07:02  * ryan_stevensquit (Client Quit)
01:09:11  <defunctzombie>substack: how are you liking your phone? iirc you had just gotten it at empire js
01:15:56  * dguttmanjoined
01:50:34  * hij1nxquit (Quit: WeeChat 0.3.2)
01:51:19  * hij1nxjoined
02:02:30  <substack>defunctzombie: I haven't used it since japan
02:02:49  <substack>only useful to me while traveling
02:03:11  <substack>when I'm in the bay area I know where everything is so I don't need the map
02:27:32  * AvianFluquit (Read error: Connection reset by peer)
02:32:41  * AvianFlujoined
02:35:22  * mikealquit (Read error: Connection reset by peer)
02:43:59  <defunctzombie>do you know what we are doing here guys? we are _changing_ the way people think about javascript
02:45:10  * st_lukejoined
02:45:33  <substack>github pages doesn't resonate with me I guess
02:45:38  * jiang-plusjoined
02:45:48  <defunctzombie>substack: how come?
02:46:44  <substack>the mapping of the domains to static directories is pretty weird
02:47:18  <defunctzombie>what domains?
02:47:40  <defunctzombie>the github pages stuff I am talking about is their jekyll blog stuff
02:48:01  <substack>http://$user.github.com/somedirname/
02:48:05  <substack>dislike
02:48:13  <defunctzombie>you can have custom domains too
02:48:24  <defunctzombie>https://github.com/shtylman/shtylman.github.com/blob/master/CNAME
02:49:25  <substack>and then you've got to use their weird directory structure https://github.com/mojombo/jekyll/wiki/usage
02:49:29  <substack>and configuration bleh
02:49:43  * jez0990_quit (Ping timeout: 252 seconds)
02:49:44  <defunctzombie>the config is if you don't want the defaults
02:49:49  <defunctzombie>it is very minimal
02:49:58  <substack>does not make me feel motivated to use it
02:50:07  <defunctzombie>yea, the dir structure is weird, but it is just like anything else, if you want automation
02:50:11  <substack>and I just don't use things like that
02:50:13  <defunctzombie>there is something specific you follow
02:50:35  <substack>with glog, you put markdown files in a repo
02:50:43  <substack>and you `git push` to the glog server
02:50:50  <defunctzombie>whether it be tagging to publish or anything else
02:51:02  <defunctzombie>well, jekyll was designed to have special _posts
02:51:08  <defunctzombie>so you can iterate them
02:51:13  <defunctzombie>to make lists and such of them
02:51:36  <defunctzombie>I know I found the experience of migrating to it rather painless
02:51:54  <defunctzombie>and when they release the new jekyll on GH pages the markdown will be more github flavored for code blocks
02:52:01  <substack>seems pretty un-minimal
02:52:02  <defunctzombie>so you can view the pages on raw github as well
02:52:27  <defunctzombie>it was minimal from the standpoint of the work I had to put into it
02:52:35  <defunctzombie>and I also don't have to run a server or anything for it
02:52:46  <defunctzombie>which was another thing I wanted to get away from
02:52:58  <defunctzombie>glog is cool, if github ran it for me :)
02:54:42  * dguttmanquit (Read error: Connection reset by peer)
02:54:43  * dguttman_joined
02:55:04  <defunctzombie>with the github pages stuff, markdown goes in _posts and everything else is served as is
02:59:11  * jiang-plusquit (Ping timeout: 244 seconds)
03:02:12  * slaskisjoined
03:09:47  * mikealjoined
03:16:10  * jiang-plusjoined
03:22:48  * slaskisquit (Quit: slaskis)
03:26:02  * jiang-plusquit (Quit: leaving)
03:37:21  <defunctzombie>underscore is the top package on npm
03:37:26  <defunctzombie>this makes me cry
03:37:32  <Raynos>it makes us all cry
03:37:42  <ik>man
03:37:46  <fotoverite>There are worse things then underscore
03:37:50  <ik>good thing it doesn't actually matter
03:38:05  <defunctzombie>ik: it is a life or death situation
03:38:15  <fotoverite>Why defunctzombie
03:38:18  <ik>it's javascript
03:38:24  <ik>insofar as computers even matter
03:38:31  <ik>and despite the plot of die hard 4 i doubt they do
03:38:36  <ik>this matters even less than computers
03:53:03  * dguttman_quit (Read error: Connection reset by peer)
03:53:18  * dguttmanjoined
04:07:17  * rvagg_joined
04:35:23  * dguttmanquit (Quit: dguttman)
04:41:17  <chrisdickinson>re: gh-pages, i just statically generate locally to an "html" dir using a node tool and then push the static contents up as a repo
04:41:30  <defunctzombie>yea, you can do that too
04:41:58  <defunctzombie>I found that jekyll served my needs, but gh-pages is pretty flexible overall
04:42:04  <chrisdickinson>tried using jekyll but using gem made me violently ill for a day or two
04:42:08  <defunctzombie>haha
04:42:19  <defunctzombie>yea, I had to make gem install locally
04:42:26  <defunctzombie>and then I had to make sure I had the right versions
04:42:34  <defunctzombie>cause jekyll 0.11.0 used >= for deps
04:42:43  <defunctzombie>which meant I didn't have what github had for the deps
04:42:49  * ralphtheninjaquit (Ping timeout: 246 seconds)
04:42:56  <defunctzombie>and all the versions have changed so much by now
04:43:07  <defunctzombie>but! once I got it working it was awesome :)
04:43:21  * chrisdickinsonnods
04:59:20  <defunctzombie>substack: hyperglue
04:59:26  <defunctzombie>I want to do kinda the opposite in a way haha
05:01:18  <defunctzombie>instead of doing the whole backbone/angular approach of adding template engines
05:01:23  <defunctzombie>I wanted to just write some html
05:01:33  <defunctzombie>and then bind to it automatically
05:03:16  <substack>this isn't automatic
05:03:34  <substack>if you have an update you should just call hyperglue() on your element again to set the update
05:03:45  <substack>or just do the querySelector() yourself
05:04:21  <substack>automatic binding seems too magical
05:04:31  <substack>when you can just update the values procedurally
05:08:22  <defunctzombie>the advantage I see is that you only need to do teh query selecting once
05:08:41  <defunctzombie>then you just maintain references to the elements and update however you want
05:08:56  <defunctzombie>but this is cool, already an improvement over any sort of template stuff I see anywhere else
05:10:19  <chrisdickinson>would be interesting if it exposed a userland writable stream
05:11:05  <substack>defunctzombie: you could just cache the querySelector calls but the element contents might change, invalidating the cache
05:11:18  <substack>seems like a premature optimization for any of the stuff that I build
05:11:26  <substack>and I don't like to solve problems I don't personally have :p
05:11:41  <defunctzombie>it is a problem I personally have :)
05:12:17  <defunctzombie>I like this idea of using the query selectors tho
05:12:24  <substack>chrisdickinson: elements and html strings are already in memory so there's no need for streams here
05:12:27  * mikealquit (Quit: Leaving.)
05:12:33  <substack>chrisdickinson: you can use trumpet for streaming html trickery
05:12:46  <substack>I just copied the idea from plates
05:12:51  <substack>or what I imagine plates to be
05:13:08  <substack>but plates has its own parser, which is not so great in browsers since there's already a really fast parser available
05:13:24  <substack>and plates has its own dsl syntax with .where() and .is() and whatever
05:13:27  <defunctzombie>substack: what would you do for lists of items?
05:13:30  <substack>but query selectors can do all that
05:13:47  <substack>defunctzombie: lists?
05:14:13  <defunctzombie>if an article had something under it that was a list and you needed a loop or something
05:14:37  <substack>hyperglue does querySelectorAll and loops over all the matches
05:14:38  <defunctzombie>my answer has generally been to build that thing first and then set it with html like you do
05:14:49  <substack>if you need anything fancier than that you should just do the querySelectorAll yourself
05:21:36  <defunctzombie>substack: https://gist.github.com/4385681
05:21:50  <defunctzombie>vague idea of the thing I was trying to say
05:22:34  <defunctzombie>your browserify website work will yield some more interesting modules :)
05:23:24  <substack>yes you could do it that way
05:23:28  <substack>whip up a module for it!
05:23:58  <substack>I don't know which approach I like more yet
05:34:48  * dguttmanjoined
05:34:53  * dguttmanquit (Client Quit)
05:46:56  <hij1nx>substack: i dont really like the dsl-ishness of it. i'd like to change that but a lot of people like it.
05:47:38  <hij1nx>substack: but you are totally correct, plates is supposed to be a server side solution that is client-side compat.
05:48:52  <hij1nx>the problem is that query selectors on the server side are hard to do without a dom. and a dom is huge and slow.
05:49:17  <hij1nx>(on the server, that is)
05:52:10  <hij1nx>fwiw, what i have found is that `t = t.replace('<!--name-->', f);` is quite elegant.
05:59:55  <substack>neat trick
06:27:34  * AvianFluquit
06:55:12  * defunctzombiechanged nick to defunctzombie_zz
07:18:26  * sorensenquit (Ping timeout: 250 seconds)
07:21:47  * sorensenjoined
07:28:01  * rvagg_quit (Read error: Connection reset by peer)
07:47:01  * mikealjoined
08:21:30  * rvagg_joined
08:38:02  * xaqjoined
09:02:09  * devaholicjoined
09:04:16  * xaqquit (Remote host closed the connection)
09:13:43  * rvagg_quit (Read error: Connection reset by peer)
09:31:38  * ITproquit (Ping timeout: 252 seconds)
09:32:09  * ITprojoined
09:34:52  * st_lukequit (Remote host closed the connection)
09:46:02  * rvagg_joined
09:48:39  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
10:04:01  <substack>https://github.com/substack/single-page
10:09:11  <substack>isaacs: oh is https://npmjs.org/recent-authors the count of updated packages?
10:09:14  <substack>if so, super neat
10:10:18  <substack>that's a good thing to emphasize since it includes maintaining existing projects plus creating new ones
10:10:55  <substack>but it's still quantity so lots of tiny projects yield a higher score
11:01:48  * yorickjoined
12:00:31  * captain_morganjoined
12:20:26  <yorick>substack: thank you for publishing browserify-website. it is nice to see an example of how you use your modules, and I hope to see more
12:21:00  <yorick>also, browserify.org is currently down for me
12:51:20  * jez0990_joined
13:11:02  * rvagg_quit (Read error: Connection reset by peer)
13:38:33  * ralphtheninjajoined
14:57:32  * captain_morganquit (Remote host closed the connection)
15:26:34  <yorick>I wish there was a templating engine that did streams
15:28:41  <yorick>like var tmp = render('<!DOCTYPE HTML><html><head><title>{{title}}</title><body>{{body}}</body></html>'); tmp.pipe(res); tmp.extend({title: 'hello, world'}); tmp.extend({body: render('body')}); tmp.pipe(res)
15:28:48  <yorick>oh, I already had tmp.pipe(res)
15:32:40  * st_lukejoined
15:36:02  * ralphtheninjaquit (Read error: Operation timed out)
15:42:06  * defunctzombie_zzchanged nick to defunctzombie
15:52:00  * owen1quit (Ping timeout: 260 seconds)
15:53:33  * owen1joined
15:55:54  <isaacs>substack: yeah
15:56:06  <isaacs>substack: i think the pagination is busted, though
16:01:02  * defunctzombiechanged nick to defunctzombie_zz
16:26:39  * _sorensenjoined
16:30:17  * wiwilliajoined
16:35:06  * defunctzombie_zzchanged nick to defunctzombie
16:36:11  * ITproquit (Read error: Connection reset by peer)
16:38:21  * ITprojoined
17:14:13  * AvianFlujoined
17:22:48  <elliottcable>substack ⑊ you around, or still away on holidays?
17:31:02  <elliottcable>substack ⑊ when you get a moment, hilight me, or come say hey in #elliottcable. got some questions. <3
17:44:12  * defunctzombiechanged nick to defunctzombie_zz
17:55:03  * mikealquit (Quit: Leaving.)
18:03:09  * wiwilliaquit (Ping timeout: 260 seconds)
18:03:35  * wiwilliajoined
18:09:21  * wiwillia2joined
18:10:10  * wiwilliaquit (Ping timeout: 252 seconds)
18:13:17  * jden_quit (Quit: Page closed)
18:14:32  * jden_joined
18:17:48  <chrisdickinson>substack: catch-links would be a great candidate to use a module that did event delegation
18:18:02  <chrisdickinson>(in other words, yay, i have a reason to write that module)
18:22:40  * mikealjoined
18:23:43  <chrisdickinson>also, i figured out what was going wrong with cssauron-html in IE<=8
18:23:57  <chrisdickinson>apparently string.split(regex) doesn't work the same in early IE's as it does in all other modern browsers
18:24:22  * wiwilliajoined
18:24:48  * wiwillia2quit (Ping timeout: 264 seconds)
18:25:37  * defunctzombie_zzchanged nick to defunctzombie
18:29:06  * wiwilliaquit (Ping timeout: 272 seconds)
18:41:53  * stlsaintquit (Read error: Operation timed out)
18:50:09  * dominictarrjoined
19:04:19  * jez0990_quit (Ping timeout: 252 seconds)
19:08:12  * defunctzombiechanged nick to defunctzombie_zz
19:09:22  * defunctzombie_zzchanged nick to defunctzombie
19:10:03  * dominictarrquit (Ping timeout: 245 seconds)
19:27:41  * defunctzombiechanged nick to defunctzombie_zz
19:27:45  * defunctzombie_zzchanged nick to defunctzombie
19:40:38  * ralphtheninjajoined
19:53:26  <substack>chrisdickinson: I already started putting it in its own module, just got sleepy
20:03:24  * shuaibjoined
20:27:05  <jjjjohnnny>http://fightcodegame.com/
20:29:37  * defunctzombiechanged nick to defunctzombie_zz
20:32:13  * defunctzombie_zzchanged nick to defunctzombie
20:32:15  <jjjjohnnny>gonna play that later
20:34:51  * ikpart
21:06:54  * st_lukequit (Read error: Connection reset by peer)
21:09:27  * st_lukejoined
21:50:05  * nk109quit (Quit: Computer has gone to sleep.)
22:01:24  * rvagg_joined
22:14:09  <mbalho>jjjjohnnny: come down to sudoroom! #protip
22:23:41  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
22:26:43  * jden_quit (Ping timeout: 245 seconds)
22:33:35  * AvianFlu_joined
22:33:43  * AvianFluquit (Ping timeout: 260 seconds)
22:33:47  * AvianFlu_changed nick to AvianFlu
22:34:23  * rvagg_quit (Quit: Leaving)
22:34:44  * rvagg_joined
22:52:24  <jjjjohnnny>mbalho: im in san jose but im about to leave
22:52:38  <jjjjohnnny>when you gowin
22:56:23  * rvagg_quit (Read error: Connection reset by peer)
22:56:49  <mbalho>jjjjohnnny: im there now, substack is comin over soonish
23:05:48  * rvagg_joined
23:08:48  * captain_morganjoined
23:20:54  <defunctzombie>substack: how are you deploying things these days? git push servers?
23:23:22  * slaskisjoined
23:29:14  <defunctzombie>isaacs: npm 1.1.69 is no longer telling me about extraneous packages
23:29:29  <defunctzombie>is that disabled under certain circumstances?
23:29:37  <isaacs>defunctzombie: well, that's odd
23:30:21  <isaacs>defunctzombie: works for me
23:30:22  <isaacs>https://gist.github.com/4393146
23:30:56  <isaacs>defunctzombie: https://gist.github.com/4393153
23:31:00  <defunctzombie>isaacs: I believe it works for you :) anything I can do to debug why it isn't displaying for me? I just did an npm install -g npm
23:31:00  <isaacs>prune works, too
23:31:03  <defunctzombie>to get the latest version
23:31:28  <isaacs>defunctzombie: npm init (enter stuff); npm install glob (this will be extraneous); npm ls
23:31:36  <isaacs>defunctzombie: then gist the output
23:33:45  <defunctzombie>works in a new dir I made, but not for this current dir I have
23:33:48  <defunctzombie>very very stange
23:34:38  <defunctzombie>so when I made a new pakcage.json file for the dir using npm init
23:34:41  <defunctzombie>then install glob
23:34:45  <defunctzombie>I see it as extraneous
23:34:57  <defunctzombie>but if I had my package.json file made manually first
23:34:59  <defunctzombie>and install stuff
23:35:03  <defunctzombie>and do npm ls
23:35:08  <defunctzombie>it does not detect extraneous
23:38:12  <defunctzombie>I did npm init, then removed items from package.json manually
23:38:20  <defunctzombie>and npm ls does not show them as extraneous
23:38:25  <defunctzombie>is it doing some sort of caching for this?
23:38:36  <defunctzombie>npm that last part
23:38:39  <defunctzombie>*nvm
23:39:48  <substack>defunctzombie: I'm not deploying them, pkrumins does that
23:40:10  <substack>we were having issues with fleet leaking memory like crazy and being unstable
23:40:13  <substack>but I'll revisit it
23:40:55  <defunctzombie>isaacs: ignore everything I said, my version was not quoted
23:41:03  <defunctzombie>I just had 0.0.0 versus "0.0.0
23:41:17  <isaacs>defunctzombie: weird... is that even valid json?
23:41:20  <defunctzombie>no
23:41:22  <defunctzombie>it isn't
23:41:24  <isaacs>i see
23:41:31  <defunctzombie>but npm wasn't saying anything
23:41:36  <isaacs>well... yeah.
23:41:48  <isaacs>so, it tries to read the json file, and if there's an error, assumes that there's no json file.
23:41:58  <defunctzombie>hm
23:42:03  <isaacs>defunctzombie: i guess it should probably crash on errors other than ENOENT from readJsone
23:42:08  <defunctzombie>that seems a bit string
23:42:10  <defunctzombie>yea
23:42:17  <defunctzombie>I mean, you can use fs.stat to see if there is a file
23:42:21  <isaacs>meh
23:42:27  <defunctzombie>so if you fail to read a file, it would be nice ot tell the user
23:42:37  <isaacs>if you're stating something, and you don't need to know its mode or owner etc, then you're probably doing it wrong.
23:42:44  <isaacs>dont' ask for permission, just do it, and handle failure.
23:42:58  <defunctzombie>sure, my point is that if there is an error
23:43:11  <defunctzombie>in reading the file and that error is json parsing then you might want to let the user know :)
23:43:25  <defunctzombie>since that is probably important to them
23:43:35  <isaacs>right
23:43:39  <isaacs>i'll do that right now'
23:43:48  <defunctzombie>and important to the package.json being correct for publishing (I think)
23:46:29  <defunctzombie>is there an opposite of prune?
23:46:36  <defunctzombie>i.e. add all extraneous?
23:46:49  <defunctzombie>I know about install --save
23:49:28  * _sorensenquit (Ping timeout: 250 seconds)
23:51:02  <isaacs>defunctzombie: there's no "backfill", no
23:51:10  <isaacs>someone wrote a patch for something like that, butit had some problems
23:52:49  <defunctzombie>gotcha
23:58:42  * slaskisquit (Quit: slaskis)