Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

[09:19:13 CDT(-0500)] <anastasiac> avtar, are you there?

[09:19:37 CDT(-0500)] <avtar> yup

[09:20:02 CDT(-0500)] <anastasiac> avtar, both cindy and I can't start up vagrant this morning because the command is not found. michelle says that on her machine, it's in /usr/bin, but I don't see it there on my machine. any suggestions?

[09:20:11 CDT(-0500)] <avtar> anastasiac, cindyli: try this… rvm --default use 1.9.3

[09:20:15 CDT(-0500)] <avtar> and then 'vagrant up'

[09:20:43 CDT(-0500)] <anastasiac> thanks, avtar - that did the trick. Is there any way to have that happen by default?

[09:21:26 CDT(-0500)] <avtar> anastasiac: that setting should persist across restarts

[09:21:35 CDT(-0500)] <avtar> you can test it out by quitting terminal and restarting it

[09:21:40 CDT(-0500)] <avtar> and then 'which ruby'

[09:22:50 CDT(-0500)] <avtar> it should show: /Users/your_username/.rvm/rubies/ruby-1.9.3-p125/bin/ruby

[09:23:25 CDT(-0500)] <avtar> hey kasper, do you have a pgp key that i could use to send you the mediawiki data?

[09:23:59 CDT(-0500)] <kasper> avtar: something like my id_rsa.pub?

[09:25:49 CDT(-0500)] <avtar> kasper: no

[09:25:55 CDT(-0500)] <kasper> oh (sad)

[09:26:02 CDT(-0500)] <avtar> one sec, i'll find a url

[09:26:07 CDT(-0500)] <kasper> cool thanks

[09:27:15 CDT(-0500)] <avtar> http://www.madboa.com/geek/gpg-quickstart/#keyintro

[09:28:28 CDT(-0500)] <avtar> i'll need the 'pubkey.txt' file mentioned in that tutorial

[09:30:14 CDT(-0500)] <kasper> avtar: ok.. on it

[09:30:28 CDT(-0500)] <kasper> avtar: just out of curiosity, why are these preferable over rsa?

[09:32:56 CDT(-0500)] <avtar> kasper: it's nice to have a gnupg/pgp key pair handy if you're sending sensitive data over email or using any other unencrypted means

[09:34:01 CDT(-0500)] <avtar> i could use your id_rsa.pub key to provide login access to a server and then you could use scp or rsync to copy the files but using pgp might be more straightforward

[09:41:30 CDT(-0500)] <kasper> avtar: ahh ok, so my id_rsa is basically used for ssh stuff, whereas the gpg is of more general use? that makes sense

[09:41:36 CDT(-0500)] <kasper> Sent you the key

[09:42:10 CDT(-0500)] <avtar> yup

[09:42:18 CDT(-0500)] <avtar> awesome, thanks

[09:43:09 CDT(-0500)] <avtar> p.s. i haven't had a chance to check the youtube urls yet

[09:43:15 CDT(-0500)] <avtar> but i'll send you my review soon

[09:43:43 CDT(-0500)] <kasper> avtar: haha, cool! Chances are you've seen them before.. but if not, they're worth a watch (smile)

[10:11:33 CDT(-0500)] <michelled> colinclark: stack overflow says this: "user contributions licensed under cc-wiki with attribution required"

[10:11:45 CDT(-0500)] <michelled> colinclark: I think that means that as long as we cite it we are ok

[10:11:51 CDT(-0500)] <colinclark> nope

[10:11:54 CDT(-0500)] <michelled> but I just wanted to double check with you

[10:12:00 CDT(-0500)] <colinclark> It's sort of an awkward case

[10:12:07 CDT(-0500)] <colinclark> CC isn't typically a license for code

[10:12:15 CDT(-0500)] <colinclark> Can you send me the original post?

[10:12:30 CDT(-0500)] <michelled> http://stackoverflow.com/questions/395045/cross-site-xmlhttprequest

[10:12:44 CDT(-0500)] <michelled> it's the getJSON function

[10:13:37 CDT(-0500)] <colinclark> Why are we using this code?

[10:14:07 CDT(-0500)] <avtar> kasper: i sent a link to the required data and some instructions

[10:14:12 CDT(-0500)] <avtar> please let me know if you need anything else

[10:15:42 CDT(-0500)] <colinclark> michelled, alexn: Can you talk more about your rationale for using this code?

[10:16:51 CDT(-0500)] <michelled> to be honest I'm not sold on it yet colinclark - alexn has been taking me through his modifications to captionator to support univerals subtitles captions

[10:17:12 CDT(-0500)] <michelled> here's the diff we are looking through: https://github.com/fluid-project/videoPlayer/compare/demo...xOZx:FLUID-4677

[10:19:14 CDT(-0500)] <alexn> colinclark: could you please be more specific about the part of code you are talking about

[10:19:31 CDT(-0500)] <alexn> I replaced the code with

[10:19:32 CDT(-0500)] <alexn> var callbackName = 'json'+(Math.random()*100).toString().replace(/\./g,'');

[10:19:32 CDT(-0500)] <alexn> window[callbackName]= function(data){

[10:19:32 CDT(-0500)] <alexn> callback&&callback(data);

[10:19:32 CDT(-0500)] <alexn> };

[10:19:32 CDT(-0500)] <alexn>

[10:19:33 CDT(-0500)] <alexn>

[10:19:33 CDT(-0500)] <alexn> var scriptTag = document.createElement("script");

[10:19:34 CDT(-0500)] <alexn> scriptTag.type = "text/javascript";

[10:19:34 CDT(-0500)] <alexn>

[10:19:35 CDT(-0500)] <alexn> scriptTag.src = URL.replace('callback=?','callback=' + callbackName);

[10:19:35 CDT(-0500)] <alexn> document.body.appendChild(scriptTag);

[10:19:38 CDT(-0500)] <colinclark> woah

[10:19:41 CDT(-0500)] <alexn> for getJSONP

[10:19:44 CDT(-0500)] <colinclark> serious pastage

[10:19:45 CDT(-0500)] <alexn> function

[10:19:46 CDT(-0500)] <colinclark> I can't keep up with you

[10:20:07 CDT(-0500)] <colinclark> gimme a link into github

[10:20:08 CDT(-0500)] <colinclark> (smile)

[10:20:25 CDT(-0500)] <alexn> well it is not in the github… I was just experimenting

[10:20:39 CDT(-0500)] <colinclark> aha

[10:20:45 CDT(-0500)] <alexn> let me push it as a separate branch so that you can run diff

[10:22:23 CDT(-0500)] <alexn> https://github.com/fluid-project/videoPlayer/compare/demo...xOZx:FLUID-4677exp

[10:23:17 CDT(-0500)] <colinclark> So, there's a lot here

[10:23:31 CDT(-0500)] <colinclark> First, I wonder why we are making so many modifications to the Captionator.js file

[10:23:50 CDT(-0500)] <colinclark> instead of trying to keep our modifications separate as much as possible

[10:24:02 CDT(-0500)] <alexn> well there are couple of things to change. let me list them here

[10:24:26 CDT(-0500)] <colinclark> Secondly, what exactly does this new Captions.getJSONP do for us?

[10:25:09 CDT(-0500)] <alexn> 1) we need to pass type attribute of the track tag element into the TextTrack object in order to determine if the caption is jsonp data hosted somewhere or we need to read captions locally

[10:25:39 CDT(-0500)] <alexn> 2) if the type tag is jsonp/ one then we want to make a cross-domain call in order to get the JSON data from the server

[10:25:59 CDT(-0500)] <alexn> 3) convert it from JSON to WebVTT which is the format we need for Captionator to work

[10:26:29 CDT(-0500)] <colinclark> alexn: Can you elaborate on why you think this particular behaviour belongs inside Captionaor?

[10:26:34 CDT(-0500)] <alexn> 4) I refactored the captionator code. Basically instead of copy pasting huge chunk of code/logic I put it into a separate function loadTrackWebVTTCaptions

[10:26:39 CDT(-0500)] <arun_ub> yura:Hi Yura,i am arun.I read the project description of Highly customizable and accessible web based ePub reader and i found it interesting .So,what should i do now?should i start getting familiarized with Fluid Infusion framework?

[10:27:05 CDT(-0500)] <alexn> colinclark: are you talking about #3 ? (smile)

[10:27:10 CDT(-0500)] <colinclark> I have no idea

[10:27:25 CDT(-0500)] <colinclark> I just see code here

[10:27:30 CDT(-0500)] <colinclark> lots of green in Captionator.js

[10:27:34 CDT(-0500)] <colinclark> and some of it looks either:

[10:27:35 CDT(-0500)] <alexn> yup

[10:27:36 CDT(-0500)] <colinclark> a) Specific

[10:27:39 CDT(-0500)] <colinclark> b) Very generic

[10:27:48 CDT(-0500)] <colinclark> both make me curious

[10:27:53 CDT(-0500)] <alexn> c) what we need (smile)

[10:28:08 CDT(-0500)] <colinclark> alexn: That's the part you're going to have to explain (tongue)

[10:28:11 CDT(-0500)] <colinclark> Why does Captionator have any concept of Universal Subtitles?

[10:28:14 CDT(-0500)] <alexn> with pleasure

[10:28:17 CDT(-0500)] <alexn> (smile)

[10:28:21 CDT(-0500)] <colinclark> Why do we have a Captionator.unisubJSONtoVTT function?

[10:28:31 CDT(-0500)] <colinclark> That's a)

[10:28:44 CDT(-0500)] <colinclark> Why do we have a very generic function like getJSONP inside Captionator?

[10:28:55 CDT(-0500)] <colinclark> same with the "secondsToHmsm" method

[10:28:58 CDT(-0500)] <colinclark> That's b)

[10:29:03 CDT(-0500)] <colinclark> No, go for c)

[10:29:08 CDT(-0500)] <colinclark> "Now, go for c)"

[10:29:18 CDT(-0500)] <alexn> *waiting for all question to be listed to answer them one by one

[10:31:12 CDT(-0500)] <yura> arun_ub: You would have to submit a project proposal as part of you GSoC application. I would do some research on the topic, available technologies, suggest possible features, etc. Familiarity with Infusion would be a plus, since you would need to contribute your work formatted in a similar style.

[12:07:15 CDT(-0500)] <anastasiac> michelled, I've pushed the fix that cindyli and I came up with for the authoring tool image alt text to my github repo at https://github.com/acheetham/OER-Commons/tree/authoring-alt-text

[12:07:24 CDT(-0500)] <anastasiac> This branch is based on the 'authoring' branch

[12:29:10 CDT(-0500)] <michelled> thx anastasiac

[13:13:40 CDT(-0500)] <avtar> anastasiac, cindyli, michelled: alexn1 noticed that by doing a 'git pull' from the oercommons authoring branch will pick up a change that will b0rk your django instance

[13:13:44 CDT(-0500)] <avtar> this commit https://github.com/ISKME/OER-Commons/commit/3727b4e3f52227317bd5ae71dd52d020eab5240b

[13:14:14 CDT(-0500)] <anastasiac> ok, we'll avoid pulling for a while, then!

[13:14:16 CDT(-0500)] <avtar> in this case you might see the following error:

[13:14:17 CDT(-0500)] <avtar> Request Method: GET Request URL: http://localhost:8000/authoring/new Django Version: 1.3.1 Exception Type: DatabaseError Exception Value:

[13:14:17 CDT(-0500)] <avtar> column authoring_authoredmaterial.workflow_state does not exist

[13:14:18 CDT(-0500)] <avtar> LINE 1: ...red", "authoring_authoredmaterial"."featured_on", "authoring...

[13:14:18 CDT(-0500)] <michelled> thanks for pinpointing it and letting us know

[13:14:42 CDT(-0500)] <avtar> you can fix that by issuing these commands:

[13:14:46 CDT(-0500)] <avtar> vagrant ssh

[13:14:54 CDT(-0500)] <avtar> cd /vagrant/oercommons

[13:15:01 CDT(-0500)] <avtar> ./bin/django migrate

[13:15:24 CDT(-0500)] <avtar> that'll make the necessary changes to your database

[13:15:52 CDT(-0500)] <michelled> ok, so I guess we'll all have to do that

[13:15:56 CDT(-0500)] <michelled> thx avtar

[13:17:20 CDT(-0500)] <Bosmon> alexn1 - to add to colinclark questions of earlier on, I can add d) why are we not using jquery's native implementation of JSONP here?

[13:17:42 CDT(-0500)] <colinclark> Bosmon: sorry, we ended up chatting in person

[13:17:58 CDT(-0500)] <colinclark> this is a temporary hack and slash of captionator in the hope that we contribute it back

[13:18:13 CDT(-0500)] <colinclark> Increasingly, I get the vibe that we'll replace Captionator in the long run

[13:18:33 CDT(-0500)] <colinclark> So alexn1 structured it in a form that we can contribute back to Captionator

[13:18:38 CDT(-0500)] <colinclark> which unfortunately means no jQuery

[13:18:45 CDT(-0500)] <colinclark> and no sanely parameterized means for loading captions

[13:18:47 CDT(-0500)] <colinclark> (sad)

[13:18:59 CDT(-0500)] <Bosmon> Well, there are two excellent reasons for ditching it right there : P

[13:19:09 CDT(-0500)] <colinclark> Can't do that before the demo, I'm afraid

[13:19:15 CDT(-0500)] <colinclark> but yes, the writing seems to be on the wall

[13:19:43 CDT(-0500)] <colinclark> Especially given that alexn1 and michelled had to randomly comment shit out just get to get it to work with UIO

[13:19:46 CDT(-0500)] <colinclark> (wink)

[13:20:15 CDT(-0500)] <michelled> yep, that was really terrible hacking and slashing

[13:20:32 CDT(-0500)] <michelled> and one of the reasons I won't put the demo branch into master

[13:21:08 CDT(-0500)] <colinclark> I suspect when we look at how to resolve this kinds of issues in the long run, we'll just decide that Captionator isn't quite where it's at for us

[13:21:14 CDT(-0500)] <colinclark> much as i would love it to be

[13:21:31 CDT(-0500)] <alexn1> Bosmon: it is a great question. We did not use JQuery JSONP to keep captionator less dependent on anything else since it is written without calling any JQuery functions

[13:21:51 CDT(-0500)] <alexn1> I did not want to add any additional libraries or files to the captionator project

[13:22:17 CDT(-0500)] <colinclark> I think that was prudent, alexn1

[13:22:21 CDT(-0500)] <colinclark> if disappointing

[13:22:28 CDT(-0500)] <colinclark> on captionator's part, I mean

[13:22:46 CDT(-0500)] <colinclark> you, you're cool

[13:23:04 CDT(-0500)] <colinclark> who knows, maybe we can look a bit deeper at it in the long run and help architect a version 2

[13:23:19 CDT(-0500)] <colinclark> I guess the key with a polyfill is that it has to be designed in such a way that it does nothing

[13:23:29 CDT(-0500)] <colinclark> I mean, nothing in addition to what the browser would do

[13:23:42 CDT(-0500)] <Bosmon> "sleeping is not doing anything"

[13:23:55 CDT(-0500)] <colinclark> My cat would beg to differ

[13:24:18 CDT(-0500)] <colinclark> I guess the key to keep in mind--and my original motivator for asking those questions this morning, alexn1

[13:24:26 CDT(-0500)] <colinclark> is that Captionator is a polyfill

[13:24:41 CDT(-0500)] <colinclark> what happens to our patches to Captionator once the browser takes care of the track element?

[13:24:53 CDT(-0500)] <colinclark> how would we, in that case, integrate something with, say, UniSubs?

[13:25:02 CDT(-0500)] <colinclark> Clearly we wouldn't be able to go patch WebKit or whatever

[13:25:14 CDT(-0500)] <colinclark> so there's a larger architectural issue with what's "ours" vs. "theirs"

[13:25:33 CDT(-0500)] <alexn1> well if you take my code right now as it is - you will have to replace a parsing function which i have for parsing Universal Subtitles JSON format to WebVTT

[13:25:41 CDT(-0500)] <colinclark> yes

[13:25:42 CDT(-0500)] <alexn1> and this is would be the only one change

[13:25:47 CDT(-0500)] <colinclark> that's the weakness of Captionator

[13:25:57 CDT(-0500)] <colinclark> there should be a clear means for us to do this entirely externally

[13:26:12 CDT(-0500)] <colinclark> so that when a browser implements what Cpationator currently does, our code will continue to work usefully

[13:26:22 CDT(-0500)] <colinclark> does that make sense?

[13:27:05 CDT(-0500)] <alexn1> I guess the main idea of the author was to provide a black box which is almost as drop into website and it simple works (which he accomplished) without any processes to tweak it to work with different websites or replacing parsing functionality

[13:27:24 CDT(-0500)] <alexn1> it is a tool for those who wants captions but do not want to spend too much time thinking on how it works (smile)

[13:27:44 CDT(-0500)] <Bosmon> alexn1 - not spending too much time thinking is so often a common idiom in the software world (smile)

[13:28:00 CDT(-0500)] <alexn1> everything genius is simple, Bosmon

[13:28:14 CDT(-0500)] <Bosmon> Yes - if only the converse were true as well (smile)

[13:28:24 CDT(-0500)] <colinclark> "Simple" takes an awful lot of thought

[13:28:33 CDT(-0500)] <alexn1> yes it does (smile)

[13:28:44 CDT(-0500)] <colinclark> My point is still that there's a fundamental problem here

[13:28:52 CDT(-0500)] <colinclark> We use a polyfill for a reason

[13:28:55 CDT(-0500)] <colinclark> and that's to eventually not use it

[13:28:58 CDT(-0500)] <colinclark> Do you see what I mean?

[13:29:05 CDT(-0500)] <alexn1> I even found this "Everything should be as simple as possible, but not simpler." - Albert Einstein (tongue)

[13:39:06 CDT(-0500)] <Bosmon> Indeed, and following Einstein that we should bear in mind that the simplest possible condition for Captionator is not existing at all....

[13:39:24 CDT(-0500)] <Bosmon> It would be hard for it to adopt a more simple condition than that (smile)

[13:50:02 CDT(-0500)] <alexn1> (big grin) Bosmon

[13:50:34 CDT(-0500)] <alexn1> what about "not simpler" part? It is way too simple for non existence

[14:06:31 CDT(-0500)] <Bosmon> alexn1 - if you can produce some code which is simpler than having no code at all, I think there will be a lot of people who are very interested in talking to you (smile)

[14:06:43 CDT(-0500)] <Bosmon> Similarly to that team who last year measured particles travelling faster than the speed of light.....

[14:09:31 CDT(-0500)] <Bosmon> As Einstein once remarked, on the publication of a book entitled "One Hundred Against Einstein"...... "One would be enough!"

[14:49:25 CDT(-0500)] <Justin_o> Bosmon: do you know why resourceSpec.recurseFirer might be undefined

[14:50:05 CDT(-0500)] <Justin_o> i'm getting an error on the call to resourceSpec.recurseFirer.addListener(that.operate)

[14:50:17 CDT(-0500)] <Justin_o> Uncaught TypeError: Cannot call method 'addListener' of undefined

[14:50:56 CDT(-0500)] <Bosmon> Justin_o - perhaps you did something to replace the resourceSpec with a different object?

[14:51:03 CDT(-0500)] <Bosmon> It's certainly not a "traditional" error

[14:51:49 CDT(-0500)] <Bosmon> Well.... the particular error you have there seems impossible

[14:51:57 CDT(-0500)] <Bosmon> As you can see, on the previous line, the recurseFirer is assigned

[14:52:00 CDT(-0500)] <Justin_o> hmm.. not sure how i would have managed that.. i've been working on getting the resources pulled in from the top level compoenent

[14:52:01 CDT(-0500)] <Bosmon> And on the next line it is used

[14:52:24 CDT(-0500)] <Bosmon> So it's impossible to imagine any mechanism where the object assigned on one line isn't available on the enxt

[14:52:43 CDT(-0500)] <Bosmon> Perhaps your build of the framework is corrupted somehow?

[14:53:03 CDT(-0500)] <Justin_o> Bosmon: it's strange.. it was working before..

[14:53:04 CDT(-0500)] <Justin_o> i think

[14:53:32 CDT(-0500)] <Justin_o> so maybe my call to fluid.event.getEventFirer is returning undefined or something.. let me check that

[14:57:59 CDT(-0500)] <Justin_o> Bosmon: so it seems to go through there fine several times, but finally dies when it resourceSpec === "../../../components/exporter/html/exportControlsTemplate.html"

[14:58:11 CDT(-0500)] <Bosmon> I see

[14:58:20 CDT(-0500)] <Bosmon> So you have a resourceSpec which is just a string

[14:58:24 CDT(-0500)] <Bosmon> Rather than a proper object

[14:58:28 CDT(-0500)] <Bosmon> I guess that would explain your problem

[14:59:25 CDT(-0500)] <Justin_o> hmm.. let me double check.. i guess i could have made that mistake

[15:01:24 CDT(-0500)] <Justin_o> Bosmon: this is the correct format for the resources right http://pastebin.com/PvYxScPv

[15:02:00 CDT(-0500)] <Bosmon> Yes, that is correct

[15:02:22 CDT(-0500)] <Bosmon> Perhaps somehow one of the records has become corrupted through being pulled out of IoC wrongly?

[15:06:37 CDT(-0500)] <Justin_o> Bosmon: hmm.. maybe… i guess i'll try to poke around and see if i can spot anything funny happening to it

[15:22:56 CDT(-0500)] <am33sh> hi everyone

[15:23:24 CDT(-0500)] <am33sh> to fix bugs do i need Jira account?

[15:27:30 CDT(-0500)] <am33sh> ?

[15:31:05 CDT(-0500)] <jessm> am33sh: yes, our jira instance is here: http://issues.fluidproject.org and you can create a login from the upper right corner

[15:31:59 CDT(-0500)] <jessm> avtar: hrm, now that i look at it i don't see how to create a new JIRA acct.

[15:32:19 CDT(-0500)] <jessm> avtar: we locked this down a while ago – aaron did – there was a security issue

[15:32:22 CDT(-0500)] <am33sh> jessm : i have seen the site

[15:32:36 CDT(-0500)] <am33sh> jessm : there is no signup button??

[15:32:55 CDT(-0500)] <jessm> am33sh: yes, i see that now. avtar will best be able to speak to JIRA

[15:33:30 CDT(-0500)] <avtar> am33sh: i can create an account for you

[15:33:44 CDT(-0500)] <am33sh> avtar : sure

[15:33:54 CDT(-0500)] <avtar> one sec

[15:34:51 CDT(-0500)] <jessm> thanks avtar

[15:42:20 CDT(-0500)] <avtar> am33sh: ping