IRC Log Viewer » #firebreath » 2013-04-29

IRC Nick Time (GMT-7) Message
[Outcast] 10:04 So I looking my first browser plugin. Can some explain at a high level why I should use fire breath instead of going native with NPAPI?
kylehuff 10:04 because NPAPI is a mostly undocumented nightmare. Furthermore, using plain old NPAPI doesn't allow you to benefit from the years of experience and testing that has gone into Firebreath.
one of the the goals of Firebreath is to abstract (wherever possible) the inconsistencies between browser implementations of NPAPI (operating system too).
[Outcast] 10:04 Ok I am going to give it try.
Just watching videos now while VS is downloading.
How easy is it port to mac from windows?
kylehuff 10:04 Additionally, Firebreath provides several useful tools (boost, jsoncpp, etc) that you don't have worry about - you just add them to your plugin configuration and they are included. IMO, Firebreath is a better choice, if for no other reason than build environment that it provides, and the fact that I can focus on the specifics of my code and what it should do without worrying so much about NPAPI
[Outcast] 10:04 or the other way
sounds good.
kylehuff 10:04 if the code you wrote is compatible with OSX, then it should build on OSX.
[Outcast] 10:04 I am just write straight c not trying to anything OS specific if possible.
kylehuff 10:04 I use the same codebase and compile fine on Windows, Linux, OSX and *BSD
[Outcast] 10:04 cool
that is what I am looking for.
kylehuff 10:04 however, I do not do any drawing
I cannot comment on the drawing support.
[Outcast] 10:04 I won't be drawing anything I want all interfacing to happen via Javascript.
kylehuff 10:04 then Firebreath is probably the best choice. I use it for that (as an API) and it I know nothing about NPAPI.
[Outcast] 10:04 most of the "Control" logic will be via Javascript.
I am working a new network testing tool for voip and need to be able to run a some thing like pjsip or freeswitch and libpcap. while control them from javascript.
all of the reporting will be in html5 to make easier for UI design.
kylehuff 10:04 You may run into issues with privileges and libpcap, depending on the OS and if you need promiscuous mode - but that is not a Firebreath issue.
[Outcast] 10:04 That is true with any application.
kylehuff 10:04 *promiscuous mode or need to construct packets at a level less than the transport layer
[Outcast] 10:04 PM will not be need for this test. The packets I will be sniffing are destine for this machine. All other check are done at layer 3 using unprivileged ports.
I will give it a shot.
thanks for the info.
kylehuff 10:04 np. have fun.
[Outcast] 10:04 I have added this room to my auto join list so I should be around while I am working on the project.
I will fill out the usage survey after I have been using it for a while.
If you have any networking or voip feel free to hit me up.
*networking or voip questions
kylehuff 10:04 you a network engineer?
[Outcast] 10:04 Network Engineer/Developer
Highly focused on API, Transport, HA and Packet routing for Layer 2 and 3.
kylehuff 10:04 likewise. well, used to be. changed jobs about a year ago
[Outcast] 10:04 cool
I just left Juniper to work on my startup. Having to take contracting gigs to keep the bills payed.
hence me landing here.
kylehuff 10:04 I hear that
what kind of startup? if you don't mind sharing...
[Outcast] 10:04 Network solution company: I have invented a new way to build mobile networks with 3GPP. Working on second prototype.
We have also come up with a NaaS platform for small business
Then we have some IP I brought with me call SociableNow
Going to be submitting the iPhone app for SociableNow in next week or so.
but or focus is going to be the Mobile solution. We will be targeting developing countries and emerging markets. Since that is where the greatest demand for mobile networks currently is.
kylehuff 10:04 interesting. well good luck on your venture. if your ever have a need for out-of-practice former systems/network guy specializing *nix, VOS and Cisco IOS, I'm probably too busy, but still interested =c )
[Outcast] 10:04 gotcha! :P
[Outcast] 11:04 I am still installing VS at the moment. I do have question. does compiling firebreath under cygwin supported?
kylehuff 11:04 I compile via msys and cmake, however, VS is still required as it provides the required compiler and ATL libraries.
[Outcast] 11:04 ok
Just curious
[Outcast] 12:04 Been playing with tutorial and so far I like it.
kylehuff 13:04 there isn't much to not like as far as I've seen, and I can't argue with the results; my resulting plugin binaries function without incident in every browser I've tested, on 4 different operating systems.
[Outcast] 13:04 my is dieting.
I most likely missed a step
yep I broke something
I deleted the build directory completely
I just need to get rid of the binaries.
My assumption on that maybe wrong
anyone around that can provide guidance?
kylehuff 13:04 I use a custom makefile, and if I want to ditch the binaries, I just do `make clean && make`, which deletes the build dir and reruns the prep-script. I think there is a cmake command for cleaning the binaries. you could probably alternately use `cmake --clean-first --build <builddir> ...`
[Outcast] 13:04 something is wrong here
kylehuff 13:04 if you are so inclined, my Makefile for reference/unabashed plagiary:
[Outcast] 13:04 is there something on wiki that explains the step when moving the project from OS to another?
kylehuff 13:04 I'm not sure about that specifically, but what are you having trouble with? I checkout the source for my project on all O/S's (minus the build dir) and it works without incident. I just do "make", and my makefile does the rest.
[Outcast] 13:04 command not line 2
kylehuff 13:04 you get that when trying to invoke what?
[Outcast] 13:04 ./firebreath/
kylehuff 13:04 hmm, I'm not aware of anything special I had to do for OSX building, other than install XCode
[Outcast] 13:04 I am going to double check my cmd line tools
kylehuff 13:04 here is the wiki page for the OSX requirements:
[Outcast] 13:04 no it something bash is doing I think
I may have something in my ENV that shouldn't be.
looks CLI tool may have been out of date. will know in a few.
kevincondon 13:04 I want separate Windows and Mac implementations of MyPluginAPI. I want separate classes, MyPluginAPIWin and MyPluginAPIMac, with the correct one compiled and instantiated using #ifdef. It looks like MyPlugin::createJSAPI() is where instantiation happens. How do I choose the correct impl there in the boost::make_shared call?
kris- 13:04 hi all, what is the best way to make sure that my NPAPI plugin is accessible only from
kylehuff 14:04 kris-: I don't know the best way, but as general information - you can check the location of the page that is plugin is loaded from via: m_host->getDOMWindow()->getLocation();
[Outcast] 14:04 stupid windows formatting.
kris- 14:04 kylehuff: thanks!
[Outcast] 14:04 dos2unix is your friend.
kylehuff 14:04 one of the many reasons why I do all of my development on *nix based systems... I also only checkout my repos in windows as readonly, so I'm not tempted to commit code made shitty by windows. I want all of my shitty code to be of my own doing.
[Outcast] 14:04 hehehe
kris- 14:04 offtopic, does anyone know how chrome-web-store guys review a NPAPI plugin? if the source is not available to them? on what basis do they approve/disapprove?
kylehuff 14:04 kris-: my experience is that they just make you sign a document and provide photo ID that they keep on file. my project is open source, and I'm fairly certain they didn't review a single line of code.
kris- 14:04 kylehuff: you mean i have to sign a physical document and mail it to them?
mail as in post
kylehuff 14:04 kris-: no, they email a PDF, you print it, sign it, scan it and email it back. (or send it via facsimile or postal mail, your prerogative)
kris- 14:04 kylehuff: ah! ok
[Outcast] 14:04 while I am thinking of it. Chrome on mac only supports 32bit plugins right?
kris- 14:04 [Outcast]: really? thanks for the info
[Outcast] 14:04 Not sure I was asking.
kylehuff 14:04 Not in my experience. I am pretty certain that I am running Chrome in 64bit on OSX.
I can load up my VM in a few minutes and confirm
[Outcast] 14:04 hmm
kris- 14:04 kylehuff: when i try to install a plugin from chrome web store .. it scares the user by the message "the extension can access all data on your computer and all the websites you visit" .. nothing much i can do there to make this message less scary right?
kylehuff 14:04 kris-: I think I was mistaken about the photo-id. that was for something different. looks like just need to sign a copy of their developer TOS
nope, that is managed by google
kris- 14:04 kylehuff: ok
kylehuff 14:04 it is a lie anyway. NPAPI plugins have the same file access that the current user account that the application is running under.
kris- 14:04 yeah
kylehuff 14:04 I think the message is stupid, because the same is true for every Firefox extension, regardless of the inclusion of NPAPI plugins.
kris- 14:04 yeah
probably google wants to play too safe
thanks guys for the FB project, i could write a powerful plugin very quickly without knowing too much details about npapi
kylehuff 14:04 kris-: the thanks goes to taxilian, he is the author; I'm just a fly on the wall.
kris- 14:04 kylehuff: helping out people on irc is good contribution to the project too!
kylehuff 14:04 any support you can show by way of contributing back (code, bug reports/fixes, wiki updates/articles or donations) is greatly appreciated.
[Outcast] 14:04 Chrome is 32 bit on OS X
kylehuff 14:04 yeah, I just confirmed that [Outcast]
kris- 14:04 kylehuff: surely
chrome is 32bit on osx! why the hell!
kylehuff 14:04 I can't remember which browser it was that forced me to compile a mach-o bundle with 32bit and 64bit binaries... maybe it was Safari...
[Outcast] 14:04 the default for OS X projects for FIreBreath set the project to build both i386 and x86_64 that is most likely why chrome has been working.
kris- 14:04 so can i compile 32bit plugins for chrome on 64bit macosx?
kylehuff 14:04 yes
kris- 14:04 ok
[Outcast] 14:04 yes, it will do by default. So in other words don't change any setting. Just following the instructions on the documentation and it should work everywhere.
kris- 14:04 ok great
[Outcast] 14:04 Npapicore take so long to compile!!!
kylehuff 14:04 yes, on OSX it takes forever for me (granted, I run OSX via a virtual machine with little resources, on a laptop with modest resources)
after deleting my build dir, it takes 2m33.189s to run the prep scripts and build on Linux. I think it something like ~15-20 minutes on OSX
kylehuff 15:04 kevincondon: I have no useful input to your question; but someone might come around eventually with a good answer for you. I would suggest repeating your question after awhile, as there has been quite a bit of activity since you asked.
[Outcast] 15:04 Why won't X Code escape spaces when using the linker?
it does it every where else.
[Outcast] 15:04 what do you guys use to build the x code project file
looks like cmake does not escape the spaces while setting the "Other Linker Flags" when it make the Xcode project file.
hand to fix by hand.
I don't thinks it your problem its a CMake bug.
bbl need to head home. Thanks for the help guys.
taxilian 18:04 heh. I take a day off and there is actually activity here
who'd'a thunk it?
kylehuff 18:04 at one point I had thought pretty much the same thing to myself.
taxilian 18:04 lol
I skimmed, but did I miss anything important?
kylehuff 18:04 no, I think there was only one question I couldn't answer anything to at all, but I believe he left already
taxilian 18:04 yeah, looks like it
kylehuff 18:04 the rest of the questions I pretty much just made stuff up, and they seemed happy about it. =c )
taxilian 18:04 lol. drat! you figured out my secret...
kylehuff 18:04 what? that half of your secret is being around? lol. I can thank the surgery for that. if you mean making stuff up, I guess I didn't realize that was a secret. I should have kept my mouth shut
taxilian 18:04 lol
well, gunna go play with my kids
I'll be back around more tomorrow, maybe. Definitely the day after
see ya
kylehuff 18:04 have fun. later
[Outcast] 20:04 well that was a pain to debug. I have been banging my head against my keyboard trying to figure out why my plugin would not load. The Info.plist had the wrong name of the executable.