fluid-work IRC Logs-2012-08-02

fluid-work IRC Logs-2012-08-02

[07:11:00 CDT(-0500)] <tokran> hello this is Eric from the TU Dresden

[07:15:12 CDT(-0500)] <boyan> Hi Eric, and welcome to the channel!

[09:17:35 CDT(-0500)] <michelled> cindyli: did you say you had a branch you wanted me to look at?

[09:18:20 CDT(-0500)] <cindyli> michelled: should be ready soon. The big icon issue is fixed. but i noticed when text size is maximized, the icon overlaps with the checkbox besides it. looking into that.

[09:21:01 CDT(-0500)] <michelled> thx cindyli

[09:21:09 CDT(-0500)] <cindyli> np

[09:25:26 CDT(-0500)] <michelled> anastasiac, cindyli: a11y-uio is updated to master. Also, I think we can start closing JIRAs now. If an issue is fixed on the a11y-uio staging site, then lets close it.

[09:25:52 CDT(-0500)] <anastasiac> ok, michelleld

[09:30:03 CDT(-0500)] <anastasiac> michelled, what if the issue is fixed in the a11y-uio branch, but not yet on the a11y-uio staging site?

[09:30:20 CDT(-0500)] <michelled> anastasiac: leave it open until we see it on the staging site

[09:30:46 CDT(-0500)] <michelled> anastasiac: I don't know how Andrey has set it up - we might need to ask him to update staging from time to time

[09:30:50 CDT(-0500)] <anastasiac> k. If it's on the staging site, maybe we should remove it from the iteration page too, michelled?

[09:31:46 CDT(-0500)] <michelled> anastasiac: if that makes it easier it's fine. The only reason I leave the issues on there for the week is for the sense of accomplishment

[09:31:58 CDT(-0500)] <michelled> I think it's good for transparency too

[09:32:02 CDT(-0500)] <anastasiac> ok

[09:32:23 CDT(-0500)] <cindyli> michelled: the branch for FLOE-63 is ready for review: https://github.com/cindyli/OER-Commons/tree/FLOE-63

[09:32:29 CDT(-0500)] <michelled> thx cindyli

[09:32:33 CDT(-0500)] <cindyli> np

[09:58:18 CDT(-0500)] <cindyli> jameswy and jvass, i wanna clarify the table of contents mentioned in this jira: http://issues.fluidproject.org/browse/FLOE-76

[09:58:38 CDT(-0500)] <cindyli> it's the TOC in the authoring edit and preview page, right?

[10:01:56 CDT(-0500)] <michelled> cindyli: I can clarify that - we talked about it in person

[10:02:06 CDT(-0500)] <michelled> it's not the authoring toc

[10:02:06 CDT(-0500)] <cindyli> that's great, michelled

[10:02:26 CDT(-0500)] <cindyli> so, UIO toc?

[10:02:28 CDT(-0500)] <michelled> it's the TOC that you see everywhere else when you set the TOC option to on in UIO

[10:02:34 CDT(-0500)] <cindyli> ok, got you

[10:04:01 CDT(-0500)] <michelled> cindyli: FLOE-63 looks good

[10:04:13 CDT(-0500)] <michelled> cindyli: there is one more place where the arrow is an issue though

[10:04:22 CDT(-0500)] <cindyli> ok, where?

[10:04:23 CDT(-0500)] <michelled> it's the pull down beside the logged in user name at the top

[10:04:34 CDT(-0500)] <cindyli> ah. ok

[10:05:18 CDT(-0500)] <michelled> anastasiac: I'm seeing some real issues with the authoring steps in IE8 - the layout is broken and hovering is horrible

[10:05:31 CDT(-0500)] <anastasiac> oh, that's not good

[10:05:41 CDT(-0500)] <michelled> anastasiac: I know you worked on the steps before - could you take a look at it after you're done what you are working on?

[10:05:57 CDT(-0500)] <anastasiac> will do - could you file a JIRA?

[10:06:45 CDT(-0500)] <michelled> sure

[10:11:31 CDT(-0500)] <cindyli> michelled, anastasiac, i also noticed the broken layout when i was testing with IE8, but seems it was caused by the shifting of the title field. Fixing that might fix the layout issue. but michelled might noticed other things that cause the layout falls apart.

[10:12:07 CDT(-0500)] <anastasiac> ok

[10:12:47 CDT(-0500)] <cindyli> this is the related jira, anastasiac: http://issues.fluidproject.org/browse/FLOE-61

[10:12:57 CDT(-0500)] <anastasiac> thanks, cindyli

[10:13:00 CDT(-0500)] <cindyli> np

[10:15:56 CDT(-0500)] <michelled> anastasiac: I opened this one because it seems slightly different than what cindyli saw: http://issues.fluidproject.org/browse/FLOE-77

[10:17:10 CDT(-0500)] <anastasiac> ok, I've linked the two in JIRA, just in case

[10:19:55 CDT(-0500)] <michelled> cindyli: for FLOE-76 - the background should not fill the whole width of the screen - it should just surround the actual TOC

[10:20:19 CDT(-0500)] <cindyli> ok. thanks, michelled

[10:23:45 CDT(-0500)] <michelled> np

[10:34:56 CDT(-0500)] <avtar> fluid-everyone: i'm on a call with nebula so here's my standup/connections update. currently working on two issues with nebula engineers, 1. the authentication service is not responding to requests and 2. only one of the controllers' ip addresses is being returned from their dns service. we had to ship their management laptop to them last week so i might have to be at the data centre to manually retrieve info for troubleshooting purpos

[10:34:57 CDT(-0500)] <avtar> also, i was using this tool http://theforeman.org to provision machines in the smaller cluster in a vm, hoping to have enough time after the nebula tasks to set foreman up on a dedicated, physical host at 100 mccaul

[10:51:39 CDT(-0500)] <anastasiac> cindyli, regarding the 'steps' icons in IE8, did you see the same problem that michelled sees (she put a screenshot on FLOE-77)

[10:51:58 CDT(-0500)] <cindyli> trying, anastasiac

[10:53:32 CDT(-0500)] <cindyli> interesting, i don't see it, anastasiac

[10:53:57 CDT(-0500)] <anastasiac> ok, cindyli, thanks. I don't either, so maybe michelled's setup is the problem

[10:54:09 CDT(-0500)] <michelled> anastasiac, cindyli: can you update to the latest a11y-uio just in case there's something that recently got committed?

[10:54:09 CDT(-0500)] <anastasiac> cindyli, do the icons actually work for you?

[10:54:29 CDT(-0500)] <cindyli> anastasiac: you mean by clicking them or the hover styling

[10:54:37 CDT(-0500)] <anastasiac> clicking to go to another step

[10:54:38 CDT(-0500)] <cindyli> the hover styling is a icon switch

[10:55:02 CDT(-0500)] <cindyli> no, clicking doesn't take me to another step

[10:55:16 CDT(-0500)] <anastasiac> ok, well, that's a bug

[10:55:36 CDT(-0500)] <anastasiac> doesn't work in IE9, either

[10:55:41 CDT(-0500)] <anastasiac> ok, I'm on it

[13:03:17 CDT(-0500)] <cindyli> michelled: the fix for user profile icons is ready to review: https://github.com/cindyli/OER-Commons/tree/FLOE-63

[13:03:35 CDT(-0500)] <michelled> thx cin

[13:18:34 CDT(-0500)] <Justin_o> yura1: for a fluid.render.condition expander can do you know if i can use a function for the condition, and if so what arguments does it pass I'm?

[13:18:39 CDT(-0500)] <Justin_o> in

[13:21:46 CDT(-0500)] <yura1> Justin_o: you would specify your own args

[13:21:59 CDT(-0500)] <Justin_o> yura1: do you have an example of it?

[13:22:17 CDT(-0500)] <yura1> YA ONE SEC

[13:22:22 CDT(-0500)] <yura1> ya one sec :

[13:22:22 CDT(-0500)] <Justin_o> thanks

[13:24:24 CDT(-0500)] <yura1> https://github.com/collectionspace/ui/blob/master/src/main/webapp/defaults/js/CreateTemplateBox.js#L107-113

[13:24:27 CDT(-0500)] <yura1> Justin_o: ^

[13:25:06 CDT(-0500)] <Justin_o> yura1: thanks.. that's pretty straightforward

[13:25:31 CDT(-0500)] <yura1> np

[13:47:17 CDT(-0500)] <jhung1> justin_o: I have pushed up changes to decapod-ui to my bitbucket repo.

[13:48:36 CDT(-0500)] <Justin_o> jhung: thanks.. i have a bunch of changes in mine as well.. have you pulled those down yet?

[13:48:44 CDT(-0500)] <Justin_o> made a bunch today

[13:48:59 CDT(-0500)] <jhung> yep. I pulled and merged those justin_o

[13:49:11 CDT(-0500)] <Justin_o> jhung: excellent, thanks

[14:43:27 CDT(-0500)] <jhung> justin_o: it doesn't look like the user needs to hold the calibration pattern. Therefore it can lay flat - this also means no more timer!

[14:44:17 CDT(-0500)] <Justin_o> jhung: oh that's good

[14:44:21 CDT(-0500)] <Justin_o> should simplify things

[14:44:28 CDT(-0500)] <jhung> yep.

[15:05:10 CDT(-0500)] <Justin_o> jhung: pulled in your changes and pushed them up to my repo

[15:05:37 CDT(-0500)] <jhung> great justin_o

[17:33:47 CDT(-0500)] <colinclark> Bosmon: I should expect failing Image Reorderer tests until your fix for FLUID-4736 is in, right?

[17:38:13 CDT(-0500)] <Bosmon> yes

[17:46:14 CDT(-0500)] <colinclark> Bosmon: This FLUID-4711 change to visitComponentChildren() seems to echo the same style of issue were discussing on Skype today in regards to trundlers

[17:46:41 CDT(-0500)] <colinclark> It seems, rather than being directional, that it is now all path-based

[17:50:09 CDT(-0500)] <Bosmon> Yes, that's right

[17:50:18 CDT(-0500)] <Bosmon> It is a kind of "anticipatory refactoring"

[18:02:17 CDT(-0500)] <colinclark> Bosmon: Do we have any examples in the wild of other implementations of a path composer?

[18:02:32 CDT(-0500)] <colinclark> I see in the code today it looks like fluid.composePath() pretty much the sole strategy

[18:03:40 CDT(-0500)] <colinclark> Hey thealphanerd, let me know if you need a hand with your ARIA and/or polyphony work at all

[18:03:50 CDT(-0500)] <colinclark> despite having to bail on our meeting, I'm happy to help if you get stuck on anything

[18:05:13 CDT(-0500)] <thealphanerd> colinclark: no problem

[18:05:16 CDT(-0500)] <thealphanerd> will definitely need the help

[18:05:22 CDT(-0500)] <thealphanerd> I'm going to be off the map until monday

[18:05:26 CDT(-0500)] <thealphanerd> but then its nose to the screen

[18:05:34 CDT(-0500)] <colinclark> Where are you off to for the long weekend?

[18:05:40 CDT(-0500)] <thealphanerd> Electric Eclectics

[18:05:40 CDT(-0500)] <thealphanerd>

[18:05:42 CDT(-0500)] <thealphanerd> you coming

[18:05:43 CDT(-0500)] <thealphanerd> ?

[18:05:43 CDT(-0500)] <colinclark> oh right!

[18:05:45 CDT(-0500)] <colinclark> Can't

[18:05:48 CDT(-0500)] <thealphanerd> pfft

[18:05:51 CDT(-0500)] <colinclark> Darcie took the car

[18:05:53 CDT(-0500)] <thealphanerd>

[18:05:58 CDT(-0500)] <thealphanerd> I know some people going

[18:06:08 CDT(-0500)] <thealphanerd> but you would probably have to go for the entire weekend if you hitched a ride with them

[18:06:17 CDT(-0500)] <colinclark> yeah, I have to stick around and look after this cat

[18:06:17 CDT(-0500)] <thealphanerd> I'd offer but we are leaving early and going to muskoka

[18:06:23 CDT(-0500)] <thealphanerd> is the cat ok?

[18:06:24 CDT(-0500)] <colinclark> no worries

[18:06:27 CDT(-0500)] <colinclark> Tell me how it goes

[18:06:28 CDT(-0500)] <thealphanerd> sounded like a semi emergency

[18:06:34 CDT(-0500)] <colinclark> No, it wasn't

[18:06:42 CDT(-0500)] <colinclark> Just not fully planned out because of Darcie's canoe trip

[18:07:02 CDT(-0500)] <colinclark> He's got cancer, but he's been sticking it out pretty good for a while

[18:07:12 CDT(-0500)] <colinclark> he just needs shots every few weeks

[18:08:02 CDT(-0500)] <colinclark> Hey, thealphanerd, if you get a chance at some point, can you check your Windows 7 version of Firefox?

[18:08:23 CDT(-0500)] <colinclark> Best as I can tell, I was running an older version--Firefox 13, which contained the bug that was causing the "unresponsive script" dialog to pop up

[18:08:48 CDT(-0500)] <thealphanerd> I have tested

[18:08:48 CDT(-0500)] <colinclark> When I upgraded to Firefox 14, I could no longer see it happening with either the AMMM or any of my Flocking demos and compositions

[18:08:53 CDT(-0500)] <thealphanerd> unresponsive script is gone afaik

[18:08:59 CDT(-0500)] <colinclark> that's a relief

[18:08:59 CDT(-0500)] <thealphanerd> but latency is suck

[18:09:03 CDT(-0500)] <colinclark> yeah

[18:09:20 CDT(-0500)] <thealphanerd> btw Julius Smith says that he is impressed by the piano

[18:09:25 CDT(-0500)] <colinclark> nice!

[18:09:26 CDT(-0500)] <thealphanerd> never expected such small latency in browser

[18:09:27 CDT(-0500)] <thealphanerd>

[18:09:29 CDT(-0500)] <colinclark> lol

[18:09:33 CDT(-0500)] <colinclark> I'm deeply flattered

[18:09:42 CDT(-0500)] <thealphanerd>

[18:09:43 CDT(-0500)] <colinclark> as should you be

[18:09:49 CDT(-0500)] <thealphanerd> this has been an amazing experience

[18:09:59 CDT(-0500)] <colinclark> You've been awesome

[18:10:04 CDT(-0500)] <thealphanerd> I just have to start to push myself to get stuff together for the final deadline

[18:10:09 CDT(-0500)] <colinclark> I can wait to see the arpeggiator and polyphony

[18:10:14 CDT(-0500)] <colinclark> can't wait

[18:10:17 CDT(-0500)] <colinclark> can't wait

[18:10:17 CDT(-0500)] <colinclark>

[18:10:35 CDT(-0500)] <colinclark> Let me ask you this question:

[18:10:54 CDT(-0500)] <colinclark> Would it make sense for me to just roll polyphony straight into Flocking while you're away at EE?

[18:11:02 CDT(-0500)] <thealphanerd> ujmmm

[18:11:03 CDT(-0500)] <thealphanerd> yeah

[18:11:04 CDT(-0500)] <thealphanerd>

[18:11:05 CDT(-0500)] <thealphanerd> lol

[18:11:05 CDT(-0500)] <colinclark> Or would you rather try it?

[18:11:07 CDT(-0500)] <colinclark> up to you

[18:11:12 CDT(-0500)] <thealphanerd> implement it if you can

[18:11:15 CDT(-0500)] <colinclark> I was leaving it for you, but I can whip something up this weekend

[18:11:18 CDT(-0500)] <colinclark> okay, will do

[18:11:21 CDT(-0500)] <thealphanerd> truthfully I have so many things I would like to do

[18:11:25 CDT(-0500)] <thealphanerd> that I can fill my time either way

[18:11:33 CDT(-0500)] <colinclark> Filters will have to wait for another weekend

[18:11:40 CDT(-0500)] <colinclark> Sorry Julius

[18:12:22 CDT(-0500)] <colinclark> I'll see how it goes--if you get some progress on ARIA and then on the arpeggiator, things'll get pretty interesting

[18:12:33 CDT(-0500)] <colinclark> and we can maybe give Jennison a call and see if he'd like to try it out then

[18:12:39 CDT(-0500)] <colinclark> Jennison and Johnny, perhaps

[18:18:47 CDT(-0500)] <thealphanerd> definitely

[18:18:53 CDT(-0500)] <thealphanerd> I think the arpeggiator will be pretty easy

[18:18:58 CDT(-0500)] <thealphanerd> a hook or something

[18:19:03 CDT(-0500)] <thealphanerd> on note on

[18:19:24 CDT(-0500)] <thealphanerd> I still feel like I need a lot of guidence for the aria stuff though

[18:19:27 CDT(-0500)] <thealphanerd> unfortunately

[18:20:12 CDT(-0500)] <colinclark> in the end, it's not going to be as hard as you think

[18:20:20 CDT(-0500)] <colinclark> it should go fairly smoothly

[18:20:24 CDT(-0500)] <thealphanerd> I agree

[18:20:29 CDT(-0500)] <thealphanerd> just hard to find good documentation

[18:22:25 CDT(-0500)] <colinclark> I think it's going to be pretty easy

[18:22:39 CDT(-0500)] <colinclark> The hardest part will be to determine what a screen reader user wants to hear when they're also trying to make music

[18:22:46 CDT(-0500)] <colinclark> I just did a quick check of the ARIA documentation, as I said I would

[18:22:56 CDT(-0500)] <colinclark> And, if we want to go with the traditional model, it's really easy

[18:23:07 CDT(-0500)] <colinclark> Just give each of your keys the attribute role="button"

[18:23:11 CDT(-0500)] <thealphanerd> done

[18:23:25 CDT(-0500)] <colinclark> and create another list of labels somewhere, styling it so it's not visible

[18:23:39 CDT(-0500)] <colinclark> I'd probably literally just make a list like this:

[18:23:56 CDT(-0500)] <colinclark> <ol><li>A1</li><li>A#1</li>…</ol>

[18:24:05 CDT(-0500)] <colinclark> Give each of those <li>s an id

[18:24:29 CDT(-0500)] <colinclark> Then give each of your keys another attribute: aria-labelledby="<id of the label>"

[18:24:39 CDT(-0500)] <colinclark> So, then each key on the piano will be a button

[18:24:47 CDT(-0500)] <thealphanerd> in aria land

[18:24:52 CDT(-0500)] <colinclark> and you'll associate it with a separate, invisible label in ARIA land

[18:24:52 CDT(-0500)] <colinclark> yes

[18:25:10 CDT(-0500)] <thealphanerd> so would the best way to do this be to make a hidden div inside piano?

[18:25:23 CDT(-0500)] <thealphanerd> trailing after the svg?

[18:25:24 CDT(-0500)] <colinclark> And then a screen reader user will be able to focus each key and they will hear, say, "A#4 button"

[18:25:24 CDT(-0500)] <colinclark> Yes, that's probably where I'd put it

[18:25:33 CDT(-0500)] <colinclark> in the main piano container, after the SVG

[18:25:34 CDT(-0500)] <colinclark> yup

[18:25:51 CDT(-0500)] <colinclark> Now, my sense is that this might annoy an AT user--but if you implement this, we can actually test it with a few people

[18:26:02 CDT(-0500)] <colinclark> It might be annoying, because they'd keep hearing the labels while they were playing sound

[18:26:09 CDT(-0500)] <colinclark> let's try it the traditional way and see what people say

[18:26:33 CDT(-0500)] <colinclark> if that doesn't work, we'll simply put a giant aria-describedby attribute on the Piano's main container--the one we're going to put in the tab order

[18:26:45 CDT(-0500)] <colinclark> and create a hidden <div> that contains a full description of the piano

[18:27:20 CDT(-0500)] <colinclark> Something like "This is a piano keyboard, starting with A1 and ending with C200. To navigate it, press the arrow keys to select a note and press Spacebar or Enter to play the sound."

[18:27:23 CDT(-0500)] <colinclark> or whatever

[18:27:34 CDT(-0500)] <colinclark> So, really, it's pretty easy

[18:27:55 CDT(-0500)] <colinclark> then we just have the (hopefully) fairly minor challenge of making each SVG element focusable--but it looks like these things take focus programmatically, which is great

[18:28:28 CDT(-0500)] <thealphanerd> yeah that looked like it wasn't too bad

[18:28:38 CDT(-0500)] <thealphanerd> but it raises a question

[18:28:47 CDT(-0500)] <thealphanerd> as to how to specifically deal with focus with multiple keyboards

[18:28:49 CDT(-0500)] <thealphanerd> ALSO

[18:28:53 CDT(-0500)] <Bosmon> colinclark - there are two path composers

[18:28:57 CDT(-0500)] <thealphanerd> I was thinking about introducing a sustain button

[18:29:10 CDT(-0500)] <Bosmon> There is the one in the core framework which does no escaping, and the slow one in DataBinding.js which we use a lot in GPII

[18:29:17 CDT(-0500)] <colinclark> aha!

[18:29:24 CDT(-0500)] <colinclark> yes, I remember we discussed this

[18:29:37 CDT(-0500)] <Bosmon> For now I am going with the model that no component name can contain a period, since I can't see a great reason why they should

[18:29:45 CDT(-0500)] <colinclark> Yes, I saw that comment

[18:29:50 CDT(-0500)] <colinclark> I think it's a reasonable restriction

[18:29:59 CDT(-0500)] <Bosmon> But if we can unify the two implementations into a single, supersmart one some day, presumably we would want to centralise on that one

[18:30:10 CDT(-0500)] <colinclark> thealphanerd: Some kind of toggle switch that's analogous to a sustain pedal on a synthesizer?

[18:30:19 CDT(-0500)] <Bosmon> I've already forgotten the name of that framework which we saw a regex-based escaper in

[18:30:23 CDT(-0500)] <colinclark> Bosmon: Great

[18:30:28 CDT(-0500)] <Bosmon> Was it handlebars or something like that?

[18:30:46 CDT(-0500)] <colinclark> No, I think it was actually the build tool...

[18:30:47 CDT(-0500)] <colinclark> Grunt?

[18:30:48 CDT(-0500)] <colinclark> yes

[18:31:02 CDT(-0500)] <Bosmon> Oh yes

[18:31:03 CDT(-0500)] <Bosmon> Grunt

[18:31:03 CDT(-0500)] <colinclark> Why is visitComponents private in FluidIoC.js?

[18:31:10 CDT(-0500)] <Bosmon> hah

[18:31:12 CDT(-0500)] <thealphanerd> colinclark: kinda… thinking just something that would disable noteoff

[18:31:22 CDT(-0500)] <Bosmon> Great question, especially since I've just been talking to Travis about private functions

[18:31:26 CDT(-0500)] <colinclark>

[18:31:41 CDT(-0500)] <colinclark> it's pretty trivial, I was just curious since it really does stand out alone

[18:31:49 CDT(-0500)] <thealphanerd> also colinclark I was curious how hard it would be to implement glide?

[18:31:57 CDT(-0500)] <colinclark> thealphanerd: Easy

[18:32:02 CDT(-0500)] <Bosmon> It was such a vague implementation in the early days I was positively ashamed of it

[18:32:09 CDT(-0500)] <colinclark> You stick a flock.ugen.xLine on the frequency

[18:32:17 CDT(-0500)] <Bosmon> What it actually does has already changed several times over the course of the framework

[18:32:38 CDT(-0500)] <Bosmon> Until we had our "yellow squares" scoping diagram, our scoping rules were pretty unclear

[18:32:55 CDT(-0500)] <colinclark> thealphanerd: So instead of directly updating the frequency of your carrier input, you'd update the start and end inputs of an xLine

[18:33:05 CDT(-0500)] <Bosmon> There are a few more private functions in the file too

[18:33:12 CDT(-0500)] <thealphanerd> cool.. I'll experiment with that

[18:33:40 CDT(-0500)] <colinclark> thealphanerd: I'll probably improve that API a bit based on thinking more about the Web Audio API's "audio params"

[18:33:57 CDT(-0500)] <colinclark> but again, I expect that we'll create objects that make these kinds of things invisible to ordinary synth builders

[18:34:08 CDT(-0500)] <colinclark> the UGen abstraction is VERY low level

[18:34:10 CDT(-0500)] <colinclark> but very composable

[18:34:18 CDT(-0500)] <colinclark> having been more or less useful since, what, 1958?

[18:34:38 CDT(-0500)] <colinclark> Bosmon: yes, and they seem to alternate between the various styles of defining functions

[18:34:52 CDT(-0500)] <colinclark> I enjoyed reading makeGingerStrategy(), Bosmon

[18:35:09 CDT(-0500)] <colinclark> And then reading the old Spring ticket you filed in 2006

[18:35:21 CDT(-0500)] <Bosmon> hahaha

[18:35:26 CDT(-0500)] <colinclark> and then seeing the error message "Please reorganise your dependencies so that they no longer contain circular references"

[18:37:57 CDT(-0500)] <colinclark> thealphanerd: Here's what Julius says about the history: https://ccrma.stanford.edu/~jos/kna/Historical_View_Synthesizer_Development.html

[18:38:54 CDT(-0500)] <colinclark> thankfully, unlike Max Mathews, we can use a bit more descriptive input names than P1, P2, P3…

[18:39:01 CDT(-0500)] <colinclark> Amazingly, CSound programmers still work this way

[18:40:18 CDT(-0500)] <thealphanerd> interesting

[18:40:45 CDT(-0500)] <colinclark> "Apparently, Music V was born at least three decades too soon to be accepted as the PostScript of the music world. Instead, we got MIDI (Musical Instrument Digital Interface)."

[18:40:54 CDT(-0500)] <colinclark> Julius seems a bit disappointed

[18:41:28 CDT(-0500)] <thealphanerd> colinclark: have you made many npm modules?

[18:41:35 CDT(-0500)] <colinclark> I have not

[18:41:45 CDT(-0500)] <colinclark> but I'm fairly certain Bosmon and yura have

[18:41:47 CDT(-0500)] <colinclark> For Infusion

[18:43:06 CDT(-0500)] <Bosmon> thealphanerd - yes, we have a basic "node driver" for Infusion

[18:43:18 CDT(-0500)] <Bosmon> It isn't in npm yet, since we are still debating our release strategy

[18:43:24 CDT(-0500)] <thealphanerd> how does namspacing work nicely with exports?

[18:43:31 CDT(-0500)] <Bosmon> A really excellent question

[18:43:38 CDT(-0500)] <Bosmon> Let me just finish this call I'm on and I'll explain

[18:43:43 CDT(-0500)] <colinclark> lol

[18:43:47 CDT(-0500)] <Bosmon> But we have made a thing called "fluid.require"

[18:45:03 CDT(-0500)] <thealphanerd> now would it be easy to use infusion / fluid.require as a template to make infusion based npm modules?

[18:45:35 CDT(-0500)] <thealphanerd> colinclark / Bosmon: phortran is a wizard buddy of mine working on his first node app for interfacing with the monome

[18:45:52 CDT(-0500)] <phortran> hey guys

[18:45:53 CDT(-0500)] <colinclark> cool

[18:45:54 CDT(-0500)] <thealphanerd> we're trying to figure out how to properly set stuff up while remaining true to thatism / namespace

[18:45:58 CDT(-0500)] <colinclark> hi phortran

[18:46:06 CDT(-0500)] <phortran> thanks for taking the time to help out

[18:46:08 CDT(-0500)] <Bosmon> thealphanerd - what an awesome endeavour

[18:46:10 CDT(-0500)] <phortran> pretty new to this stuff

[18:46:12 CDT(-0500)] <thealphanerd> colinclark: phortran is the original author of pages… one of the best monomes out there

[18:46:26 CDT(-0500)] <phortran> aww shucks

[18:46:32 CDT(-0500)] <thealphanerd> https://github.com/dinchak/node-serialosc

[18:46:36 CDT(-0500)] <thealphanerd> this is where we are so far

[18:46:58 CDT(-0500)] <colinclark> Bosmon: This is a monome, by the way: http://monome.org/here/12-256-1.jpg

[18:47:12 CDT(-0500)] <thealphanerd> oh new monome

[18:47:13 CDT(-0500)] <thealphanerd> mmmm

[18:47:30 CDT(-0500)] <Bosmon> fun

[18:47:33 CDT(-0500)] <thealphanerd> but we want to build this code base modularly enough that we can interface many devices

[18:47:39 CDT(-0500)] <thealphanerd> not just them monome

[18:47:46 CDT(-0500)] <Bosmon> So, the core Fluid value is that "everything has a unique, stable public name"

[18:47:58 CDT(-0500)] <Bosmon> Which is completely at odds with the node/npm packaging idiom

[18:48:02 CDT(-0500)] <colinclark> This is quite a different approach to the node module system

[18:48:03 CDT(-0500)] <colinclark> yes

[18:48:04 CDT(-0500)] <Bosmon> This is why we made fluid.require

[18:49:40 CDT(-0500)] <Bosmon> fluid.require operates a single "context" which consists of the (V8) context object which is used to load the Fluid framework

[18:49:57 CDT(-0500)] <Bosmon> It then exposes fluid.require to all clients, which allows them to load their code into the same context

[18:50:22 CDT(-0500)] <Bosmon> And it of course assumes that everyone follows the standard Fluid guidelines on using properly namespaced, global names to identify their code

[18:51:50 CDT(-0500)] <colinclark> thealphanerd: To clarify, most people wouldn't follow these Fluid guidelines...

[18:52:05 CDT(-0500)] <colinclark> unless they want to use Infusion and especially the IoC features that make such loosely-coupled apps

[18:52:13 CDT(-0500)] <colinclark> like, say, your stuff

[18:52:45 CDT(-0500)] <thealphanerd> well I see a serious advantage to designing this way

[18:53:03 CDT(-0500)] <thealphanerd> and I usehd phortran to start trying to program in a similar way

[18:53:16 CDT(-0500)] <thealphanerd> to find out that the code won't really work in npm

[18:53:17 CDT(-0500)] <thealphanerd> lol

[18:53:59 CDT(-0500)] <colinclark> Bosmon: Can you think of any examples within the GPII code that might be useful to see how it works in action?

[18:54:25 CDT(-0500)] <phortran> lol, luckily sounds like a fairly easy solution, i take it i'm going to need: https://github.com/fluid-project/infusion ?

[18:54:37 CDT(-0500)] <colinclark> yup

[18:54:55 CDT(-0500)] <Bosmon> The node driver file is called fluid.js

[18:54:55 CDT(-0500)] <thealphanerd> phortran: infusion is the framework I've been using for the automagic music maker

[18:54:56 CDT(-0500)] <colinclark> we're not yet publishing it as an NPM module until we cut a stable 1.5 release

[18:56:20 CDT(-0500)] <Bosmon> You can see that it has a standard npm packagine

[18:57:34 CDT(-0500)] <thealphanerd> you can install via npm by pointing to a git repo though can't you

[18:57:52 CDT(-0500)] <colinclark> really? I didn't know that

[18:58:10 CDT(-0500)] <thealphanerd> https://npmjs.org/doc/install.html

[18:58:13 CDT(-0500)] <thealphanerd> you can install tarballs

[18:58:29 CDT(-0500)] <thealphanerd> or git repos

[18:58:48 CDT(-0500)] <thealphanerd> and I think you can specify that in the package.json file too

[18:59:13 CDT(-0500)] <thealphanerd> looks like you can even specifiy specific commits or tags

[19:00:40 CDT(-0500)] <thealphanerd> yup… you can set dependencies as either http://... url's or git… urls (which can point directly to github)

[19:01:33 CDT(-0500)] <colinclark> Bosmon: FLUID-4711 is in

[19:01:47 CDT(-0500)] <colinclark> I also tested it with the options merging fix just to ensure that we've got happy tests

[19:01:54 CDT(-0500)] <colinclark> So I'll move on to that one now

[19:02:30 CDT(-0500)] <phortran> sorry.. phonecall.. i did try installing via npm from the repo but no luck there, but i'll just grab that fluid.js for now

[19:05:16 CDT(-0500)] <thealphanerd> phortran: npm install git://github.com/fluid-project/infusion.git

[19:05:20 CDT(-0500)] <thealphanerd> works for me

[19:05:57 CDT(-0500)] <colinclark> Bosmon: I find myself more compelled to carve out some time to revisit our Builder and build system one of these days

[19:06:20 CDT(-0500)] <colinclark> After having done this whole round of conversations with the team, I'm thinking we need to start the process of planning for that Infusion 1.5 release