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

IRC Nick Time (GMT-7) Message
taxilian 08:09 amackera: welcome
amackera 08:09 good morning
how're things?
taxilian 08:09 oh, not bad
how is that release going?
amackera 08:09 not bad! our plugin rollout has been smooth so far
nobody has cursed us yet, publicly
taxilian 08:09 lol
this is good
amackera 08:09 yeah, "everything went better than expected" as they say on the internet
taxilian 08:09 always a good thing
amackera 08:09 georg is a good programmer :)
taxilian 08:09 if you have a second sometime today, could you check to see if my hack keeps you from reproducing that crash we were looking at the other day?
amackera 08:09 which crash, the safari close crash? issue 69?
kalev 08:09 taxilian: talking about the Release and Retain hack?
taxilian 08:09 right
amackera 08:09 k sure
kalev 08:09 I just tested it on Safari and it actually fixed it for me
amackera 08:09 nice!
taxilian 08:09 he is an excellent programmer. The only thing I have to keep an eye on him for is that sometimes he overengineers things =] not that the way he comes up with is not a good (often even better) way to do it, just that sometimes it would require more work than the fix justifies
but even that is often good
my chance to the DOM stuff last night (which you probably haven't even looked at, but there it is) was in response to some feedback from him and is much cleaner than it had been
amackera 08:09 are your DOM changes checked into dev?
taxilian 08:09 yes
and they are awesome :-P
well, anyway, I think they will simplify things a lot
amackera 08:09 sweet :D
taxilian 08:09 and make it easy for us to do IE specific workarounds as neccesary
interesting. Traffic is still up 50-100% since our release last week
we definitely need to get these fixes solid and release 1.2.1 ASAP
btw, you all realize that if I ask you to do something, I totally understand if you have to tell me no, right? ;-)
amackera 08:09 haha, yea
well i try to do what i can, i like working on this project
taxilian 08:09 I most definitely appreciate that. you have made a big impact on the project
speaking of having a big impact, how long would it take you to finish the two reported mac issues dealing with coordinates and get it into default (not dev)
is that doable today, perhaps? or is it something you could tell me what needs to be done?
amackera 09:09 issues 70 & 71?
hmm.. i have a pretty serious work load today, but i can take a look at it tonight after work
it's not a lot of work, i might even be able to get to it this afternoon
taxilian 09:09 that would be cool. I'm basically just waiting on those to release 1.2.1
unless you think I should put it out without those?
amackera 09:09 well i can fix issue 70 right now. i just need to push it to trunk
but 71 will take a bit of time to test and make sure it's correct
so i'd say i push the fix for issue 71, release 1.2.1
sorry, issue 70
actually hold on
you've already pushed that fix
into trunk
just not to dev, it looks like
taxilian 09:09 I pushed a fix, but wasn't sure if it was complete
I'll pull and merge into dev when I do the release
there are a few changes that will conflict
amackera 09:09 yea
taxilian 09:09 so is that good enough to push up, do you think?
to release for 1.2.1, I mean?
amackera 09:09 yep
i was getting lots of build errors earlier in dev
just retrying with a clean clone
yeah i'm still getting them
taxilian 09:09 I'll look at it
probably something weird from my push last night
it was late and I didn't have time to try it on mac
amackera 09:09 i just tried the example projects
taxilian 09:09 so do I mark issue 70 as resolved, then?
amackera 09:09 go for it
taxilian 09:09 hmm. it will now compile, but it's not linking
failing on can't find libboost_thread
thought we had that all working
kalev: are you around?
kalev 09:09 yes, but I'm busy atm
taxilian 09:09 ok; would you have time sometime in the next 4 hours or so to test the latest stable nightly on linux?
kalev 09:09 sure
taxilian 09:09 cool. thx
anson, test mac?
I will test mac and windows
nirvdrum: if you're around and could check windows as well, it'd be good to have some redundancy
nitrogenycs 09:09 it would be cool if firebreath had a suite of unittests. They could run inside a vm with windows, mac, linux and test the various browsers. This would remove the need for repeated manual testing and catch more errors. But I guess it's a lot of work to setup, plus it would probably need a dedicated build machine.
taxilian 09:09 well
I have a dedicated build machine, believe it or not
but I don't have the time to set that up
there are actually code level unit tests
and I really would like to set up FBTestPlugin to where we could use it to write JSUnit unit tests
to do exactly that
if enough people helped, it wouldn't be that bad
it's just that I don't have time to do it all myself
the code level unit tests need to be improved quite a bit, of course
nitrogenycs 09:09 yeah, i guess time is the most important factor
I'd really love to help with this, but i am also swamped in lots of other work
taxilian 09:09 yeah; it's hard to justify that as work for Facebook, and that's what I get paid for
most of my other time goes into the 16 credits I'm taking at school
nitrogenycs 09:09 yeah. i also can't justify spending the time atm. I need to write job applications soon, so I have to get a few things done before to show off.
taxilian 09:09 you're between jobs?
nitrogenycs 09:09 i've never had a real job so far :) studied physics in university for 5 years right before I reached diploma. but then i've decided against doing the diploma and get a job instead
taxilian 09:09 lol. ahh
where are you located?
nitrogenycs 09:09 germany
taxilian 09:09 cool
nitrogenycs 09:09 why?
taxilian 09:09 just curious; it's interesting to me that most, if not all, of the real contributors to FireBreath besides me are located outside of the US
though I believe nirvdrum is also here in the states
nitrogenycs 09:09 ahh
the people the project i am involved in come from denmark, germany, the us, england and australia
that makes scheduling times for meetings fun :)
taxilian 10:09 I believe you =]
nitrogenycs 10:09 fortunately the australian guy works for the army, so he's often up at 3 a.m. :)
taxilian 10:09 lol
nirvdrum 10:09 Yeah, I'm out in the Boston area.
taxilian 10:09 amackera: what was the cmake command to tell it to automatically build?
amackera 10:09 cmake --build build/
taxilian 10:09 hmm. I wonder why it isn't working from a prep script
amackera 10:09 i think the prep script changes directories
the build/ argument to cmake is the path to the build directory
taxilian 10:09 doesn't seem like that should matter, but I guess it does. interesting
amackera 11:09 getting a lipo error
taxilian 11:09 yeah; that seems to happen often lately
wish I could figure out what causes it
build again it prolly works
amackera 11:09 weird
taxilian 11:09 so I totally misunderstood what cmake —build does
amackera 11:09 oh?
taxilian 11:09 now that I understand, it's pretty cool
I thought it would generate the projects too
amackera 11:09 ahh no
taxilian 11:09 I understand now =]
amackera 11:09 it's very useful for me, since i don't have to start xcode or visual studio
which tends to make my VM run very slowly
taxilian 11:09 yeah
amackera 11:09 so dev builds fine, minus the lipo error
taxilian 11:09 very useful for a build machine as well
amackera 11:09 yep
hehe lots of breakage in my plugin due to your DOM changes :P
it's for the best, though
taxilian 11:09 yeah
I think you'll be glad of it
amackera 11:09 taxilian: you use vim for editing, yes?
taxilian 11:09 yes
amackera 11:09 what sorts of plugins do you use for symbol lookup?
taxilian 11:09 just ctags
amackera 11:09 like if i have my cursor over a symbol, i'd like to open the file to where it's defined
taxilian 11:09 exuberant ctags to generate the tags
then just ctrl-]
not 100%, but works pretty well
I have simple linux and mac buildservers working
they will automatically try to build twice a day and tell us if the build is broken
granted, that doesn't tell us if there are bugs or not, but at least we know it builds
amackera 11:09 bitchin'!
i wonder if we could set up selenium to autorun test cases
taxilian 11:09 probably could
but I don't have the experience to do so
Jarom does
but he doesn't have any more time than I do
amackera 11:09 ahh i love vim
i used to be an emacs guy, but vim just makes more sense to me
taxilian 11:09 proof that people can change for the better ;-)
(actually, I've never really used emacs)
amackera 11:09 it's very different
modal editing is superior, in my mind
taxilian 11:09 one thing I really wish vim had
is multithreading support
for the scripts
so you could do something in the background
amackera 11:09 yea :(
taxilian 11:09 and update the window as it went
amackera 11:09 how often do you generate your ctags database?
taxilian 11:09 generally just when what I need isn't in it
now if only I had a windows machine
I could make that automatic as well
but alas, I don't
amackera 12:09 our plan is to have a mac mini running a windows VM
then kick of the build commands to the VM via the network (ssh or netcat or something)
taxilian 12:09 yeah; I'm considering a windows VM, but I don't currently have a machine with enough ram to add a windows vm just for this
I can probably come up with something, though
just use hudson and make it a slave
you configure everything from the master, but you can tell it to run certain jobs on a slave
works quite well
amackera 12:09 oo cool
i'll check that out
ok so i generate a ctag database in the root directory of firebreath, to tag all the source and projects
then when i click ^] it does a symbol lookup
but when i hit `1 enter` to open the file it says it doesn't exist, i guess since it's using relative paths
ahh vim has a 'tagrelative' option
taxilian 12:09 cygmatic: yeah, no big deal; it was pretty easy to move the change to dev
I'm minutes away from doing a 1.2.1 build; see any problems with that?
cygmatic 12:09 i have to see why that is, i pushed from one tree that i pulled from dev
taxilian 12:09 when you pull it doesn't automatically change the default
cygmatic 12:09 nothing i can think of if cross-platform build works
taxilian 12:09 you have to edit .hg/hgrc to change the default
cygmatic 12:09 eh, clone i mean
taxilian 12:09 huh
cygmatic 12:09 i expected that to push to dev obviously
taxilian 12:09 I have set up a build server with 3 nodes: mac, linux32, linux64
I dont' yet have a windows machine I can use
but they are set to build every 6 hours if there are changes
and email the scm list if the build fails
cygmatic 12:09 nice one :)
taxilian 12:09 I will also make those builds all prerequisite to doing the release build
the end effect will be that if it can't build on all three platforms, the release will fail
cygmatic 12:09 sounds good, that should get rid of those compile errors in releases
taxilian 12:09 that's my plan
amackera 13:09 is autoconf really sucky? it's easy to use from an end-user perspective
i guess just as easy as cmake
taxilian 13:09 I don't think it can generate visual studio projects
amackera 13:09 ah ic
taxilian 13:09 can it generate xcode projects?
nitrogenycs 13:09 if you guy ever want to switch to a decent build system, take a look at
it can do everything cmake does and it has a full programming language at its hand
not that 80s cmake style :)
taxilian 13:09 nitrogenycs: can it generate visual studio projects?
can it generate xcode projects?
nitrogenycs 13:09 yes, I coded part of that :)
not sure about xcode
visual studio anything from 6 to 2010 i think
taxilian 13:09 I'm willing to consider changing from cmake
but only if the system provides everything we need
nitrogenycs 13:09 i don't mind and it's yet another time taker
amackera 13:09 the only thing wrong with cmake is bad documentation and no helpful blog posts
taxilian 13:09 yeah
amackera 13:09 once you figure it out it's not bad
taxilian 13:09 the real problem is just that nobody wants to learn a new build system
amackera 13:09 yeah
taxilian 13:09 sometime I want to build a utility that will go through the project dirs and convert everything to a standalone project
for windows users
not worried about mac or linux, even
maybe mac, I suppose
just as a "you know, this is really not a good diea… but since you want it so bad, here"
nitrogenycs 13:09 what do you mean with standalone project?
without cmake?
pure visual studio?
taxilian 13:09 yeah
generate it with cmake, then strip out the dependencies so that it doesn't require cmake anymore
nitrogenycs 13:09 ahh ok
congrats to 1.2.1 :)
taxilian 13:09 hehe. thanks to everyone who submitted bugs for it
amackera 13:09 nice
taxilian 13:09 1.2.0 was pretty good, but this is even better
hopefully each release will be like that, though
nitrogenycs 13:09 what's the mid-term plans for firebreath? It already looks quite feature complete :)
amackera 13:09 we've got some work to do still
windowless plugins
possible OGL abstraction
taxilian 13:09 embedded webserver and secure JSAPI (when on a page generated by the embedded web server you can access APIs that you couldn't otherwise)
or JSAPI methods that are only accessible on a certain domain
better DOM stuff is scheduled for 1.3 (already in dev)
cygmatic 13:09 workarounds for more browser-oddities ^^
amackera 13:09 web-based fbgen
taxilian 13:09 you're right, though; with the flurry of activity recently we have really nailed down the critical stuff
right; and I wanted to talk to you guys about the web-based fbgen
amackera 13:09 sure
taxilian 13:09 I'm considering making a value-add improved web-based fbgen
and giving access only to those who contribute
either with code or monitarily
Jarom and I would do most of the work on it
and I don't anticipate that it would be incredibly expensive
nitrogenycs 13:09 sounds all nice :)
taxilian 13:09 but if I could get it to pay for my server, that would make some things a lot easier for me
amackera 13:09 would we keep the existing fbgen script?
taxilian 13:09 yes
amackera 13:09 sounds good
taxilian 13:09 and probably have a free web-based fbgen still that only does the basics
nitrogenycs 13:09 yes, completely without fbgen the project becomes inaccessible
taxilian 13:09 I agree
and I don't want to make this be something that detracts from what we have
or makes it harder for anyone to use the project
nitrogenycs 13:09 yeah
taxilian 13:09 just something that makes it even easier for those willing to contribute a little bit
you guys would pretty much all get automatic access
amackera 13:09 sounds good to me
taxilian 13:09 cool. I may ask some of you (mainly you, probably, Anson) to help me with it a little, if you're okay with that
I have some thoughts for the OGL stuff
nitrogenycs 13:09 OGL = OpenGL?
taxilian 13:09 yes
we wouldn't put code in there that wasn't available elsewhere, per se
amackera 13:09 sure
taxilian 13:09 just make it very very easy to configure your project getting started to already use it
nitrogenycs 13:09 Hmm
taxilian 13:09 also things like building your API model on the page, etc
nitrogenycs 13:09 I think adding full-fledged OpenGL support is a task on its own
taxilian 13:09 right
nitrogenycs 13:09 I've written an OpenGL renderer in the past :)
taxilian 13:09 we have been talking about adding something to help with getting started with OGL
but it would not be enabled by default
I also want to create some other libs that are not enabled by default
like the web server
the paid tool would have a nice interface to get it all going
nitrogenycs 13:09 There's one thing about the way windows are handled currently in firebreath
amackera 13:09 nitrogenycs: my plugin does this currently
nitrogenycs 13:09 you are adding all those getPosition() methods etc
I am just subclassing the hwnd and then I can use it with whatever windows library I want
cygmatic 13:09 nitrogenycs, the idea was mainly to get you up and running with an opengl context without implementing the drawing model/os specific ways to get there
taxilian 13:09 which if you're doing it for a company is well worth paying $20-$50 (no idea yet how much to charge), but for small or low-budget you can still figure out how to do yourself
nitrogenycs 13:09 yes. Just setting up the context is quite project specific, since you need to specify/detect quite a few settings like antialiasing
taxilian 13:09 yeah, subclassing is definitely one way to do it; I'm intentionally trying to leave some options for how you want to deal with all of that. However, on other platforms you don't have that option
nitrogenycs 13:09 but I can see how it would add value
amackera 13:09 it's a complexity vs flexibility argument
taxilian 13:09 the goal with FireBreath is always to make things easier, but to stay out of your way when you need to work
nitrogenycs 13:09 do these platforms also not allow to add a child window?
taxilian 13:09 Anson?
amackera 13:09 yea?
nitrogenycs 13:09 that's what I do atm. First I subclassed, now I just add a 100% sized child window
taxilian 13:09 is there a way to do a child window on mac with most of the new drawing methods?
amackera 13:09 that only works on windows
taxilian 13:09 that's what I thought
amackera 13:09 mac does not allow child windows
cygmatic 13:09 yep, mac is evil in that regard
nitrogenycs 13:09 oh ok
amackera 13:09 in fact that only works on windowed plugins on windows
taxilian 13:09 also that's not a model that is compatible with the idea of doing things windowless
cygmatic 13:09 3 (4) drawing models that work differently
taxilian 13:09 at least, I don't think… actually, that gives me an idea
but another time
amackera 13:09 ahah
nitrogenycs 13:09 Is the no-child-window limitation a security restriction or something else?
taxilian 13:09 it's just a different way of doing things
well, I'm out for now. In fact, I'm probably going to try not to come back this week; contact me by email or direct IM if you need me for something
I'm in serious danger of not getting my homework done if I don't stop getting distracted
so good luck, and thanks for all the good work everyone!
nitrogenycs 13:09 :) have fun
kalev 13:09 taxilian: hey, sorry for not testing it before you cut the release
taxilian 13:09 kalev: it's okay, I set up a build server to do it automatically
testing the build itself, anyway
cygmatic 13:09 good week then taxilian
kalev 13:09 awesome
taxilian 13:09 cya
amackera 13:09 see ya!
amackera 14:09 man, building libraries on Mac OS X is a pain
i have reverted to just using mac ports for everything