00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:02:10  * eugenewarejoined
00:03:29  * phatedquit (Remote host closed the connection)
00:06:42  * eugenewarequit (Ping timeout: 252 seconds)
00:12:05  * coderzachjoined
00:12:13  * coderzachquit (Remote host closed the connection)
00:12:25  * coderzachjoined
00:21:23  * defunctzombie_zzchanged nick to defunctzombie
00:23:50  * eugenewarejoined
00:28:31  * eugenewarequit (Ping timeout: 260 seconds)
00:30:06  * indexzeroquit (Quit: indexzero)
00:30:38  * i_m_cajoined
00:33:10  * Maciek416joined
00:36:17  * defunctzombiechanged nick to defunctzombie_zz
00:37:55  * i_m_caquit (Ping timeout: 245 seconds)
00:40:53  * coderzachquit (Remote host closed the connection)
00:43:03  <feross>substack: i have another buffer related bugfix for browserify
00:43:07  <feross>substack: please merge https://github.com/substack/insert-module-globals/pull/24
00:45:31  * eugenewarejoined
00:45:39  * marcello3djoined
00:50:29  * jcrugzzjoined
00:50:31  * eugenewarequit (Ping timeout: 272 seconds)
00:50:59  * marcello3dquit (Ping timeout: 240 seconds)
00:52:04  <feross>substack: ^ this bug actually causes stream-browserify to fail in Firefox with "TypeError: Invalid non-string/buffer chunk"
00:52:05  * defunctzombie_zzchanged nick to defunctzombie
00:52:07  <feross>(because it
00:52:26  <rowbit>Hourly usage stats: [free: 31]
00:52:51  <feross>(because insert-module-globals is giving an older version of native-buffer-browserify without important firefox bugfixes)
00:53:08  <feross>which in turn is causing bittorrent-protocol to fail in Firefox, see: https://ci.testling.com/feross/bittorrent-protocol
00:53:34  <feross>so it's pretty important to fix!
00:54:38  * marcello3djoined
00:54:51  <substack>feross: what you just sent will break browserify
00:54:59  <substack>native-buffer-browserify is a devDependency
00:55:14  <feross>substack: good point
00:55:27  <feross>it didn't break in my tests because its included by the parent browserify module
00:55:34  <feross>so wouldn't break in practice, i think
00:55:36  <feross>but i can fix it
00:55:40  * jcrugzzquit (Ping timeout: 252 seconds)
00:56:04  <substack>also build.sh won't work on windows
00:57:45  <feross>i can port that a node script
00:57:50  <feross>*to a node script
00:58:16  <feross>it should be *really* simple
00:58:28  <substack>sounds good
01:02:23  * yorickquit (Remote host closed the connection)
01:07:13  * eugenewarejoined
01:11:53  * i_m_cajoined
01:12:00  * coderzachjoined
01:12:05  * eugenewarequit (Ping timeout: 248 seconds)
01:13:08  * coderzachquit (Read error: Connection reset by peer)
01:13:19  <feross>substack: done!
01:13:20  <feross>https://github.com/substack/insert-module-globals/pull/24
01:13:43  * coderzachjoined
01:13:58  * phatedjoined
01:14:18  <feross>forgot to include build.js -- just added it
01:14:58  * thlorenzjoined
01:15:27  <substack>feross: how can it require('browserify')?
01:15:33  <substack>browserify is only a devDependency
01:15:38  <feross>i just moved it to dependencies
01:15:43  <substack>and this module is used by browserify itself
01:15:44  <feross>refresh -- sorry about that
01:17:34  <feross>hmm
01:17:59  * coderzachquit (Ping timeout: 240 seconds)
01:19:01  * phatedquit (Ping timeout: 272 seconds)
01:20:35  <feross>so when build.js uses browserify it sets { detectGlobals: false }
01:20:49  <defunctzombie>INCEPTION
01:20:52  <feross>ideally, this would make browserify not need to include 'insert-module-globals'
01:21:07  <feross>and then there wouldn't be a problem
01:21:33  <substack>it's still a dependency
01:21:46  <feross>is that not allowed?
01:21:59  <substack>I'm installing right now to make sure it works
01:22:08  <feross>it doesn't work as-is, you're right
01:22:15  <defunctzombie>if browserify is a dep then installing browserify is gonna be a bitch
01:22:20  <defunctzombie>so much to download hahah
01:22:35  <defunctzombie>I vote to not insert buffer global
01:22:45  <defunctzombie>fight the man!
01:22:46  <defunctzombie>hahaha
01:23:37  <substack>feross: it works
01:23:50  <substack>defunctzombie: blame node core
01:23:54  <defunctzombie>I do
01:23:58  <defunctzombie>I do all the time
01:24:00  <defunctzombie>:D
01:24:00  <feross>okay, cool - how did you test it?
01:24:06  <substack>feross: a fresh install
01:24:15  <defunctzombie>wait.. so how is this better than before?
01:24:32  <substack>defunctzombie: it compiles the latest version of native-buffer-browserify
01:24:34  <feross>substack: but did you npm link insert-module-globals?
01:24:49  <substack>so the versions of require('buffer').Buffer and implicit Buffer can't get out of sync
01:25:10  <substack>feross: no, that isn't resolvable
01:25:10  <substack>> require('insert-module-globals')
01:25:10  <substack>Error: Cannot find module 'insert-module-globals'
01:25:20  <substack>it's using the local version, everything works ok
01:25:23  <defunctzombie>I don't get it.. why compile?
01:26:33  <feross>defunctzombie: that's just how insert-module-globals works right now
01:26:54  <substack>defunctzombie: native-buffer-browserify itself has dependencies
01:27:30  <substack>and you can't inject modules with dependencies cleanly into the pipeline where it needs to be injected
01:27:57  <defunctzombie>yea, so make your build script a node script that reads it and the two deps hahaha. a ghetto tiny browserify
01:28:41  <defunctzombie>browserify is massive.. as soon as the version of browserify for this dependency is out of date with latest there will be massive package download when someone installs browserify
01:28:53  <defunctzombie>not saying this is world ending..but something to think about :)
01:28:54  * eugenewarejoined
01:29:08  <defunctzombie>I totally get why you gotta do postinstall tho and not prepublish here
01:29:16  <defunctzombie>that part makes sense
01:29:41  <feross>substack: if i got rid of the two native-buffer-browserify deps, could we inject the module into the right part of the pipeline and eliminate the problem where two copies of Buffer get included?
01:29:42  <defunctzombie>just wish there was a way to make insert-module-globals take the shims to insert
01:29:46  * phatedjoined
01:29:47  <defunctzombie>versus having them in the repo
01:30:13  <substack>feross: it's still difficult
01:30:14  <defunctzombie>that way insert globals becomes generic to any globals you want to insert
01:30:30  <substack>defunctzombie: it does
01:30:55  <substack>opts.vars
01:31:15  <defunctzombie>substack: yea, so technically insert-globals doesn't need ot depend on process or native-buffer-browserify
01:31:28  <defunctzombie>the user of insert-globals should just educate it on the shims to use
01:31:39  <defunctzombie>and then that user can provide the shims as it wants
01:31:56  <defunctzombie>then you could technically insert-globals on arbitrary things not just tied to node globals or whatnot
01:32:07  <defunctzombie>it just becomes an AST hunter module
01:32:18  <defunctzombie>if any of that made sense
01:32:58  <defunctzombie>insert-globals can just do the detection and manipulation given some configuration it was created with
01:34:13  * eugenewarequit (Ping timeout: 272 seconds)
01:40:24  <substack>defunctzombie: but browserify needs it to perform a very specific task
01:40:32  <substack>so you can use npm modules from npm
01:40:35  <substack>and they will mostly work
01:40:38  <defunctzombie>substack: yea
01:40:44  <defunctzombie>substack: I get that and that should continue to work
01:40:55  <defunctzombie>what I am saying is that browserify can depend on native-buffer
01:40:56  <defunctzombie>and process
01:41:06  <defunctzombie>and package those up and give them to insert-module-globals
01:41:22  <defunctzombie>that way insert-module-globals is just doing the "inserting" part with stuff you tell it about
01:41:43  <defunctzombie>this is sorta like your vars thing except by feeding it the full source which browserify could have created itself
01:42:13  <defunctzombie>in my head it sounds like it would work but maybe there are other browserify details here I have forgotten to prevent this from working as I described
01:42:24  <substack>no that would work
01:42:41  <substack>but I don't see what it would fix that makes it worth doing right now
01:43:00  <defunctzombie>it would fix having to update insert-module-globals
01:43:05  <defunctzombie>whenever you want new buffer or process
01:43:08  <substack>it would also make browserify core a little bigger
01:43:13  <defunctzombie>and it would mean that module is simpler and doesn't need the build stuff
01:43:28  <substack>the build stuff would have to live somewhere
01:43:40  <defunctzombie>it is kinda the node-core deps stuff wrt the deps
01:43:50  <defunctzombie>it would just happen within browserify I think
01:44:08  <defunctzombie>you can just call browserify from within browserify.. like 2 lines I think
01:44:10  <defunctzombie>haha
01:47:48  <defunctzombie>just made the largest PR to express I have done yet
01:47:55  <defunctzombie>major overhaul of some things
01:50:29  <kumavis>prefered browser shim for Buffer?
01:50:35  * eugenewarejoined
01:52:26  <rowbit>Hourly usage stats: [free: 20]
01:53:35  <defunctzombie>kumavis: native-buffer-browserify
01:54:10  <kumavis>defunctzombie: just found that after looking at a few poorly implemented ones
01:54:12  <kumavis>cheers
01:54:34  <kumavis>first thing i see - a wall of passing tests = : D
01:54:40  <defunctzombie>yep
01:54:59  * eugenewarequit (Ping timeout: 240 seconds)
01:55:03  * coderzachjoined
01:55:29  <substack>kumavis: you can just require('buffer') in browserify
01:55:35  <substack>just like in node
01:55:46  <substack>or just use Buffer implicitly
01:55:52  <kumavis>oh, but its not on the global?
01:56:19  <kumavis>Hmm some module in my dep tree is trying to use Buffer but it is undefined
01:56:31  <defunctzombie>kumavis: are you packaging with Browserify?
01:56:31  <kumavis>i'll look a little deeper, I assumed it was not implemented
01:56:34  <kumavis>yes
01:56:39  <defunctzombie>if you are it will just work (TM)
01:56:45  <kumavis>yeah. doesnt
01:57:26  <defunctzombie>are you packaging with some custom settings?
01:58:02  <defunctzombie>browserify will insert the Buffer global for you (and your deps) so if you are using the default stuff and it isnt that is a bug in current expected behavior
01:58:02  * thealphanerdquit (Quit: thealphanerd)
01:59:02  <defunctzombie>substack: I think that by saying "node modules in the browser" we lose some people who don't use node and don't realize that it is really just npm modules packaged for you
01:59:22  <prettyrobots>Anyone here have opinions on git merges? One straight history or merges to show topic branches?
01:59:46  <prettyrobots>Does anyone have an article to point to that argues for or against? I know this is some sort of a divisive issue, but I don't know why.
01:59:49  <defunctzombie>straight history if you can, but github merges don't fast forwards
02:00:13  * Maciek416quit (Remote host closed the connection)
02:00:15  <defunctzombie>prettyrobots: if you can fast forward merge then that is cool, if not, and the branch isn't rebased then regular merge
02:00:30  <prettyrobots>defunctzombie: Why straight history? What is the benefit? Or what is the drawback of a regular merge?
02:00:34  <defunctzombie>substack: browserify is the best tool right now to write maintainable javascript imo
02:00:50  <kumavis>i think maybe beefy uses an outdated version of browserify
02:00:57  <defunctzombie>prettyrobots: if the merge will merge something that is newer than master then you don't need a merge commit
02:01:14  <defunctzombie>prettyrobots: it just gets in the way since there was no real "merge"
02:01:30  <defunctzombie>kumavis: ping chrisdickinson
02:01:34  <prettyrobots>It doesn't break something? Like, bisect or something?
02:02:00  <prettyrobots>https://gist.github.com/canton7/3737126
02:02:44  <defunctzombie>it will not break bisect
02:04:00  <defunctzombie>doing merges when a FF could have happened is silly (github default) but doing a merge otherwise is fine
02:04:06  <defunctzombie>GH just errors on the safe side I believe
02:04:21  <defunctzombie>if you did the same merge on the git CLI with new git
02:04:26  <defunctzombie>it would do a fast forward I think
02:04:52  * thealphanerdjoined
02:11:58  <kumavis>correction, beefy uses whatever is in path
02:12:09  <kumavis>i had some old version of browserify in path somehow
02:12:17  * eugenewarejoined
02:12:38  <kumavis>substack: defunctzombie sorry for the trouble, thanks for the feedback
02:15:34  <kumavis>o! Beefy was using browserify from dev dependencies, which was from some old voxel demo... v1.17.3 x_x
02:15:49  <kumavis>thatl do it
02:15:55  * indexzerojoined
02:16:36  * occamshatchetquit (Ping timeout: 265 seconds)
02:17:02  * eugenewarequit (Ping timeout: 264 seconds)
02:23:37  * Maciek416joined
02:26:15  * occamshatchetjoined
02:26:49  * indexzeroquit (Quit: indexzero)
02:28:49  <substack>sooo old
02:33:58  * eugenewarejoined
02:34:16  * coderzachquit (Remote host closed the connection)
02:38:55  * eugenewarequit (Ping timeout: 265 seconds)
02:39:10  * coderzachjoined
02:39:57  * dominictarrjoined
02:48:51  <rvagg>feross: ping
02:49:26  <rvagg>feross: would you mind having another go at the `var Buffer` patch on readable-stream to move it down amongst the other `var` statements in those files? just so it's not hanging up there alone at the top
02:49:39  <rvagg>feross: and then I'll pull it straight in and might release a 1.0.24-1
02:52:26  <rowbit>Hourly usage stats: [developer: 3, free: 21]
02:52:52  * Maciek416quit (Remote host closed the connection)
02:59:59  * eugenewarejoined
03:04:32  <owen1>dominictarr: just in case u missed - https://news.ycombinator.com/item?id=7122228
03:06:16  * jcrugzzjoined
03:12:50  * jcrugzzquit (Ping timeout: 264 seconds)
03:16:53  * soldairquit (Ping timeout: 245 seconds)
03:26:45  * eugenewarequit (Remote host closed the connection)
03:27:13  * eugenewarejoined
03:30:37  <dominictarr>owen1, yeah some one posted that to an feedopensource issue
03:31:58  * contrahaxquit (Quit: Sleeping)
03:32:28  * eugenewarequit (Ping timeout: 252 seconds)
03:34:47  <feross>rvagg: sorry was talking with a friend i hadn't seen in a while. sorry for not responding right away
03:34:50  <feross>rvagg: yep, i can do that
03:35:12  * coderzachquit (Remote host closed the connection)
03:35:34  <rvagg>np
03:35:36  <rvagg>no rush
03:37:29  * coderzachjoined
03:38:41  * jcrugzzjoined
03:39:07  <feross>substack: looks like we broke browserify on windows with that insert-module-globals change
03:39:11  <feross>substack: did you see https://github.com/substack/insert-module-globals/issues/25 ?
03:39:20  * shamaquit
03:39:27  <feross>what's the crossplatform way to specify a post-install script?
03:39:45  <feross>apparently "./build.js" doesn't work
03:40:22  <feross>i bet that "node build" would work
03:41:03  <defunctzombie>feross: yes
03:41:08  <feross>okay, i'll send a PR
03:41:10  <defunctzombie>feross: because shell scripts don't work on windows
03:41:15  <feross>right
03:41:27  <feross>we almost had it right! darn :/
03:41:28  <defunctzombie>I think the better thing to do is not depend on browserify and do what I suggested
03:41:37  <defunctzombie>with passing in the built file
03:41:50  <feross>but where would it get built?
03:42:02  <defunctzombie>by the user of insert-module-globals
03:42:08  <defunctzombie>so in this case by browserify
03:43:00  * coderzachquit (Remote host closed the connection)
03:43:56  <feross>it sounded like substack was hesitant to move that into browserify core, but i agree with you that it would make insert-module-globals simpler
03:44:16  <feross>i just want to fix the Buffer versions being inconsistent, so that's not my battle right now ;)
03:44:34  <feross>substack: please merge this to fix browserify on windows https://github.com/substack/insert-module-globals/pull/26
03:47:03  * jcrugzzquit (Ping timeout: 252 seconds)
03:52:01  * phatedquit (Remote host closed the connection)
03:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 48]
03:55:56  * defunctzombiechanged nick to defunctzombie_zz
04:00:09  * contrahaxjoined
04:02:29  * Maciek416joined
04:02:43  * dominictarrquit (Ping timeout: 252 seconds)
04:04:26  <feross>substack: i think the install script is breaking browserify installs on testling :(
04:04:27  <feross>https://ci.testling.com/feross/bittorrent-protocol
04:04:44  <feross>i think it's a race condition where the install script is being run before all of browserify's deps are fully installed
04:04:53  <feross>so it can't find packages that it needs
04:05:11  <feross>why doesn't it wait until EVERYTHING is installed to run all the install scripts?
04:05:30  <feross>also another related failure: https://travis-ci.org/substack/insert-module-globals/jobs/17629770
04:06:24  * thealphanerdquit (Ping timeout: 265 seconds)
04:07:26  <substack>feross: what if native-buffer-browserify had the bundle.js file in it?
04:07:43  <feross>hmm, maybe that's a good idea
04:07:50  <substack>then insert-module-global wouldn't need to do the bundle itself, it could just require.resolve('native-buffer-browserify/bundle.js')
04:08:06  <feross>and then it could be a prepublish script too, right?
04:08:07  <substack>and that could happen on prepublish like insert-module-global was originally doing
04:08:13  <substack>but it wouldn't get out of sync
04:08:23  <feross>that works for me
04:11:19  <feross>substack: so now I can't do `browserify -r native-buffer-browserify` anymore
04:11:36  <feross>what's the equivalent command to require '../'?
04:12:26  <substack>does -r ../ work?
04:12:33  <substack>or . or whatever
04:14:32  * ednapiranhajoined
04:23:22  <feross>substack: it worked. published as [email protected]
04:23:23  <feross>the file is called "bundle.js" and its in the root of the package
04:24:05  <substack>ok, I'll put together the rest. thanks!
04:25:02  <feross>np!
04:27:50  * hoobdeeblaquit
04:33:31  * __rockbot__joined
04:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 21]
04:56:26  * thlorenzquit (Remote host closed the connection)
05:06:21  * contrahaxquit (Quit: Sleeping)
05:13:18  <substack>feross: ok all fixed in 2.3.4
05:31:58  <feross>great!
05:36:20  * jorychanged nick to lazzle17
05:36:36  * lazzle17changed nick to jory
05:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 19]
05:54:43  * guybrushquit (Excess Flood)
05:54:55  * guybrushjoined
06:02:46  * jcrugzzjoined
06:03:04  * thealphanerdjoined
06:04:37  <feross>pkrumins: any timeline on when the "interleaved test output" bug on testling will be fixed?
06:04:47  <feross>pkrumins: i keep getting test failures from it: https://ci.testling.com/feross/bittorrent-protocol
06:07:06  * chromakode_joined
06:08:07  * chromakode_quit (Client Quit)
06:15:48  <substack>feross: that's just the duplicate output bug
06:16:00  * __rockbot__quit (Quit: __rockbot__)
06:16:08  <feross>haven't heard about that - what causes it?
06:18:27  <feross>^ substack
06:18:58  <substack>we need to invalidate the output from old failed requests in the retry logic
06:21:36  <substack>because sometimes when a browser times out it actually still spins up, but late
06:26:06  <jesusabdullah>holy moley
06:26:20  <jesusabdullah>I think I might have added proper build statuses to browserify-cdn
06:29:58  <grncdr>what makes a build status proper?
06:33:09  <jesusabdullah>good-enough-to-commit
06:33:18  <jesusabdullah>I'm close but not quite, I gotta rewrite this one part
06:33:33  <jesusabdullah>basically do streamings
06:33:48  <jesusabdullah>probably gonna do it stupid this time, worry about perf later
06:34:25  * crankquit (Ping timeout: 272 seconds)
06:36:41  * Maciek416quit (Remote host closed the connection)
06:38:22  <jesusabdullah>rvagg: Can I close a leveldb read stream if I realize I don't need those values?
06:38:37  <jesusabdullah>rvagg: trying to come up with a sane way to query over a semver range
06:41:16  * crankjoined
06:52:21  <jesusabdullah>rvagg: I think nvm and I'll just hit npm for that info
06:52:26  <rowbit>Hourly usage stats: [developer: 3, free: 4]
06:52:45  * ednapiranhaquit (Remote host closed the connection)
06:53:11  * ednapiranhajoined
06:57:41  * ednapiranhaquit (Ping timeout: 248 seconds)
07:05:22  * funkytekjoined
07:10:31  * marcello3dquit (Remote host closed the connection)
07:38:55  <feross>rvagg: ping
07:39:05  <feross>rvagg: updated the PR as you requested https://github.com/isaacs/readable-stream/pull/75
07:41:30  * phatedjoined
07:51:07  * marcello3djoined
07:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 22]
07:53:28  <rvagg>feross: thanks
07:53:43  * ednapiranhajoined
07:54:02  <rvagg>jesusabdullah: yes, there's no reason to consume the whole stream, it's common to use a stream to just find a single value and then end the stream
07:54:21  <rvagg>jesusabdullah: just make sure you do end the stream or you'll leave resources laying around which will impact on performance and disk usage over time
07:57:34  <jesusabdullah>rvagg: word. In this case I didn't really need it XD but good to know :)
07:57:54  <jesusabdullah>man browserify-cdn hammers travis
07:58:03  * ednapiranhaquit (Ping timeout: 245 seconds)
07:58:12  <jesusabdullah>it takes 2 minutes to set up and run the test suite XD
08:02:43  * marcello3dquit (Ping timeout: 272 seconds)
08:05:14  * fotoveritequit (Quit: fotoverite)
08:09:19  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:16:11  * anvaka_joined
08:19:04  <rvagg>is it written in ruby?
08:29:41  * marcello3djoined
08:33:52  * contrahaxjoined
08:34:30  * marcello3dquit (Ping timeout: 252 seconds)
08:36:33  * contraha_joined
08:38:59  * contrahaxquit (Ping timeout: 260 seconds)
08:41:32  * funkytekjoined
08:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 9]
08:54:13  * ednapiranhajoined
08:58:43  * ednapiranhaquit (Ping timeout: 252 seconds)
09:15:53  * eugenewarejoined
09:21:29  <chapel>I have a technical problem I am trying to plan for, I have an existing mysql database with somewhat complex data/relations that I would like to abstract away and interface with to write a new node client using this data, while allowing me to convert to using leveldb at the main database, but without rewriting the application logic
09:22:00  <chapel>my thought is to use a light orm, with custom translation for each database, that conform to the same schema the application expects
09:30:22  * marcello3djoined
09:35:01  * marcello3dquit (Ping timeout: 248 seconds)
09:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 15]
09:52:32  * phatedquit (Remote host closed the connection)
09:54:43  * ednapiranhajoined
09:59:38  * ednapiranhaquit (Ping timeout: 264 seconds)
10:14:18  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
10:19:34  * joatesjoined
10:19:34  * joatesquit (Client Quit)
10:31:07  * marcello3djoined
10:35:33  * marcello3dquit (Ping timeout: 245 seconds)
10:47:13  * dominictarrjoined
10:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 10]
10:55:13  * ednapiranhajoined
10:57:16  * contraha_quit (Quit: Sleeping)
10:57:49  <dominictarr>npm is so much better than pip!
11:03:07  * phatedjoined
11:03:20  * ednapiranhaquit (Ping timeout: 245 seconds)
11:08:01  * phatedquit (Ping timeout: 272 seconds)
11:32:09  * marcello3djoined
11:36:37  * marcello3dquit (Ping timeout: 252 seconds)
11:47:22  <rvagg>dominictarr: what hash alg are you using for the merkle tree stuff?
11:47:49  <dominictarr>rvagg, I was using sha1, but it's not coupled to any particular
11:48:03  * rvaggjust wants something fast, doesn't have to be too secure
11:48:10  <dominictarr>I think i'll switch to sha256 or RIPM160
11:48:12  <rvagg>doing something similar to merkle tree calculation
11:48:20  <dominictarr>sha256 is faster
11:48:27  <dominictarr>from what I've seen.
11:48:49  <dominictarr>rvagg, what is it for?
11:48:51  <rvagg>ok, cool, thanks
11:49:16  <rvagg>dominictarr: I'm doing a sync from a remote sqlserver database to a local leveldb but there's no reliable way to determine updates and the connection isn't fast
11:49:42  <rvagg>dominictarr: so I'm going to do paging queries and pass back primary keys and a hash of a json representation of the row
11:50:00  <rvagg>then I can compare it to the local version and determine (1) if I have that row already (by primary key) and (2) if it's changed
11:50:41  <rvagg>so I don't need full merkle tree functionality, just some basic hashing so I can minimise the data transmitted and maximise the batch size
11:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 28]
11:59:46  * ednapiranhajoined
12:01:28  * yorickjoined
12:04:07  * ednapiranhaquit (Ping timeout: 252 seconds)
12:07:56  * thealphanerdquit (Quit: thealphanerd)
12:11:24  * anvaka_quit (Remote host closed the connection)
12:25:17  * dominictarrquit (Ping timeout: 272 seconds)
12:32:37  * marcello3djoined
12:34:02  * eugenewa_joined
12:37:27  * marcello3dquit (Ping timeout: 260 seconds)
12:37:57  * eugenewarequit (Ping timeout: 272 seconds)
12:38:43  * eugenewa_quit (Ping timeout: 265 seconds)
12:39:02  * ins0mniajoined
12:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 23]
13:00:16  * ednapiranhajoined
13:04:37  * ednapiranhaquit (Ping timeout: 248 seconds)
13:22:44  * eugenewarejoined
13:32:21  * fronxjoined
13:33:22  * marcello3djoined
13:35:38  * eugenewarequit (Ping timeout: 264 seconds)
13:37:59  * marcello3dquit (Ping timeout: 240 seconds)
13:39:25  * ins0mniaquit (Read error: Connection reset by peer)
13:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 15]
14:00:46  * ednapiranhajoined
14:05:37  * ednapiranhaquit (Ping timeout: 272 seconds)
14:34:05  * marcello3djoined
14:38:29  * marcello3dquit (Ping timeout: 240 seconds)
14:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 35]
15:01:16  * ednapiranhajoined
15:05:06  * fronxquit (Remote host closed the connection)
15:06:14  * ednapiranhaquit (Ping timeout: 264 seconds)
15:09:57  * jcrugzzquit (Ping timeout: 248 seconds)
15:12:55  <robertkowalski>hey! is anyone of the #stackvm peeps goign to fosdem, brussels?
15:34:51  * marcello3djoined
15:39:35  * marcello3dquit (Ping timeout: 245 seconds)
15:40:10  * eugenewarejoined
15:44:37  * eugenewarequit (Ping timeout: 252 seconds)
15:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 36]
16:01:46  * ednapiranhajoined
16:06:41  * ednapiranhaquit (Ping timeout: 272 seconds)
16:19:30  * jcrugzzjoined
16:25:18  * thlorenzjoined
16:25:38  * Maciek416joined
16:28:00  * ednapiranhajoined
16:32:59  * jcrugzzquit (Ping timeout: 240 seconds)
16:35:42  * marcello3djoined
16:37:01  * mikolalysenkojoined
16:37:24  * kriskowalquit (Quit: kriskowal)
16:40:05  * marcello3dquit (Ping timeout: 248 seconds)
16:40:17  * joatesjoined
16:40:19  * hoobdeeblajoined
16:48:05  * fotoveritejoined
16:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 24]
16:52:29  * mikolalysenkoquit (Ping timeout: 240 seconds)
16:53:17  * joatesquit (Remote host closed the connection)
16:54:04  * joatesjoined
16:56:00  * ralphtheninjajoined
16:57:21  * mikolalysenkojoined
16:58:08  * joatesquit (Remote host closed the connection)
16:58:31  * joatesjoined
17:02:59  * joatesquit (Remote host closed the connection)
17:03:30  * joatesjoined
17:04:04  * joatesquit (Client Quit)
17:12:44  * thlorenzquit (Remote host closed the connection)
17:13:22  * thlorenzjoined
17:14:54  * thlorenzquit (Remote host closed the connection)
17:14:59  * mikolalysenkoquit (Ping timeout: 240 seconds)
17:18:42  * kriskowaljoined
17:18:56  * mikolalysenkojoined
17:19:16  * thlorenz_joined
17:28:25  * AvianFlujoined
17:30:09  * mafintoshjoined
17:30:24  <jjjohnny>mikolalysenko: is there an ndarray rotate?
17:33:14  * thlorenz_quit (Ping timeout: 264 seconds)
17:34:31  * mafintoshquit (Ping timeout: 265 seconds)
17:36:23  * marcello3djoined
17:40:45  * marcello3dquit (Ping timeout: 252 seconds)
17:42:03  * phatedjoined
17:44:59  * ralphtheninjaquit (Ping timeout: 240 seconds)
17:47:03  * ralphtheninjajoined
17:52:26  <rowbit>Hourly usage stats: [developer: 2, free: 27]
17:55:47  <mikolalysenko>jjjohnny: yeah
17:56:00  <mikolalysenko>jjjohnny: but you can also do rotation by 90 degrees using transpose
17:56:04  <mikolalysenko>which is a constant time operation
17:56:33  <mikolalysenko>but here is code for rotating an image https://npmjs.org/package/image-rotate
17:56:45  <mikolalysenko>for more general transforms use this: https://npmjs.org/package/ndarray-warp
17:57:28  * ednapiranhaquit (Quit: Leaving...)
17:57:36  <mikolalysenko>or to do a rotate by 90 degrees you can do: arr.transpose(1, 0).step(-1, 1)
17:57:49  <mikolalysenko>basically the step can flip the array around and transpose changes the view
17:58:03  <mikolalysenko>for orthogonal rotations that is the fastest way to do it since it is an O(1) operation
17:58:16  <mikolalysenko>for other rotations (say 30 degrees or whatever), you need image-rotate
17:58:30  <mikolalysenko>and in higher dimensions you can use the ndarray-warp
17:58:40  <mikolalysenko>or for other more general transformations
17:59:10  <mikolalysenko>https://github.com/mikolalysenko/ndarray#arraystepijk
17:59:15  <mikolalysenko>https://github.com/mikolalysenko/ndarray#arraytransposep0-p1-
18:00:01  * coderzachjoined
18:07:05  * marcello3djoined
18:11:01  * jcrugzzjoined
18:18:08  * crankquit (Remote host closed the connection)
18:23:11  * defunctzombie_zzchanged nick to defunctzombie
18:24:42  * crankjoined
18:50:38  * ralphtheninjaquit (Ping timeout: 264 seconds)
18:52:09  * ralphtheninjajoined
18:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 20]
19:00:16  * thlorenzjoined
19:10:47  * thlorenzquit (Remote host closed the connection)
19:15:09  <jjjohnny>mikolalysenko: thanks!
19:16:35  <juliangruber>ogd: hey. just saw your multilevel http question.
19:16:56  <jjjohnny>mikolalysenko: can you explain transpose?
19:17:01  <juliangruber>ogd: i think get is only unidirectional?
19:21:19  * i_m_caquit (Ping timeout: 252 seconds)
19:27:33  <rowbit>/!\ GitHub user "miohtama" is supporting Testling with the testling_supporter_5 plan! $5/month. Cash money!
19:35:55  <mikolalysenko>jjjohnny: sure, it basically permutes the indices of the array
19:37:07  <mikolalysenko>so instead of accessing the array using i * strideX + j * strideY + offset, it accesses using i * strideY + j * strideX + offset
19:37:17  <mikolalysenko>so you get the effect of flipping x and y
19:37:30  <mikolalysenko>setting step to a negative amount basically swaps the stride
19:38:00  <mikolalysenko>for example, i * stride + offset becomes i * (-stride) + (offset + (n-1) * stride)
19:38:26  <mikolalysenko>so you can use the negative stride to flip an array around without having to copy it
19:44:19  <jjjohnny>mikolalysenko: would i only ever transpose(1,0)?
19:44:47  <mikolalysenko>jjjohnny: in 2D, that is the only one that makes sense
19:44:51  <jjjohnny>and the step based on how many 90 degree turns i need to do?
19:44:59  <mikolalysenko>I guess technically you could do something like transpose(1,1) or transpose(0,0)
19:45:08  <mikolalysenko>but that is probably not what you want most of the time
19:45:11  <jjjohnny>i only n * 90 degree turns for now
19:45:14  <mikolalysenko>yeah
19:45:18  <jjjohnny>only need
19:45:48  <mikolalysenko>so you would do, .transpose(1,0) and transpose(1,0).step(-1,1) and .step(-1,1)
19:46:07  <mikolalysenko>combined with the identity that gives you the 4 possible 2d rotations
19:46:50  <jjjohnny>mikolalysenko: transpose(1,0) alone does what exactly?
19:47:37  <jjjohnny>oh right
19:48:04  * defunctzombiechanged nick to defunctzombie_zz
19:48:34  <mikolalysenko>transpose permutes the indices of the array
19:49:09  <jjjohnny>permutes as in flip? permute is a general term as I understand it
19:49:24  <mikolalysenko>it basically changes the indexing
19:49:49  <mikolalysenko>ie: array.get(i0, i1) === array.transpose(1,0).get(i1, i0)
19:52:26  <rowbit>Daily usage stats: [developer: 8, free: 569]
19:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 34]
19:52:32  * phatedquit (Remote host closed the connection)
19:58:39  * coderzachquit (Remote host closed the connection)
19:58:53  * peutetrejoined
19:59:28  * marcello3dquit (Remote host closed the connection)
20:00:15  * marcello3djoined
20:01:07  * peutetre_joined
20:04:05  * peutetrequit (Ping timeout: 272 seconds)
20:04:05  * peutetre_changed nick to peutetre
20:04:31  * marcello3dquit (Ping timeout: 260 seconds)
20:08:03  <grncdr>chapel: just saw your question about going from complex mysql to leveldb
20:08:12  * coderzachjoined
20:09:03  <grncdr>have you already planned how you want to repr the data in mysql?
20:09:11  <grncdr>er.. represent the data in leveldb
20:09:11  <chapel>grncdr: been thinking about it some, I guess I really shouldn't worry about having them work at the same time, because I should port the mysql data to leveldb once I have the functionality finished and the "schemas" setup
20:09:25  <chapel>well, I am still working through that
20:09:40  <chapel>I am essentially writing a custom version of vbulletin for a forum I run
20:09:54  <chapel>I want to replace vbulletin (not everything, just core forum features)
20:10:07  <chapel>so lots of relational data
20:10:16  <grncdr>ah, I'm not familiar with vbulletin, but yeah, I can see how that would get complex
20:10:44  <chapel>nothing special to vbulletin
20:10:50  <grncdr>depending on how rigorous you want to be with assuring that everything works, there's a few different approaches
20:11:43  <grncdr>you can write an ETL style process, run it, test against the output and be reasonably confident that things work
20:11:59  <grncdr>or you can do data transformation "online"
20:12:12  <grncdr>personally I prefer the latter
20:12:38  <grncdr>so you would write your API to treat the leveldb as caching layer first over the db
20:13:26  * thlorenzjoined
20:13:29  <chapel>well, there would be two things going on
20:13:53  <chapel>I couldn't use it as an online cache/transform layer until I have all write actions ported to leveldb
20:14:25  <chapel>my plan is to first create a read only version of the site, reading from mysql
20:14:47  <chapel>I get the benefit of using it sooner that way
20:15:15  <chapel>then I can create the write functionality for leveldb, and do the online transform
20:16:34  <grncdr>that makes sense
20:18:04  <grncdr>just in case you hadn't considered it though, you *could* start with the caching layer approach despite not having the write actions implemented there, by calling into some cache invalidation endpoint from the PHP side of things
20:18:14  * AvianFluquit (Remote host closed the connection)
20:19:01  <grncdr>if you were proxying the entire site behind your node server, you wouldn't even need to touch the PHP, just parse POST requests and invalidate the cache
20:19:23  <chapel>yeah
20:19:53  <chapel>it makes sense, but I don't have a lot of spare time to work on this so I want to start using it as soon as possible
20:20:09  <grncdr>fair enough :)
20:20:15  <chapel>in that, having a read only version would allow for people to use it on mobile devices
20:20:34  <chapel>obviously I could just make a mobile template in vbulletin itself, but that shit is a pain
20:20:45  <chapel>don't want to do anything more with it if I can avoid it
20:21:16  <grncdr>I know that feel
20:21:22  <chapel>also, having an initial read only version allows me to flesh out all of the features in order of importance, top being general browsing/reading
20:24:19  <rowbit>substack, pkrumins: Encoders down: 50.56.27.70 (dev-ie6-1), 166.78.104.64 (dev-ie10-2), 162.242.164.84 (dev-ie11-1)
20:26:45  * thlorenzquit (Ping timeout: 248 seconds)
20:28:13  * thlorenzjoined
20:30:42  * marcello3djoined
20:34:03  * phatedjoined
20:35:24  * contrahaxjoined
20:39:04  <jesusabdullah>I have to pack today :(
20:39:18  * thlorenzquit (Read error: Connection reset by peer)
20:39:35  <chapel>pack for what?
20:39:38  * thlorenzjoined
20:42:14  <jesusabdullah>chapel: moving!
20:42:20  <jesusabdullah>chapel: Movers come tomorrow
20:42:26  <chapel>moving to where?
20:42:29  <jesusabdullah>chapel: new york
20:42:33  <jesusabdullah>chapel: new job
20:42:35  <chapel>you get a new job?
20:42:37  <chapel>where at?
20:45:00  * mikolalysenkoquit (Ping timeout: 245 seconds)
20:45:11  * mafintoshjoined
20:46:26  * marcello3dquit (Ping timeout: 264 seconds)
20:48:49  <rowbit>substack, pkrumins: Encoders down: 50.57.72.69 (free7)
20:48:59  * AvianFlujoined
20:50:43  <jesusabdullah>chapel: Conde Nast
20:51:06  <chapel>awesome, didn't know they gave you an offer
20:51:08  <chapel>excited?
20:51:29  <jesusabdullah>Yeah! But mostly preoccupied with making the move right now
20:51:50  <jesusabdullah>I'm a liiiittle behind, I haven't started the process of finding a permanent apartment yet
20:51:59  <jesusabdullah>meant to start that like Friday
20:52:01  <jesusabdullah>derf
20:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 24]
20:53:04  <chapel>jesusabdullah: I know what you mean
20:54:37  * AvianFluquit (Read error: Connection reset by peer)
20:54:45  * AvianFlu_joined
20:54:46  * defunctzombie_zzchanged nick to defunctzombie
20:54:55  <jesusabdullah>I wish I had more money right now
20:55:00  <jesusabdullah>I'll be fine once I'm settled but like
20:55:03  <jesusabdullah>moving's expensive
20:56:07  <chapel>they paying for any of the move?
20:57:12  <jesusabdullah>Yeah, reimbursement on a ton of stuff
20:57:25  <jesusabdullah>but not for housing XD
20:57:49  <chapel>but for the cost of the move right?
20:57:51  <jesusabdullah>I'll be able to get reimbursement on my movers, and probably on the flight as well
20:58:08  <jesusabdullah>Their poilicies usually say that they have to buy the flight for you, but like
20:58:21  <jesusabdullah>I don't work for them yet, and I didn't know that when I bought tix
20:58:21  <jesusabdullah>so
20:58:23  <jesusabdullah>we'll see
20:58:35  <jesusabdullah>submitting those receipts anyway
20:59:01  <jesusabdullah>hmmmmm
20:59:07  <jesusabdullah>I should start with laundry and garbage, I think
20:59:08  <jesusabdullah>yeah
20:59:19  <jesusabdullah>I don't wanna pack my bed! ;_;
21:03:27  * peutetrequit (Quit: peutetre)
21:07:13  * marcello3djoined
21:09:46  * __rockbot__joined
21:12:51  * marcello3dquit (Ping timeout: 272 seconds)
21:18:03  * defunctzombiechanged nick to defunctzombie_zz
21:19:57  <jesusabdullah>you're going to bed NOW defunctzombie_zz ???
21:20:01  <jesusabdullah>shit's whack
21:26:11  * AvianFlu_quit (Remote host closed the connection)
21:27:25  * eugenewarejoined
21:28:15  * AvianPhonejoined
21:31:54  * eugenewarequit (Ping timeout: 252 seconds)
21:41:21  * mikolalysenkojoined
21:41:51  * coderzachquit (Remote host closed the connection)
21:45:59  * mikolalysenkoquit (Ping timeout: 240 seconds)
21:46:39  * marcello3djoined
21:49:17  * maksimlinjoined
21:52:01  * marcello3dquit (Ping timeout: 252 seconds)
21:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 42]
21:53:57  * peutetrejoined
21:54:19  <rowbit>substack, pkrumins: At least 10 people waiting in the queue for free servers! (Waiting: 10)
21:55:44  * Aviaphonejoined
21:57:33  * AvianPhonequit (Ping timeout: 272 seconds)
22:00:00  * ralphtheninjaquit (Quit: leaving)
22:03:22  * thealphanerdjoined
22:18:50  * thlorenzquit (Remote host closed the connection)
22:19:23  * thlorenzjoined
22:23:36  * thlorenzquit (Ping timeout: 252 seconds)
22:27:43  * AvianFlujoined
22:30:04  * Aviaphonequit (Quit: Bye)
22:30:09  * thlorenzjoined
22:37:55  * defunctzombie_zzchanged nick to defunctzombie
22:38:09  <defunctzombie>jesusabdullah: hahaha
22:38:10  <defunctzombie>jesusabdullah: that just happens whenever computer goes to sleep and I disconnect
22:40:33  * peutetrequit (Quit: peutetre)
22:42:04  * mikolalysenkojoined
22:44:57  * coderzachjoined
22:46:45  * funkytekjoined
22:47:14  * mikolalysenkoquit (Ping timeout: 265 seconds)
22:47:49  <jesusabdullah>defunctzombie WAKE UP
22:47:51  <jesusabdullah>hahaha
22:48:00  <jesusabdullah>oh crap, something I forgot to wash
22:48:07  <jesusabdullah>I think it's a time-to-retire shirt anyway
22:49:07  * __rockbot__quit (Quit: __rockbot__)
22:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 35]
22:55:27  * defunctzombiechanged nick to defunctzombie_zz
23:03:29  * __rockbot__joined
23:09:00  * mikolalysenkojoined
23:17:42  * coderzachquit (Remote host closed the connection)
23:23:34  * coderzachjoined
23:24:21  * mikolalysenkoquit (Ping timeout: 248 seconds)
23:35:13  * thlorenzquit (Remote host closed the connection)
23:36:26  * defunctzombie_zzchanged nick to defunctzombie
23:41:03  * mikolalysenkojoined
23:52:26  <rowbit>Hourly usage stats: [developer: 4, free: 52]
23:55:15  * mikolalysenkoquit (Ping timeout: 272 seconds)
23:59:32  * eugenewarejoined