00:00:08  * ircretaryjoined
00:01:28  * timoxleyjoined
00:04:17  <ralphtheninja>mbalho: anathem noted, reading cryptonomicon right now
00:04:51  <ralphtheninja>seems stephenson is a common favorite in here :)
00:07:21  <rvagg>ralphtheninja: I *know* you'd like Withur We, grab that too, totally up your alley I reckon
00:09:31  <ralphtheninja>rvagg: cool! this one http://www.amazon.com/With%C3%BBr-We-ebook/dp/B003R0LPEA/ref=sr_1_1?ie=UTF8&qid=1368403741&sr=8-1&keywords=withur+we ?
00:10:02  <ralphtheninja>gonna be in total mad science mode after this summer :D
00:10:04  <rvagg>ralphtheninja: yes, or free pdf if you can handle reading it as a pdf: http://www.withurwe.com/
00:12:38  <ralphtheninja>rvagg: this is definitely up my alley hehe
00:12:48  <rvagg>aye
00:15:29  * wolfeidauquit (Ping timeout: 245 seconds)
00:16:17  <ralphtheninja>I should cut down on stupid series and read more instead
00:18:25  * yorickquit (Remote host closed the connection)
00:18:55  * wolfeidaujoined
00:27:18  * AvianFlujoined
00:28:10  * mikealquit (Quit: Leaving.)
00:29:36  * wolfeidauquit (Ping timeout: 264 seconds)
00:33:59  * wolfeidaujoined
00:43:42  * timoxleyquit (Quit: Computer has gone to sleep.)
00:50:22  * mikolalysenkojoined
00:55:14  * mikolalysenkoquit (Ping timeout: 255 seconds)
00:58:28  * mikealjoined
01:06:16  * thl0joined
01:12:52  * st_lukequit (Remote host closed the connection)
01:40:20  * thl0quit (Remote host closed the connection)
01:42:47  * nicholasfquit (Read error: Connection reset by peer)
01:43:19  * nicholasfjoined
01:48:39  * wolfeidauquit (Remote host closed the connection)
01:50:44  * mikolalysenkojoined
01:55:17  * wolfeidaujoined
01:55:46  * mikolalysenkoquit (Ping timeout: 276 seconds)
02:03:23  * mikolalysenkojoined
02:05:10  * wolfeidauquit (Remote host closed the connection)
02:19:07  * jcrugzzjoined
02:24:31  * mikolaly1enkojoined
02:26:54  * mikolalysenkoquit (Ping timeout: 276 seconds)
02:27:31  * jcrugzzquit (Ping timeout: 264 seconds)
02:28:59  * ircretaryquit (Ping timeout: 255 seconds)
02:40:25  * ralphthe1injajoined
02:42:32  * mikealquit (*.net *.split)
02:47:02  * ralphtheninjaquit (*.net *.split)
02:47:49  * wolfeidaujoined
02:47:50  * mikealjoined
02:51:20  * wolfeidauquit (*.net *.split)
02:51:20  * mikealquit (*.net *.split)
02:52:39  * wolfeidaujoined
02:52:39  * mikealjoined
02:54:51  <substack>defunctzombie_zz: is there a way we can make that .coffee thing work in a non-global way?
02:55:27  <substack>I really want to avoid the "to use this module you must enable the .coffee extension" problem if we have this feature at all
03:02:31  * timoxleyjoined
03:04:04  * ralphthe1injaquit (Ping timeout: 246 seconds)
03:13:49  * jcrugzzjoined
03:16:02  * wolfeidauquit (Remote host closed the connection)
03:16:12  <mikolaly1enko>jjjohnny: just saw your message now
03:16:30  <mikolaly1enko>basically, the imaginary part is necessary to encode the "phase"
03:16:38  <mikolaly1enko>though it is combined with the real part of a signal
03:16:45  <mikolaly1enko>recall euler's formula:
03:17:01  <mikolaly1enko>r * e^{i theta} = r cos(theta) + i * r * sin(theta)
03:17:30  <mikolaly1enko>the real + imaginary part is enought to encode amplitude (r) with phase (theta)
03:18:08  <mikolaly1enko>for real valued functions, you get frequencies in complex conjugate pairs
03:18:15  <mikolaly1enko>so the entire function is real valued
03:18:51  <mikolaly1enko>though thinking about what I am saying, I am probably not explaining this well. There is a lot of background material here that you need to understand for this to make sense
03:19:20  <mikolaly1enko>as a first question, do you know about eigenvalue problems?
03:24:34  * kenperkinsquit (Ping timeout: 256 seconds)
03:25:50  * kenperkinsjoined
03:26:36  <substack>thinking some very subversive thoughts now
03:27:44  <substack>so much technical instruction focuses on the minutiae and so little on the aesthetics and the philosophy
03:28:55  <substack>a programming book that does not also heavily discuss rationality and metacognition will leave its readers very susceptible to confused ideas like GoF or java
03:57:56  * mikealquit (Quit: Leaving.)
04:12:23  <mikolaly1enko>jjjohnny: if you know about eigenvectors, a "simpler" way to see why complex values are necessary is to look at solutions to polynomials
04:12:49  <mikolaly1enko>if you have a polynomial (even with just real coefficients) then finding its roots requires brining in complex numbers
04:13:08  <mikolaly1enko>and finding eigenvalues amounts to solving a polynomial equation
04:13:23  <mikolaly1enko>namely, the characteristic equation: det(A I - lambda I) = 0
04:13:48  <mikolaly1enko>the fourier transform is the solution to a kind of eigenvalue problem
04:14:03  <mikolaly1enko>so it requires bringing in complex numbers in order to solve it
04:14:22  * wolfeidaujoined
04:14:39  <mikolaly1enko>for the same reason that you need complex numbers to solve polynomial equations
04:15:20  <mikolaly1enko>in fact, the basic thing the fourier transform does is that it solves the eigenvalue problem for shift operators
04:15:34  <mikolaly1enko>where a shift is just something that translates a function left/right some amount
04:19:51  <mikolaly1enko>substack: re philosophy of technical instruction, I'm not sure how much place it has in education. I think students should discover it on their own, rather than having it handed to them on a platter
04:20:24  <mikolaly1enko>it would be good to cultivate a sort of mystery of philosphy, teach techniques but also teach students to question and search for better answers
04:24:11  <substack>I think there is already a good template for this kind of discourse: parables
04:24:54  <substack>the lessons are general and it's more about training your mind to notice when they apply to your specific problem
04:40:23  <jcrugzz>substack: yes correlations through parable type stories can be quite powerful
04:40:24  <jcrugzz>i like
04:41:32  <substack>a parable followed by a concrete exercise that demonstrates the primary lesson
04:42:01  <substack>but full of subversive ancillary lessons like only trusting authority insofar as their arguments are sound and justified
04:42:34  <substack>I've already fleshed out a basic one involving top-down vs bottom-up designs
04:43:36  * mikealjoined
04:44:10  <substack>whereupon the arrogant queen with many resources embarks upon a top-down design for her recently-destroyed castle and the nimble dutchess builds a castle out of simple, reusable components and is much more responsive to changing circumstances
04:44:21  * nicholasfquit (Remote host closed the connection)
04:45:39  <substack>and then for the practical exercise the reader builds a castle out of code using each approach: top-down and bottom-up
04:48:49  * mikealquit (Quit: Leaving.)
04:49:43  * Guest49967changed nick to jden
04:58:57  * AvianFluquit (Remote host closed the connection)
05:00:31  * mikolaly1enkoquit (Ping timeout: 264 seconds)
05:10:13  * mikealjoined
05:12:38  * mikolalysenkojoined
05:48:48  <juliangruber>http://demo.peerkit.com/static/index_demo.html
05:52:21  <juliangruber>for distributing load on websites across their visitors
05:52:53  <juliangruber>still requires a server to do the webrtc things and give hashsums etc
06:02:05  * timoxleyquit (Quit: Computer has gone to sleep.)
06:20:36  * mikolalysenkoquit (Ping timeout: 264 seconds)
06:20:43  * wolfeidauquit (Remote host closed the connection)
06:21:41  * nicholas_joined
06:24:34  * wolfeidaujoined
06:50:40  * jcrugzzquit (Ping timeout: 260 seconds)
07:08:54  * stagasjoined
07:16:16  * jcrugzzjoined
07:22:24  * djcoinjoined
07:25:11  * jcrugzzquit (Ping timeout: 252 seconds)
07:25:53  * mikolalysenkojoined
07:26:07  * wolfeidauquit (Remote host closed the connection)
07:31:07  * mikolalysenkoquit (Ping timeout: 264 seconds)
07:54:31  * timoxleyjoined
08:17:50  * gozalajoined
08:26:29  * slurp2joined
08:26:29  * substacktopic: Unofficial browserling/testling mad science channel. For official help /join #browserling
08:26:30  * Effilryjoined
08:26:50  * no9joined
08:27:09  * perlbotquit (*.net *.split)
08:27:09  * LOUDBOTquit (*.net *.split)
08:27:10  * slurpquit (*.net *.split)
08:27:10  * CoverSlidequit (*.net *.split)
08:27:10  * Nexxyquit (*.net *.split)
08:27:10  * FireFlyquit (*.net *.split)
08:27:10  * munroquit (*.net *.split)
08:27:16  * perlbotjoined
08:27:49  * Nexxyjoined
08:31:01  * chapelquit (*.net *.split)
08:31:02  * lepahcchanged nick to chapel
08:32:31  * CoverSlidejoined
08:36:35  * CoverSlidequit (*.net *.split)
08:37:21  * CoverSlidejoined
08:37:35  * CoverSlidequit (Max SendQ exceeded)
08:37:44  * CoverSlidejoined
09:03:29  * Effilrychanged nick to FireFly
09:16:08  * wolfeidaujoined
09:41:50  * jan____quit (Quit: Terminated with extreme prejudice - dircproxy 1.0.5)
09:43:35  * thatguydanjoined
09:47:23  * mcollinajoined
10:29:46  <substack>https://github.com/substack/node-shell-quote#parsing-shell-operators
10:33:38  * thatguydanquit (Quit: thatguydan)
10:33:44  <djcoin>hey substack, did you have a look at : https://github.com/substack/emit-stream/pull/3 ?
10:36:01  <substack>looking
10:36:12  <substack>oh right
10:36:18  <substack>djcoin: your editor is really spammy
10:36:23  <substack>configure it not to thrash whitespace
10:36:32  <substack>I kind of just ignore those pull requests that thrash whitespace
10:36:41  <djcoin>Really ?
10:36:43  <substack>yes
10:36:46  <substack>it's really annoying
10:36:48  <substack>don't do that
10:36:55  <substack>only update lines that actually matter
10:37:03  <djcoin>Well, to me you should fix yours :)
10:37:12  <djcoin>yeah that's why I put it in a separate commit
10:37:12  <substack>mine is not broken
10:37:16  <substack>it's my code
10:37:22  <substack>I don't like cherry-picking commits
10:38:23  <substack>note how all the whitespace is self-consistent
10:38:29  <djcoin>Well, as you wish your excellence :) i will skip this commit then
10:38:37  <substack>don't mess with self-consistent whitespace ever
10:38:58  * wolfeidauquit (Remote host closed the connection)
10:40:39  <substack>the biggest problem is that when your editor thrashes all the whitespace it obscures what the changes actually are
10:41:02  <djcoin>Exactly, that s why you should get rid of trailing whitespaces from the start
10:41:11  <djcoin>and that's why i made a separate commit
10:41:12  <substack>they are not trailing
10:41:15  <substack>they are leading
10:41:21  <substack>I like code this way
10:41:38  <djcoin>this is called trailing
10:41:57  <substack>it's not consistent that empty lines are not also indented
10:42:16  <substack>my internal model of how whitespace works applies equally to empty lines
10:42:47  <djcoin>https://www.google.fr/search?q=trailing+whitespaces => http://www.gnu.org/software/emacs/manual/html_node/emacs/Useless-Whitespace.html, for example :)
10:43:05  <substack>I give zero shits about what other people think.
10:43:08  <djcoin>But I will stop on this flamewar, I know I won't change your mind and that's not my point
10:43:14  <djcoin>yeah I know
10:43:27  <substack>I'm going to ignore any pull request that includes significant formatting changes.
10:43:47  <djcoin>Yeah, i perfectly understood
10:43:52  <substack>that is not something that pull requests should do
10:43:53  <substack>ever
10:43:53  <djcoin>what about the bug then ?
10:44:02  <substack>I don't even know what the bug is.
10:44:17  <substack>but you wrote tests for it so I don't really care
10:44:21  <djcoin>Thats the point of the issue I opened and of this PR
10:46:48  * jcrugzzjoined
10:48:38  <djcoin>substack: any other comments on this PR to avoid useless round-trip ?
10:49:33  <substack>I usually just make a new test file
10:49:41  <substack>you seem to have grown the existing one quite a lot
10:49:57  <djcoin>Well there was one test - I added another one :)
10:50:06  <substack>I would usually do: cp emit.js newthing.js
10:50:23  <substack>I don't like test files that get particularly big
10:50:30  <substack>they get brittle
10:50:43  <djcoin>ok - so I will split it into another file
10:50:47  <djcoin>anything else ?
10:50:48  <substack>it's better to duplicate test code than to have tests that are too big
10:51:31  * jcrugzzquit (Ping timeout: 264 seconds)
10:51:34  <substack>seems ok
11:07:28  * Correnjoined
11:08:35  * dominictarrjoined
11:10:13  * yorickjoined
11:12:17  * kenperkinsquit (Ping timeout: 255 seconds)
11:12:19  * no9quit (Ping timeout: 255 seconds)
11:15:20  * no9joined
11:20:55  * thl0joined
11:21:31  * FireFlyquit (*.net *.split)
11:21:31  * ryan2quit (*.net *.split)
11:21:36  * mcollinaquit (*.net *.split)
11:25:23  * mcollinajoined
11:25:23  * FireFlyjoined
11:25:23  * ryan2joined
11:25:49  * FireFlyquit (Ping timeout: 241 seconds)
11:26:56  <djcoin>substack: PR updated - and by the way you were right, this was leading spaces, did not remember !
11:27:13  <substack>published 0.1.1
11:27:22  * FireFlyjoined
11:27:33  <djcoin>cool :)
11:28:09  <djcoin>Thanks for all the awesome lib by the way - I guess you are told this often
11:34:48  * Guest24902changed nick to ehd
11:37:32  * ralphtheninjajoined
11:40:07  * ralphtheninjaquit (Client Quit)
11:40:13  * ralphthe1injajoined
11:40:37  * ralphthe1injachanged nick to ralphtheninja
12:02:34  * ins0mniajoined
12:13:22  * Ralt_joined
12:13:45  * jden_joined
12:15:05  * Jan____joined
12:15:19  * Jan____quit (Changing host)
12:15:19  * Jan____joined
12:16:17  * Raltquit (Ping timeout: 264 seconds)
12:16:18  * jdenquit (Ping timeout: 264 seconds)
12:16:19  * Domenic_quit (Ping timeout: 264 seconds)
12:16:21  * Ralt_changed nick to Ralt
12:18:55  * thl0quit (Remote host closed the connection)
12:36:05  * dominictarrquit (Quit: dominictarr)
12:43:12  * stagas_joined
12:43:43  * mikeal1joined
12:50:41  * no9quit (*.net *.split)
12:50:56  * stagasquit (*.net *.split)
12:50:57  * mikealquit (*.net *.split)
12:56:19  * no9joined
13:10:03  * yorickquit (Remote host closed the connection)
13:19:09  * tmcwjoined
13:22:36  * mcollinaquit (Remote host closed the connection)
13:25:31  * kevino80joined
13:28:53  * ins0mniaquit (*.net *.split)
13:28:55  * Correnquit (*.net *.split)
13:28:58  * perlbotquit (*.net *.split)
13:29:01  * timoxleyquit (*.net *.split)
13:29:08  * Raynos_quit (*.net *.split)
13:29:11  * creationixquit (*.net *.split)
13:36:21  <juliangruber>is there a module for public key cryptography in the browser?
13:39:39  <juliangruber>I want to do a skype like thing with webrtc where users authorize via keypairs
13:40:10  * substack_joined
13:41:20  * thl0joined
13:42:18  * substackquit (Disconnected by services)
13:42:34  * substack_changed nick to substack
13:42:52  * nicholas_quit (Read error: Connection reset by peer)
13:43:20  * nicholasfjoined
13:44:39  * kevinohara80joined
13:49:48  * stagasjoined
13:52:17  * Jan____quit (Ping timeout: 260 seconds)
13:52:51  * stagas_quit (Ping timeout: 255 seconds)
13:53:00  * kevino80quit (Ping timeout: 260 seconds)
13:54:17  * mcollinajoined
13:54:55  * CoverSli1ejoined
13:54:55  <juliangruber>oh, there is: http://ats.oka.nu/titaniumcore/js/crypto/readme.txt
13:55:15  * mcollinaquit (*.net *.split)
13:55:55  * ryan2quit (*.net *.split)
13:56:21  * FireFlyquit (*.net *.split)
13:56:23  * jdenjoined
13:56:28  * jdenchanged nick to Guest58563
13:56:50  * dools_joined
13:56:51  * Madarsjoined
13:57:06  * substackchanged nick to 18WADHNUM
13:58:12  * substackjoined
13:58:12  * mcollinajoined
13:58:12  * FireFlyjoined
13:58:12  * ryan2joined
14:01:13  * doolsquit (*.net *.split)
14:01:16  * nk109quit (*.net *.split)
14:01:21  * Guest3432quit (*.net *.split)
14:03:57  * thl0quit (Write error: Broken pipe)
14:04:29  * jden_quit (Write error: Broken pipe)
14:04:29  * 18WADHNUMquit (Write error: Broken pipe)
14:04:30  * CoverSlidequit (Write error: Broken pipe)
14:05:09  * no9quit (Ping timeout: 252 seconds)
14:05:10  <tanepiper>http://www.w3.org/TR/WebCryptoAPI/
14:05:10  <tanepiper>(just a working draft)
14:05:10  <tanepiper>how about http://polycrypt.net/ ?
14:05:27  * AvianFlujoined
14:07:30  * Domenic_joined
14:12:16  * Domenic_quit (Changing host)
14:12:16  * Domenic_joined
14:12:55  * dominictarrjoined
14:13:15  <substack>https://github.com/substack/bashful#implemented
14:13:30  <substack>dominictarr: https://github.com/substack/bashful#implemented
14:14:43  * no9joined
14:14:55  <substack>I want to use this lib to make a young lady's illustrated primer for computing
14:15:25  <substack>starting with the shell and then it will show how to write your own commands
14:15:32  <substack>all filled with adventure and parables
14:16:03  <dominictarr>yes
14:16:12  <dominictarr>although, is shell the best place to start?
14:16:15  <substack>and the materials covered will be enough to understand the entire source code by the end
14:16:30  <substack>I started at the shell
14:16:46  <substack>I think the shell is the best place because it frames programming in simple terms
14:16:49  <dominictarr>oh really
14:16:59  <substack>programs just take input and produce output
14:17:03  <dominictarr>yes, using commands to tell the computer what to do
14:17:18  <substack>yes and commands are simple
14:17:21  <dominictarr>better error messages would improve things greatly
14:17:36  <no9>doesn't zedshaw have a similar approach?
14:17:41  <substack>and then when the system commands are inadequate for your purposes you have the motivation to write some commands of your own
14:17:44  <dominictarr>I have to google whenever I try to do something complex with the shell
14:18:05  <substack>I won't write about complicated things
14:18:11  <dominictarr>no9: substack yeah, there is a zed shaw web rebels talk where he says that
14:18:16  <substack>just the basics of pipes, redirects, stdout, and stdin
14:18:28  <no9>http://cli.learncodethehardway.org/book/ is part of it
14:18:30  <no9>??
14:18:35  <dominictarr>right - thta is the bast parts of the shell
14:18:49  <dominictarr>the parallelism is interesting too
14:18:55  <substack>it's like a spellbook that comes with some pre-built spells but mostly empty pages for kids to write their own spells
14:18:58  <dominictarr>& ; etc
14:19:08  <dominictarr>{ … } & { … }
14:19:26  <no9>substack I have a 10 year old here for UAT
14:19:36  <no9>She does all my dojo QA
14:19:51  * jcrugzzjoined
14:20:55  <substack>each thing students learn will be embedded in a narrative structure so that they have a reason to learn each new piece
14:21:55  <substack>it needs to be addictive
14:27:37  * rvaggquit (Ping timeout: 256 seconds)
14:28:06  * rvaggjoined
14:29:28  * vitorpachecoquit (Ping timeout: 256 seconds)
14:29:29  * dominictarrquit (Quit: dominictarr)
14:32:50  * kevinohara80quit (Remote host closed the connection)
14:34:29  * jibayjoined
14:35:10  * mikeal1quit (Quit: Leaving.)
14:36:48  * vitorpachecojoined
14:44:18  * perlbotjoined
14:45:45  * mcollina_joined
14:48:37  * mcollinaquit (Ping timeout: 274 seconds)
15:03:04  * mikealjoined
15:03:41  * mikealquit (Client Quit)
15:03:49  * kevino80joined
15:05:29  * mikealjoined
15:08:05  * fallsemojoined
15:19:28  * stagas_joined
15:22:07  * stagasquit (Ping timeout: 264 seconds)
15:22:19  * stagas_changed nick to stagas
15:28:15  * kevino80quit (Remote host closed the connection)
15:32:01  * kevino80joined
15:46:18  * mikolalysenkojoined
15:52:09  * tmcwquit (Read error: Connection reset by peer)
15:52:23  * tmcwjoined
15:53:00  * yorickjoined
15:53:07  * AvianFluquit (Remote host closed the connection)
15:53:16  * Correnjoined
15:55:38  * Correnquit (Read error: Connection reset by peer)
15:55:57  * kenperki_joined
15:57:07  * djcoinquit (Quit: WeeChat 0.4.0)
15:57:53  * kenperki_quit (Client Quit)
15:58:31  * Correnjoined
15:59:15  * creationixjoined
16:02:45  * no9quit (Ping timeout: 248 seconds)
16:09:38  * AvianFlujoined
16:11:26  * kevino80quit (Remote host closed the connection)
16:15:04  * mikealquit (Quit: Leaving.)
16:16:23  * no9joined
16:18:53  * kevino80joined
16:21:10  * tmcwquit (Remote host closed the connection)
16:24:17  * cianomaidinjoined
16:29:55  * jcrugzzquit (Ping timeout: 264 seconds)
16:31:27  * fallsemo1joined
16:31:44  * kenperki_joined
16:31:51  * shamajoined
16:32:00  * tmcwjoined
16:33:10  * yorick_joined
16:33:33  * jcrugzzjoined
16:35:10  * yorickquit (Read error: Connection reset by peer)
16:35:52  * no9quit (Ping timeout: 273 seconds)
16:35:52  * Correnquit (Ping timeout: 273 seconds)
16:35:52  * fallsemoquit (Ping timeout: 273 seconds)
16:47:01  * AvianFluquit (Ping timeout: 248 seconds)
16:47:03  * no9joined
16:47:07  * substack_joined
16:48:23  <jjjjohnnny>mikolalysenko: yeah all of that was too advanced for me
16:48:55  * substackquit (Write error: Connection reset by peer)
16:48:58  <jjjjohnnny>mikolalysenko: what I am lost on, is where do I get the other array of "imaginary" input
16:49:14  <jjjjohnnny>i have an array of audio PCM data, what is the other array?
16:49:27  <jjjjohnnny>the imginary counterpart
16:50:26  * mikealjoined
16:56:55  * mikolalysenkoquit (Ping timeout: 264 seconds)
17:01:56  * kenperki_changed nick to kenperkins
17:09:23  * cianomaidin_joined
17:12:48  * perlbot_joined
17:16:46  * owen1quit (Quit: WeeChat 0.4.0)
17:18:40  * cianomaidinquit (*.net *.split)
17:18:46  * perlbotquit (*.net *.split)
17:18:46  * vitorpachecoquit (*.net *.split)
17:18:55  * perlbot_changed nick to perlbot
17:18:56  * cianomaidin_changed nick to cianomaidin
17:23:40  * owen1joined
17:31:12  * cianomaidinquit (Quit: cianomaidin)
17:33:17  * Correnjoined
17:33:18  * stagas_joined
17:33:50  * jxsonjoined
17:34:42  * vitorpachecojoined
17:37:55  * jxsonquit (Read error: Connection reset by peer)
17:37:58  * jxson_joined
17:38:18  * perlbot_joined
17:38:25  * kenperkinsquit (Disconnected by services)
17:38:39  * Correnchanged nick to kenperkins
17:43:17  * ryan2quit (*.net *.split)
17:43:21  * perlbotquit (*.net *.split)
17:43:23  * jcrugzzquit (*.net *.split)
17:43:29  * substack_quit (*.net *.split)
17:43:30  * stagasquit (*.net *.split)
17:43:33  * FireFlyquit (*.net *.split)
17:43:34  * perlbot_changed nick to perlbot
17:45:49  * dguttmanjoined
17:58:47  * ryan2joined
17:58:47  * jcrugzzjoined
17:58:47  * substackjoined
17:58:47  * FireFlyjoined
18:06:25  * no9quit (Ping timeout: 268 seconds)
18:15:33  * Guest58563changed nick to jden
18:16:38  <mbalho>jlord: im refreshing https://github.com/blog all day like mad
18:17:39  * no9joined
18:17:58  <chapel>mbalho: why is that?
18:18:05  <mbalho>SECRETS
18:20:23  * FireFlyquit (*.net *.split)
18:20:23  * substackquit (*.net *.split)
18:20:24  * jcrugzzquit (*.net *.split)
18:20:29  * ryan2quit (*.net *.split)
18:24:25  <tmcw>hah
18:25:11  <mbalho>tmcw: WHOA WEIRD the last word i read before i saw you say something in here was 'mapbox' in an email that migurski sent to somewhere
18:25:24  <mbalho>tmcw: it was as if reading it summoned you
18:25:35  <tmcw>omnipresence etc
18:31:46  * calvinfo_quit (Read error: Connection reset by peer)
18:32:17  * calvinfo_joined
18:35:49  <juliangruber>substack is away :O
18:39:58  * mcollina_quit (Ping timeout: 246 seconds)
18:53:40  * mikolalysenkojoined
18:55:54  * stagas_quit (Ping timeout: 245 seconds)
18:57:06  <mikolalysenko>jjjjohnnny: just set them all to 0 if you are transforming a real signal
18:57:31  <mikolalysenko>you still need to allocate memory for them though, since the fft of a real signal will have imaginary components in general
18:57:49  <isaacs>netsplits at subrub!
18:57:49  <mikolalysenko>unless of course the signal is symmetric wrt to reflection across each axis
18:59:00  * stagasjoined
18:59:14  <mikolalysenko>if you just want a power spectrum, you could do:
18:59:26  <mikolalysenko>ndfft(1, x ndarray.zeros(x.shape))
18:59:27  <mikolalysenko>then square each component independently
18:59:47  <mikolalysenko>I should probably make a module to arithmetic on arrays of complex numbers
19:00:56  * ricardob_joined
19:05:54  * calvinfo_quit (Ping timeout: 245 seconds)
19:06:39  * no9quit (Ping timeout: 256 seconds)
19:07:03  * Correnjoined
19:09:26  * jxsonjoined
19:09:49  * substackjoined
19:12:06  * mikolaly1enkojoined
19:15:48  * kenperkinsquit (Ping timeout: 268 seconds)
19:15:58  * mikolalysenkoquit (Ping timeout: 268 seconds)
19:15:59  * jxson_quit (Ping timeout: 268 seconds)
19:16:56  * ricardob_quit (Remote host closed the connection)
19:22:30  * calvinfo_joined
19:25:31  * AvianFlujoined
19:27:06  <mbalho>chrisdickinson: if you wanna meet up and hack this week the easiest way is #nerdtracker
19:28:30  * LOUDBOTjoined
19:34:39  <chrisdickinson>mbalho: awesome, thanks for the heads up
19:34:44  <chrisdickinson>also, was https://github.com/blog/1502-jekyll-turns-1-0 what you were waiting for?
19:34:49  <mbalho>nope
19:34:52  <mbalho>it will be obvious :D
19:37:38  * ins0mniajoined
19:41:45  <mbalho>substack: whoa youre coming to nodepdx?
19:41:50  * jcrugzzjoined
19:42:22  <substack>mbalho: yep
19:42:29  <substack>I arrive on wednesday
19:42:50  <mbalho>sweet! im already up here
19:46:24  <substack>git friends: https://www.gittip.com/for/javascript/ https://www.gittip.com/for/node-js/
19:47:35  <jjjjohnnny>mikolaly1enko: "square each component independently
19:47:37  <jjjjohnnny>"
19:48:07  <jjjjohnnny>of the resulting spectrum?
19:48:17  <jjjjohnnny>each index
19:49:03  <jjjjohnnny>POLL YOU GUYS:
19:49:03  <LOUDBOT>OH HEY THERE COMMUNO ANARCHISM
19:49:17  <jjjjohnnny>i am writing a browser module
19:49:23  * mikolaly1enkoquit (Ping timeout: 256 seconds)
19:49:48  <jjjjohnnny>which lets you write javascript in the browser, that in turns runs inside this module: npmjs.org/packages/jsynth
19:50:20  <jjjjohnnny>QUESTION IS: should the script the user writes return a function, or module.exports?
19:51:00  <jjjjohnnny>its for live coding audio DSP BTQ
19:51:35  <jjjjohnnny>sorry, this module https://npmjs.org/package/jsynth
19:51:57  <jjjjohnnny>VOTE 0 for script with return statement
19:52:07  <jjjjohnnny>VOTE 1 for module.exports
19:52:18  <substack>0
19:52:59  * mikealquit (Quit: Leaving.)
19:53:07  <Domenic_>1
19:54:43  <jjjjohnnny>VOTE 2 for function declaration of a spcific name ie function synth(){}
20:00:19  * mikolalysenkojoined
20:06:26  <jjjjohnnny>VOTE WITH UR MOUTHIES
20:06:26  <LOUDBOT>DHOSS I'LL TRADE YOUR CODING WORK FOR MINE
20:09:20  * FireFlyjoined
20:11:57  * tilgovijoined
20:13:01  <jjjjohnnny>whys my problem here
20:13:03  <jjjjohnnny>?
20:13:15  <jjjjohnnny>i want to contribute to an npm module
20:13:27  <jjjjohnnny>so I clone the maintainer's repo
20:13:37  <jjjjohnnny>and it doesn't work like the npm repo did
20:13:59  <jjjjohnnny>this is why I always go straght to the module itself when I want to edit a module
20:14:17  <jjjjohnnny>but then it makes me have problems merging with the forked repo
20:14:33  <jjjjohnnny>b/c, as above, they are not at parity
20:16:22  <jjjjohnnny>probably i a missing somethning
20:22:12  * Correnchanged nick to kenperkins
20:24:52  <juliangruber>substack: I'm making rsa-json work in the browser :) private keys already work
20:27:56  <chrisdickinson>mbalho: oh!
20:28:22  <chrisdickinson>congrats jlord!
20:28:51  * ryan2joined
20:29:03  * ins0mniaquit (Excess Flood)
20:33:23  * ins0mniajoined
20:36:48  * stagasquit (Read error: Connection reset by peer)
20:54:10  * defunctzombie_zzchanged nick to defunctzombie
20:57:30  <defunctzombie>substack: what do you mean by non-global way?
20:58:00  <defunctzombie>substack: I am at a point where I can probably just merge that pull request so they will stop bitching about it
20:58:21  <defunctzombie>substack: I think using coffeescript and expecting all the tools to support it is stupid
20:58:34  <defunctzombie>cause they assume that my goal is to make coffeescript work and it isn't
20:59:01  <defunctzombie>but since the patch is easy, whatever I am tired of the emails from people who don't want to write javascript and don't realize they are using a different language
21:05:52  * st_lukejoined
21:06:20  * st_lukequit (Remote host closed the connection)
21:07:12  * hij1nxquit (Read error: Operation timed out)
21:18:37  <jjjjohnnny>substack: tomorrow noon berkeley
21:21:30  * defunctzombiechanged nick to defunctzombie_zz
21:21:55  * hij1nxjoined
21:22:45  * mikealjoined
21:24:59  <tmcw>congrats jlord !
21:25:28  <tmcw>plz made default issue label colors pantone (c)
21:25:32  <tmcw>*make
21:27:26  <juliangruber>tanepiper: webcryptoapi looks sweet, need to check that out
21:29:41  <mikolalysenko>chrisdickinson: correct me if I am wrong, but I remember you did some work a while back on pooling buffers/typed arrays. is that code on npm somewhere?
21:31:57  <chrisdickinson>mikolalysenko: https://github.com/chrisdickinson/pooled
21:32:03  * jxsonquit (Remote host closed the connection)
21:33:07  * tmcwquit (Remote host closed the connection)
21:34:58  <jjjjohnnny>neat
21:35:16  * jxsonjoined
21:36:24  <mikolalysenko>interesting
21:36:38  <mikolalysenko>though what I am thinking about is making a common module for allocating typed array buffers
21:36:46  <mikolalysenko>since creating them is stupidly expensive in v8
21:37:14  <mikolalysenko>so there would be like a common store for all typed arrays based on size
21:37:30  <mikolalysenko>and then whenever you need a scratch typed array, you'd just pull one in and return it when you are done
21:37:52  <mikolalysenko>basically it would be a malloc/free-like implementation
21:38:05  <mikolalysenko>except using the globals object to keep a common supply of buffers
21:39:34  <jjjjohnnny>i heard DOM object pooling is important too
21:39:41  <mikolalysenko>yeah, makes sense
21:39:42  <jjjjohnnny>its like our uzis weigh a ton
21:39:53  <chrisdickinson>yeah, that's pretty much what pooled does
21:40:36  <mikolalysenko>the catch with typed arrays though is that they can be different sizes
21:40:56  <mikolalysenko>I am thinking make a pool for each power of two
21:40:56  <mikolalysenko>or something like that
21:40:58  <mikolalysenko>then when you alloc a buffer, round it up to nextPow2 and return a new typed array of that size
21:41:15  <mikolalysenko>also when creating a buffer you would allocate a typed array for each of the views preemptively
21:42:25  <jjjjohnnny>mikolalysenko: that would be especially useful for web worker heavy apps
21:42:27  <chrisdickinson>the other useful thing: https://github.com/chrisdickinson/bops/blob/master/typedarray/mapped.js + https://github.com/chrisdickinson/bops/blob/master/typedarray/write.js#L29
21:42:35  <chrisdickinson>since DataView is slow too iirc
21:44:12  <mikolalysenko>interesting
21:44:38  <mikolalysenko>so I am thinking of creating an interface where you get an object that simultaneously has all of the typedarray views allocated for it
21:45:06  <mikolalysenko>so you give the number of bytes and get a buffer with a pointer to each of them
21:45:20  <mikolalysenko>the alternative though would be to make separate pools for each typed array class
21:45:33  <mikolalysenko>but that is wasteful, and obviously inefficient
21:45:42  <mikolalysenko>the other thing you could possibly do is convert the buffer at run time
21:46:01  <mikolalysenko>but instantiating a typed array even from an array buffer view is slow for no good reason
21:46:26  <chrisdickinson>DataView would probably be better than multiple Typed Array views
21:46:35  <mikolalysenko>hmm
21:46:41  <chrisdickinson>1 dataview can get or set any shape of data at any byte offset at any endianness
21:46:45  <mikolalysenko>well, I want to allocate typed arrays of different types
21:46:46  <chrisdickinson>and it only takes 1 per arraybuffer
21:47:01  <chrisdickinson>all typed arrays are represented internally by an arraybuffer
21:47:07  <mikolalysenko>ie, I ask for a temporary uint8array for example
21:47:08  <mikolalysenko>right
21:47:31  <chrisdickinson>(i.e., why not deal with all of it in terms of bytes and then do casting at a higher level?)
21:47:33  <mikolalysenko>yeah, so I was thinking why not just allocate one arraybuffer, then instantiate a bunch of different typed arrays on top of it
21:47:37  <chrisdickinson>ah
21:47:43  <chrisdickinson>i'd only do casting on demand
21:47:52  <chrisdickinson>or just default to always handing back bytes
21:48:01  <mikolalysenko>hmm
21:48:27  <mikolalysenko>but then you would have to realloc a typed array for that buffer even if you are hitting the same type each time
21:48:38  <mikolalysenko>though I wonder how expensive it is
21:48:45  <mikolalysenko>one sec, let me try a jsperf
21:49:56  * dominictarrjoined
21:50:18  <mikolalysenko>yeah, no good
21:50:31  <mikolalysenko>here is a benchmark: http://jsperf.com/realloc-vs-buffer
21:51:20  <juliangruber>substack defunctzombie_zz: can I force browserify to bundle a certain module? I'm dealing with a lib that does only dynamic require calls
21:51:40  <chrisdickinson>i'm getting 400k-ish more ops out of buffer reuse than no-reuse
21:51:59  <mikolalysenko>it is faster, but still has a large overhead
21:52:19  <mikolalysenko>hmm
21:52:26  <mikolalysenko>I need to come up with a better test though
21:52:28  <chrisdickinson>i'm kind of on the side of "hand back a byte array"
21:52:35  <chrisdickinson>i.e., a Uint8Array
21:52:43  <chrisdickinson>anything else can just use dataviews
21:52:45  <mikolalysenko>well, I usually want float arrays for my apps
21:52:46  <chrisdickinson>or bops
21:52:47  * dominictarrquit (Client Quit)
21:52:50  * no9joined
21:52:59  <mikolalysenko>or experiments
21:53:10  <chrisdickinson>does Float32Array(12) have a default endianness?
21:53:25  <mikolalysenko>no clue
21:53:42  <mikolalysenko>I would assume it is whatever the system endianness is
21:53:55  <mikolalysenko>probably little endian on x86, on arm maybe something different...
21:56:06  <Domenic_>endianness of typed arrays is actually a point of debate
21:56:12  <Domenic_>i think it's system endianness right now
21:56:19  <Domenic_>they want to standardize on little endian
21:56:27  <Domenic_>but some people are complaining that would be a big perf hit
21:56:37  <Domenic_>so fine we'll let it be system endianness for a few years
21:57:08  <Domenic_>then when there's tons of code that assumes little endianness, forcing the big endian systems to do translation in order to work with that code, we can laugh, say i told you so, and standardize on little endianness
22:00:37  <mikolalysenko>system endianness makes the most sense
22:00:57  <mikolalysenko>but mobile is mostly big endian
22:01:07  <mikolalysenko>while desktop is all little endian
22:01:54  <juliangruber>it should be all about interoperability