00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:05:15  * ednapiranhaquit (Remote host closed the connection)
00:06:48  * dominictarrquit (Quit: dominictarr)
00:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 37]
00:18:58  * jxsonquit (Remote host closed the connection)
00:24:54  * dominictarrjoined
00:25:04  * jxsonjoined
00:25:41  * calvinfojoined
00:27:43  <ins0mnia>dominictarr: what was the reason you switch back from msgpack-browserify to msgpack-js in msgpack-stream (f you remember this was 6 months ago)
00:35:51  * yorickquit (Read error: Connection reset by peer)
00:44:32  * kumavisquit (Quit: kumavis)
00:45:54  * cenal2quit (Quit: cenal2)
00:46:14  * calvinfoquit (Quit: Leaving.)
00:47:16  * timoxleyquit (Remote host closed the connection)
00:47:38  * jergasonjoined
00:47:52  * timoxleyjoined
00:52:06  * timoxleyquit (Ping timeout: 245 seconds)
00:57:55  * dguttmanquit (Quit: dguttman)
00:59:13  * jxsonquit (Read error: Connection reset by peer)
01:07:07  * dstokesquit (Quit: dstokes)
01:07:31  * dstokesjoined
01:09:13  * Maciek416quit (Remote host closed the connection)
01:09:49  * Maciek416joined
01:11:57  * dominictarrquit (Quit: dominictarr)
01:14:35  * Maciek416quit (Ping timeout: 272 seconds)
01:15:42  * dstokesquit (Quit: dstokes)
01:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 31]
01:32:59  * timoxleyjoined
01:36:16  * dominictarrjoined
01:50:12  <dominictarr>hij1nx: ogd who is hungry?
01:57:27  * dguttmanjoined
01:59:49  <ins0mnia>dominictarr: Almost fixed!!! :)
01:59:55  <dominictarr>sweet!
02:00:50  <ins0mnia>dominictarr: parse() in deframer has a loop based in chunk.length
02:01:27  <dominictarr>aha
02:01:32  * wolfeida_joined
02:01:54  <ins0mnia>dominictarr: but, on the browser, it's an ArrayBuffer we're working with
02:02:18  <dominictarr>different length?
02:02:18  <ins0mnia>dominictarr: so length should be chunk.length || chunk.byteLength;
02:02:23  <ins0mnia>yes
02:02:25  <dominictarr>oh!
02:02:26  * maksimlinquit (Ping timeout: 246 seconds)
02:02:32  * dguttmanquit (Quit: dguttman)
02:02:41  * wolfeidauquit (Ping timeout: 245 seconds)
02:02:52  <dominictarr>is there not a length field?
02:02:53  <ins0mnia>dominictarr: this loop wasn't even kicking in because chunk.length was undefined on the browser
02:02:58  * maksimlinjoined
02:03:09  <ins0mnia>dominictarr: the length field is byteLength
02:03:50  <ins0mnia>dominictarr: anyway all it took is one line before the loop var len = chunk.length || chunk.byteLength and to use len instead of chunk.length
02:04:16  * mikolalysenkojoined
02:04:33  <ins0mnia>dominictarr: the only issue which I'm seeing now is "Uncaught Error: -1 trailing bytes"
02:04:49  <ins0mnia>dominictarr: and I suspect this might be because I'm piping dnode
02:04:55  * tilgovijoined
02:05:30  <dominictarr>oh, this is because websockets do ArrayBuffers but bops assumes UInt8Array which has length
02:05:48  <ins0mnia>not that's not dnode
02:06:02  <ins0mnia>aaah
02:06:27  <dominictarr>ogd: maybe websocket-stream should do data = new UInt8Array(data) ?
02:07:19  <dominictarr>my understanding is that ArrayBuffer is generic binary data, and you create a view over it, that sets the index size
02:07:26  <dominictarr>like UInt8Array
02:07:41  <dominictarr>and that allows you to do array[index] and get 1 byte out
02:07:56  <ins0mnia>yeah
02:08:10  <ins0mnia>will give it a go
02:08:44  <ins0mnia>actually we could drop bops on the browser
02:09:18  * Maciek416joined
02:10:19  <ins0mnia>or just new Uint8Array(arraybuffer);
02:10:22  <ins0mnia>back in a min
02:12:04  * thlorenzjoined
02:12:09  <ins0mnia>dominictarr: worked
02:13:13  <ins0mnia>dominictarr: YES IT DID!! HAH!!!!
02:13:24  <dominictarr>EXCELLENT!
02:14:08  <mikolalysenko>dominictarr: new'ing a uint8array even over an array buffer is stupidly expensive
02:14:13  <ins0mnia>dominictarr: just wanna check again this is too good to be true :)
02:14:32  <dominictarr>mikolalysenko: ah, bummer - does it do a copy?
02:14:36  <mikolalysenko>are you guys planning on doing that for each incoming packet on a websocket stream?
02:14:49  <dominictarr>mikolalysenko: yeah
02:14:49  <mikolalysenko>dominictarr: no, but it does burn alot of cycles validating stuff
02:15:21  <mikolalysenko>dominictarr: here is a benchmark I did earlier that is related https://github.com/mikolalysenko/typedarray-cache-experiment
02:15:24  <dominictarr>mikolalysenko: hmm, what data size is ArrayBuffer[index]
02:15:27  <dominictarr>is it bytes?
02:15:37  <mikolalysenko>I think bytes
02:15:49  <mikolalysenko>I tend to avoid arraybuffers and just use uint8arrays actually
02:16:39  * thlorenzquit (Ping timeout: 272 seconds)
02:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 87]
02:17:23  <ins0mnia>of what I see websocket-stream otuputs ArrayBuffer by default on the client
02:19:57  <mikolalysenko>I guess if you get an arraybuffer, then you gotta make a typedarray view to do anything with it... :(
02:21:25  <ins0mnia>yeah
02:21:47  <substack>defunctzombie: I'm thinking maybe we should have a way to explicitly augment the browser field of dependencies
02:22:01  <substack>my use-case is I'm using level-fs-browser browser-side and am also using mkdirp
02:22:06  <ins0mnia>I *think* I say a new API where I can pass an arraybuffer directly to draw an image, I'm not sure gonna look it up
02:22:12  <substack>but I don't want to hard-code mkdirp against level-fs-browser
02:22:39  <substack>something like "browsers": { "mkdirp/fs": "level-fs-browser" } would be rad
02:23:05  <substack>except not that because that would clash with other things probably
02:23:20  <substack>perhaps "mkdirp/node_modules/fs": "level-fs-browser"
02:23:26  <ins0mnia>actually never mind
02:23:33  <ins0mnia>I was wrong
02:23:58  <ins0mnia>ah this
02:24:06  <ins0mnia>var blob = new Blob(arrayBuffer);
02:25:47  * thlorenzjoined
02:31:30  <ogd>for the arraybuffer from websocket-stream you just have to do use bops + new Uint8Array(arraybuffer)
02:34:14  <ins0mnia>ogd: For the other way around (reading a file using the html5 file API) I assume this is not an issue because we could read that as binary string right?
02:34:37  <grncdr>haha just had a mild panic when I thought substack merged some bad commits into bashful
02:34:56  <grncdr>also yay shell-quote!
02:35:17  <substack>ogd: https://github.com/jensarps/IDBWrapper/pull/34
02:35:33  * tilgoviquit (Ping timeout: 272 seconds)
02:35:45  <substack>grncdr: how do you think we could expose globbing up to the api for bashful?
02:36:38  <grncdr>well, it probably needs to be async, which is going to make the current interpreter code way more funky
02:37:07  <grncdr>but I think providing a glob(cwd, pattern, cb) function makes sense
02:38:07  <grncdr>possibly join the cwd with the pattern and just have glob(pattern, cb)
02:39:22  <grncdr>so like, where the interpreter handles operators, it needs to call the glob function and replace the glob pattern in the command with the results
02:39:36  <grncdr>before spawn
02:39:52  <grncdr>but, I still think there's a problem with bashful not providing the streams to spawn
02:40:01  <grncdr>:)
02:40:47  <grncdr>like, pty.js is super cool, but I can't just use it to spawn *everything* because then every command thinks it's being run interactively
02:42:08  <grncdr>and the spawn function I provide to bashful still has no way of knowing whether or not it's getting stdin from a pipe or not
02:44:25  <mikolalysenko>is there a module for parsing a stream line-by-line on npm?
02:44:35  <grncdr>mikolalysenko: split
02:45:15  <mikolalysenko>grncdr: thanks
02:45:23  <grncdr>I don't know if it's possible to do some hackery when a bashful duplex stream is piped into, but that's about all I can come up with
02:45:56  <defunctzombie>substack: run that by me again? I don't quite follow
02:46:24  <substack>defunctzombie: if I wan't mkdirp to use level-fs-browser I need to modify mkdirp's package.json
02:46:31  <defunctzombie>substack: oh, I think I understand, you are saying you want a want to make a dep use a specific shim
02:46:33  <substack>but it would be great if I could do that from the parent module
02:46:36  * Maciek416quit (Remote host closed the connection)
02:46:38  <defunctzombie>and that dep may be further in the stack
02:46:39  <substack>but only one at a time
02:46:46  <substack>yep
02:46:58  <substack>but not global, which everybody asks for and is a terrible idea
02:47:10  <substack>only for a specific module down the dependency graph, not up
02:47:11  * Maciek416joined
02:47:17  <defunctzombie>yea, this is a tough question cause it gets into the realm of dependency injection basically
02:47:23  <defunctzombie>right
02:47:38  <substack>the browser field is already that
02:47:43  <defunctzombie>yep
02:48:05  <defunctzombie>substack: methinks that to start you could certainly do something with a transform
02:48:22  <defunctzombie>or capture the output of the deps resolution stage
02:48:44  <defunctzombie>another alternative could be as you said "mkdirp/fs"
02:48:45  <grncdr>what does browserify do with require('fs') now?
02:48:53  <substack>grncdr: it gives you {}
02:49:15  <grncdr>what would happen if you put a shim 'fs' in your root project?
02:49:30  <substack>it does nothing
02:49:34  <grncdr>like, wouldn't the resolution algorithm just walk up the tree and find it?
02:49:51  <grncdr>or does browserify treat core modules special?
02:50:03  <grncdr>*specially
02:50:38  <substack>yes it does
02:50:40  <substack>that's a good point
02:50:45  <substack>maybe we can just fix that instead
02:50:52  <substack>let node_modules override core names
02:51:04  <defunctzombie>in what way?
02:51:14  <substack>if you have node_modules/fs
02:51:20  <substack>and node_modules/mkdirp does require('fs')
02:51:26  <substack>mkdirp should get node_modules/fs
02:51:35  <defunctzombie>hm
02:51:37  <grncdr>you still need a shim/alias mechanism though
02:51:45  * Maciek416quit (Ping timeout: 272 seconds)
02:51:49  <defunctzombie>this is very different behavior to what is done currently
02:52:12  <substack>always getting the core version is pretty crappy
02:52:15  <grncdr>well, or maybe you can publish 'fs' anyways, and just have it defer to the built-in 'fs' in non-browser environments...
02:52:43  <defunctzombie>and the issue here is that a replacement at the browser field level is only good for the current module?
02:52:44  <substack>you can just check node_modules/fs/index.js into git and do module.exports = require('level-fs-browser')
02:52:47  <defunctzombie>not all of the modules below it?
02:52:48  <substack>that's ok
02:52:58  <grncdr>substack: ah, good point
02:53:01  <defunctzombie>checking in node_modules is not ok
02:53:09  <grncdr>why not?
02:53:14  <defunctzombie>I would like to think of a solution that does not involve that
02:53:48  <defunctzombie>because it can lead to potentially stupid other files being checked in… I don't think we should make something that forces the checkin of a transient folder
02:53:53  <defunctzombie>if we can really avoid it
02:54:15  <defunctzombie>substack: so here are the two questions
02:54:22  <defunctzombie>or things i see going on
02:54:32  <defunctzombie>1. I want to replace *ALL* instances of a core module with something
02:54:52  <defunctzombie>2. I want the ability to shim out just a specific use of a specific module/file in a module/file I am depending on
02:55:16  <defunctzombie>my current take on this is the following (and happy to hear suggestions)
02:55:30  <defunctzombie>for 1, we can easily provide this as a feature at the browserify module level
02:55:38  <defunctzombie>so 1 is easier cause it is more special
02:55:57  <substack>you can already do that with -r level-fs-browser:fs
02:56:32  <defunctzombie>for 2, we can either say… look you are fundamentally making a different module, fork it and add a browser field OR we can make the browser field support module/depmodule/superdep/and_so_on
02:57:19  * ins0mniaquit (Remote host closed the connection)
02:57:39  <substack>it'd be annoying to have to upgrade the module when everything just works with the shim you toss at it
02:58:15  <defunctzombie>I agree
02:58:45  <defunctzombie>so the general replace all instance case it is easy
02:58:50  <defunctzombie>that is a browserify level thing
02:58:57  <defunctzombie>for the per module thing
02:59:06  <defunctzombie>it gets tricky mostly cause of builtin modules
02:59:15  <defunctzombie>if lets say mkdirp dependend on a non builtin
02:59:28  <defunctzombie>you could certainly just shim out mkdirp/node_modules/ABC/index.js
02:59:30  <defunctzombie>or whatever
03:00:11  <defunctzombie>but lets say you are using mkdirp and it uses a local file require('./foobar');
03:00:28  <defunctzombie>and you want to shim out the foobar used by mkdirp
03:00:45  <defunctzombie>and all this wants to be done at the top level app
03:01:43  <defunctzombie>I only bring that up to point out a potential conflict in the module/depmodule/superdep shim syntax for the browser field
03:01:51  <substack>one tricky thing is if npm moves versions of packages up to a directory where the module does not expect to find them
03:02:06  <substack>yes the syntax would need to be something different
03:02:10  <defunctzombie>yes, that is another tricky thing
03:03:18  <defunctzombie>so my current stance is that the core module shimming is solved at the browserify level (since I think that is already true) and that per module core changing is avoided?
03:03:36  * dominictarrquit (Quit: dominictarr)
03:04:13  <defunctzombie>it is certainly true that you may want to shim fs one way in one module and another way in another.. but I kinda feel that is starting to get more into the realm of something else
03:04:30  <defunctzombie>as in the original modules may need to expose api differently or something :/
03:05:18  <grncdr>I'm also unclear as to why you'd want to shim 'fs' with different things for different parts of the app
03:05:34  <defunctzombie>substack: I have an idea
03:06:06  <defunctzombie>actually.. no.. nothing different than the shim core for global
03:06:14  <defunctzombie>I think that covers your use case
03:08:02  * charliesomejoined
03:09:34  <substack>grncdr: I could see using brfs and level-fs-browser in the same app
03:09:34  * thlorenzquit (Remote host closed the connection)
03:09:43  <substack>but brfs is something of a special case since it's a transform not a module
03:10:12  <substack>but if somebody wanted to use browser-unix in their app to get a shell maybe they also would want to use some other fs thing
03:10:27  <substack>browser-unix shouldn't mandate what their code should look like, it should be self-contained
03:12:00  <defunctzombie>this gets tricky cause when you ask for "fs" you are gonna get whatever is given to you
03:16:41  <jjjohnny>this is fs for the browser: https://github.com/nhq/nbfs
03:16:44  <rowbit>Hourly usage stats: [developer: 7, free: 16]
03:17:08  <jjjohnny>substack: do you still have that ipad I was testing with previously?
03:17:25  <substack>yes
03:17:46  <jjjohnny>may i borrow it again?
03:18:30  <substack>sure
03:19:53  <jjjohnny>where can it be found?
03:21:03  <substack>jjjohnny: there are many things somebody might want require('fs') to do
03:21:11  <substack>I want it to run in indexdb
03:21:14  <substack>which level-fs-browser does
03:21:31  <substack>I don't want to interact with the base system. I want to pretend it doesn't exist.
03:23:15  <jjjohnny>substack: nota-bene uses the browsers file system api, not indexdb
03:25:46  <substack>but I don't want that
03:26:21  <substack>the ipad is in my room in the cylinder shelf
03:27:39  <jjjohnny>well then have it your way
03:31:15  <jjjohnny>im meeting with the principal of an Oakland charter school tomorrow
03:32:25  <jjjohnny>they need a tech program
03:33:26  <jjjohnny>its a good charter foundation too, international, interest based learning with mentorships and stuff
03:33:50  <grncdr>jjjohnny: neat
03:34:09  <grncdr>also, sorry if this is random, but are you somebody I met?
03:34:22  <grncdr>in Oakland in the last week or so
03:34:53  <jjjohnny>doubt so I just got back to oakland and haven't talked to anybody
03:35:00  <grncdr>k
03:35:02  <jjjohnny>except the chicken
03:35:03  <jjjohnny>s
03:35:51  <jjjohnny>probably only a matter of time tho
03:36:03  <jjjohnny>i presume grncdr is your real name...
03:36:07  <grncdr>yep
03:36:47  <grncdr>no, I'm Stephen, but I probably won't meet you as I'm leaving the Bay Area day after tomorrow
03:37:04  <grncdr>and probably won't be be back to Oakland at all
03:37:32  <jjjohnny>where ya going
03:37:49  <grncdr>dunno, somewhere south again
03:38:01  <grncdr>I live in an RV and move every week or two
03:38:23  <jjjohnny>oh did we meet a long time ago over boats?
03:38:42  <grncdr>not that I recall...
03:39:11  <jjjohnny>oh, well I had an RV I wanted to be like that, but it broke down
03:39:20  <grncdr>:(
03:39:35  <grncdr>mine's holding up so far
03:39:39  <grncdr>but who knows :P
03:40:25  <jjjohnny>im getting a pickup next
03:40:37  <jjjohnny>and building a house on the back
03:40:43  * thlorenzjoined
03:41:40  <jjjohnny>grncdr: what make, size is yours?
03:41:55  <grncdr>it's a 5th wheel, about 30' long
03:42:03  <grncdr>it's a small apartment on wheels ;)
03:42:17  <grncdr>and a pickup that I pull it with
03:42:42  <jjjohnny>oh thats a trailer not an RV :^p
03:42:52  <grncdr>tomato tomato
03:42:54  <jjjohnny>which is the smarter method
03:43:15  * jergasonquit (Quit: jergason)
03:43:29  <grncdr>also, yeah, I don't think it would be half as nice if I always had to move the whole thing
03:43:41  <grncdr>like, when I'm at some place nowhere near food or public transit
03:43:50  <jjjohnny>exactly
03:43:52  <grncdr>I'm in South SF right now so it's pretty easy
03:44:32  <jjjohnny>mine is a 30ft RV, waiting for the day I find land to rest it on for good, more like a mobile home
03:44:41  <grncdr>ah nice
03:44:51  <jjjohnny>im not gonna fix it up as a vehicle tho
03:45:26  <grncdr>I kind of want to get some land, but I'm Canadian, and too poor to boot
03:45:41  <grncdr>I'd build bucky domes on it though
03:45:55  <grncdr>like 5 of them
03:46:42  <jjjohnny>you can use my citizenship if I can use your land
03:48:03  <grncdr>haha, I haven't really scoped out enough of the country to pick a spot
03:48:39  <jjjohnny>http://campkahler.com/airstream/union-argosy/20130729_185533.jpg
03:48:56  <jjjohnny>(not my website)
03:49:25  <jjjohnny>i gutted the interior http://campkahler.com/airstream/union-argosy/20130729_185711.jpg
03:49:39  * thlorenzquit (Ping timeout: 272 seconds)
03:49:52  <grncdr>ah fun
03:50:10  <grncdr>looks like a space-ship
03:50:42  <substack>juliangruber: what was the name of the audio stream module you used in london?
03:52:05  * dguttmanjoined
03:54:28  <substack>nevermind, found it https://github.com/juliangruber/gbnc/blob/master/lib/webaudio-stream.js
04:04:46  * jcrugzzjoined
04:06:47  <grncdr>substack: is allowing multiple writers to a single bashful stream a desirable feature?
04:07:05  <grncdr>or is that just crazy
04:08:17  * dguttmanquit (Quit: dguttman)
04:08:55  <substack>grncdr: yes that is useful
04:09:00  <grncdr>hm
04:09:15  <grncdr>what I was thinking is I could grab the input stream in the 'pipe' event of the duplexer, then pass it to the spawn callback in _spawn
04:09:39  <grncdr>but there's not a 1-1 correspondence between streams and Bashful instances
04:09:43  <grncdr>so it's super messy
04:10:07  <grncdr>and if you pipe multiple input streams, you need to merge them anyways
04:11:09  <grncdr>I think maybe I missed something with pty.js though?
04:12:01  <grncdr>I mean, as far as I can tell, it would allow me to fake .isTTY, but comes with a bunch of other crap I don't necessarily want or need
04:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 285]
04:18:39  * jergasonjoined
04:22:03  <substack>grncdr: why do you need to do that stuff?
04:22:12  <substack>you should use pty.js
04:22:14  <juliangruber>substack: working on a fix for level-fs that makes you not lose directory information when you restart your app, i.e. currently it relies on db.sublevels which doesn't persist
04:22:42  <substack>it issues the openpty/forkpty calls under the hood that makes isTTY work
04:22:47  * charliesomequit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
04:23:21  <substack>grncdr: also check out how slidey-termy uses shux which uses pty.js and exterminate
04:23:42  <substack>juliangruber: it does?
04:23:56  <substack>aha so it does
04:23:57  <substack>ok great
04:24:34  <grncdr>substack: right, but it also seems to want to emulate a terminal (e.g. the terminal name and height/width stuff) which I don't understand why you'd want to do that if you already have a terminal
04:25:00  <grncdr>I will take a look at slidey-termey/shux/exterminate
04:26:04  <substack>juliangruber: it would also be rad if we had a place to put the permissions table and all the other kinds of stats
04:26:29  * timoxleyquit (Read error: Connection reset by peer)
04:26:53  * shamaquit (Remote host closed the connection)
04:26:58  <substack>juliangruber: in my talk I'm pitching the idea that we don't need app stores or app permission models, we just need unix
04:27:15  <substack>because unix already solves all that crap in a way that programmers already know how everything works
04:28:10  <substack>does your app need to use the microphone? just add it to the microphone group that has write permissions on /dev/audio
04:29:53  <substack>and then we can also use stuff mmalecki is writing with apm in browser-unix once npm works
04:33:15  * jergasonquit (Quit: jergason)
04:39:19  <grncdr>ugh, I feel so stupid
04:39:36  <grncdr>I forgot to read the examples included with bashful
04:39:54  <grncdr>which includes a "how to do that thing I've been bugging substack about for days" example
04:40:01  <grncdr>:|
04:40:30  <juliangruber>substack: i've been thinking about a metal/permissions table, and also about refactoring away sublevel as it's not really necesary but makes it harder to reason about the fs and do custom things. e.g. empty directories would have to be sublevels with a ._empty entry in it
04:40:58  <juliangruber>fuck yeah, that permissions model inside a browser will be _amazing_
04:42:18  * defunctzombiechanged nick to defunctzombie_zz
04:45:37  * thlorenzjoined
04:48:14  <substack>juliangruber: empty directories already work ok
04:48:30  <juliangruber>substack: but aren't persistent
04:48:42  <substack>oh yeah
04:48:46  <juliangruber>substack: and also won't be when I factored in level-sublevel-stream
04:48:49  <juliangruber>unless I add some meta
04:49:00  <substack>juliangruber: ok so how about
04:49:12  <substack>when you make a directory, you also make a hidden meta key in the sublevel
04:49:20  <substack>and we can put all the permissions stuff in that meta key too
04:49:26  <juliangruber>hm yeah
04:49:27  <substack>for all the files in the directory
04:49:39  <substack>2 problems solved yay
04:49:40  <juliangruber>that would work
04:49:57  <juliangruber>ok, that's the plan
04:50:02  <substack>excellent
04:50:16  * thlorenzquit (Ping timeout: 265 seconds)
04:50:35  <juliangruber>so are you talking at realtime conf?
04:50:52  <substack>juliangruber: nope, I'm in colombia
04:51:11  <juliangruber>substack: what talk have you been talking about then?
04:52:40  * mikolalysenkoquit (Ping timeout: 265 seconds)
04:52:42  <substack>browser unix
04:54:17  * DTrejojoined
04:56:20  * AvianFlu_quit (Remote host closed the connection)
04:57:03  * AvianFlujoined
04:59:15  * Maciek416joined
05:14:16  * Maciek416quit (Remote host closed the connection)
05:14:51  * Maciek416joined
05:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 193]
05:19:07  * Maciek416quit (Ping timeout: 246 seconds)
05:24:11  * mikolalysenkojoined
05:28:34  * mikolalysenkoquit (Ping timeout: 246 seconds)
05:28:48  * kumavisjoined
05:39:00  <rowbit>SubStack, pkrumins: Encoders down: 50.57.226.209 (free4)
05:44:58  * calvinfojoined
05:56:11  * jesusabdullahquit (Ping timeout: 248 seconds)
06:06:55  * AvianFlu_joined
06:10:55  * AvianFlu_quit (Ping timeout: 246 seconds)
06:16:44  <rowbit>Daily usage stats: [developer: 12, free: 2547]
06:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 102]
06:31:35  <niftylettuce>anyone here use APM 2.5 or HobbyKing boards/telemetry stuff?
06:31:49  <niftylettuce>substack: have you done anything with OSD's and telemetry?
06:32:26  * jcrugzzquit (Read error: Connection reset by peer)
06:34:09  * jcrugzzjoined
06:40:30  * jxsonjoined
06:41:19  * AvianFluquit (Remote host closed the connection)
06:41:48  * AvianFlujoined
06:46:53  * thlorenzjoined
06:49:26  * jesusabdullahjoined
06:51:16  * thlorenzquit (Ping timeout: 245 seconds)
07:03:25  * DTrejoquit (Remote host closed the connection)
07:03:50  * DTrejojoined
07:08:37  * DTrejoquit (Ping timeout: 272 seconds)
07:11:49  * jxsonquit (Remote host closed the connection)
07:16:09  * peutetrejoined
07:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 79]
07:17:02  * Guest75535quit (Ping timeout: 240 seconds)
07:17:11  * Guest75535joined
07:21:55  * Guest75535quit (Ping timeout: 272 seconds)
07:22:37  * Guest75535joined
07:40:48  * dominictarrjoined
07:41:02  * AvianFluquit (Remote host closed the connection)
07:41:35  * AvianFlujoined
07:47:29  * thlorenzjoined
07:51:12  * crankquit (Remote host closed the connection)
07:51:26  * djcoin_joined
07:51:43  * thlorenzquit (Ping timeout: 246 seconds)
07:52:28  * Guest75535quit (Ping timeout: 260 seconds)
07:57:32  * kriskowalquit (Quit: kriskowal)
08:06:12  * dominictarrquit (Quit: dominictarr)
08:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 173]
08:17:06  * jcrugzzquit (Ping timeout: 245 seconds)
08:29:49  <grncdr>substack: https://github.com/grncdr/bashful/compare/substack:master...grncdr:fixeroo works better for interactive commands, but I've messed up job control
08:30:36  * kumavisquit (Quit: kumavis)
08:30:41  <grncdr>I'm curious whether running repl commands in bashful works for you
08:30:48  * jcrugzzjoined
08:31:11  <grncdr>e.g. `node`
08:31:38  <grncdr>anyways it's past my bed-time, have a look at your leisure
08:32:06  * niftylettucequit (Ping timeout: 245 seconds)
08:32:16  * gozalaquit (Ping timeout: 245 seconds)
08:45:55  * crankjoined
09:09:57  * wolfeida_changed nick to wolfeidau
09:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 70]
09:17:44  * DTrejojoined
09:17:49  * DTrejoquit (Read error: Connection reset by peer)
09:20:25  * ins0mniajoined
09:25:50  * AvianFluquit (Remote host closed the connection)
09:26:18  * AvianFlujoined
09:52:56  * jcrugzzquit (Read error: Connection reset by peer)
09:53:06  * jcrugzzjoined
10:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 45]
10:28:27  * gozalajoined
10:28:52  * Guest75535joined
10:31:09  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130911164256])
10:36:56  * insertcoffeejoined
10:39:09  * niftylettucejoined
10:40:46  * thlorenzjoined
11:03:04  * mikolalysenkojoined
11:11:05  * mikolalysenkoquit (Ping timeout: 272 seconds)
11:11:29  <juliangruber>substack: is browser unix going to use https://npmjs.org/package/brace-expansion ?
11:15:24  * mikolalysenkojoined
11:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 271]
11:30:05  * mikolalysenkoquit (Ping timeout: 272 seconds)
11:35:50  * DTrejojoined
11:35:58  * DTrejoquit (Read error: Connection reset by peer)
11:49:53  * thlorenz_joined
11:51:56  * dominictarrjoined
11:52:07  * jergasonjoined
11:54:31  * thlorenz_quit (Ping timeout: 272 seconds)
12:16:01  * tim_smartquit (Ping timeout: 246 seconds)
12:16:08  * tim_smart|awayjoined
12:16:32  * tim_smart|awaychanged nick to tim_smart
12:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 78]
12:26:37  * thlorenzquit (Remote host closed the connection)
12:38:45  * DTrejojoined
12:38:59  * DTrejoquit (Read error: Connection reset by peer)
12:43:50  * jergasonquit (Quit: jergason)
12:46:45  * ins0mnia_joined
12:47:38  * ins0mnia_quit (Remote host closed the connection)
12:50:28  * thlorenzjoined
12:55:03  * thlorenzquit (Ping timeout: 272 seconds)
12:57:03  * thlorenzjoined
13:00:51  * jcrugzzquit (Ping timeout: 265 seconds)
13:05:09  * thlorenzquit (Ping timeout: 248 seconds)
13:05:52  * thlorenzjoined
13:05:58  * thlorenzquit (Remote host closed the connection)
13:11:06  * DTrejojoined
13:11:17  * DTrejoquit (Read error: Connection reset by peer)
13:12:27  * yorick_joined
13:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 157]
13:18:06  * Maciek416joined
13:25:32  <juliangruber>substack: should level-fs rather be fast or correct?
13:26:42  <juliangruber>e.g. should files be referenced 1) by inode number or 2) by path? 1) allows things like moving a file while it's being edited etc. 2) is faster
13:26:48  <juliangruber>dominictarr ^
13:27:01  * thlorenzjoined
13:28:40  <dominictarr>juliangruber: you could build a more correct fs thing if you modeled inodes
13:28:52  <juliangruber>dominictarr: that's what i'm thinking
13:28:55  <juliangruber>also that's more fun
13:28:59  <juliangruber>but more complex
13:29:12  <juliangruber> / supports more use cases
13:29:28  <dominictarr>it would behave like a real fs
13:30:05  <juliangruber>yes
13:30:12  <juliangruber>and browser unix needs a real fs
13:33:23  <pkrumins>no visa
13:33:26  <pkrumins>denied
13:33:49  * dguttmanjoined
13:33:55  <juliangruber>pkrumins dafuck
13:34:14  <pkrumins>no potato
13:34:21  <pkrumins>sad
13:34:22  <pkrumins>also cold
13:41:56  <pkrumins>but the good news is that they suggested i apply for a different type of visa
13:42:09  <pkrumins>and that they are interested in me getting that visa!
13:48:26  * jergasonjoined
13:51:21  * DTrejojoined
13:51:25  * DTrejoquit (Read error: Connection reset by peer)
13:53:02  * tmcwjoined
13:55:12  * ednapiranhajoined
13:59:09  * fallsemojoined
13:59:49  * fallsemo1joined
13:59:50  * fallsemoquit (Read error: Connection reset by peer)
13:59:56  * Maciek416quit (Remote host closed the connection)
14:00:12  * Maciek416joined
14:03:47  * jergasonquit (Quit: jergason)
14:07:31  * defunctzombie_zzchanged nick to defunctzombie
14:07:32  * kevino80joined
14:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 104]
14:20:39  * Guest75535quit (Ping timeout: 252 seconds)
14:30:52  * Guest75535joined
14:31:41  <defunctzombie>you know what would be really useful
14:31:52  <defunctzombie>having a static check that outputs a browser support table
14:32:10  <defunctzombie>like you run your code through it and it tells you the minimum version of various browsers that it thinks you code will run on
14:37:37  * dominictarrquit (Quit: dominictarr)
14:53:09  * ednapiranhaquit (Remote host closed the connection)
14:54:43  * jergasonjoined
14:56:52  * jcrugzzjoined
14:57:07  * mikolalysenkojoined
15:05:20  * dominictarrjoined
15:08:32  * jcrugzzquit (Ping timeout: 240 seconds)
15:10:28  <mikolalysenko>what is the current transportation situation like in sf?
15:10:49  <mikolalysenko>I am currently flying in for a visit, and a bit worried about how I am going to get around
15:13:18  * thlorenzquit (Remote host closed the connection)
15:13:41  * AvianFlu_joined
15:14:15  * AvianFluquit (Disconnected by services)
15:14:17  * AvianFlu_changed nick to AvianFlu
15:14:44  * AvianFlu_joined
15:16:15  * thlorenzjoined
15:16:44  <rowbit>Hourly usage stats: [developer: 79, free: 167]
15:21:55  * sbos99joined
15:25:35  * jcrugzzjoined
15:33:43  * defunctzombiechanged nick to defunctzombie_zz
15:36:48  * jcrugzzquit (Ping timeout: 240 seconds)
15:54:15  * jcrugzzjoined
16:00:37  * insertcoffeequit (Ping timeout: 272 seconds)
16:01:33  * shamajoined
16:05:54  * jcrugzzquit (Ping timeout: 256 seconds)
16:06:24  * ferossjoined
16:06:24  * ferossquit (Client Quit)
16:06:56  * dstokesjoined
16:09:10  * dominictarrquit (Quit: dominictarr)
16:11:35  * jcrugzzjoined
16:13:51  * kriskowaljoined
16:15:54  * defunctzombie_zzchanged nick to defunctzombie
16:16:07  * peutetrequit (Quit: peutetre)
16:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 58]
16:17:06  * peutetrejoined
16:17:36  * peutetrequit (Client Quit)
16:23:49  * DTrejojoined
16:23:49  * DTrejoquit (Read error: Connection reset by peer)
16:29:02  * peutetrejoined
16:34:02  * peutetrequit (Quit: peutetre)
16:34:22  * jergason_joined
16:35:01  * peutetrejoined
16:36:36  <grncdr>pkrumins: good grief
16:36:37  * peutetrequit (Read error: Connection reset by peer)
16:37:21  * jergasonquit (Ping timeout: 272 seconds)
16:37:21  * jergason_changed nick to jergason
16:37:36  * ins0mniaquit (Ping timeout: 252 seconds)
16:38:14  <grncdr>mikolalysenko: it looks pretty bad
16:43:24  * djcoin_quit (Quit: WeeChat 0.4.1)
16:43:30  * dstokesquit (Quit: dstokes)
16:43:59  * dstokesjoined
17:00:04  * thlorenzquit (Remote host closed the connection)
17:09:12  * dstokesquit (Quit: dstokes)
17:12:33  * dstokesjoined
17:12:57  <grncdr>mikolalysenko: if you end up stuck out at SFO ping me
17:13:05  <grncdr>I'm actually pretty close to there
17:15:01  * mikolalysenkoquit (Remote host closed the connection)
17:16:40  * kellysaurusxchanged nick to ELLIOTTCABLE
17:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 46]
17:20:17  * mikolalysenkojoined
17:22:44  * AvianFluquit (Remote host closed the connection)
17:25:15  * mikolalysenkoquit (Ping timeout: 248 seconds)
17:26:25  * AvianFlujoined
17:32:44  * mikolalysenkojoined
17:34:25  * st_lukejoined
17:37:51  * st_lukequit (Remote host closed the connection)
17:45:52  * st_lukejoined
17:46:38  * thlorenzjoined
17:47:03  * thlorenzquit (Remote host closed the connection)
17:48:34  * ins0mniajoined
17:48:42  * ins0mniaquit (Remote host closed the connection)
18:11:37  <substack>http://unix.substack.net/
18:13:37  * jcrugzzquit (Ping timeout: 240 seconds)
18:13:41  <tmcw>wow
18:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 27]
18:18:08  * thlorenzjoined
18:18:32  * mikolalysenkoquit (Quit: Lost terminal)
18:23:39  * nk109joined
18:23:40  * jcrugzzjoined
18:24:08  * thlorenzquit (Ping timeout: 240 seconds)
18:24:10  <grncdr>substack: cool, but kind of borked
18:24:50  <grncdr>keycodes should account for command/super being a modifier
18:25:29  * mikolalysenkojoined
18:25:39  <grncdr>e.g. every time I command+tab away from the window, I end up with a literal '[' being printed to the console
18:26:05  * DTrejojoined
18:27:11  * DTrejoquit (Remote host closed the connection)
18:27:38  <grncdr>also, I seem to be able to run the `node` command and it just hangs the console
18:27:43  <grncdr>still very cool though
18:29:05  * jcrugzzquit (Ping timeout: 272 seconds)
18:32:25  <grncdr>anybody have a favourite (small) 2-way data-binding lib?
18:33:36  <grncdr>I need it to work within an existing app that's a hodge-podge of YUI, and jQuery/bootstrap
18:34:05  <grncdr>I'm thinking knockout, but I'd much prefer something that did dirty-checking a-la angular
18:35:25  * thlorenzjoined
18:38:19  <owen1>grncdr: http://engineering.yp.com/post/ractive-js
18:39:01  * mikolalysenkoquit (Remote host closed the connection)
18:41:42  <grncdr>owen1: that seems like it might be more my style
18:42:42  <grncdr>this is contract work that will be handed off to the internal dev team some day, so I don't want to throw anything that is too difficult to learn in there
18:42:59  <grncdr>ractive seems like it would fit the bill
18:44:53  <owen1>grncdr: yeah. follow the tutorials - http://learn.ractivejs.org/#!/hello-world/1
18:47:53  <st_luke>http://www.ietf.org/mail-archive/web/hybi/current/msg08668.html
18:52:29  * st_lukequit (Remote host closed the connection)
18:53:45  <jjjohnny>The WebSocket protocol is designed with an assumption
18:54:07  <jjjohnny>fools
18:56:09  <jjjohnny>grncdr: data-binding is binding
18:56:20  * yorick_changed nick to yorick
18:59:43  <jjjohnny>front ends are events and views. it is so simple until you use harness a modeling system on them
18:59:44  * DTrejojoined
19:01:25  <jjjohnny>then you have templates and a framework to adapt to
19:05:07  <grncdr>jjjohnny: right, but in this case I'm more than happy with the tradeoffs
19:06:32  <grncdr>in particular, less boilerplate without having to write my own helpers & HOFs, and consistent conventions for handling of events, views, and (especially) state
19:07:07  * dstokesquit (Quit: dstokes)
19:07:59  * dstokesjoined
19:14:42  * awatermajoined
19:16:06  * awatermaquit (Client Quit)
19:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 39]
19:25:02  <jesusabdullah>hummus plaate
19:25:05  <jesusabdullah>HUMMUS PLAAATE
19:25:05  <LOUDBOT>BECAUSE BLACK PEOPLE MADE ME CUM LOUD LAST NIGHT CORTEX
19:25:10  <jesusabdullah>GROSS
19:26:02  <jesusabdullah>SPICY hummus!
19:30:40  * DTrejoquit (Remote host closed the connection)
19:31:13  * DTrejojoined
19:32:15  * dstokesquit (Quit: dstokes)
19:33:14  * DTrejo_joined
19:33:23  * DTrejo_quit (Remote host closed the connection)
19:33:24  * dstokesjoined
19:33:55  * DTrejo_joined
19:35:08  * DTrejoquit (Ping timeout: 240 seconds)
19:39:43  <Domenic_>isaacs: this guys is excited about his npm PR, but it needs feedback/executive decision, so it'd be cool to give him some and maintain the momentum :) https://github.com/isaacs/npm/pull/4010
19:40:17  * sbos99part ("Leaving")
19:40:51  * charliesomejoined
19:45:03  * DTrejo_quit (Remote host closed the connection)
19:45:38  * DTrejojoined
19:50:09  * DTrejoquit (Ping timeout: 272 seconds)
19:51:15  <substack>chrisdickinson, creationix: where can I find an example of running js-git in the browser?
19:51:40  <substack>I have an fs reference to pass it backed to leveldb
19:52:28  <grncdr>substack: did you see my branch comparison link for bashful?
19:52:55  <substack>branch comparison?
19:53:51  <grncdr>https://github.com/grncdr/bashful/compare/substack:master...grncdr:fixeroo
19:53:55  <grncdr>it's not ready for a PR
19:54:08  * Maciek416quit (Remote host closed the connection)
19:54:23  <grncdr>but afaict, this is necessary to actually feed data to the current processes stdin
19:54:40  * Maciek416joined
19:55:01  <grncdr>btw, I did get things to work with pty.js sorry for being so obtuse :P
19:55:02  <substack>grncdr: I already made pretty much the same patch an hour ago
19:55:07  <grncdr>hah
19:55:30  <grncdr>cool, I will update and see if everything still works
19:55:45  <grncdr>did you want me to PR the first couple of commits that are just cleanup?
19:55:51  * ednapiranhajoined
19:57:12  <substack>grncdr: if you want?
19:57:28  <substack>if you can make everything merge cleanly against HEAD I'm up for it
19:57:32  <grncdr>k
19:57:49  <AvianFlu>LOLWUT THERE'S TWO OF ME
19:57:49  <LOUDBOT>LOL @ UBUNTU NOISE FAIL
19:57:52  <chrisdickinson>substack: https://github.com/chrisdickinson/js-git-demo
19:57:53  * AvianFlu_quit (Disconnected by services)
19:57:55  <chrisdickinson>(for my side of js-git things)
19:58:23  * AvianFlu_joined
19:58:30  <grncdr>hm, I think there's still a problem with your patch...
19:58:40  <AvianFlu>GOD DAMN IT AvianFlu_ STOP RECONNECTING
19:58:51  * Maciek416quit (Ping timeout: 248 seconds)
19:58:53  <grncdr>try running 'node example/pts.js' and then 'node' inside the shell
20:00:11  <substack>grncdr: yeah seems buggy
20:00:37  <grncdr>I'll diff it against my branch and send you a patch if I figure it out
20:00:42  <grncdr>probably later tonight though
20:09:28  * jcrugzzjoined
20:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 29]
20:17:44  * DTrejojoined
20:17:52  * DTrejoquit (Remote host closed the connection)
20:18:26  * DTrejojoined
20:29:09  * Guest75535quit (Ping timeout: 272 seconds)
20:32:10  * ITprojoined
20:47:02  <substack>juliangruber: can you bump the level-fs version on level-fs-browser?
20:56:29  * kevino80quit (Remote host closed the connection)
21:09:51  * AvianFlewjoined
21:09:54  * AvianFlewquit (Remote host closed the connection)
21:12:35  <substack>grncdr: echo is eating {}s now :/
21:12:51  <substack>oh wait nevermind
21:12:56  <substack>something else screwy is going on
21:14:07  * AvianFluquit (Ping timeout: 272 seconds)
21:16:44  <rowbit>Hourly usage stats: [developer: 1, free: 27]
21:19:46  <grncdr>substack: :(
21:22:51  <substack>it's ok actually
21:23:43  <grncdr>sorry I forgot to tell you that I added 'throw' to shell-quote in a couple of places. that may be a bit lazy
21:24:15  <grncdr>in particular, bad expansions such as ${} or ${neverclosed
21:30:11  * DTrejoquit (Remote host closed the connection)
21:30:44  * DTrejojoined
21:35:17  * DTrejoquit (Ping timeout: 272 seconds)
21:40:30  * mikolalysenkojoined
21:42:53  * ednapiranhaquit (Remote host closed the connection)
21:43:25  * dominictarrjoined
21:44:26  * thlorenzquit (Remote host closed the connection)
21:50:44  * mikolalysenkoquit (Ping timeout: 240 seconds)
21:51:17  * dominictarrquit (Quit: dominictarr)
21:53:17  * dominictarrjoined
21:53:57  * thlorenzjoined
21:56:40  * thlorenzquit (Remote host closed the connection)
22:00:01  * thlorenz_joined
22:02:42  * ednapiranhajoined
22:03:32  * dominictarrquit (Quit: dominictarr)
22:07:26  * thlorenz_quit (Remote host closed the connection)
22:13:13  * DTrejojoined
22:13:23  * DTrejoquit (Remote host closed the connection)
22:13:55  * DTrejojoined
22:14:56  * DTrejoquit (Remote host closed the connection)
22:15:28  * DTrejojoined
22:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 18]
22:19:35  * DTrejoquit (Ping timeout: 245 seconds)
22:20:32  * AvianFlujoined
22:22:07  * DTrejojoined
22:22:12  * DTrejoquit (Remote host closed the connection)
22:22:46  * DTrejojoined
22:23:45  * DTrejoquit (Remote host closed the connection)
22:24:00  * thlorenzjoined
22:24:18  * DTrejojoined
22:26:03  * thlorenzquit (Remote host closed the connection)
22:28:17  * DTrejo_joined
22:28:23  * DTrejo_quit (Remote host closed the connection)
22:28:46  * DTrejoquit (Read error: Connection reset by peer)
22:28:50  <owen1>substack: did beijin organizer ask for a name/topic for your coming talk or they don't plan to mention the topics?
22:28:57  * DTrejojoined
22:29:14  <owen1>(i gave 2 proposals and i don't know which one they want me to talk about)
22:30:42  * AvianFlu_quit (Remote host closed the connection)
22:31:40  * jcrugzzquit (Ping timeout: 272 seconds)
22:34:18  * AvianFluquit (Remote host closed the connection)
22:35:25  * AvianFlujoined
22:35:56  * tmcwquit (Remote host closed the connection)
22:42:04  * dominictarrjoined
22:43:15  * charliesomequit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:45:12  * Maciek416joined
22:57:12  * thlorenzjoined
22:58:13  <grncdr>substack: node<Return> is not starting node on unix.substack.net
22:58:57  <grncdr>just hangs
22:59:39  <grncdr>if I enter in an expression "1 + 1" and hit return again, it tries to run "node1" and fails
23:05:41  * thlorenzquit (Ping timeout: 248 seconds)
23:06:43  * ednapiranhaquit (Remote host closed the connection)
23:08:52  * jxsonjoined
23:14:40  * jxsonquit (Remote host closed the connection)
23:15:15  * DTrejoquit (Remote host closed the connection)
23:15:48  * DTrejojoined
23:16:44  <rowbit>Hourly usage stats: [developer: 0, free: 11]
23:18:34  * defunctzombiechanged nick to defunctzombie_zz
23:20:25  * DTrejoquit (Ping timeout: 272 seconds)
23:25:23  * ednapiranhajoined
23:28:32  * ednapiranhaquit (Remote host closed the connection)
23:29:47  * jcrugzzjoined
23:30:45  * jergasonquit (Quit: jergason)
23:31:22  * yorickquit (Remote host closed the connection)
23:36:44  * thlorenzjoined
23:38:06  * jcrugzzquit (Ping timeout: 256 seconds)
23:39:55  * tmcwjoined
23:39:57  * thlorenzquit (Remote host closed the connection)
23:41:17  * jergasonjoined
23:41:28  * dominictarrquit (Quit: dominictarr)
23:44:00  * dominictarrjoined
23:44:16  * Maciek416quit (Remote host closed the connection)
23:44:16  * jxsonjoined
23:44:47  * Maciek416joined
23:45:02  * Maciek416quit (Read error: Connection reset by peer)
23:45:22  * DTrejojoined
23:45:27  * Maciek416joined
23:45:32  * DTrejoquit (Remote host closed the connection)
23:45:49  * Maciek416quit (Remote host closed the connection)
23:46:02  * DTrejojoined
23:46:21  * Maciek416joined
23:50:34  * Maciek416quit (Ping timeout: 256 seconds)
23:51:28  * dominictarrquit (Quit: dominictarr)
23:54:43  * tmcwquit (Remote host closed the connection)
23:59:07  * charliesomejoined