00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:01:51  * slaskisquit (Quit: slaskis)
00:07:19  * slaskisjoined
00:23:36  * jez0990_quit (Ping timeout: 264 seconds)
00:56:31  * dguttmanjoined
00:58:34  * defunctzombie_zzchanged nick to defunctzombie
01:00:34  * ralphtheninjajoined
01:04:37  * dominictarrjoined
01:16:16  <jjjjohnnny>i was stuck I odn't know how long in a proprietary feedback loop and when I finally broke out I owed $24,733
01:19:20  <jjjjohnnny>how did i get in this attic?
01:27:52  * dguttmanquit (Quit: dguttman)
01:33:29  * slaskisquit (Quit: slaskis)
01:47:30  * ralphtheninjaquit (Ping timeout: 264 seconds)
01:59:02  <substack>jjjjohnnny: media processing?
02:18:27  <dominictarr>substack, defunctzombie so, I think loading multiple js things is gonna be useful for webworkers as well as just lazily loading js
02:18:41  <defunctzombie>dominictarr: context?
02:18:55  <substack>browserify multi-loaders?
02:19:16  <dominictarr>I'm looking into messaging between browser tabs
02:19:24  <substack>oh neat
02:19:31  <substack>I was just thinking about that
02:19:41  <dominictarr>github.com/dominictarr/count-tabs
02:19:47  <substack>reading some article about some mvc thing
02:19:49  <dominictarr>that is the most basic thing
02:19:53  <substack>so one thing that would be really sweet
02:20:04  <substack>is for a single-page app to support cooperative multi-tabbing
02:20:10  <dominictarr>yeah
02:20:17  <dominictarr>this is a problem actually
02:20:18  <substack>so you can ctrl+click a link to open it in a new tab
02:20:35  <substack>but the data synchronization just gets fanned out and shared among the tabs
02:20:40  <substack>to prevent re-sending
02:20:47  <defunctzombie>can you not post messages to windows you open?
02:20:56  <substack>that would make a *really* compelling demo if it were easy to write pages that acted that way
02:20:59  <dominictarr>because you have shared access to resources like indexeddb and to localStorage
02:21:07  <substack>you can absolutely use post messages
02:21:13  <dominictarr>defunctzombie, you can to messages you open
02:21:22  <substack>you can send post messages to whichever other windows you want
02:21:27  <dominictarr>but not tabs that the user opens
02:21:31  <substack>it's just up to the other windows to respond or ignore them
02:21:37  <defunctzombie>I see
02:21:38  <substack>oh that
02:21:46  <dominictarr>so, if you send a link to my app in an email
02:21:50  <substack>yeah I'm not quite sure how post messages work among tabs
02:21:58  <dominictarr>that has to communicate with the server separately
02:22:26  <dominictarr>which will break some stuff I'm working with regards to leveldb
02:22:40  <dominictarr>because it assumes an embedded db.
02:23:01  <dominictarr>but having multiple tabs open is the same as multiple VMs
02:23:53  <defunctzombie>are the multiple tabs on your site?
02:23:59  <defunctzombie>if they are, can you not give them names
02:24:12  <defunctzombie>and thane have the user just ask the server for other named tabs they may have open
02:24:17  <defunctzombie>then let postmessage take over from there?
02:24:19  <substack>var id = Math.random()
02:24:41  <defunctzombie>drop a cookie or something with tab names?
02:24:44  <substack>or store the active tabs in local storage?
02:24:48  <substack>yes or a cookie
02:24:50  <defunctzombie>and check that periodically
02:26:22  <dominictarr>defunctzombie, simpler: each tab could put it's name in localStorage
02:26:42  <defunctzombie>or that
02:27:00  <dominictarr>you can actually send messages via localStorage too
02:27:11  <dominictarr>it emits a storage event on window
02:32:00  <dominictarr>defunctzombie, is there a way to access other tabs of your application that are open?
02:32:26  <defunctzombie>I was under the impression that if you had their name you could postmessage (or something along those lines)
02:34:36  <defunctzombie>dominictarr: http://theprivateland.com/bncconnector/index.htm
02:34:42  <defunctzombie>some googling turned this up
02:34:58  <defunctzombie>no idea how well it works
02:35:01  <defunctzombie>but may be of interest
02:35:49  <dominictarr>oh right
02:35:58  <dominictarr>so you call window.open(NAME)
02:36:10  <dominictarr>with a known name and it gives you the reference
02:40:19  * yorickquit (Remote host closed the connection)
02:43:22  <defunctzombie>substack: I am seeing a case where the web browser sends a favicon request and then a real request back to back
02:43:31  <defunctzombie>on the single connection
02:44:12  <defunctzombie>looking into the details a bit more actually
02:44:42  <substack>with a keep-alive?
02:45:41  <defunctzombie>it appears so
02:46:00  <defunctzombie>it is really weird tho
02:46:06  <defunctzombie>cause the req.url is correct
02:46:06  <fotoverite>yup
02:46:29  <substack>I'm running into an odd issue where packets sent on the same buffer as the header are getting dropped
02:46:32  <substack>fixing this
02:47:06  <defunctzombie>but the data received from the req stream is first the favicon request
02:47:07  <defunctzombie>then the real request
02:47:18  <substack>also in my queue: how to write testable modules for node and the browser
02:48:22  <substack>a blog post I need to write that I'll cross-post to the ci.testling.com site
02:49:08  <defunctzombie>substack: that buffer issue maybe the thing I was telling you about with having to make a copy
02:49:08  <defunctzombie>I did that in my version that I am playing with
02:49:19  <substack>oh neat
02:49:29  <defunctzombie>since you can't rely on the buffer maintaining the object during a long pause (at least that is my understanding)
02:49:40  <defunctzombie>this favicon thing is driving me crazy tho.. super weird
02:53:09  <defunctzombie>substack: yea.. ok.. getting closure to figuring out the clusterfuck
02:53:51  <substack>OH fuck
02:54:01  <substack>this could be related to the pipe() 'close' bug
02:55:30  <substack>hmm nope
02:55:32  <substack>ok good
02:56:28  <substack>now turning this failing example into a failing test
02:57:26  <defunctzombie>ok... I think this is related to the buffering stuff (maybe only to the changes I have been making actually)
02:57:41  <defunctzombie>but basically, the cached buffers need to be on a per request (incoming)
02:57:45  <defunctzombie>and not on a per connection
02:58:20  <defunctzombie>I think this is just exposed by the fact that I needed pause
03:01:17  <defunctzombie>substack: yep, that was it \o/
03:01:17  <defunctzombie>the change should actually cleanup some of the code a bit as well
03:01:52  <substack>ok cool
03:02:02  <substack>I have a failing test now, I'll see if your patches fix it
03:04:38  <defunctzombie>k
03:04:44  <defunctzombie>did you push the failing test?
03:07:06  <defunctzombie>substack: also, I was running into an issue where req.upgrade value was changing after calling createRawStream()
03:07:44  <substack>it sets upgrade to trick the http parser
03:08:01  <defunctzombie>ah ok
03:08:07  <defunctzombie>I got around it by storing the value
03:08:08  <substack>just check req.headers.upgrade instead
03:08:11  <defunctzombie>but it tool me some time
03:08:13  <defunctzombie>ah ok
03:08:21  <defunctzombie>might want to make a note of that maybe
03:08:38  <defunctzombie>or that req.headers.upgrade is the right way to check or something
03:08:43  <defunctzombie>I thought req.upgrade was the check
03:08:44  <defunctzombie>guess not
03:09:05  <substack>ok failing test pushed
03:12:54  <hij1nx>rvagg: ping
03:15:24  <hij1nx>levelup npm install fail
03:15:41  <rvagg>hij1nx: eeek, what OS?
03:16:08  <rvagg>can you gist me the error?
03:16:42  <hij1nx>Darwin
03:16:45  <hij1nx>yep
03:16:47  <hij1nx>1sec
03:22:11  <hij1nx>https://gist.github.com/4302927
03:22:46  <hij1nx>rvagg: ^
03:22:57  <rvagg>k, researching
03:23:58  <rvagg>hij1nx: `which libtool`, what do you get?
03:24:13  <rvagg>sounds like you have a libtool that node-gyp isn't expecting
03:25:50  <rvagg>hij1nx: check out this discussion, likely the same issue: https://github.com/developmentseed/node-sqlite3/issues/68
03:25:57  <rvagg>"
03:25:57  <rvagg>This is likely caused by a faulty libtool residing in your $PATH, probably inserted by MAMP. Make sure that which libtool returns /usr/bin/libtool and not some other copy installed by a third party.
03:25:57  <rvagg>"
03:27:21  <defunctzombie>substack: that failing test is the bouncy test?
03:29:30  <hij1nx>/usr/bin/libtool
03:30:07  <hij1nx>rvagg: seems to be the correct libtool'
03:31:06  <rvagg>hij1nx: are you able to compile any other native Node extensions on that machine? cause that looks more like a problem up at the node-gyp level
03:31:15  * stlsaintquit (Ping timeout: 244 seconds)
03:31:29  <hij1nx>rvagg: yes i am
03:31:49  <hij1nx>:(
03:32:40  <rvagg>hij1nx: arrrrr... you're installing `leveldb` not `levelup`
03:32:57  <rvagg>`npm install levelup` and experience the WIN
03:33:33  <Raynos>https://gist.github.com/4303009
03:33:41  <Raynos>quick and dirty REST interface to leveldb
03:33:56  <substack>defunctzombie: yes
03:34:09  <substack>test/bounce.js
03:35:17  <hij1nx>rvagg: heh; streamline-leveldb installs, but none of its tests pass.
03:35:37  <dominictarr>defunctzombie, doesn't look like you can window.open(name) and get another tab that has been opened by the user
03:35:54  <rvagg>hij1nx: you'll have to bug juliangruber about that one
03:36:09  <dominictarr>what I'll do is write a stream over localStorage / storage events
03:36:27  <hij1nx>rvagg: yeah, was just seeing if his worked/installed, it installs, but not sure if it want to use it if none of the tests pass.
03:36:38  <rvagg>hij1nx: streamline-leveldb isn't really required with levelup since we have streams working nicely there as is
03:36:58  <defunctzombie>dominictarr: huh, so only if the user opened the window from your site?
03:37:25  <rvagg>hij1nx: I'm having some issues with Leveled at the moment as I'm building some benchmarks for LevelUP & Leveled -- Leveled is very quick cause it's so minimal but it has process-death issues, possibly because it doesn't do a lot of the safety checks LevelUP does
03:37:31  <rvagg>hopefully juliangruber can get some of that sorted out
03:37:34  <dominictarr>I think only if you have to intercept the click on a link and window.open
03:37:49  <dominictarr>typing your domain into another window won't work
03:38:33  <dominictarr>but, localStorage is a simple way
03:39:26  <hij1nx>rvagg: what version of node are you successfully running levelup with?
03:39:33  <dominictarr>and it's not gonna be a performance problem, mostly you are not gonna need to share much data between tabs.
03:39:42  <rvagg>hij1nx: 0.8.x
03:40:03  <rvagg>0.9.x is *sort of ok*, but I think the more agressive V8 GC might be causing some problems that need addressing
03:40:36  <rvagg>hij1nx: tested on Linux, SmartOS, and OS X when I can get people to test it for me or I can get my Mac VM to run properly
03:42:07  <dominictarr>Raynos, the if-else thing is really verbose
03:42:16  <dominictarr>instead you could use:
03:42:31  <Raynos>dominictarr: I know its verbose as shit
03:42:53  <dominictarr>action = ({get: 'put', post: 'put})[method || req.method]
03:42:58  <dominictarr>etc
03:43:21  <Raynos>probably better
03:44:19  <rvagg>dominictarr, Raynos, juliangruber: https://github.com/rvagg/node-levelup/pull/41 0.4.0-wip, lots of speed win in there
03:44:28  <dominictarr>sweet!
03:46:26  <dominictarr>rvagg, wow, this looks really good!
03:47:09  <hij1nx>rvagg: im going to try on 9.x to see if it makes a difference
03:48:17  <rvagg>hij1nx: I had a fix in there for 0.9, in the current release, but I've removed it for now in my 0.4.0-wip work because it's slowing down get()s, I have to look again at 0.9 compatibility very soon
03:48:57  <hij1nx>rvagg: yeah, i just tried 0.9.3-release; fails the same
03:49:01  <rvagg>libuv in 0.9 has an added feature that we should be able to use to give us Windows support too, so after [email protected] I want to get on to Windows support, that should be interesting
03:49:29  <rvagg>hij1nx: what's failing? and are we talking `leveldb` here or `levelup`?
03:50:39  <Raynos>someone should write an ACL for leveldb
03:52:17  <hij1nx>rvagg: it seems like the make file is having a problem running clang?
03:52:31  <rvagg>hij1nx: leveldb or levelup?
03:52:38  <hij1nx>`clang: error: no such file or directory: 'Release/leveldb.a'
03:52:40  <hij1nx>clang: error: no such file or directory: 'Release/snappy.a'
03:53:14  <rvagg>hij1nx: I think you're installing leveldb, it's not very actively maintained, https://github.com/my8bird/node-leveldb
03:53:22  <rvagg>hij1nx: you need levelup https://github.com/rvagg/node-levelup
03:53:55  <hij1nx>rvagg: im doing this: `npm install levelup`
03:54:07  <rvagg>ah, ok
03:54:39  <hij1nx>rvagg: have you published recently? :)
03:54:49  <rvagg>yes, you could try [email protected]
03:56:08  <hij1nx>i get lot of CXX warnings, do you?
03:56:24  <hij1nx>0.3.2 fails the same way.
03:56:27  <defunctzombie>substack: so the problem with the bouncy test is a bit different, I think the issue is that net.connect is not instant
03:56:35  <defunctzombie>therefore it either needs to buffer itself
03:56:43  <defunctzombie>or you have to call bs.pause()
03:56:48  <defunctzombie>until you are connected
03:58:07  <rvagg>hij1nx: leveldb & snappy distributions cause a few warnings, I've been squashing them in my 0.4.0-wip version, I'll try and publish a @dev release for you to try
03:58:13  <defunctzombie>I am still looking into it tho
03:58:46  <rvagg>hij1nx: and btw, I haven't had other bug reports like this for macs, so I'm still suspecting something about your particular environment
03:59:02  <hij1nx>rvagg: awesome, i will try to help sort out issues
03:59:12  <hij1nx>rvagg: could be
04:00:24  <defunctzombie>substack: actually, it is related to my pause and resume work
04:00:32  <defunctzombie>the issue is that pause is being called too late
04:00:35  <defunctzombie>for some reason
04:00:48  <defunctzombie>nextTick has already fired off
04:00:54  <defunctzombie>before whatever it was got the chance to pause
04:01:39  <rvagg>hij1nx: try `npm install [email protected]` and see how that goes, it's a 0.4.0-wip release
04:01:54  <rvagg>dominictarr: if you're interested too, `npm install [email protected]` to try that 0.4.0-wip code
04:02:06  <rvagg>it's solid, I just want to try and do a few more things before a formal release
04:02:33  <dominictarr>ah cool
04:02:43  <rvagg>hij1nx: there's no compile warnings from that 0.4.0-wip version on Linux or SmartOS/Solaris, I believe there's still Mac warnings I need to work out
04:02:46  <Raynos>0.3.3 installs fine here
04:02:46  <dominictarr>oh, the wikipedia page http://en.wikipedia.org/wiki/Snappy_(software)
04:03:08  <dominictarr>explains well why Snappy isn't so powerful at compression
04:03:56  <rvagg>dominictarr: there's a TODO in the LevelDB notes to consider other compression algorithms, it certainly wouldn't be hard the way they've constructed it
04:04:02  <rvagg>would be neat, depending on your use-case of course
04:04:28  <dominictarr>that is feature creep
04:04:44  <dominictarr>the user should compress, if they want to
04:05:17  <rvagg>there's also notes to consider multi-get because it's apparently a common request, we should probably do something in LevelUP anyway cause it'd be a lot quicker than separate gets if you know ahead of time what keys you want in a batch
04:08:24  <dominictarr>yeah. I pretty much feel that the current API is perfect.
04:08:34  <dominictarr>it doesn't need anything more
04:08:53  <hij1nx>Raynos: gcc/g++ versions?
04:09:08  <dominictarr>but users outside node.js may be suffering from a module system that is not as good as node's
04:09:22  <dominictarr>(the saddest reason for adding features)
04:10:01  <Raynos>hij1nx: gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
04:12:59  <rvagg>hij1nx: have you installed xcode?
04:13:04  <dominictarr>man, need a reliable way to make pages reload if they have old code.
04:14:01  <dominictarr>I can make them reload with client reloader, but if you open a new page, it will load from the cache
04:14:18  <hij1nx>rvagg: instals fine on smartos after `pkgin install gmake`
04:14:26  <hij1nx>s/instals/installs/
04:14:47  <hij1nx>still cant get it to run on my mac though
04:15:11  <Raynos>dominictarr: why doesnt client reloader work?
04:16:16  <dominictarr>it would if it saved the last code version in localStorage
04:18:02  <rvagg>hij1nx: I'm about to go and fiddle with my Mac VM, will let you know how it goes and what versions of stuff I have.. tho I was getting someone to test my 0.4.0-wip changes on their mac yesterday and they reported no problems
04:21:23  <hij1nx>rvagg: if 0.4.0-wip latest is checked in i'll try that
04:29:41  <hij1nx>rvagg: tried installing levelup by cloning your 0.4.0-wip branch; but it fails for me :( https://gist.github.com/4303322
04:29:51  <defunctzombie>substack: I have located the evil
04:34:21  <substack>I found a way to fix the bounce test with a setTimeout of >=5 emitting the 'end' and close
04:34:33  <substack>so it seems like an issue with half-openness
04:38:07  <defunctzombie>substack: the issue is the incoming.destroy
04:38:32  <defunctzombie>when the response data goes to be written, the 'c' (incoming.connection) says it has been destroyed already
04:39:10  <defunctzombie>however, just commenting out incoming.destroy never allows hte test to finish
04:39:19  <defunctzombie>there has to be a cleaner way to end the connection
04:44:27  <dominictarr>rvagg, do you know much about the binary format for leveldb on disk?
04:44:34  <dominictarr>like the 0000N.log files?
04:45:17  <defunctzombie>substack: I think the test is bad actually
04:45:28  <defunctzombie>you are calling c.end with the get request
04:45:33  <defunctzombie>so the response has nowhere to go
04:53:34  <defunctzombie>substack: yea, that is the issue, bad test
05:00:54  <ik>DAYCHANGE!
05:09:24  <rvagg>dominictarr: nope, can't help you there
05:09:39  <rvagg>hij1nx: I just finished messing around in os x and it compiles just fine for me
05:09:49  <rvagg>and I even managed to get rid of the compile warnings!
05:09:51  <dominictarr>am tempted to make js implementation
05:10:40  <rvagg>dominictarr: talk to @janl, there was talk that he was working on one
05:10:48  <rvagg>I wouldn't mind being involved in that
05:11:03  <dominictarr>yeah I he said he wanted to write one
05:13:14  * AvianFluquit (Read error: Connection reset by peer)
05:13:17  <rvagg>dominictarr: I saw that on the pouchdb repo actually
05:13:40  * AvianFlujoined
05:13:47  <rvagg>https://github.com/daleharvey/pouchdb/issues/174
05:13:57  <rvagg>but.... perhaps it's just a pipe dream?
05:13:58  <defunctzombie>substack: how do I run these benchmarks?
05:14:02  <dominictarr>I think I understand it well enough to write a non-binary compatible version
05:14:15  <dominictarr>that uses a log-structured merge tree
05:16:01  <dominictarr>the impression I got from janl is that he _wants_ to write do a pure js impl
05:19:07  <rvagg>hij1nx: this is my gcc on OSX: gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
05:19:15  <rvagg>hij1nx: current xcode command line tools I think
05:19:42  <rvagg>hij1nx: just publishing a @dev version that shouldn't give out compile warnings too
05:21:34  <dominictarr>rvagg, hij1nx has gone to bed (I know because I'm staying on his couch ;)
05:21:49  <rvagg>dominictarr: heh, ok, you can tell him later then
05:21:57  * rvaggmarks the bug "works for me"
05:21:57  <dominictarr>will do
05:22:30  <rvagg>dominictarr: let me guess, he's trying to talk you in to joining his new startup thingo
05:23:37  <dominictarr>haha.
05:23:52  <dominictarr>nah, my current project is too good to abandon.
05:31:38  * devaholicquit (Ping timeout: 244 seconds)
05:47:54  * ryan_stevensjoined
05:48:55  <defunctzombie>substack: I did not fix the test since I wasn't really sure how you wanted to fix it
05:49:05  <defunctzombie>the issue is that you can't just end the tcp connection
06:00:52  * AvianFluquit (Ping timeout: 248 seconds)
06:13:48  * blakmatrixpart
06:18:29  * defunctzombiechanged nick to defunctzombie_zz
06:31:15  <substack>defunctzombie_zz: the problem is that if I do `echo -ne 'GET / HTTP/1.1\r\nHost: blah\r\n\r\n' | nc localhost 5000` it does the same thing as the test and bails early
06:31:19  <substack>so I think the test is valid
06:31:35  <substack>the request should be kept half-open waiting for the response
06:39:54  <rvagg>dominictarr: still awake?
06:40:10  <dominictarr>rvagg, yup
06:40:26  <rvagg>just putting in some SQLite3 benchmarks... man it's SSLLOOWW!
06:40:44  <rvagg>for the basic 1000 k/v put, LevelUP runs 250 times faster
06:40:52  <dominictarr>haha. I was reading the paper on log structure merge tree
06:41:26  <dominictarr>it's not the most well written paper ever
06:41:38  <dominictarr>but from what I was able to understand
06:42:06  <dominictarr>leveldb is quite cleverly optimized for doing mostly appends
06:42:14  <dominictarr>(writing higher keys)
06:43:36  <rvagg>I guess being ordered that makes sense
06:45:55  <dominictarr>yeah, because it ends up packed together on disk, so that the disk arm can read it in a single movement
06:53:09  * devaholicjoined
06:59:41  * ryan_stevensquit (Quit: Leaving.)
07:05:25  * AvianFlujoined
08:00:06  * ryan_stevensjoined
08:02:11  * ryan_stevensquit (Read error: Connection reset by peer)
08:34:51  * ryan_stevensjoined
08:40:34  * AvianFluquit (Remote host closed the connection)
08:44:30  * ryan_stevensquit (Ping timeout: 264 seconds)
09:10:32  * ryan_stevensjoined
09:19:16  * ryan_stevensquit (Ping timeout: 248 seconds)
09:46:13  * ryan_stevensjoined
09:54:43  * ryan_stevensquit (Ping timeout: 245 seconds)
10:22:45  * ralphtheninjajoined
10:22:55  * ryan_stevensjoined
10:32:00  * ryan_stevensquit (Ping timeout: 264 seconds)
10:38:42  * b___joined
10:59:05  * ryan_stevensjoined
11:08:55  * ryan_stevensquit (Ping timeout: 246 seconds)
11:26:14  * yorickjoined
11:26:15  * yorickquit (Changing host)
11:26:15  * yorickjoined
11:34:43  * devaholicquit (Ping timeout: 260 seconds)
11:38:05  * ryan_stevensjoined
11:41:23  * b___quit (Ping timeout: 245 seconds)
11:44:59  * ryan_stevensquit (Ping timeout: 260 seconds)
12:11:49  * ryan_stevensjoined
12:21:22  * ryan_stevensquit (Ping timeout: 246 seconds)
12:41:54  * b__joined
12:50:23  * ryan_stevensjoined
12:58:28  * ryan_stevensquit (Ping timeout: 248 seconds)
13:25:05  * ryan_stevensjoined
13:27:09  * b__quit (Quit: Computer has gone to sleep.)
13:34:10  * ryan_stevensquit (Ping timeout: 256 seconds)
13:35:38  <jesusabdullah>bros
13:38:27  <ik>brah
13:38:30  <ik>brocomotive
13:53:38  <jesusabdullah>indeed good sir!
13:55:05  * ehd_changed nick to ehd
14:01:17  * ryan_stevensjoined
14:10:22  * ryan_stevensquit (Ping timeout: 244 seconds)
14:30:24  * ITproquit (Read error: Connection reset by peer)
14:31:10  * ITprojoined
14:37:27  * ryan_stevensjoined
14:47:13  * ryan_stevensquit (Ping timeout: 245 seconds)
15:01:31  * jez0990_joined
15:14:04  * ryan_stevensjoined
15:20:02  * jez0990_quit (Read error: Connection reset by peer)
15:24:41  * ryan_stevensquit (Ping timeout: 256 seconds)
15:50:42  * ryan_stevensjoined
15:51:03  * defunctzombie_zzchanged nick to defunctzombie
15:54:48  <defunctzombie>substack: for the request to remain half open, the requesting side needs to want to do that. In the case of the test (and the netcat example) the sender is specifically ending the connection. This gives the server no time to respond.
15:55:16  <defunctzombie>if you change the test to use '.write' vs '.end' and then put an end after some timeout it works
15:57:42  * dominictarrquit (Ping timeout: 264 seconds)
15:58:33  * jez0990_joined
16:00:12  * ryan_stevensquit (Ping timeout: 264 seconds)
16:02:36  * dguttmanjoined
16:07:15  * defunctzombiechanged nick to defunctzombie_zz
16:07:57  * dguttmanquit (Quit: dguttman)
16:14:10  * defunctzombie_zzchanged nick to defunctzombie
16:18:13  * dguttmanjoined
16:20:10  * defunctzombiechanged nick to defunctzombie_zz
16:26:53  * ryan_stevensjoined
16:36:48  * ryan_stevensquit (Ping timeout: 245 seconds)
16:40:41  * defunctzombie_zzchanged nick to defunctzombie
16:45:37  * defunctzombiechanged nick to defunctzombie_zz
16:46:15  * dguttmanquit (Quit: dguttman)
17:03:30  * ryan_stevensjoined
17:14:20  * ryan_stevensquit (Ping timeout: 255 seconds)
17:17:24  * dguttmanjoined
17:23:38  * dguttmanquit (Quit: dguttman)
17:25:43  * dguttmanjoined
17:36:15  * defunctzombie_zzchanged nick to defunctzombie
17:37:57  * dguttmanquit (Quit: dguttman)
17:38:26  * jibayjoined
17:45:01  * defunctzombiechanged nick to defunctzombie_zz
17:46:27  * stlsaintjoined
17:46:27  * stlsaintquit (Changing host)
17:46:27  * stlsaintjoined
17:49:45  * b__joined
18:08:02  * AvianFlujoined
18:22:03  * defunctzombie_zzchanged nick to defunctzombie
18:26:21  * slaskisjoined
18:27:25  * slaskisquit (Client Quit)
18:51:54  * AvianFluquit (Remote host closed the connection)
18:57:13  * yorickquit (Remote host closed the connection)
19:18:56  * ralphtheninjaquit (Ping timeout: 246 seconds)
19:27:32  <defunctzombie>substack: think I found another problem with http-raw when using agent pools in the http module
19:28:18  <defunctzombie>gonna expose it with a failing test
19:28:59  * jesusabdullahquit (Ping timeout: 255 seconds)
19:29:39  * jesusabdullahjoined
19:38:30  * dominictarrjoined
19:49:39  * b__quit (Quit: Textual IRC Client: www.textualapp.com)
19:51:00  * AvianFlujoined
20:00:55  * b__joined
20:12:00  <mbalho>bwahahah https://github.com/maxogden/drone-kinect
20:12:36  <fotoverite>Nice need to try this out
20:12:45  <fotoverite>Learning to work with the kinect at the moment
20:12:49  <mbalho>fotoverite: me too!
20:13:01  <mbalho>fotoverite: pedro from lxjs has 2 great modules
20:13:13  <fotoverite>I really need to buy myself a small windows compy
20:13:15  <fotoverite>sick of vm
20:13:40  <mbalho>you can use openni / openni2 on *nix
20:13:48  <fotoverite>really
20:15:44  <mbalho>yea https://github.com/pgte/node-openni-browser
20:15:51  <mbalho> and https://github.com/pgte/node-openni
20:15:53  * defunctzombiechanged nick to defunctzombie_zz
20:16:56  <dominictarr>mbalho, you could also you the kinect to make a nice book scanner
20:17:12  <dominictarr>because you could easily detect the curve of the pages
20:17:34  <mbalho>ooh
20:17:35  <fotoverite>Are book scanners that difficult.
20:17:47  <dominictarr>the adjust for that and get a photo of each page as if you had cut off the spine and scanned it flat
20:17:48  <mbalho>yes
20:18:03  <dominictarr>so what I heard is that this is how google made google print
20:18:09  <mbalho>thats cool
20:18:39  <dominictarr>they would borrow a cart load of books from the New York Public library
20:18:43  <dominictarr>and then scan them
20:19:03  <dominictarr>so, also you can make a page turning robot
20:19:36  <dominictarr>the trick for a page turning robot is to give it a sticky finger: think post-it note
20:19:54  <dominictarr>you pick up a page by slapping it down an lifting
20:19:55  <mbalho>need some gecko biomimicry
20:20:07  <dominictarr>and release a page by PEELING it off
20:21:04  <dominictarr>that approach works for the widest range of paper
20:23:32  <dominictarr>http://www.youtube.com/watch?v=_SBF51g3X7I
20:23:43  <dominictarr>that one has a different approach
20:23:48  <dominictarr>looks simple enough
20:24:22  <dominictarr>seems to be entirely mechanical
20:24:34  <dominictarr>ropes an pullies!
20:25:51  <hij1nx>has anyone built anything for doing websockets specifically on mobile?
20:32:06  <gildean>hij1nx: as in for mobile browsers?
20:32:34  <hij1nx>gildean: yeah, as in something specifically for mobile
20:32:54  <gildean>considering that android chrome was the first default mobile browser that supports websockets, no
20:33:19  <gildean>afaik the first, idk about ios browser, but the older android browser didn't support websockets
20:34:20  <gildean>seems the newest version did add support
20:34:36  <gildean>but yeah, it's pretty new still
20:48:26  * dguttmanjoined
20:57:31  <substack>hij1nx: including fallbacks or just pure websockets?
20:58:01  <substack>I know mikeal has done some work with fallbacks on mobile
21:00:24  * yorickjoined
21:00:53  <Raynos>hij1nx: 3rdeden says websockets on mobile is a disaster
21:04:36  <ik>s/ on mobile//
21:15:57  <substack>móvil
21:18:03  * rannmannquit (Ping timeout: 260 seconds)
21:21:10  <gildean>there are quite a few caveats when using websockets on a mobile device, but i wouldn't call it a disaster per se
21:21:24  <gildean>at least not with my limited experience
21:29:40  * ryan_stevensjoined
21:29:54  * rannmannjoined
21:29:54  * rannmannquit (Changing host)
21:29:54  * rannmannjoined
21:35:11  <mbalho>hij1nx: i know a lot about mobile websockets from my research for gather
21:35:46  <mbalho>hij1nx: tl;dr is: use wss:// to ensure deliverability through dumb carrier proxies
21:36:09  <mbalho>hij1nx: but there is no wss:// on the android browser
21:36:21  <mbalho>hij1nx: so basically you should just use xhr polling cause it works virtually everywhere
21:36:38  <mbalho>hij1nx: and upgrade to wss:// if capable
21:36:59  * fotoveritequit (Ping timeout: 256 seconds)
21:38:33  <gildean>mbalho: hmm, i do think that android chrome does support secure websockets
21:38:53  <mbalho>gildean: 'android browser' is the default browser
21:39:07  <gildean>chrome is the default browser since 4.1
21:39:15  <mbalho>only on nexus 4, 7, 10
21:39:25  <mbalho>and there is no chrome sdk
21:39:58  <mbalho>so even when you have an official nexus device and make a phonegap app (for example) your webview is still the old android browser
21:40:14  <gildean>iirc chrome is the default browser on any android 4.1-> unless the vendor changes it
21:40:15  <mbalho>so the vast majority of android users are still using the android browser today
21:40:26  <gildean>that is true
21:40:49  <dominictarr>Raynos, hey do you know what sort of structure mongo is based on? is it a b-tree?
21:41:33  <Raynos>dont really know
21:44:28  <gildean>socket,io seems to work decently on mobile tho', it even resumes the connection automagically after locking and unlocking the device
21:45:09  <dominictarr>hmm, I found a reference that says that mongo uses a b-tree for indexes at least
21:45:42  * ralphtheninjajoined
21:45:47  * fotoveritejoined
21:51:08  * dominictarrquit (Ping timeout: 265 seconds)
21:53:06  * defunctzombie_zzchanged nick to defunctzombie
21:53:49  * b__quit (Quit: Computer has gone to sleep.)
21:55:12  * fotoverite_joined
21:55:12  * fotoveritequit (Read error: Connection reset by peer)
21:55:13  * fotoverite_changed nick to fotoverite
22:01:37  * Tim``joined
22:02:09  <fotoverite>So anyone left who hasn't seen the hobbit?
22:02:25  * devaholicjoined
22:08:34  * Tim``raises hand
22:15:03  * jibayquit (Quit: Leaving)
22:17:24  <Tim``>is it good?
22:19:12  <Raynos>Tim``: why you two ``
22:19:29  <Tim``>i'm always tim``
22:19:34  <Raynos>dominictarr: it would be interesting to rebuild mono on to level
22:19:39  * yorickquit (Ping timeout: 244 seconds)
22:19:51  * yorickjoined
22:19:51  * yorickquit (Changing host)
22:19:52  * yorickjoined
22:27:07  * rannmannquit (Ping timeout: 260 seconds)
22:27:53  * st_lukejoined
22:30:01  * dguttmanquit (Quit: dguttman)
22:30:03  * defunctzombiechanged nick to defunctzombie_zz
22:39:52  * defunctzombie_zzchanged nick to defunctzombie
22:44:12  <st_luke>jjjjohnnny: got your email, we should talk more sometime
22:47:38  * defunctzombiechanged nick to defunctzombie_zz
22:53:38  * jez0990_quit (Ping timeout: 255 seconds)
22:56:26  * Tim``quit (Quit: Quit)
23:17:16  <mbalho>st_luke: empirejs videos!!!?!?!?!?!??
23:17:24  <fotoverite>They're up?
23:17:40  <mbalho>no thats what the questions marks are for
23:17:51  <fotoverite>I have photos!
23:18:01  <fotoverite>Sorry that's all I have. I'm not alex sexton yet
23:38:48  * defunctzombie_zzchanged nick to defunctzombie
23:45:05  * defunctzombiechanged nick to defunctzombie_zz
23:54:44  <rowbit>SubStack, pkrumins: At least 5 people waiting in the queue for free servers! (Waiting: 5)