fluid-work IRC Logs-2013-01-18
[10:13:36 CST(-0600)] <jhung> michelled, anastasiac, justin_o, cindyli: I just sent an email with the results of testing. 3 new blockers - maybe we should discuss whether they are blockers or not?
[10:14:13 CST(-0600)] <anastasiac> I'll have a look, jhung
[10:14:20 CST(-0600)] <cindyli> sure, jhernandez
[10:14:55 CST(-0600)] <jhung> cindyli: I think you meant me.
[10:15:20 CST(-0600)] <cindyli> exactly, jhung
[10:15:47 CST(-0600)] <cindyli> sorry, jhernandez
[11:42:47 CST(-0600)] <jhernandez> cindyli1: xDD
[11:42:48 CST(-0600)] <jhernandez> np
[11:54:30 CST(-0600)] <colinclark> Hey yzen1, do you have time for a Node.js question at some point?
[11:55:25 CST(-0600)] <yzen> colinclark: sure
[11:55:34 CST(-0600)] <colinclark> jhernandez: Quick question for you, too. Thanks for all your QA testing and your pull requests! You rule! Did you test on Fedora 17 or 18?
[11:55:53 CST(-0600)] <colinclark> yzen: I have to admit I haven't fully rtfm'ed, so be gentle…
[11:56:24 CST(-0600)] <colinclark> I remember you were telling us at the last community meeting about ways to install npm packages
[11:56:44 CST(-0600)] <colinclark> My autocorrect seems to want to change "npm" to "nom," which is funny
[11:56:51 CST(-0600)] <colinclark> npm npm npm
[11:56:57 CST(-0600)] <yzen> hah
[11:57:15 CST(-0600)] <colinclark> So, I tried installing Infusion with nom like this, and it worked:
[11:57:30 CST(-0600)] <colinclark> "npm install git://github.com/fluid-project/infusion.git"
[11:57:42 CST(-0600)] <colinclark> So this is where my question comes in...
[11:57:44 CST(-0600)] <colinclark> how does this all work?
[11:57:56 CST(-0600)] <colinclark> It looks to me like, when I do this, I get a "partial checkout" of Infusion
[11:59:15 CST(-0600)] <colinclark> In other words, it only contains the framework, lib, and module directory
[11:59:20 CST(-0600)] <colinclark> which is exactly what you'd want
[11:59:22 CST(-0600)] <colinclark> but HOW?
[11:59:30 CST(-0600)] <yzen> colinclark: one sec let me remember
[11:59:53 CST(-0600)] <yzen> AHA !
[11:59:54 CST(-0600)] <yzen> https://github.com/fluid-project/infusion/blob/master/.npmignore
[12:00:14 CST(-0600)] <colinclark> Ah, fascinating
[12:00:15 CST(-0600)] <colinclark> ok
[12:00:17 CST(-0600)] <colinclark> There's a slight bug
[12:01:07 CST(-0600)] <colinclark> We .npmignore the Progressive Enhancement features of Infusion
[12:01:12 CST(-0600)] <colinclark> which I think makes perfect sense
[12:01:22 CST(-0600)] <colinclark> however, we still include it in includes.json
[12:01:31 CST(-0600)] <colinclark> https://github.com/fluid-project/infusion/blob/master/src/webapp/module/includes.json#L8
[12:01:46 CST(-0600)] <colinclark> Unless I'm missing something, this is a bug; I can make a pull for it at some point
[12:02:06 CST(-0600)] <yzen> colinclark: ya you are right
[12:03:05 CST(-0600)] <colinclark> ok, thanks
[12:03:55 CST(-0600)] <colinclark> yzen: can we .npmignore on a per-file basis, too?
[12:04:06 CST(-0600)] <colinclark> that way we can also ignore the keyboard-a11y plugin too
[12:04:26 CST(-0600)] <yzen> colinclark: ya i m pretty sure we can
[12:04:33 CST(-0600)] <colinclark> ok
[14:20:22 CST(-0600)] <Bosmon> It was me who added in ProgressiveEnhancement to our node image
[14:20:29 CST(-0600)] <Bosmon> Not knowing about the .npmignore file
[14:20:51 CST(-0600)] <Bosmon> Not surprising since JURA had forgotten about it too
[14:21:01 CST(-0600)] <Bosmon> There will need to be further changes correlated with my current pull request
[14:21:18 CST(-0600)] <Bosmon> To bring in jquery, qunit and jqunit
[14:43:29 CST(-0600)] <Bosmon> Our JIRA is incredibly slow today
[14:44:27 CST(-0600)] <Bosmon> colinclark - progressiveEnhancement went into node because of http://issues.fluidproject.org/browse/FLUID-4871
[14:58:27 CST(-0600)] <colinclark> Bosmon: Then I guess we should include it
[14:59:33 CST(-0600)] <colinclark> colinclark: thanks for letting me know that it was there intentionally
[14:59:44 CST(-0600)] <colinclark> i'll then make a pull request to make sure it isn't nom ignored
[15:00:39 CST(-0600)] <Bosmon> Looks like I'm not the only architect who talks to himself
[15:00:51 CST(-0600)] <colinclark> oops
[15:01:02 CST(-0600)] <colinclark> colinclark: dork
[15:01:15 CST(-0600)] <colinclark> Bosmon: One other rough edge I encountered when using Infusion in Node.js
[15:01:20 CST(-0600)] <michelled> colinclark: we are kind in this channel, please apologize to colinclark
[15:01:43 CST(-0600)] <michelled> Bosmon: yzen and I finished reviewing your pull request
[15:01:51 CST(-0600)] <colinclark> colinclark: I'm sorry you're such a dork
[15:01:55 CST(-0600)] <michelled> lol
[15:02:26 CST(-0600)] <colinclark> Bosmon: We typically advise people that for ordinary merging of objects, they're best to use jQuery.extend() rather that fluid.merge(), right?
[15:03:09 CST(-0600)] <Bosmon> colinclark - that's correct
[15:03:19 CST(-0600)] <colinclark> I'm still a Node.js neophyte…
[15:03:22 CST(-0600)] <Bosmon> Did you run into some more "constructor blindness"?
[15:03:42 CST(-0600)] <colinclark> but it looks like our jQuery standalone file never exports itself in anyway so as to be usable by anyone
[15:03:46 CST(-0600)] <colinclark> am I just completely confused?
[15:04:02 CST(-0600)] <Bosmon> You can just run var jQuery = fluid.registerNamespace("jQuery") from any file
[15:04:10 CST(-0600)] <colinclark> aha
[15:04:11 CST(-0600)] <thealphanerd> colinclark: hows it going!
[15:04:14 CST(-0600)] <Bosmon> Which has become the standard way to gain access to any parts of Fluid's globals
[15:04:15 CST(-0600)] <colinclark> thealphanerd: Hey!
[15:04:29 CST(-0600)] <colinclark> Bosmon: ok, I will give that a spin
[15:04:31 CST(-0600)] <Bosmon> This kind of thing was behind my desire to let jqUnit depend on Fluid
[15:04:44 CST(-0600)] <Bosmon> Since without it, it is incredibly awkward to deal with the code loading and access as you say
[15:04:51 CST(-0600)] <thealphanerd> so I was on the phone with the peopel from grame on monday
[15:05:18 CST(-0600)] <colinclark> thealphanerd: wheelin' and dealin', no doubt
[15:05:22 CST(-0600)] <thealphanerd> might be able to swing some things so I can do gsoc + research from grame this summer
[15:05:30 CST(-0600)] <thealphanerd> and have the two feed in to each other
[15:05:40 CST(-0600)] <thealphanerd> they have some interesting web stuff going on
[15:05:55 CST(-0600)] <Bosmon> awesome, THER ALPHER NERDD!
[15:05:57 CST(-0600)] <thealphanerd> generative interfaces for faust applications
[15:06:18 CST(-0600)] <thealphanerd> they want to make them look better… so I am pitching them doing it in infusion
[15:06:22 CST(-0600)] <thealphanerd> so it will be inclusive
[15:06:46 CST(-0600)] <colinclark> these guys, for those who don't know: http://faust.grame.fr/
[15:06:48 CST(-0600)] <thealphanerd> and we can get all the individual interface elements pulled into the infusion project
[15:07:10 CST(-0600)] <thealphanerd> they also do jack if I recall correctly
[15:07:19 CST(-0600)] <Bosmon> Fascinating
[15:07:23 CST(-0600)] <Bosmon> I hope that means they do something
[15:07:27 CST(-0600)] <Bosmon> Rather than doing jack
[15:07:59 CST(-0600)] <thealphanerd> lol
[15:08:06 CST(-0600)] <thealphanerd> I made that up
[15:08:13 CST(-0600)] <thealphanerd> jack as in jackd for linux audio
[15:08:32 CST(-0600)] <colinclark> I have been suffering through the wonders of Linux audio recently
[15:08:41 CST(-0600)] <thealphanerd> that's Paul Davis
[15:08:51 CST(-0600)] <thealphanerd> colinclark: are you playing with raspberry pi?
[15:08:51 CST(-0600)] <colinclark> It's just unbelievable how bad the state of things really are
[15:09:01 CST(-0600)] <colinclark> thealphanerd: yeah
[15:09:01 CST(-0600)] <Bosmon> "It makes it possible to compile any Faust code as a C++ code,"
[15:09:09 CST(-0600)] <Bosmon> Such lovely Franglais : P
[15:09:29 CST(-0600)] <thealphanerd> Edgar ported satellite ccrma to raspi
[15:09:32 CST(-0600)] <colinclark> I'm well on my way to having Flocking running under Node.js on the Pi
[15:09:34 CST(-0600)] <thealphanerd> I'm testing the alpha release
[15:09:44 CST(-0600)] <thealphanerd> https://ccrma.stanford.edu/~eberdahl/satellite/
[15:09:49 CST(-0600)] <colinclark> assuming the pi is even vaguely capable of output robust audio, which I'm still not fully convinced it is
[15:09:58 CST(-0600)] <thealphanerd> currently comes with jack working, pd, supercollider, faust, c sound
[15:09:58 CST(-0600)] <colinclark> nice!
[15:10:06 CST(-0600)] <thealphanerd> the alpha I'm testing also has node and chuclk
[15:10:08 CST(-0600)] <thealphanerd> huck
[15:10:11 CST(-0600)] <thealphanerd> CHUCK
[15:10:13 CST(-0600)] <thealphanerd> geeze
[15:10:16 CST(-0600)] <Bosmon> Their block and loop graphs on Faust are nice
[15:10:26 CST(-0600)] <Bosmon> Even though they are impossible to use and render in some incredibly offputting way
[15:10:35 CST(-0600)] <colinclark> Bosmon: show us an example?
[15:10:37 CST(-0600)] <Bosmon> Aha
[15:10:39 CST(-0600)] <Bosmon> THey use SVG!
[15:10:44 CST(-0600)] <thealphanerd> I KNOW
[15:10:49 CST(-0600)] <Bosmon> Well, I can't give you a URL because their site is so shitty
[15:10:51 CST(-0600)] <thealphanerd> Bosmon: re our earlier conversation…
[15:10:56 CST(-0600)] <Bosmon> http://faust.grame.fr/index.php/online-examples
[15:10:59 CST(-0600)] <Bosmon> You can get to it from here
[15:11:13 CST(-0600)] <Bosmon> Navigate through their "catalog" to choose an algorithm
[15:11:21 CST(-0600)] <Bosmon> And then click on the "Diagram" tab
[15:11:33 CST(-0600)] <Bosmon> All during this process the page will jump up and down and thrash distractingly : P
[15:11:34 CST(-0600)] <thealphanerd> yeah they generate block diagrams from the code in svg
[15:11:43 CST(-0600)] <thealphanerd> this is the stuff they want me to help with
[15:11:51 CST(-0600)] <thealphanerd> or potentially want
[15:12:07 CST(-0600)] <thealphanerd> we havn't gotten that far in the talks yet… but they have lofty goals for the online compiler
[15:12:21 CST(-0600)] <Bosmon> Wow, I think the page just auto-closed itself
[15:12:33 CST(-0600)] <thealphanerd> lol
[15:12:36 CST(-0600)] <thealphanerd> too much php
[15:12:39 CST(-0600)] <colinclark> Bosmon:
[15:12:45 CST(-0600)] <Bosmon> BUT seems to have remembered my navigation state in the session!!
[15:12:49 CST(-0600)] <colinclark> Bosmon: "We've had enough of you, goodbye"
[15:12:54 CST(-0600)] <Bosmon> Real ghetto
[15:12:59 CST(-0600)] <colinclark> web page self-destruction
[15:13:00 CST(-0600)] <colinclark> sweet
[15:13:02 CST(-0600)] <Bosmon> I can't even figure out how to zoom the SVG so I can read it
[15:13:28 CST(-0600)] <Bosmon> Urgh
[15:13:34 CST(-0600)] <colinclark> I had that problem too
[15:13:35 CST(-0600)] <Bosmon> It seems to work by invoking a "compiler" on the server-side
[15:13:40 CST(-0600)] <Bosmon> To produce the SVG
[15:13:45 CST(-0600)] <thealphanerd> colinclark: I'm going to be contributing to a paper for that satellite ccrma stuff… might get published at NIME
[15:13:47 CST(-0600)] <colinclark> thealphanerd: I'm sure you'll make awesome improvements for them
[15:13:59 CST(-0600)] <colinclark> sweet
[15:14:13 CST(-0600)] <thealphanerd> ALSO.. I'm doing a paper this quarter on DSP on the web
[15:14:20 CST(-0600)] <thealphanerd> and will be highlighting flocking stuffs
[15:14:26 CST(-0600)] <colinclark> nice
[15:14:41 CST(-0600)] <thealphanerd> I'm some what interested to re look at the code base with my new found understanding of signal processing and fft
[15:14:49 CST(-0600)] <colinclark> cool
[15:14:56 CST(-0600)] <thealphanerd> what have you been working on lately?
[15:14:59 CST(-0600)] <Bosmon> I was just commenting privately to colinclark that this would all be far more valuable if it could compile down to shader code
[15:15:19 CST(-0600)] <Bosmon> You hardly wonder why they would bother compiling "down" to C++ which as we know is now barely more performant than JS on numerical tasks : P
[15:15:22 CST(-0600)] <thealphanerd> shader code? like opengl?
[15:15:34 CST(-0600)] <Bosmon> thealphanerd - like that - or, rather, WebGL
[15:15:44 CST(-0600)] <thealphanerd> faust compiles to c++ to then compile to like 15 different frameworks
[15:15:49 CST(-0600)] <colinclark> thealphanerd: Filters, granular synthesis, the integration of Infusion, and now Node.js support, mostly
[15:15:50 CST(-0600)] <thealphanerd> pd external, max external, sc object
[15:16:01 CST(-0600)] <Bosmon> colinclark said he found the first example of audio shader code in the wild
[15:16:05 CST(-0600)] <Bosmon> But it was very disappointing
[15:16:08 CST(-0600)] <colinclark> I did indeed
[15:16:15 CST(-0600)] <colinclark> It was very boring music, and no source code
[15:16:26 CST(-0600)] <colinclark> I asked if he'd be willing to share his code and he said "yes"
[15:16:27 CST(-0600)] <thealphanerd> what is audio shader code?
[15:16:30 CST(-0600)] <colinclark> and that was it
[15:16:37 CST(-0600)] <colinclark> thealphanerd: Doing DSP on the GPU
[15:16:42 CST(-0600)] <thealphanerd> ahhhh
[15:16:58 CST(-0600)] <thealphanerd> the faust people have stuff going on with a custom version of the chrome browser
[15:17:04 CST(-0600)] <thealphanerd> where it goes faust -> v8
[15:17:22 CST(-0600)] <thealphanerd> so you can directly code with faust in the browser
[15:17:22 CST(-0600)] <colinclark> thealphanerd: Is it possible to download the Raspberry Pi version of Satellite CCRMA? I only see reference currently to the Beagleboard version
[15:17:32 CST(-0600)] <thealphanerd> colinclark: I might have to get you an image
[15:17:42 CST(-0600)] <thealphanerd> let me check something quickly
[15:18:04 CST(-0600)] <colinclark> maybe you can ask your friends there how on earth to make Pulse Audio output any actual sound from the analog port
[15:18:23 CST(-0600)] <thealphanerd> on the raspi?
[15:20:17 CST(-0600)] <thealphanerd> https://ccrma.stanford.edu/~eberdahl/satellite/SatelliteCCRMA_Rpi_v0.9.dd.zip
[15:20:22 CST(-0600)] <thealphanerd> form the mail list
[15:22:33 CST(-0600)] <colinclark> sweet, thanks
[15:22:55 CST(-0600)] <colinclark> thealphanerd: Yeah, so far I can't get pulse audio to do its thing… ALSA is fine, but I need pulse
[15:23:00 CST(-0600)] <colinclark> Other people seem to have done it
[15:23:05 CST(-0600)] <colinclark> so who knows?
[15:23:08 CST(-0600)] <thealphanerd> what are you using pulse for?
[15:23:13 CST(-0600)] <thealphanerd> most people I know who do linux audio use jack
[15:23:21 CST(-0600)] <colinclark> Jack is a router
[15:23:28 CST(-0600)] <colinclark> not an audio backend
[15:23:31 CST(-0600)] <thealphanerd> ahhhh
[15:23:40 CST(-0600)] <colinclark> Pulse and ALSA are the two main ones these days
[15:23:45 CST(-0600)] <thealphanerd> I have a couple people from ccrma who do audio on linux exclusively
[15:23:48 CST(-0600)] <colinclark> Pulse is clearly significantly more reliable from what I've read
[15:23:58 CST(-0600)] <thealphanerd> all the systems at ccrma run ALSA
[15:23:59 CST(-0600)] <thealphanerd> fwiw
[15:24:24 CST(-0600)] <colinclark> seems to be bugs with some ALSA clients and ARM
[15:24:35 CST(-0600)] <colinclark> It's amazing how this stuff is all still clearly a work in progress
[15:24:46 CST(-0600)] <colinclark> apparently the Raspberry Pi foundation is trying to hiring some ALSA devs
[15:24:50 CST(-0600)] <colinclark> so things should get better
[15:27:39 CST(-0600)] <thealphanerd> interesting
[15:27:46 CST(-0600)] <thealphanerd> that will be a benefit to using ed's build
[15:27:51 CST(-0600)] <thealphanerd> alsa + jack working perfectly
[15:27:58 CST(-0600)] <thealphanerd> and all the audio stuff compiled and working
[15:28:05 CST(-0600)] <thealphanerd> pd was aparantly non-trivial to get working
[15:28:08 CST(-0600)] <thealphanerd> as was super collider
[15:29:16 CST(-0600)] <colinclark> I just installed it from the Debian package
[15:29:21 CST(-0600)] <thealphanerd> pd?
[15:29:25 CST(-0600)] <colinclark> SuperCollider
[15:29:29 CST(-0600)] <thealphanerd> ah
[15:29:36 CST(-0600)] <thealphanerd> is it working for you?
[15:29:44 CST(-0600)] <thealphanerd> which os did you install on the pi?
[15:29:44 CST(-0600)] <colinclark> Well, it depends how you define working
[15:29:45 CST(-0600)] <thealphanerd> debian or ubunut?
[15:29:58 CST(-0600)] <colinclark> Debian
[15:30:31 CST(-0600)] <colinclark> I installed the wheezy distro they recommend, and then upgraded via hexxeh's rpi-upgrade utility
[15:31:05 CST(-0600)] <colinclark> But I can't successfully send a synthdef to it yet; it's quite likely just my own inexperience
[15:31:11 CST(-0600)] <colinclark> SuperCollider, that is
[15:50:23 CST(-0600)] <jessm> fluid-everyone: have a good weekend. I have the wrong noodles for dinner tonight, so I'm off to get the proper ones
[15:50:33 CST(-0600)] <colinclark> jessm: have a great weekend
[15:50:44 CST(-0600)] <colinclark> what goes with the noodles?
[15:50:46 CST(-0600)] <colinclark> stir fry?
[15:50:54 CST(-0600)] <colinclark> alfredo?
[15:51:00 CST(-0600)] <jessm> tofu, coconut milk, veggies, etc
[15:51:03 CST(-0600)] <colinclark> yum
[15:51:49 CST(-0600)] <thealphanerd> colinclark: http://www.amazon.com/dp/B006BMBUAA/ref=cm_sw_su_dp
[15:51:56 CST(-0600)] <thealphanerd> just in case your macbook takes 1333 ram
[15:52:28 CST(-0600)] <colinclark> sweet deal
[15:52:36 CST(-0600)] <colinclark> i don't even know what my macbook takes
[15:52:47 CST(-0600)] <colinclark> undoubtedly Bert would be worried if he heard I opened it up
[15:53:04 CST(-0600)] <colinclark> despite my raspberry pi chops
[15:53:33 CST(-0600)] <colinclark> that's the craziest deal ever
[15:58:06 CST(-0600)] <avtar> you can poke around your computer to find compatible ram using this tool http://www.crucial.com/systemscanner/MacOS.aspx
[16:01:57 CST(-0600)] <thealphanerd> about this mac tells you what speed your memory is
[16:02:30 CST(-0600)] <thealphanerd> colinclark: it is an ok deal… most 16 gb kits are 70 - 100 bucks these days
[16:02:36 CST(-0600)] <thealphanerd> the patriot ram is usually way over priced
[16:02:55 CST(-0600)] <thealphanerd> colinclark: have you done much work with the s-plane and laplace transform?
[16:03:06 CST(-0600)] <colinclark> lol
[16:03:08 CST(-0600)] <colinclark> ummm
[16:05:02 CST(-0600)] <colinclark> odd, I was disconnected
[16:05:10 CST(-0600)] <colinclark> thealphanerd: Have you used them much?
[16:05:19 CST(-0600)] <thealphanerd> just learning right now
[16:05:20 CST(-0600)] <thealphanerd> http://cl.ly/2H1k142j0Z1Q
[16:05:24 CST(-0600)] <thealphanerd> yesterdays homework
[16:05:30 CST(-0600)] * thealphanerd started doing everything in latex
[16:06:49 CST(-0600)] <colinclark> nice!
[16:06:53 CST(-0600)] <colinclark> fancy stuff
[16:07:12 CST(-0600)] <colinclark> Bosmon does all his academic writing in LaTeX
[16:07:18 CST(-0600)] <colinclark> I like Pages
[16:08:13 CST(-0600)] <thealphanerd> Bosmon: what kind of academic writing do you do?
[16:08:19 CST(-0600)] <thealphanerd> colinclark: I redid my cv in latex too
[16:08:25 CST(-0600)] <colinclark> sweet
[16:08:51 CST(-0600)] <Bosmon> thealphanerd.... as rarely as possible, I write.... PAPPERS
[16:08:59 CST(-0600)] <thealphanerd> lol
[16:10:43 CST(-0600)] <colinclark> thealphanerd: This was the last one he wrote, for OOPSLA: http://wiki.fluidproject.org/download/attachments/1707985/Infusion-Splash-Wavefront-2011-Paper.pdf?version=1&modificationDate=1317768364132
[16:10:48 CST(-0600)] <Bosmon> Didn't you read our early paper on the IoC system?
[16:10:50 CST(-0600)] <Bosmon> Ah, thanks, colinclark
[16:11:04 CST(-0600)] <thealphanerd> the stuff I reaad was either on the blog
[16:11:04 CST(-0600)] <colinclark> fully LaTeXized
[16:11:06 CST(-0600)] <thealphanerd> or on the site
[16:11:10 CST(-0600)] <Bosmon> 2011, amazing
[16:11:13 CST(-0600)] <thealphanerd> no published papers
[16:11:21 CST(-0600)] <Bosmon> Probably there will be something new to write about in 2013
[16:11:30 CST(-0600)] <thealphanerd> lol
[16:11:37 CST(-0600)] <Bosmon> Yesterday evening I just started implementing some stuff I found I wrote a posting about late in 2010
[16:11:37 CST(-0600)] <colinclark> Bosmon: We should work on your Opportunistic Ontologies draft next
[16:11:39 CST(-0600)] <thealphanerd> colinclark: you mixed up the university titles
[16:11:40 CST(-0600)] <Bosmon> So there is a lot of LAGG
[16:11:56 CST(-0600)] <colinclark> thealphanerd: Yes, that was my contribution
[16:12:12 CST(-0600)] <colinclark> Aleatoric Institutional Affiliations
[16:12:22 CST(-0600)] <thealphanerd> LOL
[16:12:29 CST(-0600)] <Bosmon> AIA
[16:12:47 CST(-0600)] <Bosmon> It was an ok kind of paper
[16:12:56 CST(-0600)] <Bosmon> I even had BRENDAN EICH in the audience for a little while
[16:13:06 CST(-0600)] <Bosmon> But it still seems to be fundamentally unintelligible
[16:13:24 CST(-0600)] <colinclark> I thought it was a very insightful paper
[16:13:39 CST(-0600)] <colinclark> written for people with critical minds about how software is written
[16:13:49 CST(-0600)] <Bosmon> Amazingly the framework as implemented still hasn't moved on much from the one described here
[16:13:51 CST(-0600)] <Bosmon> YET
[16:14:18 CST(-0600)] <Bosmon> But if it hasn't by San Diego, you are authorised to throw me into the sea : P
[16:14:33 CST(-0600)] <colinclark> Bosmon: It's a deal!
[16:14:33 CST(-0600)] <thealphanerd> what do you guys think about angular.js?
[16:14:47 CST(-0600)] <colinclark> thealphanerd: Read the paper, our opinion about angular.js is in there
[16:14:49 CST(-0600)] <colinclark>
[16:14:55 CST(-0600)] <thealphanerd> oh reary
[16:15:01 CST(-0600)] <Bosmon> thealphanerd - it is BORING and UNDISTINGUISHED!
[16:15:03 CST(-0600)] <thealphanerd> I'll save and read it… perhaps this weekend
[16:15:12 CST(-0600)] <thealphanerd> what do you think about...
[16:15:14 CST(-0600)] <thealphanerd> backbone
[16:15:16 CST(-0600)] <Bosmon> Everyone always seems to implement EXACTLY THE SAME FRAMEWORK
[16:15:21 CST(-0600)] <Bosmon> It's hard to understand
[16:15:30 CST(-0600)] <Bosmon> You'd think there would be SOME diversity out there
[16:15:39 CST(-0600)] <Bosmon> But I guess if all the ideas are the same, all the frameworks based on them will be the same too
[16:15:47 CST(-0600)] <colinclark> thealphanerd: Have you been writing any music this semester so far?
[16:16:01 CST(-0600)] <Bosmon> <span>remaining()
of todos.length
remaining</span>
[16:16:06 CST(-0600)] <Bosmon> What bollocks : P
[16:16:10 CST(-0600)] <colinclark> oh, and how's Mayank? His granulator is looking awesome
[16:16:21 CST(-0600)] <thealphanerd> no music this quarter yet
[16:16:25 CST(-0600)] <thealphanerd> only been one week
[16:16:38 CST(-0600)] <thealphanerd> Mayank delivered a paper on wednesday with this guy kurt
[16:16:51 CST(-0600)] <thealphanerd> they are introducing a new modelling concept called bit bending
[16:16:59 CST(-0600)] <thealphanerd> they are modelling circuits used in cheap toys
[16:17:04 CST(-0600)] <thealphanerd> and digitally circuit bending them
[16:17:45 CST(-0600)] <thealphanerd> colinclark: so I got screend by google no internship this summer
[16:17:53 CST(-0600)] <colinclark> oh, I'm sorry to hear that
[16:17:56 CST(-0600)] <colinclark> that sucks
[16:18:03 CST(-0600)] <colinclark> did they give you any feedback at least?
[16:18:06 CST(-0600)] <thealphanerd> meh… is what it is. I'm not a computer scientist
[16:18:26 CST(-0600)] <thealphanerd> nope… they don't give feedback. But it is totally that I failed the phone screen not knowing my core cs stuff
[16:18:30 CST(-0600)] <thealphanerd> algorithms / data structures
[16:18:37 CST(-0600)] <colinclark> nor am I
[16:18:42 CST(-0600)] <colinclark> welcome to the club
[16:18:52 CST(-0600)] <colinclark> at least you have Laplace Transforms to keep you warm at night
[16:18:54 CST(-0600)] <colinclark>
[16:19:13 CST(-0600)] <Bosmon> Google interviews are brutal on "jock algorithmics"
[16:19:17 CST(-0600)] <colinclark> lol
[16:19:27 CST(-0600)] <Bosmon> You'd better have rebalancing a red-black tree down COLD : P
[16:19:35 CST(-0600)] <colinclark> it's like "Bro, how many kegs can you drink?"
[16:19:40 CST(-0600)] <colinclark> only with algorithms
[16:19:42 CST(-0600)] <Bosmon> It really is
[16:19:58 CST(-0600)] <Bosmon> There are all these championships for it now too.... mainly populated by Chinese and Romanians
[16:20:02 CST(-0600)] <colinclark> thealphanerd: I'm sure we could drink more kegs than your interviewers, anyway
[16:20:12 CST(-0600)] <thealphanerd> dude I party so hard
[16:20:16 CST(-0600)] <colinclark> lol
[16:20:17 CST(-0600)] <thealphanerd> I bet they don't even lift bro
[16:20:28 CST(-0600)] <colinclark> dude, me too
[16:20:35 CST(-0600)] <colinclark> I drank a WHOLE TALLBOY last night
[16:20:37 CST(-0600)] <colinclark> WITH DINNER!
[16:20:46 CST(-0600)] <Bosmon> Interestingly the "aesthetic" that this jock-ism promotes actually produces some really shockingly bad code
[16:20:55 CST(-0600)] <colinclark> Bosmon: Like, say, Google Chrome?
[16:21:04 CST(-0600)] <Bosmon> "bad" as in the sense of "code you wouldn't want in your framework"
[16:21:16 CST(-0600)] <Bosmon> Even if it does perform very well and is minimally written
[16:21:27 CST(-0600)] <colinclark> I have code like that in Flocking...
[16:21:34 CST(-0600)] <colinclark> it's progressively being replaced with Infusion
[16:21:37 CST(-0600)] <thealphanerd> colinclark: OMG YOU ARE A JOCK
[16:21:40 CST(-0600)] <Bosmon> hahaha
[16:21:53 CST(-0600)] <Bosmon> These "champions" are rewarded for seeing through to the SPECIFICS in problems
[16:21:57 CST(-0600)] <Bosmon> Rather than the GENERALITIES...
[16:22:10 CST(-0600)] <thealphanerd> I'm not terribly worried though… at the end of the day if I can work things out ot be researching all summer with you and grame… I'll be way happier in the long run
[16:22:10 CST(-0600)] <colinclark> It's nice to have some specificists around
[16:22:11 CST(-0600)] <Bosmon> And so they produce code which is incredibly unstable to small changes in the problem definition
[16:22:20 CST(-0600)] <Bosmon> Yes, I do wish we had a tame one sometimes
[16:22:28 CST(-0600)] <Bosmon> Although it would be very hard to encourage them to do what we wanted : P
[16:22:34 CST(-0600)] <colinclark> thealphanerd: We'd be happy to do something with you and grame
[16:22:51 CST(-0600)] <thealphanerd> I am going to have anotehr meeting with them in the next two weeks
[16:23:15 CST(-0600)] <thealphanerd> but I really think that there is room for interesting collaboration
[16:23:23 CST(-0600)] <colinclark> yeah, it sounds great
[16:23:40 CST(-0600)] <colinclark> I was talking to Adam Tindale the other night and he echoed your distaste for "jQuery Kontrol" or whatever it's called
[16:23:52 CST(-0600)] <colinclark> it seems like the world could do with a solid suite of cross-device audio controls and interfaces
[16:24:25 CST(-0600)] <thealphanerd> colinclark: I don't even think it needs to be "audio controls"
[16:24:39 CST(-0600)] <thealphanerd> simply general ui object that just work cross platform / browser… with inclusive properties
[16:24:59 CST(-0600)] <thealphanerd> then a node app to use said objects to generate interfaces based on a json model
[16:25:11 CST(-0600)] <thealphanerd> insta osc
[16:25:16 CST(-0600)] <colinclark> that would be very cool
[16:25:22 CST(-0600)] <thealphanerd> that's what I am working towards
[16:25:27 CST(-0600)] <thealphanerd> and what I'm pitching to grame
[16:25:38 CST(-0600)] <thealphanerd> they have the rendering stuff right now.. but it is hard coded into faust
[16:25:44 CST(-0600)] <thealphanerd> and they are doing it with httpd and php
[16:25:44 CST(-0600)] <thealphanerd> yuck
[16:26:07 CST(-0600)] <thealphanerd> https://github.com/dinchak/node-blocks
[16:26:13 CST(-0600)] <thealphanerd> this project is gearing to be relly interesting too
[16:26:34 CST(-0600)] <colinclark> what does it do, thealphanerd?
[16:26:35 CST(-0600)] <thealphanerd> right now it is grid specific as it is coded by monome guys… but the idea will be to eventually abstract any control interface
[16:27:10 CST(-0600)] <colinclark> how does it compare to your grid?
[16:27:22 CST(-0600)] <thealphanerd> so this allows you to make virtual monomes
[16:27:24 CST(-0600)] <thealphanerd> that connect to apps
[16:27:32 CST(-0600)] <thealphanerd> and then bind those virtual devices to phsical devices
[16:27:52 CST(-0600)] <thealphanerd> or in theory and gui that could bind to it (so we could use my grid from the summer for example)
[16:30:05 CST(-0600)] <thealphanerd> colinclark: e7mac is mayank
[16:30:07 CST(-0600)] <thealphanerd> in case you didn't know
[16:30:18 CST(-0600)] <colinclark> yup, I recognize the name
[16:30:23 CST(-0600)] <thealphanerd>
[16:30:24 CST(-0600)] <colinclark> e7mac: Hey Mayank!
[16:30:35 CST(-0600)] <e7mac> hey colin!
[16:30:43 CST(-0600)] <e7mac> hows it going
[16:31:00 CST(-0600)] <colinclark> pretty good
[16:31:02 CST(-0600)] <colinclark> how about you?
[16:31:17 CST(-0600)] <e7mac> yeah pretty good as ewll
[16:31:33 CST(-0600)] <colinclark> I hear you're giving a paper soon?
[16:31:45 CST(-0600)] <e7mac> yeah! got 2 papers to write
[16:31:52 CST(-0600)] <e7mac> haven't written papers before hehe
[16:32:01 CST(-0600)] <e7mac> juggling the deadlines
[16:32:26 CST(-0600)] <thealphanerd> e7mac: I was telling him about bit bending
[16:32:27 CST(-0600)] <thealphanerd> SO COOL
[16:32:35 CST(-0600)] <e7mac> oh thanks!
[16:32:49 CST(-0600)] <e7mac> yeah the video should be up soon..will share that
[16:32:55 CST(-0600)] <colinclark> awesome
[16:32:57 CST(-0600)] <colinclark> can't wait to see it
[16:33:15 CST(-0600)] <e7mac> actually ill send you the sound samples right now
[16:33:22 CST(-0600)] <thealphanerd> e7mac: that will be so exciting if we all go to NIME
[16:33:29 CST(-0600)] <e7mac> yeah totally!
[16:33:30 CST(-0600)] <thealphanerd> south korea party!
[16:33:40 CST(-0600)] <e7mac> haha yeah
[16:33:48 CST(-0600)] <e7mac> i also wanna stop by barcelona en route
[16:34:10 CST(-0600)] <thealphanerd> interesting
[16:34:20 CST(-0600)] <colinclark> Barcelona is such a great city
[16:34:32 CST(-0600)] <thealphanerd> ohh la la
[16:34:45 CST(-0600)] <colinclark> Adam has been encouraging me to submit a paper on Flocking to ICMC this year… I think I might.
[16:35:19 CST(-0600)] <colinclark> are you guys planning to present at NIME?
[16:35:32 CST(-0600)] <e7mac> is icmc in barcelona ?
[16:35:49 CST(-0600)] <e7mac> we're gonna submit our iPad tow controller to NIME
[16:35:53 CST(-0600)] <colinclark> It's in Australia this year
[16:35:56 CST(-0600)] <e7mac> planning the bit bending stuff for dafx
[16:35:59 CST(-0600)] <e7mac> aah
[16:36:13 CST(-0600)] <e7mac> but might change bit bending to the conference in the coolest city
[16:36:31 CST(-0600)] <thealphanerd> LOL
[16:36:34 CST(-0600)] <e7mac>
[16:36:37 CST(-0600)] <e7mac> julius' advice
[16:36:39 CST(-0600)] <colinclark> makes sense to me
[16:36:39 CST(-0600)] <e7mac> he does that oo
[16:36:58 CST(-0600)] <e7mac> that's how the pros do it… I'm just trying to act cool
[16:37:05 CST(-0600)] <colinclark> I think I'll be at the SuperCollider conference, around the time NIME
[16:37:35 CST(-0600)] <e7mac> thats on the east cost?
[16:37:38 CST(-0600)] <e7mac> *caost
[16:38:01 CST(-0600)] <colinclark> it's in Boulder, so I'll get the chance to visit Bosmon
[16:38:06 CST(-0600)] <colinclark> fingers crossed, anyway
[16:38:28 CST(-0600)] <colinclark> e7mac: Your granulator's looking really great
[16:38:36 CST(-0600)] <thealphanerd> Boulder is gorgeous
[16:38:45 CST(-0600)] <thealphanerd> christina and I had a lot of fun when we rolled through in sept
[16:38:49 CST(-0600)] <colinclark> I'll give it one last review based on a few new conveniences I've added to the framework, but it looks like it's ready to go to me
[16:38:57 CST(-0600)] <colinclark> yeah, it's a great city, thealphanerd
[16:39:03 CST(-0600)] <e7mac> oh thanks! meanind to get around to the audio/control signal soon
[16:39:15 CST(-0600)] <e7mac> cool! looking fwd to that
[16:39:27 CST(-0600)] <e7mac> had a few new JS questions that myles sai i should ask you
[16:39:40 CST(-0600)] <e7mac> should i email those to you ?
[16:39:48 CST(-0600)] <colinclark> email or here is fine, whatever you prefer
[16:39:56 CST(-0600)] <colinclark> I've finally found what I think is a viable strategy for the performance vs. cut and paste problem within unit generators...
[16:40:05 CST(-0600)] <e7mac> oh cool - whats thta
[16:40:06 CST(-0600)] <e7mac> ?
[16:40:13 CST(-0600)] <colinclark> I think I'll use something called Esprima to write a "function inliner"
[16:40:19 CST(-0600)] <e7mac> ill email - better to collect my thoughts instead of yappingg aimlessly
[16:40:24 CST(-0600)] <colinclark> not unlike what, say, the Google Closure Compiler does
[16:40:29 CST(-0600)] <Bosmon> Ah yes
[16:40:30 CST(-0600)] <colinclark> only in a way that is actually controllable
[16:40:32 CST(-0600)] <Bosmon> ESSPRIMMA
[16:40:41 CST(-0600)] <Bosmon> That will be a fun toe in the water
[16:40:49 CST(-0600)] <e7mac> ah -looking fwd to seeing what the implementation is
[16:40:54 CST(-0600)] <colinclark> first, though, Node.js support
[16:41:39 CST(-0600)] <e7mac> oh - thoruhg nom ?
[16:41:43 CST(-0600)] <e7mac> npm*
[16:42:17 CST(-0600)] <thealphanerd> Node.js support for infusion or flocking
[16:43:12 CST(-0600)] <colinclark> Infusion is already supported in Node.js
[16:43:14 CST(-0600)] <colinclark> this is for Flocking
[16:43:17 CST(-0600)] <thealphanerd> ahhh
[16:43:18 CST(-0600)] <thealphanerd> neat
[16:43:23 CST(-0600)] <thealphanerd> for server side audio
[16:43:24 CST(-0600)] <thealphanerd> ?
[16:43:25 CST(-0600)] <colinclark> yeah, it should be nice
[16:43:27 CST(-0600)] <colinclark> yes
[16:43:34 CST(-0600)] <colinclark> especially Raspberry Pi-based audio
[16:43:53 CST(-0600)] <colinclark> The DSP API I use for my filters and vector math has also been natively implemented in Node
[16:43:59 CST(-0600)] <colinclark> so it stands a chance of being quite fast
[16:45:39 CST(-0600)] <e7mac> which api is that /
[16:46:32 CST(-0600)] <colinclark> It was written by a guy at Opera
[16:46:47 CST(-0600)] <colinclark> and proposed as a potential spec to go alongside the Web Audio API
[16:47:02 CST(-0600)] <e7mac> its the same spec that myles was showing around right?
[16:47:08 CST(-0600)] <colinclark> in order to provide JavaScript authors with optimized implementations of Filters, FFT, and vector math
[16:47:09 CST(-0600)] <e7mac> i didn't realize the js file was avialble
[16:47:12 CST(-0600)] <e7mac> where can i check that?
[16:47:16 CST(-0600)] <e7mac> the source
[16:47:27 CST(-0600)] <colinclark> Here's a description of it: http://lists.w3.org/Archives/Public/public-audio/2012JulSep/0260.html
[16:47:51 CST(-0600)] <colinclark> Here's his polyfill for it: http://people.opera.com/mage/dspapi/dspapi.js
[16:48:08 CST(-0600)] <e7mac> whoa cool thanks
[16:48:11 CST(-0600)] <thealphanerd> e7mac: I think I was talking to you about that before
[16:48:24 CST(-0600)] <e7mac> this is nice.. i was wondering how to do dSP in js efficitnely
[16:48:29 CST(-0600)] <colinclark> You guys are probably better equipped than me at this point to evaluate the quality of his filter and FFT implementations, but from a performance perspective, it's pretty tight
[16:48:36 CST(-0600)] <e7mac> are you familiar with faust ?
[16:48:52 CST(-0600)] <colinclark> And here's the Node implementation of it: https://github.com/jussi-kalliokoski/node-dsp
[16:49:00 CST(-0600)] <colinclark> I know Faust only from reading about it
[16:49:05 CST(-0600)] <colinclark> I can tell Julius is a big fan
[16:49:47 CST(-0600)] <e7mac> yeah it is pretty cool
[16:50:00 CST(-0600)] <e7mac> people are also pushing for it tone included as a web audio node
[16:50:28 CST(-0600)] <e7mac> to be*
[16:50:33 CST(-0600)] <e7mac> to be included
[16:51:21 CST(-0600)] <colinclark> Yeah, they have their own fork of Chromium, I hear
[16:51:24 CST(-0600)] <e7mac> thanks for the dsp links - these are super interesting
[16:51:33 CST(-0600)] <colinclark> no problem
[16:51:38 CST(-0600)] <colinclark> let me know what you think
[16:51:42 CST(-0600)] <e7mac> dunno about chromium … i have a safari that runs it
[16:51:59 CST(-0600)] <e7mac> i can send it over if u wanna check it out
[16:52:07 CST(-0600)] <e7mac> a big problem though
[16:52:16 CST(-0600)] <e7mac> is that it only has audio rate signals
[16:52:35 CST(-0600)] <e7mac> so to make an instrument, the input has to be sent at audio rates
[16:52:52 CST(-0600)] <colinclark> ah, too bad
[16:52:59 CST(-0600)] <colinclark> why is that, I wonder?
[16:53:13 CST(-0600)] <colinclark> The new filter implementation I merged into Flocking uses this DSP API: https://github.com/colinbdclark/Flocking/blob/master/flocking/flocking-ugens.js#L1906-L1952
[16:53:27 CST(-0600)] <e7mac> yeah I'm not sure either.. i think they envisioned it as a purely effect processor sorta thing
[16:54:19 CST(-0600)] <colinclark> Maybe you and thealphanerd have suggestions for better coefficients out there to use. Right now I'm using some basic Butterworths and the ones from Robert Bristow-Johnston's cookbook: https://github.com/colinbdclark/Flocking/blob/master/flocking/flocking-ugens.js#L2014-L2069
[16:54:41 CST(-0600)] <thealphanerd> colinclark: at the moment it is beyond my understanding of dsp
[16:54:42 CST(-0600)] <colinclark> Sorry, the actual coefficients are here: https://github.com/colinbdclark/Flocking/blob/master/flocking/flocking-ugens.js#L2074-L2213
[16:54:52 CST(-0600)] <thealphanerd> but this is why you should fill out those forms and come here in the spring
[16:55:00 CST(-0600)] <thealphanerd> there are a ton of dsp whiz kids here
[16:55:14 CST(-0600)] <e7mac> ah cool - ill look into this
[16:56:08 CST(-0600)] <colinclark> Bosmon: You know anything about IIR filters?
[17:00:09 CST(-0600)] <Bosmon> colinclark - yes
[17:00:42 CST(-0600)] <colinclark> I guess all of the filter analysis tools that thealphanerd and e7mac are learning help a lot when evaluating coefficients...
[17:01:06 CST(-0600)] <colinclark> As I understand it, the implementation of the filter itself is pretty standard, but the real magic comes from how the coefficients have been designed
[17:01:12 CST(-0600)] <e7mac> yeah
[17:01:21 CST(-0600)] <e7mac> the way they taught us here
[17:01:28 CST(-0600)] <e7mac> is to figure the desired behaviour
[17:01:42 CST(-0600)] <e7mac> then covert to coefficients that give us that behaviour
[17:01:55 CST(-0600)] <colinclark> interesting
[17:01:57 CST(-0600)] <colinclark> that makes sense
[17:02:31 CST(-0600)] <colinclark> I guess "desired behaviour" is typically things like the frequency and phase response of the filter?
[17:02:34 CST(-0600)] <e7mac> yeah
[17:02:44 CST(-0600)] <e7mac> so we design in the analog domain
[17:02:50 CST(-0600)] <e7mac> then use the bilinear transform
[17:02:51 CST(-0600)] <colinclark> Bosmon: These are the biquad coefficients that a lot of people seem to use as a baseline: http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt
[17:02:54 CST(-0600)] <e7mac> to get digital coefficient
[17:03:02 CST(-0600)] <colinclark> right
[17:03:36 CST(-0600)] <colinclark> I've heard some people in the SuperCollider community say these coefficients aren't terribly good
[17:03:39 CST(-0600)] <Bosmon> It's helpful to have at least some basics of complex variable theory
[17:03:44 CST(-0600)] <colinclark> though they sound pretty decent to me
[17:04:27 CST(-0600)] <Bosmon> Otherwise it will be hard to have a sense of what the "Z-domain" really IS
[17:04:41 CST(-0600)] <Bosmon> http://en.wikipedia.org/wiki/Z-transform
[17:05:54 CST(-0600)] <thealphanerd> Bosmon: trying to wrap my head around it :S
[17:08:04 CST(-0600)] <Bosmon> Near the bottom on "Linear constant-coefficient difference equation" is material relevant to the biquad filters
[17:09:42 CST(-0600)] <Bosmon> You can see that the biquadratic filter is just this transfer function with both N and M equal to 2
[17:13:24 CST(-0600)] <colinclark> Yes, in my rudimentary way, I see that this second equation, with an order of 2, is essentially my implementation of the biquad filter
[17:13:42 CST(-0600)] <colinclark> Which makes the nature of the coefficients all the more mysterious to me
[17:14:31 CST(-0600)] <thealphanerd> sigh… I am in so much trouble here
[17:14:42 CST(-0600)] <thealphanerd> I better figure this stuff out in the next year and change
[17:14:54 CST(-0600)] <colinclark> you will, thealphanerd
[17:15:00 CST(-0600)] <thealphanerd> yay!
[18:04:03 CST(-0600)] * Topic is 'This channel is logged – for details see: http://wiki.fluidproject.org/display/fluid/IRC+Channel' set by jessm on 07:30:00 CST(-0600)
[18:08:00 CST(-0600)] * Topic is 'This channel is logged – for details see: http://wiki.fluidproject.org/display/fluid/IRC+Channel' set by jessm on 07:30:00 CST(-0600)