IRC Log Viewer » #firebreath » 2011-07-29

IRC Nick Time (GMT-7) Message
rashmi 00:07 hi
i have a doubt
i have an array of strings
allocated in following way
frameDataStr = (char **)malloc(maxEvents * sizeof(char *));
dis frameDataStr is an array of strings
i need to pass this array of strings back to javascript
hw should i do this using FB::VariantList
?
rashmi_ 01:07 hi
i had posted a query earleir
as to
i have an array of string
frameDataStr = (char **)malloc(maxEvents * sizeof(char *));
frameDataStr is array of strings
I need to pass this data back to javascript using FB::variantlist
hw do i do this?
hellois anybody here?
i need help on this one
?
how do i use FB::make_variant_list?
?
FireBreathBot 01:07 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-114 issue created by wargloom
rashmi_ 01:07 I really need help on this query
rashmi 01:07 hi
i think this is the third time that i am posting this
question
i have an array of string
frameDataStr = (char **)malloc(maxEvents * sizeof(char *));
frameDataStr is array of strings
I need to pass this data back to javascript using FB::variantlist
hw do i do this?
rashmi 02:07 hello?
rashmi 02:07 anybody?
FireBreathBot 03:07 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-114 issue commented by wargloom "I forget to mention it is on x86_64 "
FireBreathBot 10:07 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-114 issue updated by richard
taxilian 10:07 g'morning all
957326c9ff6930b243
FireBreathBot 10:07 957326c by Richard Bateman: FIREBREATH-85: Enabled PCH for ScriptingCore on windows http://goo.gl/mJBPu
taxilian 10:07 dougma: do you know what format/standard windows uses in it's wchar_t type? I always assumed it was utf16, but someone told me that is not the case
hmm. nope, according to a MS article I just found it is UTF16 (http://msdn.microsoft.com/en-us/library/dd374081%28v=vs.85%29.aspx)
FireBreathBot 10:07 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-102 issue resolved by richard "I think this is as fixed as we can make it right now"
taxilian 11:07 hmm. I upgraded to lion and I can no longer build FireBreath
this is not good
ahh; it's looking for the 10.7 SDK
hmm
yes, much better
neilg_ 12:07 It is not UTF16
It is UCS2
Anything that says otherwise is a lie and a misunderstanding of how UTF16 works. ;)
UCS2 is always 2 bytes to represent a character/glyph, UTF16 can be more
taxilian 12:07 neilg_: source for info?
"UTF-16 is used for the native internal representation of text in http://en.wikipedia.org/wiki/Windows_2000/http://en.wikipedia.org/wiki/Windows_XP/http://en.wikipedia.org/wiki/Windows_2003/http://en.wikipedia.org/wiki/Windows_Vista/http://en.wikipedia.org/wiki/Windows_CE.http://en.wikipedia.org/wiki/UTF-16/UCS-2#cite_note-6http://en.wikipedia.org/wiki/UTF-16/UCS-2#cite_note-6"
according to the wikipedia page
neilg_ 12:07 It can say it all it wants, it's still wrong
taxilian 12:07 also according to the microsoft page I linked earlier
lol
what is your source for this information? =]
not saying you're wrong, just trying to understand
neilg_ 12:07 http://en.wikipedia.org/wiki/UTF-16/UCS-2
taxilian 12:07 gee, that's funny.. that's the page I just quoted to you
neilg_ 12:07 I know you are, I just find the lies frustrating because I've had to deal with this multiple times over the past few years :)
taxilian 12:07 hehe. so how do we safely convert from wstring to utf8 on windows? because the standard windows multibyte functions don't always work
tempted to try a utf8 / utf16 library, since it would be much much simpler
neilg_ 12:07 But the important thing to know is that UCS2 is always 16-bit. Always. So wchar_t (on Windows) is 16-bits. wchar_t on UNIX/Mac (and I assume Linux!) is 32-bit. Always a fixed size.
taxilian 12:07 right
neilg_ 12:07 But UTF-16 can be 4 bytes
taxilian 12:07 that I know
neilg_ 12:07 And in fact needs to be
taxilian 12:07 hmm. interesting
neilg_ 12:07 That's why Microsoft should update their documentation and stop being misleading. :)
taxilian 12:07 so if I assume it's UTF-16 and it's actually UCS2, what will happen?
neilg_ 12:07 Anyway, that doesn't address your actual problem... It's just some extra data! lol
taxilian 12:07 and how can I reproduce the issue?
neilg_ 12:07 That's actually what I do - I always assume that UCS-2 is UTF-16 and that's always fine converting from UCS2 to utf8
But converting back again is dangerous
taxilian 12:07 hmm. so how do you recommend I convert from utf8 to UCS2?
neilg_ 12:07 Or, I should say, doing the reverse - converting a UTF8 string to UCS-2 by assuming it's UTF-16.
Honestly, I don't know of a good way. I always check to make sure that the output string's byte length is no more than double the amount of codepoints in the UTF8 string and error out if it is
taxilian 12:07 here is how I'm looking to implement those functions right now: https://gist.github.com/1114451
neilg_ 12:07 So far that's been fine - but the only good way I know to do it involves using a massive library
ICU
taxilian 12:07 I found a c++ utf8 library that looks much cleaner than what we've been using and people have reported problems with the current
neilg_ 12:07 utf-cpp?
If so that's what I've been using and it's been fine... so far
taxilian 12:07 http://utfcpp.sourceforge.net/
yes
well why didn't you tell me about it sooner? ;-)
okay, here is the "official" plan
neilg_ 12:07 There's just the gotcha where UCS2 != UTF16 and you can have some weird problems if you don't know that
taxilian 12:07 we use utfcpp with the code I linked you until someone yells in pain
and then we fix the problem
what do you think?
neilg_ 12:07 I think that's dangerously close to the plan that I've already executed here. ;)
taxilian 12:07 hehe
you don't have some time to help me try to clear out some bugs today, do you? or anyone else here?
kylehuff said he could, but he's gone at the moment
neilg_ 12:07 It's all we can do. It's painful that the only way to do it properly is to use a massive library (such as ICU) - so all we can do is best-effort and be aware that there will be some gotchas
I can't today but I could do this weekend. I actually leave my job today and start a new one in a week's time. So I'll be a little quieter around here for a little while - but I'll still be around. And definitely on the mailing list! :)
taxilian 12:07 the job where you've been using FireBreath?
neilg_ 12:07 Yup - though it sounds like I'll be able to use it all over again at the next place. I can't say too much right now obviously - but my work on plugins and browser technology was a big draw for them.
taxilian 12:07 hehe. well good, I'm glad that FireBreath is helping people besides me find jobs ;-)
my goal is to release 1.6 rc1 this weekend
neilg_ 12:07 It's funny, they came after me because of my work on browser technologies - and became very excited when they found out I had a lot of experience with browser plugins. FireBreath has been great, it made converting from a straight NPAPI plugin to a cross-platform/cross-browser plugin so much easier. :)
taxilian 12:07 brb, switching computers
=]
taxilian 13:07 FireBreathBot: tell rashmi you can't pass an actual array of strings back, but you can make a FB::VariantList list; (which is a vector), call list.push_back("some string") a bunch of times, and then return list
FireBreathBot 13:07 taxilian: I'll pass that on when rashmi is around.
taxilian 13:07 I am strongly considering making CMake 2.8.5 required for building firebreath on mac os; any complaints?
kylehuff: you still interested in helping get 1.6 out?
kylehuff 13:07 taxilian: yes -- I have spent the last 3 hours trying to resurrect my VM server so I can...
taxilian 13:07 lol. well, tell you what, I have something you can do from linux
could you pull down git://github.com/taxilian/FireBreath.git and see if it fixes the unicode stuff on linux?
kylehuff 13:07 cool -- what do you need?
taxilian 13:07 just run FBTestPlugin to start out with and make sure the tests all pass
you know where the test page is? examples/FBTestPlugin/test.html
kylehuff 13:07 ok
yeah
taxilian 13:07 wow… yeah, this xcode 4 indexing thing is awesome. It pegged all 4 cores of this machine for 1.5 minutes
however, now it looks okay...
hehe. Mac OS 10.7 sdk seems to no longer have quickdraw support
kylehuff 13:07 taxilian: https://photos-1.dropbox.com/i/o/iyUzcW2mBZWQmcXUlQdyAR8gCmUt5J20u1GR2M0K8a0/3922816/1312056000/773d1b4
taxilian 13:07 hmm. that's weird
what version of Chrome is this?
any idea if that happens on 1.5 as well?
kylehuff 13:07 chrome version 13.0.782.107 beta
and I don't know about 1.5, I could try it though
taxilian 13:07 how hard would it be to try 12?
kylehuff 13:07 chrome v12? let me see if I have it
I have Chromium 12.0.742.112 (90304)
taxilian 13:07 yeah, give that a try if you could
let me know if that occurs there as well
kylehuff 13:07 yeah, np
yeah, it is the same
taxilian 13:07 hmm. see if it works in 1.5?
I really appreciate your help
kylehuff 13:07 compiling now
taxilian 13:07 oh, check firefox as well
kylehuff 13:07 I forgot FF exists... lol
taxilian 13:07 lol
it does
kylehuff 14:07 on FF, all the same tests are green, but I don't see any error in the console, just a bunch of these: "Warning: The 'charCode' property of a keydown event should not be used. The value is meaningless."
taxilian 14:07 huh; interesting
kylehuff 14:07 that is FF 3.6, firebreath 1.6
taxilian 14:07 well, let me know what 1.5 does
32 bit? 64 bit?
kylehuff 14:07 ok, I gotta go fix something, hopefully it will be done compiling 1.5 by the time I get back
(32bit)
taxilian 14:07 ok
thx
kylehuff 14:07 okay, on FF, with firebreath-1.5 FBTestPlugin, there are 2 failures, and then the same "keydown event" clutter in the console
the failed times are: "Simple event bind and fire test failed!" and "Simple event bind attach and fire test failed!"
on Chrome 12, those same things failed, and there is also the same error in the console like in the screenshot
kylehuff 15:07 sorry, does that make sense taxilian? I was in-between disasters here at work... not sure if I missed anything.. (I also wasn't sure what window I was typing into, some random person I was talking to earlier now nows everything you know about my tests... lol)
taxilian 15:07 sorry, no worries; I'm in the middle of changing my static ip addresses so I'm in and out as well
so even 1.5 has those issues; that's weird
could you try 1.4?
kylehuff 15:07 sure
taxilian 15:07 I'm certain those errors were not always there
I want to know if it was us that changed or firefox
chrome
kylehuff 15:07 this might not be all that useful to you, but I found that, if you have a plugin "bundled" in an unpacked chrome extension - even if the plugin file is a link - when you refresh the extension, it will force unload the plugin and reload it. you don't have to restart the browser to get your new build
taxilian 15:07 interesting; that is good to know
that should be noted on the wiki somewhere, though I'm not really sure where =]
kylehuff 15:07 isn't there a "tips" section on the wiki?
taxilian 15:07 yes, but I don't know how many people read it =]
kylehuff 15:07 haha.. yeah, I hear you there...
ok, no failures on FF, it looks it does on 1.6
on chrome 12 and 13: same as in the screenshot
taxilian 15:07 wait, I though FF had failures too on 1.6?
kylehuff 15:07 just the warnings: "Warning: The 'charCode' property of a keydown event should not be used. The value is meaningless."
taxilian 15:07 hmm. I must have misunderstood; it looks like this is specifically a chrome issue, then
but it affects the current and previous versions both?
kylehuff 15:07 yes, the chrome issue is on 1.4, 1.5 and 1.6
taxilian 15:07 hmm. well, that's annoying
any interest in trying to drill down and figure out what is actually happening? I don't think this is going to be a simple one
kylehuff 15:07 I will see if I can track down which one is failing, it might narrow down the problem
taxilian 15:07 kalev, if you're around have you seen this issue? Several of the tests (simple event, asyncget and asyncpost) are failing on Chorme
linux only, it seems
kylehuff 15:07 no interest whatsoever... but I'll see what I can find.
dsuwirya 15:07 hi, i'm trying to use NPN_InvokeDefault with XCode and it failed at linking time. Any hint ?
taxilian 15:07 dsuwirya: yep. you can't do that
what are you trying to do?
kylehuff 15:07 as for the std::stirng vs std::wstring return values on FB::variant, it so far doesn't happen on linux (issue # FIREBREATH-94)
FireBreathBot 15:07 FIREBREATH-94: Summary: return variant based on wstring
FIREBREATH-94: Assigned To: richard
FIREBREATH-94: Priority: Major, Status: Open, http://jira.firebreath.org/browse/FIREBREATH-94
taxilian 15:07 kylehuff: that probably means I fixed it
dsuwirya 15:07 taxilian : means OSX doesn't implement NPN_InvokeDefault ?
kylehuff 15:07 I'm going to try on Mac next
taxilian 15:07 no, meaning that you can't use it directly in FireBreath
kylehuff 15:07 taxilian: FYI, that test was with firebreath-1.5
taxilian 15:07 and that function does not (ever) just exist as a normal function, it has to be implemented specifically
please explain what you are trying to accomplish and I'll try to point you to what you actually want to do
because I promise you don't really want to use NPN_InvokeDefault in FireBreath
unless you're writing your own npapi plugin?
without firebreath?
kylehuff: the "break" may have taken place after that
but good to know
dsuwirya 15:07 taxilian : yeah, i'm just trying to fix / adapt existing plugin, without firebreath
taxilian : i do hope i can still get help here ... :)
kylehuff 15:07 I will try it on 1.6 as well.
taxilian 15:07 okay; have you read my npapi tutorials? http://npapi.com/tutorial
dsuwirya: certainly. I think you're crazy, but I'll help as I can
dsuwirya 15:07 taxilian : this NPAPI plugin works fine in Chrome
taxilian 15:07 given your level of experience with NPAPI I think you're insane not to use FireBreath
but hey
it's your call
dsuwirya 16:07 the plugin has already exists before firebreath, that's why
taxilian 16:07 actually, given my level of experience (reasonably decent) I'd be insane to do it without firebreath
consider porting. =] back to your question, though; have you read the tutorials?
specifically the first one?
dsuwirya 16:07 taxilian : we actually fine with webkit plugin approach until safari 5.1 where they killed it !
taxilian 16:07 really? I didn't know they'd done that
interesting
dsuwirya 16:07 taxilian : yeah, way before firebreath even exists, we have the implementation of 4 approaches, active x, xpcom, npapi and webkit
taxilian : now they kill webkit, npapi is the only choice, need to make npapi work back for safari
taxilian 16:07 okay; seriously, I would strongly, strongly recommend you consider consolidating your codebase to use FireBreath. If there are features you have that we don't, let me know and I'll work with you to integrate it. It will save you a lot of troubleshooting and fixing things in the long run
dsuwirya 16:07 taxilian : what this part is trying to do is to call a js callback method
taxilian 16:07 dsuwirya: however, that brings me back to my question. Have you read the tutorial at http://npapi.com/tutorial?
dsuwirya 16:07 yeah
taxilian 16:07 it sounds like you didn't understand it, then; go look again at the NPNFuncs structure
sorry, NPNetscapeFuncs
in NPAPI, there is no such thing as a NPN_InvokeDefault call
though we refer to it all the time
it is actually a function pointer that is passed to the plugin
and then the plugin has to provide a NPN_InvokeDefault function that will call npnfuncs->invokeDefault(...)
so look in your project and find where those functions are provided; they may not be named the same
dsuwirya 16:07 taxilian : thanks for the pointer, let me look at it first
taxilian 16:07 good luck
let me know if you have other questions
kylehuff: interesting… GET, POST, and simple event bind and fire are not working on mac either
kylehuff 16:07 *about porting your project to firebreath...
taxilian 16:07 let's hope they are the same thing
dsuwirya 16:07 taxilian : yeah, you're absolutely right, thanks a lot !
taxilian 16:07 you're welcome.
kylehuff 16:07 he was also right about porting to firebreath
dsuwirya 16:07 kylehuff : can't agree more, since our complete code base already exist prior to firebreath, we would like to evaluate first the firebreath before deciding to port all these
taxilian : have you ever thought of adding 'security' mechanism to this ?
taxilian 16:07 I don't understand the question
dsuwirya 16:07 taxilian : problem is when we introduce native resource access like this, it opens up attack surface
taxilian 16:07 FireBreath has several features that are designed to help control that
but at the end of the day, it's up to the plugin developer to implement them well
kylehuff 16:07 >>> plugin.returnStringTest() > "hello" >>> plugin.returnWStringTest() > "hello" FF 3.6.18, Linux with firebreath 1.6 (master)
taxilian 16:07 for example, there is the concept of "SecurityZones" that allows you to specify methods and properties that are only available in certain zones; the zones can be set by page URL, login name, etc
kylehuff 16:07 I'm going to go try it on OSX
taxilian 16:07 kylehuff: is that the master version I gave you (from my fork) or the real one?
dsuwirya 16:07 taxilian : have you seen www.jnext.org ?
kylehuff 16:07 taxilian: for that test, it was from master
dsuwirya 16:07 taxilian : see Sounds great, but what about security ? part
taxilian 16:07 dsuwirya: security can mean a lot of things
so please explain exactly what you are referring to
and I'll let you know if we have anything to address it =]
SecurityZones are a security feature, but possibly not the type you're referring to
kylehuff 16:07 for the FBTestPlugin tests, I was using "git://github.com/taxilian/FireBreath.git"
taxilian 16:07 kylehuff: okay; that's the one with my new utf8 routines
well, where I changed to use utfcpp I should say
dsuwirya 16:07 please see the jnext.org page ... that's exactly the security concern to consider
kylehuff 16:07 taxilian: so, for the FB::variant return of std::wstring type, I should use which one?
sorry, I should use which repository?
taxilian 16:07 dsuwirya: I'm in the middle of trying to get a release out, could you possibly summarize?
dsuwirya 16:07 taxilian : jnext exist also way before firebreath and seems dormant after that
taxilian 16:07 kylehuff: that's the repository to test on, I'm just saying that hopefully you won't be able to reproduce the issue with that version
kylehuff 16:07 ah, okay.. right now, I'm trying to reproduce it all on using the main repository (1.5 and master)
taxilian 16:07 okay; you should theoretically be able to reproduce it iwth the main repository master
I dont' know about 1.5
less concerned about it, actually, since I intend to release 1.6 soon
dsuwirya: I don't see how the jnext stuff is even related to FireBreath; you could possibly implement something similar to jnext using FireBreath, but FireBreath is a fundamentally different technology
and the type of PKI security that jnext employs could potentially be useful to certain applications of FireBreath, but only the small subset that execute code other than the C++ code compiled in
dsuwirya 16:07 taxilian : yeah, on the type of FB application that actually provides native resource ( OS ) access
taxilian 16:07 dsuwirya: even still it doesn't neccesarily apply
because an FB plugin is written in C++
you don't need to verify the code with PKI because the code doesn't change without replacing the plugin
now if you were to embed a javascript engine in the plugin and wanted to verify that the code was valid before executing, then we would have a use
dsuwirya 16:07 taxilian : the concern is more to prevent the plugin to be called by just anybody, including XSS code, no ?
taxilian 16:07 yes; for that reason, you have to be very careful about what APIs you expose
in the Facebook photo uploader plugin that is currently being tested we solved that in a mostly simpler way
we don't expose any APIs that can access the filesystem to normal javascript
because there is no way (PKI or otherwise) to validate that that code is safe
dsuwirya 16:07 taxilian : so, what's the simpler way ?
taxilian 16:07 instead, we embed another browser instance inside the browser plugin and we use libcurl and openssl directly (so we can be sure that the SSL cert is valid) to download the page and javascript via https
that page does not include any dynamic content or pull in javascript from any other pages
that way there is no possibility of XSS
and DNS spoofing is defeated by the requirement of using SSL to download the page
then the secure API is only exposed to the internal page
we can even pass in a few carefully chosen functions in from the outer page to help with localization, etc; since we don't pass any objects or sensitive data to those functions when we call them from inside the inner page they can't expose any security flaws
dsuwirya 16:07 taxilian : how do you embed another browser using NPAPI ?
taxilian 16:07 anyway, that's one option that is actually open sourced and will be in 1.6
depends on your platform
we dont' have a solution for linux
on windows you use the IE activex control
and you simply instantiate it in your window
on mac it's a bit trickier, but we instantiate a WebView (NSView) offscreen and proxy the events, etc
then render to the CGContext
it works moderately well, actually, though it's still what I would consider beta
there are somewhere around 30,000 people using it on windows right now, though, so it must be working decently
dsuwirya 16:07 taxilian : it's really interesting to talk with you
taxilian : do you mind to tell me in which area are u located ?
taxilian 16:07 I'm in Utah, USA
dsuwirya 16:07 taxilian : i'm in Austin, TX ... I've been dealing with all these browser plugin stuff since dec 2008
taxilian : as part of my job - of course
taxilian 16:07 cool; it's rare to find someone else who has been working with them that long. I started in 2008 when I was working for a company called Move Networks, and I've been doing it since
if youre interested, the rough history of the project is here: http://colonelpanic.net/2010/09/a-year-in-the-life-of-an-open-source-project/
dsuwirya 16:07 taxilian : i've always been so curious as well, how are you guys 'open source activists' make a living ? :D
taxilian 16:07 lol. I'm not an open source activist; I'm the primary developer of an open source project
dsuwirya 16:07 taxilian : all these are your full time activity, right ? and no one is paying you ?
taxilian 16:07 there is a difference
I have two part time jobs; I work part time for Facebook and part time for Gradecam
I use FireBreath at both jobs
I do a lot of subcontracting for companies who use FireBreath
dsuwirya 16:07 taxilian : oooowww ... that makes more sense now, haha.
taxilian 16:07 there are a lot of people who know plugins as well or better than I do; however, most of them don't bother writing articles and haven't started an open source project
therefore when people need help with a plugin, I'm usually the easiest to find
dsuwirya 16:07 taxilian : YES, you're actually THE ONLY ONE !!!
taxilian : all these plugin stuff has actually emerged since the first Google Gears
taxilian 16:07 exactly; just about anywhere you look, you'll find me, whether by my real name (Richard Bateman) or my alias, taxilian
dsuwirya 16:07 taxilian : YES, I NOTICED THAT !! haha ... :D
taxilian 16:07 FireBreath is an ideal open source project; it's not central to anyone's IP, so companies can contribute to it
and it benefits everyone to have the features tested and as solid as possible
unfortunately, I've done my job too well; lately nobody needs anything that FireBreath doesn't do, so there haven't been many really experienced people helping with the project managment
dsuwirya 16:07 taxilian : btw, if you look at the google gears plugin for example, i saw there's one interesting feature there where they're asking for a user consent when a plugin is about to access user's data
taxilian 16:07 I would really like to add some helper functions for doing things like that
I just haven't had enough reason or time; most features these days get added because someone submits a patch or because I need them for a paid project
kylehuff 16:07 "haven't been many really experienced people helping with the project managment" -- what he means is, he is stuck with blokes like me who are only useful when you need someone to stand around and look intelligent...
dsuwirya 16:07 taxilian : but those dialogs shall never be a simple HTML overlay as it's prune to XSS
taxilian 16:07 dsuwirya: right; we could use system dialogs, though
dsuwirya 16:07 kylehuff : huahuauhauhuau ...
taxilian 16:07 kylehuff is a lot more helpful than he pretends, actually
and dougma knows COM pretty well and has helped fix several bugs there lately
there are others in here, but the people who really knew the core system have drifted off to other projects
right now, though, I could really use someone who can tell me why Safari 5.1 on Lion isn't letting me communicate with my NPObject
dsuwirya 16:07 taxilian : waaaa ... really ? then same problem i will need to face after this then ... :(
taxilian 16:07 if you figure it out, let me know =]
I'm still trying to figure out how to even debug with XCode 4… everything has been moved
dsuwirya 16:07 taxilian : btw, if you see goggle gears, the dialog that i'm talking about is pretty neat, does integrated with browser window, etc ...
taxilian 16:07 !findfile Mac.cmake
FireBreathBot 16:07 Found 1 matching file(s) in the master branch. First 1 are:
cmake/Mac.cmake http://goo.gl/LeIEt
taxilian 16:07 dsuwirya: sounds interesting; could you email me a link? I can't look at it right now, but would like to
dsuwirya: [email protected]
dsuwirya 16:07 yeah, that is the advantage when you're using XPCOM for FF, WEBKIT for Safari ( used to ), when you can actually 'access' the browser's internal to show a dialog for you
taxilian 16:07 ahh, is that what they were doing? what did they do on Chrome?
dsuwirya 16:07 they integrate gears right into the chrome ... haha
taxilian 16:07 hehe
makes sense
dsuwirya 16:07 after that, since HTML 5 local storage coming out, they kill gears
taxilian 16:07 right
dsuwirya 16:07 btw, can XPI bundle for FF include NPAPI plugin ?
taxilian 16:07 yes
dsuwirya 16:07 it's a pity that Safari's extension doesn't allow that, like the chrome CRX
taxilian 16:07 I strongly dislike using XPI for plugin install anyway, so I don't
I just use a single MSI to install for all browsers
dsuwirya 16:07 yeah, but add-on install experience is not as smooth, no ? it's like installing windows application rather than a FF add-on ?
that will scare people a bit, no ? hehe
taxilian 16:07 you don't have to restart the browser
you dont' have to install it for each browser
you don't have to maintain 4 different install methods
you install once for all firefox profiles
also I've had XPI installs fail too many times
with no way of tracking it
dsuwirya 16:07 but if you talk about supporting FF in Windows, FF in OSX and FF in linux, then you need to have 4 different installers, as oppose of one XPI method also
taxilian 16:07 ? I only count 3
and there is no way around that
dsuwirya 16:07 ow ... hahaha, yeah, 3
taxilian 16:07 if I use the browser specific ways, I have 4 on windows, 3 on mac, and I don't even know on linux
because a single XPI isn't going to work well for cross platform; you want a seperate one for each platform
CRX similarly
dsuwirya 16:07 before i forgot, for IE plugin in IE9, how to get around the smartscreen filtering ?
taxilian 16:07 and then you still have to do the generic one since Safari doesn't have an option
smartscreen filtering?
I haven't run into it
dsuwirya 17:07 in IE9, when you click an .exe to install the plugin, it will complain and scare people off ...
taxilian 17:07 not if it's signed
and I dont' use an EXE
I use a MSI
a signed MSI
Facebook uses Omaha as well for updates
which is not a bad system, though it's a royal pain in the backside to set up
dsuwirya 17:07 what omaha ?
taxilian 17:07 .g omaha
FireBreathBot 17:07 taxilian: http://www.cityofomaha.org/
taxilian 17:07 lol
not that
.g google omaha
FireBreathBot 17:07 taxilian: http://code.google.com/p/omaha/
taxilian 17:07 that
it's the update system that google chrome uses
dsuwirya 17:07 taxilian : btw, how do you charge for the sub-contracting stuff ?
taxilian 17:07 depends on how busy I am and what else I'm doing. right now around $200/hr
dsuwirya 17:07 so if there's a project, you will estimate the total at the beginning ?
taxilian 17:07 generally so, yes
dsuwirya 17:07 maybe i should just ask my boss to sub contract all these to you so i can move on, haha
taxilian 17:07 lol. it's an option; keep in mind that I probably can't do more than 5-10 hours / week right now, though. I'm really swamped
even that requires a lot of patience from my wife =]
dsuwirya 17:07 seeing what happened with 6 weeks release cycle of FF, and the fact that they're suddently shut down the webkit plugin api in safari ... my life is pretty miserable right now ... browser is getting strict-er and strict-er, it's like a never ending race ... mouse and cat race ...
taxilian 17:07 yeah; this is why I suggest so strongly that you port to FireBreath
less that you have to maintain yourself, and all the browser stuff is abstracted; then when you do run into an issue, you have help fixing it
dsuwirya 17:07 btw, this is the google gears that i'm talking about : http://code.google.com/apis/gears/
taxilian 17:07 yeah, I'm familiar with it; just thought you might have a link to the place in the code you were referring to
dsuwirya 17:07 it's time for me to go for my weekend ...
thanks a lot for all these interesting chats
taxilian 17:07 well, try not to have too much fun
dsuwirya 17:07 will see firebreath deeper and further
and will be back here for asking more help
haha
thanks a lot, again !
taxilian 17:07 I just ask that you contribute back in whatever way you are able
fixes, documentation, whatever
money is good too, of course, but hardly the only way to help
dsuwirya 17:07 huauhauhuau ... :D
yeah, will first try to see deeper into the code first
and i'll see if i can contribute ... :P
ciao ciao ...
taxilian 17:07 cya
kylehuff 17:07 nice enough guy I guess, but he laughs like a weasel being tickled; as heard over an underwater megaphone
taxilian 17:07 lol
kylehuff 17:07 I am still building under OSX in an attempt to reproduce the std::wstring return problem
this OSX image will only run on my laptop (cpu extensions) and it is dog slow and short on memory. I might have to suspend this build and resume it at home, cause I have to leave here soon.
taxilian 17:07 hehe. fair enough
I'm still trying to debug in Lion w/ XCode 4
this is driving me crazy
taxilian 18:07 It seems that Safari 5.1 will send a SIG_KILL to any plugin process that doesn't respond within a certain amount of time; this includes plugin processes
and makes debugging pretty much impossible
kylehuff 18:07 ?? that is odd -- this is the only channel that I am in twice
taxilian 18:07 huh
kylehuff 18:07 ohh.. lol.. znc
taxilian 18:07 hehe
kylehuff 18:07 I just use an ssh tunnel now
need to kill that service
taxilian 18:07 so I found one issue with the logger; probably the same thing that has hit us a few times in lniux
dougma 18:07 i know i'll be looking at safari 5.1 next week...
taxilian 18:07 but in Lion / safari 5.1 we start up and then it tells us to shut down
not sure what is going on
at least one firebreath-based plugin is working, though
dougma 18:07 on windows safari the drawing of our windowless plugin is now quite borken
yay...
taxilian 18:07 the best part is that if I try to step through things I hit some sort of timeout and safari sends a SIG_KILL to the plugin process
(this is all on Mac)
taxilian 19:07 I found it
you ready for this?
In Safari 5.1 if you don't choose a drawing and event model it shuts your plugin down
without any warning, log message, anything
I'm going to go get some dinner; I'll be back
kylehuff, I'm still getting failures on the simple event bind/fire and download streams on mac; need to try on windows
when I get back
kylehuff 19:07 I am *still* trying to compile on OSX
taxilian 19:07 you can do it!
don't give up hope! ;-)
kylehuff 19:07 I need to not give up memory... stupid osx vm is needy
taxilian 19:07 lol
I believe that
I got an OS X vm working on my esxi server, but it keeps freezing
kylehuff 19:07 this is good anyway, I needed to dust off my XP and OSX virtual machines to build the binaries for this new extension
taxilian 19:07 when I get my new build configuration set up you can put some builds on it for that if you'd like
kylehuff 19:07 sorry, what does it do?
taxilian 19:07 continuous integration server
it builds source code and archives the artifacts
relevant to you, it will need to have nodes that run windows, mac, linux32, and linux64
kylehuff 19:07 ohhh, I'm trackin' now...
taxilian 19:07 the main thing I use it for is to automatically compile firebreath anytime things change
so if it breaks I get an email right off
kylehuff 19:07 thats handy
taxilian 20:07 yep
FireBreathBot 20:07 Commit 311398e on master by Richard Bateman: "FIREBREATH-114, FIREBREATH-94 Change UTF8 libs" http://goo.gl/aIeuy
Commit d343f81 on master by Richard Bateman: "Fixed build w/ 10.7 sdk" http://goo.gl/A6HDk
Commit 8f51e9b on master by Richard Bateman: "FIREBREATH-111 - missing break in case statement" http://goo.gl/aUPTI
Commit 450aea4 on master by Richard Bateman: "FIREBREATH-110: Safari 5.1 requires drawing/event model" http://goo.gl/B83O1
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-110 issue resolved by richard "Safari 5.1 apparently now requires that a drawing and event model be selected; previously this wa..."
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-94 issue resolved by richard "Sorry this took so long; the UTF8 conversion utils have been replaced and this is working for me."
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-111 issue commented by richard "I think I may have fixed this; could you try again with the latest 1.6?"
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-114 issue resolved by richard "I believe this is fixed; can you confirm?"
FireBreathBot 21:07 Commit 52f08fd on master by Richard Bateman: "Fixed misc minor windows build errors" http://goo.gl/ruQ6N
FireBreathBot 21:07 Commit 13cc3d5 on master by Richard Bateman: "Fixed potential bug when firing simple event" http://goo.gl/m7TAA
taxilian 21:07 it is both sad and a little concerning when a windows 7 VM running on my ESXi box is outperforming my windows 7 laptop
granted, the esxi box is faster, but I wouldn't think by *that* much
they are both i7 sandy bridge
kylehuff 21:07 lol
that is sad
taxilian 21:07 gotta tell you, though, I love this esxi box
kylehuff 21:07 (that is STILL compiling, btw)
taxilian 22:07 I like it so much I turned another machine I had that was previously a linux machine with a few virtualbox vms into an esxi box
and it's my router (running a dedicated clearos vm) and has a development centos vm on it as well
and I could probably put 2 or 3 more vms on it without taxing it overly… and that's my lightweight
kylehuff 22:07 I haven't played with esxi yet
taxilian 22:07 the only trick is that it's a bit picky about hardware
particularly the network card
I think I know what is causing the failed tests
in fact, I've fixed it. granted, fixing it broke something else...
FireBreathBot 22:07 Commit b9b1542 on master by Richard Bateman: "Fixed problem with windows prep scripts examples" http://goo.gl/a0St6
Commit ae634a7 on master by Richard Bateman: "Fixed failed tests in FBTestPlugin" http://goo.gl/fcr7f
kylehuff 22:07 so, generic question; I want to move away from dynamically linking libgpgme in my plugin and move to a static link so windows users don't have to install anything separate. is this a big pain?
taxilian 22:07 I don't know
kylehuff 22:07 (static linking in general, that is)
taxilian 22:07 it depends on how hard it is to build libgpgme
if you can build it as a static lib with visual studio (make sure you use static CRT as well!) then it shouldn't be hard
kylehuff 22:07 hmm... I have no idea how hard that is on windows
taxilian 22:07 that's the question
I recently did it with curl and openssl; not terrible, but took me a bit to figure out how
kylehuff 22:07 that doesn't sound promising...
taxilian 22:07 might not be bad
hard to say
kylehuff 22:07 it looks brutal... some kind of glib dependency...
taxilian 22:07 ooh
not a good sign
kylehuff 22:07 no pun intended
=c )
taxilian 22:07 =]
well,I think I'm about done for the day
kylehuff 22:07 I'll let you know how this test goes, if that OSX build ever finishes
taxilian 22:07 cool. you may want to update once it does… =]
there have been several fixes
g'night. I'll be hopefully finishing this up tomorrow
everyone test and find whatever I've missed!
I haven't tested on linux yet
kylehuff 22:07 I'll give it a whirl with my plugin with your master