00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:38  <mbalho>its emitting strings into jsonstream
00:00:45  <mbalho>and jsonstream is saying Object #<Int32Array> has no method 'slice'
00:01:56  <substack>because it doesn't
00:02:04  <substack>test for .slice before using slice ops
00:02:12  <substack>it's in jsonparse I think
00:02:26  <substack>or else instance patch the int32array with a slice method
00:02:33  <mbalho>.subarray
00:03:22  <mikeal>the crazy thing i'm seeing is, when JSONStream stops parsing, http-response stops emitting data
00:03:31  <mikeal>which doesn't make any fucking sense
00:03:37  <mikeal>and there is no exception
00:04:41  <mikeal>i even did this little trick
00:04:41  <mikeal>https://gist.github.com/mikeal/5471250
00:04:52  <mikeal>to see if it was pausing the stream or something
00:04:56  <mikeal>but that wasn't it
00:05:39  <mbalho>heres the commit that made it break with typed arrays https://github.com/creationix/jsonparse/commit/fba4e12ddaa502abf37067e23232a6e12ac3f09b
00:06:34  <mikeal>haha, substack needs to check for .slice before doing slice ops :)
00:06:39  <mikeal>you know what tho
00:06:52  <mikeal>the browserify Buffer shim should just add slice
00:07:20  <mbalho>jsonstream has never worked (to my knowledge) with the Buffer shim
00:07:23  <mikeal>where does that shim exist? i'll just patch it
00:07:25  <mbalho>it used to work with any typed arrays
00:07:32  <mbalho>and it still just uses int32arrays
00:10:42  <mikeal>this isn't fixing my issue
00:10:50  <mikeal>i patched the local jsonparse and it's still a problem
00:13:52  <defunctzombie>isaacs: is there any way to refresh a lockfile? with your lockfile module?
00:15:18  <mbalho>mikeal: my guess is that jsonparse is fucked up
00:16:04  <mbalho>mikeal: im testing locally and seeing lots of typed arrays getting passed into it, like thousands per second, but my CPU gets pegged
00:17:37  <mbalho>mikeal: but the older versions of jsonparse worked fine with typed arrays, e.g. http://max.ic.ht/oakland_assessor/_design/streaming-xhr/_rewrite
00:17:46  <mbalho>mikeal: i think part of the problem is that there arent browser tests for jsonparse
00:20:09  <mbalho>mikeal: yea verified thats the problem, if you git checkout af8a5d49cfada1b51ec65d0be39d30d0671fd40c jsonparse it fixes things
00:20:23  <mbalho>mikeal: just gotta undo substacks changes
00:21:02  <mikeal>the whole test passes?
00:21:24  <mbalho>i dunno it started printing out shit tons of json objects
00:21:32  <mbalho>whereas before it printed out 2
00:22:07  <isaacs>defunctzombie: "refresh" a lockfile? not sure what that means..
00:22:13  <isaacs>defunctzombie: you mean, make it not-stale?
00:22:23  <defunctzombie>isaacs: yea
00:22:26  <isaacs>defunctzombie: npm install touch
00:23:05  <defunctzombie>isaacs: and lockfile checks the atime? I thought it checked the ctime
00:23:24  <isaacs>defunctzombie: any time you do anything to a file, ctime is updated.
00:23:29  <isaacs>defunctzombie: read, write, or change anything
00:23:37  <defunctzombie>isaacs: thanks
00:23:49  <isaacs>defunctzombie: so, touch(filename, cb) will update the ctime to now, no matter what times you set as atime and mtime
00:24:00  <defunctzombie>coo
00:24:30  <defunctzombie>I am trying to make an email queue thingy that works cross process
00:24:42  * jcrugzzquit (Ping timeout: 264 seconds)
00:24:47  <defunctzombie>using simple files versus a central db or some such
00:25:09  <defunctzombie>most of the time, emails go out right away, but sometimes email providers have failures
00:25:14  <mikeal>mbalho: did you send a pull request?
00:25:14  <defunctzombie>and I want to make sure those emails are sent
00:25:36  <mbalho>mikeal: send a pull request to what?
00:26:04  <mikeal>jsonparse
00:26:22  <mbalho>mikeal: nah i dont know how to fix it against master, i just pointed out that downgrading fixes jsonstream
00:27:01  <mbalho>mikeal: you should write a jsonparse browser test and fix it and i'll update the dep in jsonstream
00:27:19  <mbalho>mikeal: im not smart enough to read creationix's code
00:27:26  <mikeal>hahaha
00:28:26  <mbalho>mikeal: in jsonstream i was doing chunk.slice = chunk.subarray on master and it wasn't fixing things so i think it goes deeper than just the presence of .slice
00:28:43  <mikeal>yeah, i did something simliar
00:31:30  <mikeal>i think i'm giving up on this now
00:32:37  <mikeal>eventually we're integrating engineio and then i can write them one at a time over that
00:37:18  * jxson_quit (Remote host closed the connection)
00:39:53  * st_lukejoined
00:40:00  <st_luke>Domenic_
00:43:21  <st_luke>Domenic_: what i was gonna say is i dont think you can just basically wrap it an an ee and have it have the same safety as gracefully ending the process. i might be wrong.
00:47:03  * jibayquit (Quit: Leaving)
00:49:40  <st_luke>isaacs: fantastical is awesome but i remember why i never really liked it when i first tried it. that damn menu bar icon
00:52:08  * dguttmanquit (Quit: dguttman)
00:56:18  * defunctzombiechanged nick to defunctzombie_zz
00:57:08  <jesusabdullah>sup st_luke
00:57:15  <jesusabdullah>too bad to hear about empire :(
00:58:42  * no9quit (Ping timeout: 256 seconds)
01:08:35  <st_luke>i dont really want to talk about any of that shit anymore actually.
01:09:35  <st_luke>its stupid, i shouldnt have said anything. in fact i shouldnt even use the computer when i first wake up, i should wait a few hours before i hate the world less.
01:09:36  * st_lukequit (Remote host closed the connection)
01:12:00  * kevino80joined
01:17:09  * shamaquit (Remote host closed the connection)
01:18:02  * nicholas_joined
01:19:17  * mikealquit (Quit: Leaving.)
01:27:58  * jcrugzzjoined
01:28:25  * jxsonjoined
01:32:12  * jxsonquit (Remote host closed the connection)
01:49:42  * mikealjoined
01:50:29  * st_lukejoined
01:59:00  * mikealquit (Ping timeout: 264 seconds)
02:23:00  * crankquit (Ping timeout: 260 seconds)
02:27:16  * thl0joined
02:32:27  * st_lukequit (Read error: Connection reset by peer)
02:32:34  * st_luke_joined
02:38:28  * crankjoined
02:46:33  * shamajoined
02:56:09  * jcrugzzquit (Ping timeout: 258 seconds)
02:56:25  * st_luke_quit (Remote host closed the connection)
03:05:00  * kevino80quit (Remote host closed the connection)
03:09:39  * stlsaintjoined
03:19:39  * st_lukejoined
03:30:57  * thl0quit (Remote host closed the connection)
03:43:48  * shuaibjoined
03:43:59  * ralphtheninjaquit (Read error: Operation timed out)
03:50:07  * defunctzombie_zzchanged nick to defunctzombie
03:50:49  * fallsemojoined
03:50:59  <defunctzombie>st_luke: what happened?
04:03:08  * jcrugzzjoined
04:03:42  * dominictarrjoined
04:03:56  * dominictarrquit (Client Quit)
04:05:14  <st_luke>defunctzombie: im at ga now
04:05:21  <st_luke>its empty so i can deal with it
04:05:28  <defunctzombie>hahaha
04:07:31  * jcrugzzquit (Ping timeout: 245 seconds)
04:09:45  * fallsemoquit (Quit: Leaving.)
04:17:25  * defunctzombiechanged nick to defunctzombie_zz
04:20:31  * st_lukequit (Read error: Connection reset by peer)
04:20:56  * st_lukejoined
05:14:10  <jesusabdullah>hey st_luke
05:14:43  <jesusabdullah>ugh I hate it when I make commit mistakes it is the worst thing
05:14:49  <jesusabdullah>well maybe not the worst thing but up there
05:17:11  <st_luke>rebase?
05:17:16  <jesusabdullah>yeah exactly
05:17:36  <st_luke>--amend is nice
05:17:39  <jesusabdullah>"oh yeah this is totally cool" "oh a straightforward rebase" *forget to sanity check* *git push* *realize I accidentally the code
05:17:45  <jesusabdullah>yeah it is I use it all the time
05:17:49  <jesusabdullah>but --force is NOT so nice
05:17:58  <jesusabdullah>as marak once said, only jedis should force push
05:18:33  <jesusabdullah>maybe I should work on kyhttp tonight, get new A1 zazzle posters up
05:19:05  <st_luke>you can force push if nobody is looking
05:20:01  <jesusabdullah>yeah I tried that
05:20:04  <jesusabdullah>veeery dangerous
05:20:06  <jesusabdullah>lol
05:20:22  <jesusabdullah>github irc bots are always watching
05:20:39  <jesusabdullah>how are you?
05:23:15  <st_luke>tell that robot to go fuck itself
05:25:23  * fotoverite_joined
05:26:15  * fotoveritequit (Ping timeout: 256 seconds)
05:26:15  * fotoverite_changed nick to fotoverite
05:27:48  <jesusabdullah>st_luke: yeah basically lol
05:27:50  <jesusabdullah>fotoverite: hello!
05:27:57  <jesusabdullah>oh man today was a good day
05:28:06  <jesusabdullah>(I think)
05:28:55  <st_luke>if someone is going through your commit logs to find things to harass you about then they're not writing enough code
05:36:44  <jesusabdullah>hah
05:37:35  <jesusabdullah>I should find the time to figure out that login screen thing
05:37:40  <jesusabdullah>too bad I'm kinda tired right now
05:37:55  <jesusabdullah>oh man oh man Data Center Tycoon is gonna be awesome
05:38:51  <jesusabdullah>bahhh I should just make this run locally, screw telnet/friends
05:39:21  <jesusabdullah>I want unicode dammit
05:39:26  <jesusabdullah>and a whole mess of other things
05:57:55  * nk109joined
05:59:52  * tmcwjoined
06:01:26  <st_luke>isaacs: is there a way to have ircretary resend me something?
06:01:39  <isaacs>st_luke: nope. once it's sent, it's gone.
06:01:47  <st_luke>isaacs: never mind, i thought i wasnt logging for a sec
06:01:58  <isaacs>st_luke: i'd recommend irssi or something so you can scrollback forever.
06:02:02  <isaacs>or log everything, i guess :)
06:02:20  <st_luke>i usually just log everything but i thought it had turned it off for a sec, which have sucked
06:03:32  * stagasjoined
06:04:42  <isaacs>yes, indeed.
06:05:09  <st_luke>isaacs: anyway to follow up on url parsing, iOS does `appname://[optional path]`
06:05:21  <isaacs>st_luke: ok
06:05:32  <isaacs>st_luke: does it have hostname:relpath bits?
06:05:45  <isaacs>my_funkay_appz://blerg:blorp
06:05:52  <isaacs>or is it just completely arbitrary after the ://?
06:06:34  <st_luke>it's different, it does like
06:06:38  <st_luke>after the ://
06:06:58  <st_luke>you just specify a path/like/this
06:07:16  <st_luke>or you can do what's sorta like get values in a url
06:07:51  <st_luke>actually exactly like get values...just encoded
06:08:02  <st_luke>but it doesn't look like it does hostname:relpath stuff :(
06:09:58  * tmcwquit (Remote host closed the connection)
06:13:11  <isaacs>i see
06:26:43  * shuaibquit (Ping timeout: 252 seconds)
06:30:22  * shuaibjoined
06:37:49  * mikealjoined
06:50:15  * st_lukequit (Remote host closed the connection)
06:50:55  * crankquit (Ping timeout: 252 seconds)
07:01:58  * stagasquit (Read error: Connection reset by peer)
07:07:11  * shuaibquit (Ping timeout: 260 seconds)
07:11:41  * shuaibjoined
07:15:21  * nk109quit (Quit: laters...)
07:18:29  * AvianFluquit (Remote host closed the connection)
07:20:35  * tmcwjoined
07:21:01  * crankjoined
07:24:41  * shamaquit (Remote host closed the connection)
07:25:14  * tmcwquit (Ping timeout: 258 seconds)
07:39:28  * nicholas_quit (Ping timeout: 256 seconds)
07:54:29  * cianomaidinjoined
07:54:51  <jesusabdullah>https://gist.github.com/jesusabdullah/0557e3111bfae35a9907
07:54:53  <jesusabdullah>:3
08:18:02  * cianomaidinquit (Quit: cianomaidin)
08:34:18  * shuaibquit (Ping timeout: 252 seconds)
08:37:44  * shuaibjoined
08:58:38  * jibayjoined
08:58:46  * ralphtheninjajoined
09:02:26  * jcrugzzjoined
09:10:11  * crankquit (Ping timeout: 252 seconds)
09:11:11  * jcrugzzquit (Read error: Connection reset by peer)
09:11:21  * jcrugzzjoined
09:30:33  * shuaibquit
09:36:25  * crankjoined
10:02:36  * crankquit (Ping timeout: 276 seconds)
10:05:05  * yorickjoined
10:25:36  * crankjoined
10:50:00  * nicholasfjoined
11:18:28  * dominictarrjoined
11:53:45  * stlsaintquit (Ping timeout: 276 seconds)
12:14:29  * shuaibjoined
12:22:08  * crankquit (Ping timeout: 252 seconds)
12:24:59  * crankjoined
12:33:12  * chapelquit (Ping timeout: 264 seconds)
12:35:16  * chapeljoined
13:07:26  * shuaibquit (Ping timeout: 252 seconds)
13:25:57  * chapelquit (Ping timeout: 258 seconds)
13:26:38  * chapeljoined
13:32:53  * tmcwjoined
13:45:18  * tmcwquit (Remote host closed the connection)
13:59:06  * shuaibjoined
13:59:46  * AvianFlujoined
14:07:11  * mikolalysenkojoined
14:14:52  * mikealquit (Quit: Leaving.)
14:22:49  * defunctzombie_zzchanged nick to defunctzombie
14:32:41  * defunctzombiechanged nick to defunctzombie_zz
14:33:15  * thl0joined
14:42:28  <dominictarr>substack: you should merge this https://github.com/creationix/jsonparse/pull/12
14:43:30  <dominictarr>ralphtheninja: hey whats up?
14:49:01  * tmcwjoined
14:53:08  * no9joined
14:58:21  * mikolalysenkoquit (Ping timeout: 276 seconds)
15:10:33  * fallsemojoined
15:12:33  * mikealjoined
15:17:45  * tmcwquit (Remote host closed the connection)
15:20:08  * tmcwjoined
15:20:40  <ralphtheninja> dominictarr heya, nothing much, slacking
15:20:57  <dominictarr>thinking how I might break out npmd
15:21:03  <ralphtheninja>ok
15:21:10  <ralphtheninja>what's your thoughts?
15:21:12  <dominictarr>might make the core module really small
15:21:24  <dominictarr>and then you'd do npmd extend foo
15:22:07  <dominictarr>which would cause it to do: cd ~/.npmd/plugins; npm install npmd-foo
15:22:24  <ralphtheninja>ok so npmd would be a cli tool
15:22:43  <dominictarr>sure, that is basically how I'm using it
15:22:54  <ralphtheninja>sounds good
15:23:00  <dominictarr>also, I've been looking into ways to make replication faster
15:23:05  <ralphtheninja>intended for global usage
15:23:10  <dominictarr>replicating from couch is pretty slow
15:23:24  <ralphtheninja>perhaps, but it's a one time operation
15:23:30  <ralphtheninja>I wouldn't worry about it to start with
15:23:52  <ralphtheninja>the first complete sync I mean
15:23:54  <dominictarr>sure, but if thousands of people start doing it at once...
15:24:00  <ralphtheninja>true
15:24:14  <ralphtheninja>well in that case, nothing would be better than to make it p2p naturally
15:24:27  <dominictarr>I heard the other day that it actually costs thousands of dollars to run the npm registry
15:24:50  <ralphtheninja>could use seaport to find other peers, or whatever
15:24:57  <ralphtheninja>like each month?
15:25:03  <dominictarr>yeah!
15:25:09  <dominictarr>I'm gonna have to double check that
15:25:17  <ralphtheninja>joyent paying for it?
15:25:22  <dominictarr>iriscouch
15:25:24  <dominictarr>I think
15:25:32  <ralphtheninja>ok, that's cool
15:25:56  <dominictarr>but I wouldn't want to do something dumb/clever and make it cost 2x as much for somenoe
15:26:07  <dominictarr>I'd want to make it cost less...
15:26:35  <ralphtheninja>is there any modules for syncing different leveldbs with each other?
15:26:42  <dominictarr>yes
15:26:46  <ralphtheninja>like with multilevel or something
15:27:08  <ralphtheninja>oh cool, which ones?
15:27:11  <dominictarr>http://ghub.io/level-master
15:27:38  <dominictarr>so, when I've stripped out the data that I want in npmd, it's only 79 mb!
15:27:48  <dominictarr>and if I compress it, 15 mb!
15:28:02  <ralphtheninja>nice :)
15:28:04  <dominictarr>so, when you replicate you could start by downloading that
15:28:49  <dominictarr>which could be regenerated every few days
15:28:56  <ralphtheninja>how would you sync two different databases?
15:28:59  <dominictarr>and then you could connect to the realtime feed
15:29:13  * mikolalysenkojoined
15:29:14  <dominictarr>so, can only do one way replication at the moment.
15:29:19  <ralphtheninja>nods, easier to just download the file, that's excellent
15:29:21  <ralphtheninja>ok
15:29:40  <ralphtheninja>but just being able to sync with others than irishcouch would be a big step
15:29:43  <dominictarr>could even have like, a weekly file, a monthly file
15:29:56  <dominictarr>oh, right, like pulling data out of mongo?
15:30:17  <ralphtheninja>actually, we could have it up and running somewhere, so there always is ONE npmd node running
15:30:34  <dominictarr>yeah, am looking into that.
15:30:42  <dominictarr>also, another thing
15:30:53  <dominictarr>there are 31 gb of modules
15:31:10  <ralphtheninja>hehe holy shit
15:31:16  <ralphtheninja>that's a lot of code! :)
15:32:11  <dominictarr>but, there are a huge number of modules that are under 2k
15:32:25  <dominictarr>which is tiny!
15:32:35  <ralphtheninja>yes
15:32:44  <ralphtheninja>we like tiny modules!
15:33:31  * mikolalysenkoquit (Ping timeout: 260 seconds)
15:33:54  <dominictarr>so, I was thinking, could connect to the registry to immediately download a module you need
15:34:14  <dominictarr>but, when you are updating the cache in the background -- use bittorrent
15:34:19  <dominictarr>(or something)
15:34:32  <ralphtheninja>even better
15:34:54  <ralphtheninja>it means we could abstract away the p2p layer, just serve it with bittorrent and let it handle it
15:35:39  <ralphtheninja>know any good torrent modules?
15:35:46  <ralphtheninja>I have a feeling you do :)
15:36:53  <dominictarr>so, nearform has just built a thing like that using bittorrent!
15:37:05  * defunctzombie_zzchanged nick to defunctzombie
15:37:31  <dominictarr>but anyway
15:37:36  <dominictarr>the small modules
15:38:39  * jcrugzzquit (Ping timeout: 260 seconds)
15:40:28  <dominictarr>2k is only slightly larger than a packet, so, it's really a wast of time to bittorrent 2k
15:41:29  <no9>dominictarr sorted the constant repost in tape
15:41:48  <dominictarr>no9: ++++
15:41:51  <dominictarr>what was it?
15:42:28  <no9>rvagg lets just say this.location is not the best property name if you are thinking of using browserify :p
15:43:06  <no9>patch going into abstract level down
15:44:03  <dominictarr>was this slipping out and hitting the global?
15:44:58  <dominictarr>ralphtheninja: so, if you downloaded all the < 2k modules (14000 of them) it would only be 19mb.
15:45:16  <ralphtheninja>no9: hey anton, how's it going?
15:45:28  <dominictarr>if you downloaded all < 5k modules, 115mb
15:46:24  <dominictarr>… but that is all the snapshots, so if you just downloaded the versions that where needed it would be much smaller.
15:46:25  <ralphtheninja>dominictarr: aha ok, well I thought of zipping the complete leveldb folder and torrent that one
15:47:12  <no9>tip top ralphtheninja
15:47:20  <dominictarr>nah, because once it's into leveldb you start generating views on it, which is lots of duplicate data.
15:47:34  <dominictarr>better to download just the core and then generate the views.
15:47:47  <ralphtheninja>dominictarr: ok
15:48:15  <no9>dominictarr yes it was and the global was window :)
15:48:24  <dominictarr>ouch
15:48:46  <ralphtheninja>dominictarr: what is generating the views?
15:48:57  <dominictarr>inverted-index
15:49:01  <ralphtheninja>
15:49:09  <dominictarr>there will be other views too
15:49:16  <dominictarr>https://github.com/mcollina/node-levelgraph/issues/3
15:49:31  <ralphtheninja>hmm, but you could store the inverted-index in a separate database, no?
15:50:54  * cianomaidinjoined
15:50:59  <dominictarr>you could… but that is complexifying
15:51:23  <dominictarr>would be pretty handy to be able to do sneaker net replication
15:51:28  <dominictarr>via a file
15:51:37  <no9>dominictarr my initial patch is going to be renaming it to neckofthewoods
15:51:45  <ralphtheninja>well yes, but if you want to separate the metadata from the 'real' data that's the trade off
15:51:58  <dominictarr>no9: renaming what?
15:52:05  <no9>location
15:52:06  <ralphtheninja>dominictarr: but that's fine, just saying
15:52:11  <dominictarr>oh, right!
15:52:35  <no9>BBS Folks
15:52:46  <ralphtheninja>later!
15:52:50  <dominictarr>see ya
15:53:17  <dominictarr>there are also other advantages to using a protocol instead of just zipping up the whole database
15:53:30  <dominictarr>like, you can merge it with another db
15:53:38  <dominictarr>rather than just clobber that db.
15:53:50  <ralphtheninja>correct
15:53:58  <ralphtheninja>would be cool if you could sync sublevels
15:54:11  <dominictarr>yes. that will happen.
15:54:30  <ralphtheninja>that way you could store everything in one database, and just sync parts of it, there already is a separation, doesn't have to be on file
15:54:35  <dominictarr>I'm also dreaming up ways to decentralize all the data
15:54:37  <ralphtheninja>on the file level I mean
15:55:25  <dominictarr>well, there is a feature that can compact a range into an sst
15:55:42  <dominictarr>but that is getting too coupled to the internals
15:55:46  <ralphtheninja>yes
15:55:52  <dominictarr>it won't work with any of the polyfils
15:56:07  <dominictarr>don't break the abstractions.
15:56:33  <ralphtheninja>exactly, don't assume shit is working in a certain way
15:56:47  <dominictarr>yeah, because then you depend on that.
16:00:26  * dguttmanjoined
16:02:01  <defunctzombie>isaacs: either I am not using 'touch' properly or my options to lockfile.lock are wrong
16:02:13  <defunctzombie>isaacs: I have lockfile.lock with { wait: 5000, stale: 2000 }
16:02:24  <defunctzombie>and a setInterval for 1000 that touches the lockfile
16:02:46  <defunctzombie>however, when I run two processes, the second one seems to acquire the lockfile
16:03:15  <isaacs>defunctzombie: hold on, lemme remember how lockfile works :)
16:03:20  <defunctzombie>:)
16:04:04  <isaacs>the two processes start at the same time?
16:04:14  <defunctzombie>isaacs: "yes"
16:04:17  <defunctzombie>I am using cluster
16:04:25  <isaacs>heh
16:04:26  <isaacs>ok
16:04:27  <defunctzombie>to do some basic testing with multiprocess
16:04:40  <isaacs>so, it sounds like, there IS a race, then
16:04:52  <isaacs>"wait" = "wait this many ms after a failure before trying again"
16:05:05  <isaacs>"stale" = "if it's this many ms old, fuckit, just delete the lock and try again now"
16:05:09  <defunctzombie>right
16:05:20  <defunctzombie>that much I got
16:05:21  <isaacs>but touch will be *creating* the file if it doesn't exist.
16:05:37  <defunctzombie>so based on that I think my numbers to the options are reasonable
16:05:42  <defunctzombie>well, the file does exist
16:05:55  <defunctzombie>I do the touch inside the lockfile.lock function
16:05:57  <isaacs>right, but you want to delete it and create it anew anyway
16:06:04  <isaacs>oic.
16:06:23  <defunctzombie>so I only touch if the process is the one that got the lockfile
16:06:24  <isaacs>locfile.lock(f, function(er) { setInterval(touch.sync.bind(touch, f),1000) })
16:06:36  <isaacs>or whatever
16:06:38  <isaacs>probably not sync :)
16:06:54  <dominictarr>defunctzombie: what if you make each process wait a random amount of time?
16:07:13  <defunctzombie>isaacs: dominictarr: let me throw up a failing minimal example on the gist
16:07:15  * cianomaidinquit (Quit: cianomaidin)
16:07:17  <defunctzombie>so we have something to look at
16:10:02  * jcrugzzjoined
16:10:22  <defunctzombie>isaacs: dominictarr: https://gist.github.com/shtylman/5473617
16:10:55  <defunctzombie>npm install touch lockfile debug
16:12:20  <isaacs>defunctzombie: yeah:
16:12:21  <isaacs> local-queue got lock 53282 +0ms
16:12:22  <isaacs> local-queue refeshing lockfile +1s
16:12:22  <isaacs> local-queue refeshing lockfile +1s
16:12:22  <isaacs> local-queue refeshing lockfile +1s
16:12:24  <isaacs> local-queue refeshing lockfile +1s
16:12:26  <isaacs> local-queue refeshing lockfile +1s
16:12:29  <isaacs> local-queue got lock 53281 +0ms
16:12:31  <isaacs> local-queue refeshing lockfile +1s
16:12:34  <isaacs>so, that's odd.
16:12:36  <isaacs>why does the second one pick up the lock...
16:13:05  <defunctzombie>right
16:14:45  * cianomaidinjoined
16:15:11  <defunctzombie>it may be that wait is not checking for stale?
16:15:19  <isaacs>reading through lockfile now
16:15:35  * dguttmanquit (Quit: dguttman)
16:16:45  <defunctzombie>isaacs: https://github.com/isaacs/lockfile/blob/master/lockfile.js#L168
16:16:56  <defunctzombie>isaacs: https://github.com/isaacs/lockfile/blob/master/lockfile.js#L182
16:17:05  <defunctzombie>isaacs: I don't see that checking the stale stuff
16:17:15  <defunctzombie>oh nvm
16:17:22  <defunctzombie>that will call the lock above again
16:17:37  <isaacs>right
16:18:07  <isaacs>so, wait = "check every 10ms until N ms have passed"
16:19:08  <defunctzombie>right
16:19:37  <defunctzombie>I guess you do that to not hold up the process?
16:19:38  * cianomaidinquit (Read error: Connection reset by peer)
16:19:58  <defunctzombie>and to get the lock as soon as it becomes available
16:20:17  <isaacs>yeah
16:20:27  <isaacs>it should probably do randomized backoff
16:20:41  <isaacs>magic numbers are failsome
16:20:47  <defunctzombie>but even with the code as it is now
16:20:55  <defunctzombie>it shouldn't be re-locking
16:21:01  <defunctzombie>seems like the stale check fails
16:22:21  * isaacsstill reading..
16:23:34  <isaacs>defunctzombie: found it
16:23:46  <isaacs>multiple errors called "er" making things confusing in a closre
16:24:19  <isaacs>defunctzombie: thanks for the test, wrapping it up now, will release a new version shortly
16:25:04  <defunctzombie>isaacs: awesome! thank you :)
16:25:20  <dominictarr>isaacs: how come if I npm install X
16:25:43  <dominictarr>and then go and shasum ~/.npm/X/1.0.0/package.tgz
16:25:56  * isaacsknows where this is going...
16:25:57  <dominictarr>I get a different hash than in the repo?
16:26:02  <isaacs>dominictarr: yeah. great question!
16:26:06  <isaacs>dominictarr: legacy bug!
16:26:11  <isaacs>which requires a massive rewrite to fix.
16:26:29  <isaacs>it's a result of some giant nasty garbage code that works around differences in system tar impls
16:26:39  <isaacs>of course, now all that code is extraneous and stupid
16:26:44  <isaacs>but, ripping it out is a massive undertaking
16:26:57  <dominictarr>right because that was before zlib in core
16:27:01  <dominictarr>and node-tar
16:27:10  <isaacs>dominictarr: this is why i say, "the worst part of npm is the part where it downloads a package and then puts it in a place"
16:27:19  <isaacs>dominictarr: that's the part i'm referring to
16:27:26  <isaacs>dominictarr: lib/cache.js
16:27:31  <dominictarr>right
16:27:46  <isaacs>dominictarr: if you ever feel nostalgic for the smell of a southeast asian ghetto, read through that code ;)
16:28:16  <isaacs>dominictarr: it's not badly written, but it IS *very* badly conceived
16:28:34  <isaacs>because it's working around constraints that no longer exist, so it's just pointless stupidity all over the goddamn place.
16:28:50  <dominictarr>so, I notice that curl registry…./X-1.0.0.tgz | shasum
16:28:52  <isaacs>garbage and fish rotting in the syn
16:28:56  <dominictarr>gives the correct hash
16:28:59  <isaacs>right
16:29:06  <isaacs>the hash in the registry IS the hash of the file that was uploaded
16:29:34  <isaacs>but then i download that file, check the hash, then re-pack it into the cache which changes the hash
16:29:46  <dominictarr>oh.
16:29:47  <isaacs>really, npm should not ever need or use a temp file
16:29:53  <isaacs>but it DID when it used system tar
16:30:02  <isaacs>because i had to clean up various bullshit artifacts that would break things
16:30:23  <isaacs>since gnutar and bsdtar and posix tar have been locked in a bloody war for ages
16:30:24  * cianomaidinjoined
16:30:34  <dominictarr>right - so when installing from cache does it check that it's the right hash?
16:30:35  <isaacs>they're all super opinionated and crazy
16:30:49  <isaacs>FROM the cache? no. it checks when it goes into the cahce.
16:30:59  <isaacs>this is also why shrinkwrap can't give you byte-level consistency
16:31:01  <dominictarr>and then trusts the cache
16:31:06  <isaacs>i'd like it to, but need to fix that
16:31:08  <isaacs>yes, it trusts the cache
16:31:21  <dominictarr>right I get it
16:31:21  <isaacs>the shasums today are only really a guarantee against in-transit fuckups
16:31:34  <dominictarr>of course
16:31:47  <isaacs>i'd like them to eventually be on par wiht git sha's
16:32:04  <isaacs>like, a checksum guarantees the sameness of a thing forever.
16:32:10  <isaacs>and you can pass it around
16:32:23  <dominictarr>yes. that is a good idea.
16:32:29  <isaacs>[email protected] guarantees same-intent, but not same-bytes
16:32:38  <dominictarr>you could even have [email protected]
16:32:45  * cianomaidinquit (Client Quit)
16:32:48  <dominictarr>I know one person who would use that.
16:32:58  <isaacs>maybe...
16:33:04  <dominictarr>it would be annoying for everyone else, though
16:33:13  <isaacs>really, that's what shrinkwrap should effectively do
16:33:22  * mikealquit (Quit: Leaving.)
16:33:25  <isaacs>ie, when you install, it should stash the shasum of the thing you installed
16:33:31  <isaacs>(like it resolves git urls etc now)
16:33:40  <isaacs>then shrinkwrap should lock that in
16:34:01  * mikolalysenkojoined
16:34:44  <dominictarr>right - so the cache would look like .git/objects instead of package/version/package.tgz
16:37:08  <isaacs>well, the cache would probably still look the same
16:37:28  <isaacs>but like, when you install something in node_modules, i overwrite the package.json with my own cleaned-up and added-to data
16:37:37  <isaacs>there's stuff like _from, _resolved, etc.
16:37:43  <isaacs>could put a _checksum there, as well
16:38:13  <dominictarr>in that case, it would be good to check if someone has edited the files
16:38:26  * mikolalysenkoquit (Ping timeout: 252 seconds)
16:38:59  <dominictarr>maybe add another file that is the hash of the installed module so you can tell if it's clean.
16:42:43  <isaacs>dominictarr: sure, but that'd mean hashing every file, etc.
16:42:48  <isaacs>dominictarr: if you want that, check your modules into git
16:43:38  <dominictarr>well, yes. it could just be an external tool.
16:45:06  * AvianFluquit (Remote host closed the connection)
16:48:47  <isaacs>defunctzombie: ugh. so, turns out, we only get second precision on osx for ctime. i think subsecond precision landed in master for some operating systems recently.
16:49:00  <isaacs>defunctzombie: i fixed the bug, but making the test pass reliably is a pita :)
16:49:22  <isaacs>defunctzombie: ie, effectively "stale" MUST be a multiple of 1000 to work as intended. that sucks.
16:50:58  * mikealjoined
16:51:47  <dominictarr>could the process just write the current time into the file?
16:52:10  <dominictarr>and or pick a random number + a time?
16:52:20  * shuaibquit (Quit: Computer has gone to sleep.)
16:57:13  <juliangruber>substack: BTSync is crazy fast
16:57:28  * stagasjoined
16:57:31  <defunctzombie>btsync is awesome
16:59:58  <juliangruber>true that
17:01:26  <dominictarr>hmm, very interesting.
17:09:02  * jcrugzzquit (Ping timeout: 258 seconds)
17:10:02  * mikealquit (Quit: Leaving.)
17:15:44  <dominictarr>hey isaacs how many npm users are there? does anyone know?
17:23:20  <isaacs>dominictarr: nah, that sucks, because then i have to read the file
17:23:29  <isaacs>defunctzombie: lockfile 0.3.1 has the fix
17:23:50  <isaacs>dominictarr: define "users"
17:24:15  <dominictarr>well, there are ~8000 people who publish
17:24:30  <dominictarr>unique ip addresses that download modules?
17:25:00  <defunctzombie>isaacs: confirmed the fix works
17:25:06  <isaacs>dominictarr: almost 9000 actually
17:25:13  <isaacs>dominictarr: but i don't track unique hits.
17:25:29  <isaacs>dominictarr: we are up to well over a million downloads a day
17:25:43  <dominictarr>do you know how much GB the registry handles?
17:25:56  <isaacs>dominictarr: the total registry is around 64GB these days
17:26:14  <dominictarr>but how much is transferred
17:26:18  <isaacs>dominictarr: every month, the @iriscouch twitter says the npm stats in terms of q/s, transfer, etc.
17:26:50  <isaacs>oh, i guess, not throughput
17:26:51  <isaacs>just q/s
17:27:04  <isaacs>https://twitter.com/iriscouch/status/318720493349912578
17:27:20  <dominictarr>hmm, and a lot of those are 304s
17:34:02  * mikolalysenkojoined
17:35:48  <juliangruber>woah 40% monthly growth
17:39:33  * mikolalysenkoquit (Ping timeout: 276 seconds)
17:40:16  * mikealjoined
17:47:45  <juliangruber>hm, although I'm syncing to laptops in the same lan with BTSync, speed is only 100-200 kB/s
17:47:59  <juliangruber>and it should search the lan
17:48:27  * zero_coderjoined
17:56:04  * dguttmanjoined
17:58:42  * evboguejoined
18:04:15  * zero_coderquit (Quit: Leaving)
18:05:53  * mikealquit (Ping timeout: 252 seconds)
18:21:10  * thl0quit (Remote host closed the connection)
18:30:17  * mikealjoined
18:34:29  * mikolalysenkojoined
18:34:54  * evboguequit (Ping timeout: 258 seconds)
18:35:40  * defunctzombiechanged nick to defunctzombie_zz
18:38:46  * mikolalysenkoquit (Ping timeout: 245 seconds)
18:42:32  <jesusabdullah>ugh are people really having shit fits over callbacks again
18:42:37  <jesusabdullah>what is this I dont even
18:47:00  * ins0mniajoined
18:47:26  <ins0mnia>ralphtheninja: ping
18:57:52  * vitor-brjoined
19:00:16  <ralphtheninja>ins0mnia: pooooong
19:00:52  <ins0mnia>ralphtheninja: we're going to barbecue some meat for JSON!!!
19:01:34  <ins0mnia>ralphtheninja: humans are invited!!
19:04:02  <ralphtheninja>ins0mnia: hehehe
19:04:15  <ralphtheninja>even humans that don't eat meat? :)
19:04:47  <ins0mnia>ralphtheninja: Ofcourse! we can always barbecue vegetables and tomatos :)
19:05:01  <ins0mnia>ralphtheninja: We leave the meat for non-humans :)
19:05:08  <ralphtheninja>and halloumi! nom nom
19:05:14  <ralphtheninja>hehe
19:05:17  <ins0mnia>ralphtheninja: haha
19:05:30  <ins0mnia>ralphtheninja: will pm you :)
19:34:48  * mikolalysenkojoined
19:38:00  * stagasquit (Read error: Connection reset by peer)
19:39:48  * mikolalysenkoquit (Ping timeout: 264 seconds)
19:42:46  * thl0joined
19:43:17  <fotoverite>anyone going to be around in portland tomorrow?
19:46:47  * dguttmanquit (Quit: dguttman)
19:54:33  <Nexxy>DAMN FUCKING RIGHT
19:55:08  <Nexxy>btw I am portland
19:56:41  <substack>you ARE portland
19:56:46  <Nexxy>yes.
19:56:55  <substack>this city THIS CITY
19:56:55  <Nexxy>all of it.
19:57:01  <substack>BELONGS TO ME. IT IS ME.
19:57:09  <Nexxy>IT IS INSIDE ME
19:57:22  <substack>no LOUDBOT I am super serial
19:57:35  <substack>one thing after the next
19:57:37  <Nexxy>rofl @ dow get
19:57:46  <Nexxy>oh 4chan
19:57:54  <substack>in order, serially
19:58:41  <Nexxy>sometimes you of order just have fuck to shit up
20:00:21  <chrisdickinson>substack: question: if i wanted to see about adding a flag, similar to "browser" or "transform", to package.json and have module-deps pay attention to it, how would i go about that?
20:00:48  <chrisdickinson>(i'm trying to add a "noDependencies" or "vendor" flag so it'll skip the detective bit for large files that are known to contain no "require" statements)
20:00:57  <chrisdickinson>e.g., three.js or jquery
20:11:17  <dominictarr>what if there was another way?
20:12:04  <dominictarr>this is because parsing is slow, right - what if you hashed the file and remembered what it depended on?
20:13:21  <chrisdickinson>dominictarr: also possible, but that implies we'd have to store that info somewhere
20:13:46  <dominictarr>browserify used to have a cache...
20:18:31  <thl0>chrisdickinson: couldn't you just add the file: https://github.com/substack/node-browserify#baddfile
20:18:49  <thl0>granted you don't want to require it later (i.e. just use globals)
20:18:54  <chrisdickinson>thl0: looking for a way to do this in a sane fashion -- i.e., built in to browserify
20:19:17  <thl0>you could try browserify-shim
20:19:35  <chrisdickinson>so that people repackaging things that they know don't have deps can note that and browserify will skip parsing those files
20:19:41  <juliangruber>dominictarr: is it ok for a scuttelbutt stream to emit multiple sync events even if both models are empty?
20:20:11  <thl0>chrisdickinson: although b-shim would still cause file to be parsed
20:20:11  <dominictarr>is that happening?
20:20:37  <thl0>looks like we need the b-cache back ^^ substack
20:21:32  <juliangruber>mbalho: what about weekly hangouts about the progress and future of levelup on sunday?
20:21:58  <mbalho>juliangruber: as in google hangouts?
20:22:06  <juliangruber>mbalho: yes
20:22:10  <juliangruber>or skype or whatever
20:22:30  <mbalho>juliangruber: im busy tomorrow but thats not a bad idea in general
20:22:35  <dominictarr>chrisdickinson: actually, having a noparse option would solve https://github.com/substack/node-browserify/issues/374
20:22:50  <chrisdickinson>oo
20:23:22  <juliangruber>mbalho: cool :)
20:24:24  <juliangruber>mbalho: what timezone are you in?
20:25:40  <mbalho>juliangruber: PST (USWEST)
20:27:46  * mikolalysenkojoined
20:28:00  <juliangruber>dominictarr: those multiple syncs are happening with level-scuttlebutt
20:28:22  <chrisdickinson>dominictarr: if you get a chance, you check into what creationix is doing with moonslice
20:28:37  <chrisdickinson>seems somewhat similar to what you've been working on with streams
20:28:39  <juliangruber>dominictarr: that's what's going over the wire: https://gist.github.com/juliangruber/dff3b8906452253b9aff
20:28:56  <dominictarr>chrisdickinson: link?
20:29:08  <juliangruber>dominictarr: Document is a local crdt doc and Server is a crdt doc behin a net.server and stored in leveldb
20:29:34  <dominictarr>juliangruber: are you sure those are from the same scuttlebutt?
20:29:39  * AvianFlujoined
20:29:39  <chrisdickinson>dominictarr: think it's all in this repo; this is the example he linked to me https://github.com/creationix/moonslice-node/blob/master/lib/joy.js
20:30:22  * fallsemoquit (Quit: Leaving.)
20:30:26  <dominictarr>oh, that looks a lot like the stuff raynos and I have been playing with.
20:31:24  <chrisdickinson>i thought so
20:31:57  <chrisdickinson>anyway, you might have a chat; i think he's trying to convince me to reimplement/implement things in terms of those kinds of streams
20:32:00  <chrisdickinson>i *think*.
20:34:12  * AvianFluquit (Ping timeout: 245 seconds)
20:36:18  * AvianFlujoined
20:40:50  * kevino80joined
20:42:30  * AvianFlu_joined
20:44:26  * AvianFlu_quit (Read error: Connection reset by peer)
20:44:58  * AvianFlu_joined
20:45:28  * AvianFluquit (Ping timeout: 246 seconds)
20:46:31  <fotoverite>Nexxy: well you were in philly three days ago
20:46:55  <fotoverite>If you up for it lets get some drinks or something tomorrow.
20:46:57  <fotoverite>Damn railsconf
20:48:34  * kevino80quit (Remote host closed the connection)
20:48:48  * ins0mniaquit (Remote host closed the connection)
20:52:24  * AvianFlu_quit (Ping timeout: 268 seconds)
20:53:58  * st_lukejoined
20:55:10  <st_luke>CONTROL FLOW
20:56:25  * AvianFlujoined
21:02:36  * ins0mniajoined
21:03:08  <juliangruber>woah, I'm in the top 25 of npmtop now. Not that it would matter...:D
21:03:34  <juliangruber>dominictarr: the multiple sync thing was my fault
21:04:35  <ralphtheninja>juliangruber: I'm probably in the 25 bottom .. but I'm fine with it :D
21:08:12  <dominictarr>the tail gets really flat
21:08:20  <dominictarr>there are thousands with 1 module
21:08:37  <chrisdickinson>juliangruber: welcome :D
21:09:08  <chrisdickinson>juliangruber: mikolalysenko is going to pass me soon, but after i did all of those git projects i rose up to #8
21:11:44  <juliangruber>chrisdickinson: how far is your git project anyways?
21:11:47  <juliangruber>:)
21:11:51  <chrisdickinson>going well :)
21:11:55  <chrisdickinson>got a little winded after inflate
21:12:01  <chrisdickinson>but am getting back in the saddle
21:12:05  <chrisdickinson>creationix is starting now too
21:12:29  <chrisdickinson>am currently working on creating packfiles
21:12:32  <juliangruber>maybe there should be a npmtop that counts stars instead of module count, or a score depending on stars and dependent modules
21:12:40  <chrisdickinson>so that i can do the "push" part of things
21:12:45  <juliangruber>oh, awesome
21:12:46  <dominictarr>the key is small modules
21:12:46  * shamajoined
21:12:55  <juliangruber>yeah, I noticed :D
21:13:08  <dominictarr>should probably do an anaylsis on the the kb output
21:15:56  <dominictarr>another thing that will be interesting, is the graph of who uses who's modules?
21:16:10  <jesusabdullah>AvianFlu: I made something fun http://imgur.com/n89dnJh
21:16:23  <jesusabdullah>AvianFlu: That's everything there is right now, only 'help' works but WHATEVER
21:16:48  <AvianFlu>jesusabdullah: I'm really glad you're working on that for realz
21:16:53  <AvianFlu>cause that looks leet
21:18:28  <AvianFlu>brb poking internet with stick
21:20:21  <jesusabdullah>AvianFlu: ^__^
21:23:00  * AvianFluquit (Ping timeout: 264 seconds)
21:23:27  * shamaquit (Remote host closed the connection)
21:24:57  <Nexxy>fotoverite, possibly!
21:31:44  <jesusabdullah>hey Nexxy
21:32:56  <Nexxy>jesusabdullah, hey :D
21:33:05  <jesusabdullah>what up?
21:33:23  <Nexxy>various nefarious activities
21:33:29  <jesusabdullah>oh good
21:33:29  <Nexxy>y tu?
21:33:32  <jesusabdullah>uhhh
21:33:44  <jesusabdullah>lots of stuff, yet not very much, weird week
21:34:01  <jesusabdullah>working on this app, there are a few critical issues I have to sort out but they're hard
21:34:04  <jesusabdullah>hard for me anyway
21:34:17  <Nexxy>you can do it
21:34:19  <Nexxy>I have faith in you
21:34:22  <jesusabdullah>spent like an hour hacking up a demo ui for data center tycoon late last night, that was cool
21:34:26  <jesusabdullah>I'm glad someone has faith :)
21:34:41  <Nexxy>you do too
21:34:56  <juliangruber>dominictarr: I'll install chromeos on my old mbpro in the next days, as the main os
21:35:09  <dominictarr>cool!
21:35:18  <jesusabdullah>sometimes Nexxy, sometimes
21:35:39  <jesusabdullah>I have to admit, there are times when I don't habeeb in myself
21:35:54  <Nexxy>yeah I get that a lot too
21:36:03  <jesusabdullah>also going on a CSI Miami binge
21:36:09  <jesusabdullah>Horatio Caine is inherently funny
21:36:18  <jesusabdullah>always makes me think of Dangeresque from Homestar Runner
21:36:29  <jesusabdullah>"I'm in a CAR right now but I can DRIVE it to the OFFICE"
21:37:08  <jesusabdullah>especially the CSI:LV cross-over
21:37:16  <jesusabdullah>"Yo. The name's Dangeresque." "WHAAAA"
21:38:03  <jesusabdullah>Oh, Nexxy, there's a movement to start a makerspace out here, that's pretty cool
21:38:08  <jesusabdullah>I've been hanging out with those guys
21:43:20  <Nexxy>out where? :o
21:43:43  <Nexxy>there is one here but it's horrible
21:44:32  * AvianFlujoined
21:45:11  <Nexxy>see that's what I'm saying, but AvianFlu just won't listen to me
21:45:14  <jesusabdullah>Nexxy: Anchorage, AK
21:45:16  <Nexxy>woops
21:45:21  <jesusabdullah>Yeah man, fuckin----
21:45:46  <Nexxy>sweet!
21:45:55  <Nexxy>you should do it
21:46:08  <jesusabdullah>They're down to help me rebuild my reprap
21:46:15  <Nexxy>that's awesome
21:46:17  <jesusabdullah>but of course I'm really slow to do anything
21:46:19  <jesusabdullah>>_<
21:46:22  <Nexxy>well stop it
21:46:45  <Nexxy>AIN'T NOTHIN' TO IT... BUT TO DO IT
21:47:01  <Nexxy>http://www.youtube.com/watch?v=7_l-6KsxVjc
21:47:36  <jesusabdullah>yeah well I'm a lazy person and I get caught up in bullshit
21:47:39  <jesusabdullah>that's how I roll
21:47:47  <Nexxy>untrue!
21:47:57  <AvianFlu>OH GOD WHAT DID I DO NOW
21:48:07  <Nexxy>WHAT IS THIS QUAKE
21:48:23  <jesusabdullah>well thanks for saying so Nexxy
21:48:39  <jesusabdullah>"well that somebody....just got our attention." YEEEAAAAAAHHHHHHHHHHHHH
21:48:55  <jesusabdullah>best character on this show hands down is Speed
21:48:56  <Nexxy>IMO lazy is a manifestation of depression (most of the time)
21:48:57  <jesusabdullah>obviously
21:49:08  <jesusabdullah>you see right through me nexxy :S
21:49:12  <Nexxy><3
21:49:23  <Nexxy>or maybe I just see a bit of myself in you
21:49:44  <jesusabdullah>That reminds me
21:49:45  <jesusabdullah>http://www.quickmeme.com/meme/3tsy6m/
21:49:57  <Nexxy>haha
21:50:00  <jesusabdullah>inorite
21:50:01  <Nexxy>... yeah
21:50:05  <jesusabdullah>it's the small things
21:50:17  <Nexxy>that was a constant struggle for me hwen I lived on the 13th floor
21:50:22  <jesusabdullah>ouch
21:50:43  <Nexxy>you saw how nice and blank and white the walls were!
21:50:53  <jesusabdullah>very nice :)
21:50:58  <jesusabdullah>My place is a total dump right now
21:51:35  <jesusabdullah>how's the kiddo Nexxy ?
21:51:43  <Nexxy>he's pretty awesome
21:51:49  <jesusabdullah>haha I bet
21:51:51  <Nexxy>right now he's singing in his crib
21:52:00  <Nexxy>waiting for his naptime to be over
21:52:23  <jesusabdullah>I see
21:52:32  <Nexxy>he's also getting really good @ piano!
21:52:37  <Nexxy>he has his own with 4 whole keys
21:52:56  <jesusabdullah>aww :3
21:53:00  <Nexxy>and he can play them individually now
21:53:05  <Nexxy>with his finger instead of his fist
21:53:27  <jesusabdullah>has he graduated to a toddler?
21:53:34  <Nexxy>yeah technically I guess so
21:53:40  <Nexxy>he's 9 months
21:53:44  <jesusabdullah>ahh
21:53:47  <jesusabdullah>so not quite yet, getting there
21:54:25  <Nexxy>http://instagram.com/p/XtOzDwk7nx/
21:54:26  <jesusabdullah>A-Rod just found a hair! >:o
21:54:41  <jesusabdullah>leet baby haxxor
21:54:48  <Nexxy>mhmm
21:54:53  <Nexxy>he's mastered the power button
21:55:05  <jesusabdullah>excellent
21:55:31  <Nexxy>and we figured out how to make it say the letters on the keys
21:55:33  <Nexxy>outloud
21:55:38  <Nexxy>so I type things for him like
21:55:41  <Nexxy>OMGWTFLOL
21:55:44  <jesusabdullah>ahahaha
21:56:11  * evboguejoined
21:56:37  <Nexxy>we should sample it
21:58:25  * AvianFluquit (Remote host closed the connection)
21:59:19  <jesusabdullah>yeah probably
22:11:28  <juliangruber>look ma, modules all over the place: http://cl.ly/image/082f0r1X3h2a
22:11:40  <juliangruber>that's for a page for a bank I'm writing
22:13:14  <juliangruber>with modules from substack defunctzombie_zz dominictarr mbalho me Raynos isaacs :)
22:13:17  <juliangruber>thanks guys
22:15:14  <dominictarr>heh! a bank!
22:16:09  <juliangruber>dominictarr: I'll anounce which one it is when it's released...but it's a big one :)
22:18:28  * fotoveritequit (Quit: fotoverite)
22:37:14  * no9quit (Ping timeout: 268 seconds)
22:48:47  * no9joined
22:49:32  * nicholasfquit (Read error: Connection reset by peer)
22:49:38  * AvianFlujoined
22:50:03  * nicholasfjoined
22:50:04  <substack>juliangruber: awesome!
22:51:37  * AvianFluquit (Read error: Connection reset by peer)
22:52:08  * AvianFlujoined
22:53:41  * AvianFlu_joined
22:56:36  * AvianFluquit (Ping timeout: 264 seconds)
22:56:53  * AvianFlujoined
22:58:19  * AvianFlu_quit (Ping timeout: 256 seconds)
23:01:38  * AvianFluquit (Read error: Connection reset by peer)
23:02:22  * AvianFlujoined
23:04:08  * AvianFlu_joined
23:06:52  * AvianFluquit (Ping timeout: 246 seconds)
23:07:02  * timoxleyjoined
23:07:40  * vitor-brquit (Ping timeout: 256 seconds)
23:11:31  * AvianFlu_changed nick to AvianFlu
23:11:58  <dominictarr>we have a lot of modules to write
23:12:07  <dominictarr>need to catch up with these numbers http://www.pureoxygenmobile.com/how-many-apps-in-each-app-store/
23:14:09  * ins0mniaquit (Remote host closed the connection)
23:21:00  * AvianFluquit (Remote host closed the connection)
23:24:04  * fallsemojoined
23:26:45  * fotoveritejoined
23:28:56  * vitor-brjoined
23:43:44  * tmcwquit (Remote host closed the connection)
23:43:55  <juliangruber>you mean modules==applications?
23:46:30  * yorickquit (Read error: Connection reset by peer)
23:51:46  * kevino80joined
23:54:23  * thl0quit (Remote host closed the connection)
23:55:24  * vitor-brquit (Ping timeout: 272 seconds)
23:58:50  * kevino80quit (Remote host closed the connection)
23:59:32  * vitor-brjoined