IRC Log Viewer » #firebreath » 2010-10-28

IRC Nick Time (GMT-7) Message
iaincollins 05:10 taxilian: morning (for when you get in 8) ... for reference resolved the I was having with upgrading an install of a plugin that had already been loaded in MSIE...
I was (a) not updating CLSID and should have been (as you said) *and* I'd totally skipped over AXVERSION_NUM as I hadn't spotted it!
I didn't actually notice it until went to looking at how the associations are setup in the registry as I was (wrongly) thinking I would need to change the ActiveX Plugin name
but it's all completly fabulous now, so it seems I can stop worring about the installation and upgrade process for now :)
DFUN 06:10 hi there
I have a basic question on how to use the firebreath framework.
Since MyPluginAPI handles the interaction with JavaScript and MyPlugin extends PluginCore and therefore receives stream events, it is possible to let MyPluginAPI create a new instance of the MyPlugin class with every file download started?
DFUN 06:10 The documentation says "the basic plugin lifecycle is seen in this [MyPlugin] class". Even though to me it sounds more like the ~API class is the basic plugin class I'm wondering to multiply instanciate the basic class. What it the recommended design for download streams?
neilg_ 07:10 Morning/afternoon all!
DFUN 07:10 Hi
taxilian 07:10 DFUN: still around?
DFUN 07:10 yes I am
taxilian 07:10 reading your question, just popped in
I'll be on more a bit later, I only have a couple minutes now
DFUN 07:10 finally some action :)
neilg_ 07:10 Anything I can help with?
taxilian 07:10 to answer your question, no you cannot create new instances of your MyPlugin class.. or rather, you should not
technically you could
DFUN 07:10 I suppose some minutes might be sufficient
taxilian 07:10 neilg_: actually, you're probably the best person to help him
you don't have to run the browserstream through your plugin class, though
DFUN 07:10 @neil check the log an hour ago
taxilian 07:10
DFUN: the API class is the basic javascript interface class
but that isn't actually directly tied to the plugin class
so the plugin class gets destroyed first
DFUN 07:10 that's what I expected
cygmatic 07:10 taxilian: i took the liberty of simply banning the spammers
taxilian 07:10 cygmatic: fair enough
DFUN: so you really just need a PluginEventSink object; you can create your own if you want
DFUN 07:10 so I should extend a new class from EventSink to handle the streams?
taxilian 07:10 technically, you could probably use multiple inheritance and have your JSAPI object do that
neilg_ 07:10 Okay, that's a good question!
taxilian 07:10 neilg_: you go this one?
DFUN 07:10 thank you so far, taxilian
neilg_ 07:10 I would recommend the easiest way (but perhaps not the best!) being to call into JavaScript in the browser and have THAT create new plugin instances
Can I ask why you need multiple instances of the same plugin?
DFUN 07:10 I don't tend to create multiple plugin instances. I just want to download multiple streams
taxilian 07:10 neilg_: he doesn't; he just wants to handle the streams from his API object
neilg_ 07:10 I'm sorry, I misread the question
DFUN 07:10 so basically taxilian answered that question. I was just wondering about the roles of the classes MyPlugin and MyPluginAPI. But I'd say taxilian answered that, too
sounds like there nothing much to add to the MyPlugin class
taxilian 07:10 MyPlugin usually would handle drawing and such
sometimes streams sometimes not
neilg_ 07:10 Right. The way FireBreath works reflects the NPAPI plugin model where you have a plugin object and a scriptable object
DFUN 07:10 ah, ok. My project will be a background plugin. Just handling file transfers
taxilian 07:10 DFUN: this might also help: you can extend from this:
DFUN 07:10 I will do that.
thanks a lot.
neilg_ 07:10 DFUN: So are you planning on using BrowserStream to stream in data through the browser?
Or are you using something like libcurl?
DFUN 07:10 I already used a BrowserStream successfully
I think that'll work.
taxilian 07:10 cool. I'll be back online in a few hours; right now I need to shower and get to class =]
DFUN 07:10 my current design is just quick and very dirty
taxilian 07:10 DFUN: feel free to update the wiki so that the docs are more understable on this topic
and thaniks for dropping in =]
cya all
DFUN 07:10 ok, have a good day and thanks again. Maybe neil can help me out with another issue for now....
Neil, do you have one more minute?
neilg_ 07:10 Yep, I'll be around. I may just be slow from time to time because I'm busy with work :)
I'll be around all day is what I meant to say...
DFUN 07:10 when I first used the plugin to download with Firefix, I couldn't find a way to specify the target location for the downlaod file. I waited for the "onStreamCompleted" event to copy the file
can I download to the desired location directly?
neilg_ 07:10 Oh, it doesn't download to a file - that's something you'll have to do manually
DFUN 07:10 ah. Ok. So when I extend DefaultBrowserStreamHandler I write to a specified file on every DataArrived event
neilg_ 07:10 All it does is request a file and then constantly call onStreamDataArrived
There are a couple of bugs with the BrowserStream class that I have fixes for where it won't download files from certain servers. I need to push those...
So if you get into a situation where you request a download but don't get any data - I've fixed it
DFUN 07:10 ok. That's a pretty good job from all of you
now it actually sounds pretty easy...
the hardest part might be to get the plugin work on more platforms than Windows
neilg_ 07:10 Yes, I haven't tried that part yet - but I have to soon
DFUN 07:10 but that's now a FireBreath issue.
ok, thanks for helping me out with my starting confusions!
maybe we'll see us around some time
kylehuff 09:10 hmm.. I see there is a new benefit of firebreath - "Hot lesbian dating&"
taxilian 09:10 while that feature was considered for 1.4, after some discussion we decided to cut it from the release.
for one thing, none of the developers of the project are qualified to work on that feature, and some of us have religious beliefs that would prevent us from working on it anyway
kylehuff 09:10 lol
taxilian 09:10 trying to think; kylehuff, neilg_: have I checked to see if you guys have linkedin yet?
kylehuff 09:10 yeah, I have linked in, I just have no idea how to use it..
taxilian 09:10 lol. well, add me in case you ever learn ;-) [email protected]
actually, I guess I should start using [email protected] to have people add me =] sounds cooler
so I'm writing a paper about browser plugins; it has to be 3.5 pages, 9pt font and 2 column format
I'm not sure how I'm going to keep it that short
kylehuff 09:10 lol
taxilian 09:10 however, I've been searching in the university library (electronic and otherwise). There are *no* papers about npapi or browser plugins
I may actually try to get this published
it would look good on a resume, if nothing else
kylehuff 09:10 yeah
taxilian 09:10 'course, the really fun part is that it is due in 5 hours.... :-P
i'm at about 2.5 pages
kylehuff 09:10 pfft.. with firebreath, I could write an actual plugin in less than 5 hours... (5 months without)
taxilian 09:10 lol. well, yes, this is true =] the question is can I take the information about plugins that is in my head and distill it onto paper in a readable form in 5 hours?
kylehuff 09:10 it depends on if you have enough good music to listen to during that time
taxilian 09:10 lol
I'll have to post the paper when it's done, see if anyone has the patience to actually read through all of oit
kylehuff 09:10 it's funny, I *hate* reading - I don't read for recreation - but I actually enjoy reading technical white-papers, case studies, etc..
(this is the point that my wife would chime in with "because you are a dork honey..."
taxilian 09:10 lol. well, if I decide to try to get this published I'll let you read it and see what suggestions you have
neilg_ 09:10 taxilian: I haven't logged into LinkedIn but I really need to. It emails me almost daily telling me about a large number of requests that I've been ignoring... lol
nirvdrum 09:10 taxilian: Feel free to send it my way if you'd like. I enjoy reading and have an odd fondness for editing.
neilg_ 09:10 I discovered another bug/issue with streaming files but only with NPAPI. I was hitting on it last night but now I understand it completely
I was trying to be backwards compatible with the old non-FB plugin which used the data attribute on the object tag to download a stream. But that doesn't work in FB with IE (the fault of IE!) so I was also setting the stream using a param tag.
taxilian 09:10 nirvdrum: cool, I will
neilg_ 09:10 The upshot of all of this was the browser was making two requests to the same URL. One was from the plugin which had the notifyData filled out. The other was from the browser which had no notifyData. Because of this NpapiPlugin::NewStream returned NPERR_NO_ERROR which caused the browser to "hang"
It didn't finish the first stream and didn't notify the plugin about the stream it had requested itself
...but it all worked in IE
I believe the solution is to just read in the whole stream in NpapiPlugin even though we do nothing with it
taxilian 09:10 be back in a few minutes
amackera 10:10 Whatever Adobe did to flash recently broke it on Chrome for Mac OS X 10.6
Good to know that other plugin developers have bugs too :)
and by good I mean annoying since I can't watch ma youtubes
taxilian 10:10 lol
taxilian 10:10 amackera: is IViewObject the one used for windowless plugins?
neilg_ 10:10 amackera - switch to using the HTML5 beta part of YouTube. Much better on the Mac
Lower CPU usage at any rate which is a plus for me given my MacBook Pro gets hot in any case...
amackera 11:10 taxilian: I'm not sure what IViewObject is, :S
taxilian 13:10 I have one more hour to finish this paper before it's due :-P
taxilian 13:10 this is a page and a half longer than it is suppsoed to be
wonder if I'll get docked points
kylehuff 13:10 overachiever...
taxilian 13:10 actually, I was trying to make it shorter than that
but I don't feel like there is a whole lot I can cut out
one more thing to finish, then I'll post it somewhere you guys can read it if you want
keep in mind that this is the once through rough draft =]
kylehuff 13:10 speaking of writing like a wind-bag - antidisestablishmentarianism is one hell of a word...
amackera 13:10 What's the topic of the paper?
taxilian 13:10 Web Browser Plugins in the Age of Web Applications
gotta figure out which of these (single or multiple) categories it fits in:
amackera 13:10 that's the biggest list i've ever seen
and i've seen some big lists in my day
taxilian 13:10 yeah
fun, huh?
this paper is due at 2:30; it's currently 1:47
anyone who wants to, please read it
tell me what should be fixed
I have 20 minutes to fix it =]
cygmatic 13:10 the copyright could have some margin to the text
taxilian 14:10 I copied that from a template, so I think it's supposed to look like that for the format I'm using
hmm. acouple of my references broke. easy enough to fix
kylehuff 14:10 2 things taxilian (not about the paper) - 1.) the domain does not have an SPF record.. 2.) confluence allowed me to set my password to nothing..
cygmatic 14:10 minor thing: you don't introduce the term DOM
taxilian 14:10 good point
kylehuff: spf record?
and I'll have to look at the confluence password requirements
not too worried unless it becomes a problem
kylehuff 14:10 SPF dns record
taxilian 14:10 not sure what that is
kylehuff 14:10 it indicates what email server is allowed to deliver email on behalf of the domain
taxilian 14:10 ... it used to
the MX record?
oh, wait
I see
yeah; I guess I should probably set that
never done that before
kylehuff 14:10 not a biggie, but my spam filter freaked out because one does not exist..
taxilian 14:10 any idea what it should be set to for google apps?
hmm. kylehuff: As far as I can tell, namecheap does not allow me to create a SPF record for the domain
kylehuff 14:10 taxilian: it is just a TXT record, and it should say something like this: "v=spf1 a mx ~all"
maybe "v=spf1 a mx ?all" would be better; since it *might* come from an unlisted record
taxilian 14:10 v=spf1 ~all
kylehuff 14:10 that should work, but if you server delivers mail ever, it will fail the test
(your hosting server)
taxilian 14:10 ok; I think I added that
my server delivers mail through gmail
cygmatic 14:10 taxilian, in 2.3: "all the time [...]. [...] all the time"
taxilian 14:10 we'll have to check later to see if it worked
good catch, cygmatic
cygmatic 14:10 taxiilan: 3.3, not all plugins cover just functionality missing for JavaScript
taxilian 14:10 I will clarify
I have 5 more minutes and then I must print out what I have and go to class =]
cygmatic 14:10 in 3.3 you switch to a "you have to" language
in contrast to the rest of the paper
taxilian 14:10 for someone who speaks English as a second language, your grasp of the subtleties is unbelievable
I already caught that and fixed it on my own =]
but I'm really surprised you saw it
cygmatic 14:10 thanks :)
taxilian 14:10 I also searched for every other case where I used the word "you" and changed it
cygmatic 14:10 also "while our" at the end of 3.3
taxilian 14:10 good call
ok; I'm hoping to publish this somewhere (even if only on, so I'll still update it, but I have to print it now
cygmatic 14:10 "The difficulty of deploying a plugin is the primary reason that so few plugins are created." - hm, that's just opinion
good luck then
taxilian 14:10 true
I'll tweak it
actually, I'll just remove it
cygmatic 14:10 good read in general by the way
taxilian 14:10 thanks
taxilian 14:10 I have updated to the version I turned in :
cygmatic 14:10 if you still care: 4.2 has a "to work" that shouldn't be there. I also do miss a bit of building up your point of plugins not going away or even becoming more widespread.
also video conferencing is an interesting use case (html5 extension proposed but doesn't look like it will cover all the possibilities) and corporate network integration stuff seems still to be widespread
taxilian 14:10 ahh, good catch
I'll add those as notes to try to improve that
cygmatic 14:10 this is a very nice overview though, maybe try to publish it somewhere (some dev-magazine, dr. dobbs, ...?)
taxilian 14:10 that's why I'm trying to keep improving it
probably going to try to publish it, maybe through the school
maybe elsewhere
haven't decided yet
there simply isn't an overview of plugins like this anywhere that I can find
cygmatic 14:10 dr. dobbs might actually be a fit - at least as they still published in paper independently they sometimes had such overview articles
and they don't only run after the new trend technologies
taxilian 14:10 cool
I'll definitely keep that in mind
I need to do at least another complete revision on it, in addition to your changes; this is still the first draft with just a few fixes
cygmatic 14:10 looking forward to it, this can definitely help get people oriented
taxilian 14:10 it has a lot of things in it I've considered putting in blog posts
another alternative, I guess, would be to split it up between several colonelpanic posts
it's a lot to take in at once
cygmatic 14:10 i think it's great as an overview - one can dig deeper from there using the references or the terms learned for searching
taxilian 14:10 that was my goal, so it must not be too bad =]
I was trying to give enough information to understand the basics, but not so much that you're going to use it as a reference for development
cygmatic 14:10 i think you nailed that - besides the opinion at the end that should be backed up, it's a fine article/paper to me
taxilian 14:10 yeah; the requirements for the class actually ask for an opinion in the conclusion. I'm not sure how better to back that up, and I don't want to remove it. I may reword it so that it is not as strong, or show it as specifically opinion
neilg_ 14:10 That or state your opinion and then finish it with "FACT."
cygmatic 14:10 hm, i hate it when the ui of my phone freezes when i get a call
taxilian 14:10 neilg_: The real challenge with writing that paper is that 90% of the information can't be backed up with existing references; the only source of most of that infomration is wiki based, which means no real author and could change any time
neilg_ 15:10 That's the problem anybody faces when writing about something modern where all the references are also online. Damned interwebs! :)
taxilian 15:10 yeah
neilg_ 15:10 It's a nice article though, it was a good read
taxilian 15:10 but I figure maybe if I can get it published somewhere this will provide a reference for someone =]
neilg_ 15:10 I don't think I saw anything other than what has already been mentioned wrong with it (though I did mostly skim-read!)
taxilian 15:10 it's kinda long to read all the way through carefully =]
neilg_ 15:10 Does anybody know what's involved with having "Verified" IE plugins? Is it as simple as signing the DLLs?
taxilian 15:10 neilg_: Yeah, pretty much
neilg_ 15:10 Good - because I just realised I forgot to do that step before building the installer. Oops!
taxilian 15:10 =]
sign the installer too
neilg_ 15:10 Yup. I had to do that to get Games For Windows certification. It felt wrong to sign DLLs that we didn't produce (such as Boost) but... we had no choice!
taxilian 15:10 well, you're signing them to say that you certify that they are virus free =]
not to say that you made them
just so that they know it is from you and not a cheap imitation =]
taxilian 16:10 how fun... I go out to go home and my motorcycle has a flat tire
ok; cygmatic, amackera, neilg_, nirvdrum; I have video conferencing, VoIP, corporate intranet, ...
what other uses are there for browser plugins?
nirvdrum 16:10 I use it for browser automation.
taxilian 16:10 yeah; I'm trying to figure out how to explain that succinctly in a paper like this
did you see what I have so far?
version 3: now with "what do you need a plugin for" sections:
kylehuff 17:10 it wants me to log in when I try view the document, is the login different than the login for the wiki? cause it don't work..
cygmatic 17:10 strange, the usual login works for me
taxilian, games
kylehuff 17:10 I can log into the wiki fine; but not via the login that comes up with that link
cygmatic 17:10 i could send it via mail if you want
no idea about confluence issues
kylehuff 17:10 thanks, I won't be able to read it right now anyway; I gotta go fix an issue and then (I hope) I'm going home..
cygmatic 17:10 ok, good luck with your issue
taxilian 18:10 cygmatic: right, games; I knew I was missing something obvious