IRC Log Viewer » #firebreath » 2010-09-14

IRC Nick Time (GMT-7) Message
kalev 05:09 taxilian_away: hey, I'm here now if you want me to test something
kalev 07:09 taxilian_away: I have a few boost thread library related fixes in http://code.google.com/r/kalevlember-firebreath/source/list
taxilian 09:09 kalev: cool, I'll pull 'em in
umm… except that it shows up as having nothing in it
kalev 09:09 yeah, sorry, I just spotted a regression so I'm reworking it
taxilian 09:09 good man =]
I'm not thrilled with the way I pulled the lib in, but I don't want to have an external boost dependency that is effectively just for one file
kalev 09:09 yeah, I think most people wouldn't want to deal with building an external dependency themselves
taxilian 09:09 I like that we have the option of saying "use my system boost libs"
but since the only binary dependency we have is the thread lib...
I'm going to start adding some "debug only" calls that will throw exceptions if things are called on the wrong threads
and I may make the Invoke for BrowserObjectAPI use a lock and a signal to allow synchronous calling across threads, now that we have the thread library
kalev 09:09 oh, that would be useful, yes
taxilian 09:09 this is all stuff we've meant to put in since before we even started using CMake
we used to have the boost stuff in the project, even
but we just haven't gotten to it yet
kalev 09:09 I'm glad they are paying you for doing all this
taxilian 09:09 hehe
me too
though the project was doing pretty well for not having anyone paid to work on it
kalev 09:09 for one thing the project never looked abandoned, there was always someone replying to queries on the mailing list
taxilian 09:09 well, my philosophy is that it is more important to be available to answer questions than it is to write code
so when I had time to do only one of the two, I stopped coding
and people like you, amackera, nirvdrum, nitro, and others started doing the coding =]
kalev 09:09 I applied a few days ago for a position at Red Hat
not sure if they'd want me, but if I get that job I'll probably stop whatever small contributions I've been doing to firebreath
taxilian 09:09 that would be a blow to the project, but certainly understandable; your own concerns must come first =]
nirvdrum 09:09 I need to get 3 hours of free time to clean up some stuff and apply to the latest firebreath.
I think I'm going to have to debug something in my Chrome plugin soon though, so that may be my opportunity.
taxilian 09:09 I look forward to seeing it =] where are you working now?
nirvdrum 09:09 FWIW, being able to answer questions is much more useful that coding to me :-)
Still doing mogotest.com
Running a company is just a lot of work.
taxilian 09:09 cool
yeah, it is
be back in a bit
taxilian 10:09 … and support for multi-threaded calls to the browser (marshalling across the thread to call it from the correct thread with synchronization to keep it threadsafe and return a value) is written
but I dont' have a multi-threaded plugin to test it with
hmm
well, it's almost implemented
drat
just realized one minor hitch
kalev 10:09 awesome
well, maybe just start up a dummy thread in FBTestPlugin? should be easy to do with boost.
taxilian 10:09 yeah, I'll probably do that
I need to really expand that test plugin
kalev 11:09 allright, can you take a look at http://code.google.com/r/kalevlember-firebreath/source/list ?
there's still one more BOOST_LIB_NAME redefinition error, but that one isn't so easy to get rid of
taxilian 11:09 have you tested this on windows?
kalev 11:09 yep
taxilian 11:09 ok; I think there was a version of cmake that didn't automatically make things dependencies in visual studio just because they were target_link_libraries
but that should be old enough now that we're okay to clean that up
kalev 11:09 I removed that because it was causing problems with external boost libs on Windows
taxilian 11:09 wow… I seriously forgot to guard SafeQueue against multiple inclusions? well, this is why I try to enforce code reviews. =] thanks for catching it
ok
kalev 11:09 cmake choked when it tried to add deps to C:\bla\bla\boost_thread.lib
allright, shall I go on and use my push-powers?
taxilian 11:09 give me a few minutes
I'll do a test and then push it
kalev 11:09 perfect, thanks
taxilian 11:09 I'm in there anyway, and I'll have to merge it with my code
not that there will be any conflicts
so kalev, where are you working now?
kalev 11:09 in a small software company in Estonia
taxilian 11:09 you live in Estonia? I didn't know that
kalev 11:09 we've been mostly working on Estonian ID card related software over the last year
taxilian 11:09 do you speak Russian?
kalev 11:09 a little bit, not much
taxilian 11:09 cool =] I almost went to Estonia once, but my group ended up going to Lithuania instead
kalev 11:09 you do, right?
taxilian 11:09 (visa renewals)
yes
not natively, but relatively fluently
kalev 11:09 if I get a job with Red Hat I'll be moving to Westford MA probably
I'd actually quite like that; I'd get a chance to practice my English and work with some really talented people
taxilian 11:09 your written English at least is quite good; I hadn't realized you weren't a native speaker, and I usually notice things like that
kalev 11:09 thanks
taxilian 11:09 I love link errors that seem unrelated to changes made…. reminds me that we're not actually in control of the universe
I'm starting to think I'm the only active developer on this project in the states
you're in Estonia, amackera is in Canada, Georg is in Germany...
kalev 11:09 if you count Antti too then we've got 2 Estonians on the board!
taxilian 11:09 lol. yeah
big nikita is Russian, and he contributes from time to time
I wonder where nirvdrum is located…
kalev 11:09 let me try some google-stalking
taxilian 11:09 lol
kalev 11:09 Boston, MA :P
taxilian 11:09 I'm sure there has got to be someone besides me in the USA working on this project...
it is interesting to me how many are in Eastern Europe, though
hehe
oh, good
I'm not alone
(what's 1,000 miles, right?)
kalev 11:09 hehe
taxilian 11:09 this is annoying
I'm now getting link errors for boost thread stuff
kalev 11:09 on Windows?
taxilian 11:09 yeah
before your changs
pulled your changes now, hoping it will fix something ;-)
kalev 11:09 oh good, at least I didn't break everything
taxilian 11:09 not that I know of
hmm. still lots of BOOST_LIB_NAME macro redefinitions still, though
almost every file
grr. I really don't have time for this
kalev 11:09 it's easy to get rid of them by removing #if 0 that's around auto_link.hpp and defining a define
taxilian 11:09 this was supposed to be a quick change
really? which define?
I looked, and then just gave up
kalev 11:09 BOOST_ALL_NO_LIB=1
taxilian 11:09 cool
need to add that globally when the use_system boost isn't there
kalev 11:09 but that breaks Windows build in a different way because auto_link.hpp causes it to try to link against some crazy ass long boost lib name
taxilian 11:09 lol
well done
you fixed my problem
it built this time; no build errors
kalev 11:09 yay for unrelated fixes :)
taxilian 11:09 yep
hmm. I'm not sure how to add a global definition for all platforms
kalev 11:09 are you talking about adding BOOST_ALL_NO_LIB=1 ?
did you see my earlier message?
20:39 < kalev> but that breaks Windows build in a different way because auto_link.hpp causes it to try to link against some crazy ass long boost lib name
taxilian 11:09 yeah
that's why I removed auto_link
but I'm gong to try to fix auto_link somehow
kalev 11:09 there might be a cleaner approach than changing boost's headers
cmake docs talk about external projects, e.g. http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject
taxilian 11:09 amackera! welcome back. long time no see
kalev 11:09 it might be possible to tell cmake to fetch boost's zip file, unpack it, build it with boost's own build system and then use it
amackera 11:09 hay guys :)
taxilian 11:09 kalev: yeah, but that's a lot of work for one library
kalev 11:09 true.
taxilian 11:09 I'm just going to put an ifdef around the define
and call it good
I could call it frank or bobb or louie, but I'm going to call it good instead
kalev 11:09 hehe
taxilian 11:09 so it builds on windows now; gotta test it on mac
I guess maybe I should actually test it on windows as well
see if it still works
though plugins that work are, of course, highly overrated
amackera 11:09 i prefer mine totally broken :)
taxilian 11:09 amackera: I have added support for calling Invoke on a JSObject from an alternate thread
amackera: I can do that
now I just have to actually test it with something....
amackera 11:09 taxilian: awesome!
that actually will be really useful for me
right now i've got a message buffer hack
so i'll be able to kill that
taxilian 11:09 excelent
you can test it for me
:-P
let me know if it works
amackera 11:09 yep :)
taxilian 11:09 pull from my sharedptr branch
it's got the feature in it
kalev 12:09 taxilian: I think better place for that magic define is in src/3rdParty/boost/libs/thread/CMakeLists.txt, there's already a similar one
taxilian 12:09 kalev: the define needs to be there any place you include the boost libs
which means it has to be there for all projects
kalev 12:09 allright
taxilian 12:09 otherwise you'd be absolutely right
I still don't like where I put it
I just don't know where else to put it
crap
what is the syntax for defines in gcc?
-DDEFINE=1?
kalev 12:09 yes
taxilian 12:09 oops
at least I tested before pushing, right? =]
kalev 12:09 actually I think -DDEFINE=1 works for MSVC too
or maybe cmake does some magic, converting it to /D syntax, not sure
taxilian 12:09 Yeah, in set_definitions cmake does magic, I believe
might have to try it sometime
for now, though, I really need to do homework
i686-apple-darwin10-gcc-4.2.1: ;-DBOOST_ALL_NO_LIB=1: No such file or directory
ok, how do I fix it?
oh, wait
I see what is happening
kalev 12:09 ; is cmake's list separator
taxilian 12:09 yep
that was it
kalev 12:09 need to add some quotes somewhere to fix that, I guess
taxilian 12:09 yep
done
pushed
amackera: try doing an invoke cross-thread; let me know if it works
I will have to make getProperty and SetProperty work later
forgot about them :-P
feel free to use boost::thread to add a basic thread in FBTestPlugin to test with, too =]
gotta run
cya guys
kalev 12:09 cya
taxilian 12:09 one of my least favorate things in the world; I want to write a thread test for the code I just wrote, but I can't because I have to do homework
taxilian 15:09 well, that was a very abrupt change; the main facebook plugin that we were planning to do with FireBreath will not be done in FireBreath
but another one still will be
too bad, though, 'cause the first was cooler
kalev 15:09 gah
taxilian 15:09 yeah
kalev 15:09 why the sudden change?
taxilian 15:09 I can't go into details, but the project is a joint project with another company
the understanding that we had was that the other company would give us bits and we would put them in a plugin
turns out the other company actually built the plugin
they used JUCE
which honestly isn't too bad
it's not FireBreath (yes, I'm biased; that doesn't mean I'm wrong)
but it has been around a lot longer
kalev 15:09 I hadn't heard of JUCE until a few days ago when you mentioned it here
taxilian 15:09 yeah; interesting
I had heard of it
but hadn't gotten the feeling it was all that robust
still haven't gotten that feeling, and I've read through the code =]
one thing I like about it, though; they don't use ATL
kalev 15:09 yeah, right now Firebreath is pretty much locked out of free compilers on windows
taxilian 15:09 yes
I would like to change that, but I'm not sure it's worth the time it would take
kalev 15:09 but don't worry, Firebreath is still a nice project and JUCE can't take that away
taxilian 15:09 hehe
amackera 15:09 well that's too bad, taxilian
taxilian 15:09 yeah
but life will go on
kalev 15:09 what about your contract with Facebook? Will you still be able to put paid time into firebreath?
taxilian 15:09 marching orders that I (literally) just received say yes
their photo uploader plugin will be ported to FireBreath
kalev 15:09 could've gone worse
taxilian 15:09 yeah
kalev 15:09 allright, I'm off to bed happily knowing that you'll still continue working on firebreath
night!
taxilian 15:09 hehe
nite
you know, what we really should do is do some template magic to create functors that automatically marshall cross thread with synchronization
too bad I don't understand how they work well enough to use them yet
maybe I should learn
taxilian 16:09 amackera: have you had a chance to review and/or test the array fix I made?
amackera 16:09 taxilian: Not yet, I've just been swamped all day
taxilian 16:09 understand. how goes the deploy?
amackera 16:09 things are going surprisingly well, but thursday is the roll out of the plugin
taxilian 16:09 nice; what kind of a plugin is it?
amackera 16:09 our browser plugin :)
or do you mean what does it do?
taxilian 17:09 lol. yes, that is what I meant