Attendees: clsk, cupu, J_K9, Jaywalker, NeerajR, Shas
Note: All timestamps in UTC
[18:31] j_k9: hi all :)
[18:31] NeerajR: Hi there
[18:32] clsk: hey
[18:33] clsk: how long until the meeting starts?
[18:33] j_k9: let's wait a few more minutes before starting - I know that Stefan will be joining us, and hopefully a few more of the new developers
[18:33] cupu joined the chat room.
[18:33] cupu: Hi, sorry for being late
[18:33] j_k9: hi
[18:34] clsk: hey Stefan I got the build system to work on windows
[18:34] clsk: I just can't find the project file
[18:34] cupu: cool
[18:34] cupu: I think you have to explicitly specify what type of files you want to generate
[18:35] j_k9: shall we start? the only other developer who might be joining us is Alan Hardin, but I'm not sure he will
[18:35] clsk: Who's that?
[18:35] cupu: ok
[18:35] NeerajR: ok
[18:35] clsk: Is justing here?
[18:36] j_k9: he's a new developer who has shown some interest, and he replied to my email about the meeting but he didn't say for certain that he'd join us
[18:36] j_k9: Justin is Jaywalker
[18:36] clsk: I know
[18:36] clsk: but is he there? He's been logged on since yesterday
[18:37] j_k9: ah… hmm hopefully mentioning Jaywalker pinged him. doesn't look like it though
[18:38] j_k9: ok, well I think we'll have to go on anyway. he might be out and not have seen the email about our meeting.
[18:39] j_k9: a rough order for the meeting is:
[18:39] j_k9: 1) discuss tasks for new developers
[18:39] j_k9: 2) discuss recent developments
[18:40] j_k9: 3) discuss what our tasks for the next 1 or 2 weeks are
[18:40] j_k9: and preferably stop using the word 'discuss' :)
[18:40] cupu: :)
[18:41] j_k9: NeerajR: did you manage to speak to clsk about the Directory layer?
[18:41] NeerajR: I spoke to Alan yesterday but he said I can work with him on Network layer
[18:42] j_k9: ah ok. do you have any specific tasks to work on in the next week?
[18:42] NeerajR: no
[18:42] clsk: We can work that out
[18:43] Shas joined the chat room.
[18:43] j_k9: ok. and more importantly, have you seen and do you understand the existing network code?
[18:43] NeerajR: great
[18:43] j_k9: welcome Shas :) is that Shilpa?
[18:43] NeerajR: I just read the code
[18:44] Shas: Yes
[18:44] j_k9: hi, we just started - we're talking about the network layer and NeerajR's tasks at the moment.
[18:45] j_k9: clsk: would you like to run through what you have in mind for NeerajR?
[18:47] clsk: hm He could work on supporting p2p connections
[18:48] Shas: Let me introduce myself, I learned about the mira project from sourceforge.net. Tring to understand what are we currently working on. I have mostly done academic projects before this. I am pretty excited to do real life project.
[18:49] j_k9: NeerajR - would you be happy with that? the P2P system would allow Clients to download updates to data (i.e. changes) from each other and communicate even if the Server goes down
[18:50] NeerajR: Yeah that should be good
[18:50] NeerajR: so what do you think should be a good start point?
[18:50] clsk: hye Shas, welcome to the team
[18:51] clsk: NeerajR: We'd have to discuss the design a little bit, before you start coding.
[18:51] j_k9: Shas: thank you for joining us. I hope you have had time to read the documentation and take a look at the mockups ( http://miragroupware.org/mockups/ ) - Mira Groupware is essentially a Client/Server system which allows users to communicate and collaborate on projects
[18:51] clsk: We have to do a little bit of research too. Have you done anything with P2P before?
[18:52] j_k9: clsk: would you like to discuss the P2P system on the mailing list? we can dig up some old threads to see what we found in the past - I remember a good article on STUN and an Intel P2P library we were considering
[18:52] clsk: STUN should be a last resource thing. We should be able to make it work without it.
[18:52] NeerajR: I did not so anything on p2p
[18:53] NeerajR: so === do
[18:53] NeerajR: but have a fair idea about it.
[18:53] NeerajR: ok
[18:53] clsk: it can get a bit complicated, but if you're familiar with networking it shouldn't be too hard.
[18:54] NeerajR: yeah depends on our requirements
[18:54] NeerajR: I am fine with networking
[18:54] j_k9: would you like me to prepare a blueprint for the P2P system to outline its requirements? we could then discuss this on the list
[18:55] Shas: Not really, but I know hoe it works
[18:56] NeerajR: yeah if you can make a blueprint it would be great help
[18:56] j_k9: ok, I will do that then. I won't put it on the wiki until we've had a chance to discuss it on the mailing list and modify it according to our research on possible implementations etc
[18:56] NeerajR: Till then I can start reading the old threads and the Intel P2P library
[18:56] j_k9: great
[18:57] clsk: We should try to just use boost's asio
[18:57] clsk: if that's not possible or it's too hard, then we should consider using another library
[18:57] NeerajR: yeah your email message last week about it
[18:58] NeerajR: ok fine, I will go in details of asio
[18:58] j_k9: that sounds good. there may be another project which has used asio for P2P in the past.
[18:58] j_k9: shall we talk about Shas now?
[18:59] Shas: Sure
[18:59] j_k9: Shas, have you worked with Boost or Qt before? also, do you have a particular area of expertise (e.g. networking, security, GUI etc)?
[19:01] Shas: I haven't work with Boost ot Qt.Networking is my area
[19:01] Jaywalker: Hey guys!
[19:01] Jaywalker: I'm back
[19:01] clsk: Stefan: Got the build file. I need to clean up the code. This is the effect of working on linux for so long. I haven't checked the code in windows in a long time.
[19:02] clsk: the client code should still work on windows though
[19:02] j_k9: hi Jaywalker! we're talking about possible work for Shilpa (a new developer) at the moment
[19:02] Jaywalker: Sorry… I was having lunch at my grandmothers and just got back.
[19:02] j_k9: no problem
[19:02] Jaywalker: Ahh.. Sweet.
[19:02] cupu: Unfortunately I didn't live up to my end of the deal
[19:02] cupu: I got no work done this weekend, but will catch up tomorrow hopefully
[19:03] j_k9: clsk: is there room for an extra developer for the network layer?
[19:03] clsk: hm… sure
[19:03] j_k9: cupu: no problem. thanks for doing a great job so far btw, but shall we talk about this after we discuss Shas' involvement?
[19:03] clsk: I could always work on another layer
[19:04] cupu: sure sure
[19:04] j_k9: Shas, what do you think of working on the Directory layer? would that interest you?
[19:06] j_k9: if not, you're more than welcome to work on the network layer. clsk, what in particular could he start working on in the network layer?
[19:06] clsk: parsing network messages
[19:06] clsk: that's the probably what needs the most attention on the network layer at the moment
[19:07] j_k9: ah ok, continuing where you left off. that is well documented in the communication protocols blueprint, right? link: http://miragroupware.org/wiki/doku.php/development/blueprints/net_protocols
[19:07] clsk: yep
[19:07] j_k9: although you mentioned something about using IDs to track users and Workplaces which may not have been included in that blueprint
[19:08] clsk: hmm I think I updated it
[19:09] clsk: ah apparently not
[19:09] Shas: Can I explore both the options before I make my mind?
[19:09] Shas: What would be good starting point?
[19:09] j_k9: yes, of course. please email the mailing list when you have decided which you would like to work on. clsk, will you be able to update the blueprint?
[19:10] clsk: hmm.. sure
[19:11] j_k9: Shas, would that be ok? I think what clsk is saying is that a good starting point would be to update the message parsing functions in the network layer to process the other communication protocols listed in that blueprint
[19:12] j_k9: if you don't want to decide now, that is fine
[19:13] Shas: That is fine. I will do that
[19:13] j_k9: great
[19:14] j_k9: shall we talk about recent progress now (point 2)?
[19:14] clsk: Shas: I'd guide you through the code if need
[19:14] Shas: great
[19:14] clsk: most significat progress I think would be the build system
[19:14] clsk: which finally works for more than 1 OS
[19:15] clsk: we still need to check if it works on Mac OS X
[19:15] Jaywalker: ^++
[19:15] Jaywalker: clsk, I can do that tonight
[19:15] clsk: cool
[19:15] clsk: the code doesn't compile on windows as of right now though. I'll be fixing that this week
[19:15] Jaywalker: Have we tested on anything aside from Win/Linux?
[19:16] j_k9: great. I have Mac OS X on a laptop so I could try that?
[19:16] j_k9: I'd need to look around for help though (installing Boost and Qt)
[19:16] clsk: I think someone tested on Max OS X a while ago.
[19:17] clsk: but that was a long time ago
[19:17] j_k9: ok, but I'd still like to do it - we don't have any instructions for this ( http://miragroupware.org/wiki/doku.php/development/environment_setup )
[19:17] j_k9: and it would be good to test anyway
[19:18] j_k9: so I'll do that. would it be worth testing on FreeBSD too?
[19:21] Jaywalker: I have an OpenBSD box, FreeBSD box, NetBSD box, and a Solaris box that I could test it on too..
[19:21] clsk: I've tested on FreeBSD
[19:21] Jaywalker: Did it build there?
[19:21] clsk: yep
[19:21] clsk: and ran fine too
[19:21] clsk: that was a while ago too though
[19:21] Jaywalker: Alright. OpenBSD probably will too then… Not sure about NetBSD though and no idea about solaris
[19:21] clsk: yes
[19:21] clsk: I think as long as it works in windows, Mac OS X, linux and one of the bsds we should be safe
[19:21] cupu: I can have a crack at Solaris if you think it's urgent now
[19:22] cupu: I'll exploit my place of work a little
[19:22] clsk: not urgent at all Stefan, but would be nice
[19:22] Jaywalker: cupu, I have a solaris box in my room…
[19:22] cupu: cool
[19:22] cupu: opensolaris is it?
[19:22] cupu: or did you go all out?
[19:22] Jaywalker: Haha… It's open
[19:22] Jaywalker: just like it's openSUSE…. and open….um….mt. dew cans everywhere
[19:22] cupu:
[19:22] cupu: My company has a lot of sparc machines and some x4200 x86 servers
[19:22] cupu: but that's just for Mira bragging rights I guess
[19:22] Jaywalker: So anyone care to discuss the plugin system? I've got most of the structure planned out but still need some input
[19:22] clsk: can you start ?
[19:22] clsk: with what you've planned so far?
[19:22] Jaywalker: Well, as I said in the mailing list, I created the perl plugin importer (a basic version) in a class form to make things all neat and clean. I am nearly done now with a new one using dllimport and dlopen for windows and linux respectively. Both of these plugin types will dirive from a base plugin class which will be used in the client code so no matter what kind of plugin you want to import, they're all the same.
[19:23] j_k9: Jaywalker: did you take a look at Shafi's code which used Boost::Extension? is that in any way useful?
[19:23] Jaywalker: As far as writing the plugins I plan to do something similar to what Pidgin dones…. Pidgin uses a struct that has pointers to every function that can be called. Since mira is C++, we can have them include “plugin.h” and their class simply extends that class making all the necessary function calls that overload the previous ones which return NULL
[19:24] clsk: j_k9: the only problem with Boost.Extension is that it seems development of it has stopped and it was never included in Boost
[19:24] Jaywalker: j_k9, I did look at it… but it was pretty messy to begin with.. it's just easier to start with this.
[19:25] j_k9: great, thanks for clarifying
[19:25] clsk: one thing we could do too is take that library and build on it
[19:25] clsk: it is open source after all
[19:25] clsk: I think it is a great library, and it is cross-platform
[19:25] Jaywalker: I mean, I already support calling perl functions and halfway support the compiled functions… we could release with just that
[19:26] Jaywalker: Even though I do plan to include Python and Ruby support in the near future
[19:26] clsk: it's you call Justing. If you think that'd work, then go ahead
[19:26] Jaywalker: As far as the packages… what do you think about the signing plugins idea clsk?
[19:27] clsk: Jaywalker: Yep, that's a good idea. We discussed something like that in the past.
[19:27] clsk: getting a server for that won't be a problem.
[19:27] j_k9: Jaywalker: by signing plugins do you mean have a sort of approval process?
[19:27] j_k9: *having
[19:27] Jaywalker: j_k9, Yeah.. more or less…
[19:27] Jaywalker: users can still add their own 3rd party plugins
[19:28] Jaywalker: but there will be a warning saying “This plugin has not been signed by the Mira development team and therefore may be unsafe. Continue?”
[19:28] j_k9: we talked about that in the past - the idea is to have a website to host them, as projects such as Wordpress do with their plugins etc
[19:28] j_k9: yes, exactly
[19:28] cupu: actually I think third party plugin devs certificates should be included in any servers the users setup
[19:28] Jaywalker: that's about the only really good way we could go about plugin security
[19:29] j_k9: I agree
[19:29] Jaywalker: cupu, I do plan to use their PGP keyring
[19:29] cupu: that is .. if Mira development goes under, users can still sign they're own (using their server as the authority) an distribute them to the users
[19:29] Jaywalker: if the plugin is signed by someone who is trusted in their PGP Keyring then no warning
[19:29] cupu: just saying
[19:29] clsk: hm that's a good idea too.
[19:29] Jaywalker: if it's signed by Mira… then no warning.
[19:30] Jaywalker: Otherwise… warning
[19:30] clsk: you'd have to identify between the two. Ones signed by us, and ones signed by server administrators
[19:30] cupu: Justin, will you keep a general C interface between app and plugins? or do you want to go the c++ route?
[19:30] clsk: Definitely C++
[19:30] Jaywalker: I have expirence using GPGME so i'll be able to use that.
[19:30] Jaywalker: C++ is much harder as far as compiled plugins go
[19:30] Jaywalker: but I have it working
[19:30] clsk: already?
[19:31] Jaywalker: I can load classes in Linux already with little overhead from the plugin writer
[19:31] cupu: this is what I wanted to ask
[19:31] clsk: have you pushed the code?
[19:31] cupu: we all know about the ABI inconsistencies and name mangling differences between compilers
[19:31] cupu: how big of a problem is this for us?
[19:31] cupu: (regarding c++ I mean … )
[19:31] Jaywalker: clsk, Not yet. I'm making both the compiled and the perl classes work well with each other so there can be a base class to go over it
[19:31] clsk: it is a problem to a point.
[19:32] clsk: but if we plan to distribute binaries, it shouldn't be too much of a problem.
[19:32] Jaywalker: cupu, as long as mira and the plugin are compiled by the same compiler.. they should be fine.
[19:32] clsk: as long as everything is compiled with the same compiler
[19:32] cupu: I hate that problem, but OTOH if someone wants to support mira, it's not that big of an issue to maintain some open source plugins also, right?
[19:32] Jaywalker: we could even set up a build service like openSUSE has using Xen virtual machines
[19:32] clsk: sourceforge has something like that I believe
[19:32] j_k9: right, and distribute them straight from the Utilities website
[19:32] clsk: and so does IBM too I think
[19:33] cupu: plus some compilers (gcc, intel c++ compiler and some other stuff using the EDG * i think * front end - like comeau) are name mangling compatible and ABI compatible to some point
[19:34] cupu: which is to say .. if you ban multiple inheritence … you already have 3+ compilers working for you nicely
[19:34] clsk: ohh
[19:34] clsk: something I have to put out
[19:34] Jaywalker: heh… clsk puts out…
[19:34] clsk: please make sure your code compiles before you push it to the repository.
[19:34] clsk: hehe
[19:34] j_k9: lol
[19:34] Jaywalker: also… clsk++
[19:35] Jaywalker: There is nothing that grinds my gears more than that…
[19:35] clsk: I just found this: if ( ( wp == NULL ) and ( !m_workplaces.empty() ) )
[19:36] Jaywalker: clsk, I'm pretty sure that won't compile…
[19:36] clsk: spell out variable names too… we're not in the 70s anymore
[19:36] clsk: I'm about to find out who did that
[19:36] cupu: :-ss
[19:36] Jaywalker: and kill them? slowly…?
[19:37] clsk: yes
[19:37] j_k9: lol
[19:37] clsk: was that you Stefan?
[19:37] Jaywalker: Good.
[19:37] cupu: I would like to say it was me
[19:37] cupu: but I've written no code yet
[19:37] Jaywalker: and I've pushed no code yet…
[19:38] j_k9: so it's probably someone who has left the project
[19:38] Jaywalker: So they're dead right?
[19:38] Jaywalker: or perhaps after that push they left in shame
[19:38] clsk: well just for future reference. at least make sure the code compiles. Try to test as much as possible
[19:38] clsk: Remember you can always commit locally if you need to commit
[19:39] j_k9: while we're talking about this, has anyone else come across a few warning about deprecated headers while building Mira?
[19:39] j_k9: clsk: that's something I don't think we do enough. committing to local branches and then merging when it's ready. that's one of the beauties of bzr
[19:40] cupu: yes
[19:40] cupu: in some of g++'s latest version
[19:40] cupu: 4.2+ you'll get that error
[19:40] j_k9: is this an issue?
[19:40] cupu: it's not that big of a deal now
[19:40] j_k9: ok
[19:40] Jaywalker: j_k9, it will be in a few years…
[19:40] Jaywalker: but for now no.
[19:41] j_k9: heh ok. another warning I've been received is about our Bazaar repository format being outdated - is it worth upgrading?
[19:41] j_k9: *receiving
[19:42] clsk: j_k9: that warning is coming from asio. I'm sure they'll fix that in future versions
[19:42] Jaywalker: I'd say so… I've been getting the same things
[19:42] clsk: so not something we should worry about.
[19:43] clsk: I've tried to
[19:43] clsk: but I haven't been able to
[19:43] clsk: just using bzr update won't work
[19:43] cupu: *upgrade
[19:43] cupu: well .. just our luck
[19:43] j_k9: same thing happened to be. perhaps we should wait, it's probably not that important
[19:43] j_k9: *me
[19:44] cupu: if checkout/commit/update times don't bother anyone .. we can leave them alone
[19:44] cupu: if it starts being a problem after 5000+ revisions … we should start worring about it?
[19:44] clsk: I would like to fix that though
[19:44] cupu: I won't complain
[19:45] j_k9: ok, we'll look into this. I have searched around for help but haven't found anything, so I'll leave a question on Launchpad's Launchpad page (heh)
[19:46] cupu: yes … let Shuttleworth worry about it
[NB: LOG CONTINUES IN A DIFFERENT FORMAT]
<clsk> hm ok
<clsk> anything else we want to discuss?
<cupu> yes
<cupu> do we have a GUI guy?
<clsk> nop
<clsk> do you want the job?
<cupu> well if there's no one
<cupu> promise me, though , that If I work you'll throw me a bone in a couple of months on something else :)
<clsk> hehe
<clsk> sure
<cupu> I'm just joking .. but as work has shown me recently … It sucks to be stuck with something for eternety
<clsk> yea
<clsk> I'll give you a hand every now and then.
<clsk> I'm not good with GUIs though
<cupu> neither am I .. I'll up the qt skills this week and start asap
<cupu> Alan, j_k9 and Jaywalker can I hit you guys on any type of IM ?
<Jaywalker> You name it, I've got it
<cupu> yahoo: cupubboy
<cupu> if you use anything else …
<clsk> msn: nirvana_alanREMOVETHIS@hotmail.com
<cupu> will add you .. I have a shamefull msn name .. luckily you don't know Romanian
<clsk> heh
<j_k9_> sorry - has anyone said anything since about 10 minutes ago (apart from the last 3 sentences)? I think I timed out without being notified
<Jaywalker> cupu, Added on Yahoo
<Jaywalker> I'm Jaywalker9988 on Yahoo
<cupu> added .. thanks Jaywalker
<cupu> added you Alan
<clsk> hm I haven't received your request
<cupu> maybe I don't know how to use a computer (bad news) … le me try again
<Jaywalker> j_k9_, Exchanging various IM names
<Jaywalker> better communication that way
<Jaywalker> Also I think it'd be nice if we could all hang out in here more
<Jaywalker> usually it's just Alan and I
<cupu> how about now alan?
<clsk> nop
<clsk> what email are you using?
<j_k9_> ah ok. could someone please email me the transcript for everything since cupu's comment: “yes … let Shuttleworth worry about it” (about 19:47)?
<cupu> i'm
<cupu> putzacurierREMOVETHIS@hotmail.com
<j_k9_> *goes straight to BabelFish.. Romanian>English*
<cupu> :))
<clsk> did you get my request cupu?
<cupu> nope
<clsk> weird
<cupu> maybe pidgin is pulling my leg
<clsk> whats your yahoo?
<Jaywalker> cupu, You up to date with 2.5.5?'
<cupu> yahoo is :cupubboy
<cupu> 2.5.5.
<cupu> yes I've had 3 glasses of wine if that's what we're asking
<cupu> or 2.6 would be more mathematically correct
<cupu> thanks Alan, received your add request
<clsk> cool
<clsk> anything else we want to discuss?
<j_k9_> my MSN is lancerrREMOVETHIS@live.co.uk - Skype is Max Bossino - Google Talk is aib.wolphin - I used to have Yahoo etc but don't really use those
<clsk> I was on my way to the golf course before I realized we had a meeting today
<cupu> ha :))
<cupu> I was on my way thorugh some wine and beers
<cupu> same thing happened to me
<clsk> so we're done here?
<cupu> right … so I'll attack you guys with any questions
<j_k9_> sorry about that, this was scheduled last-minute :) thanks (again, if you received my first message..) for attending!
<cupu> during the week
<cupu> I got nothing else now
<cupu> so in that thought
<cupu> I wish you only birdies and eagles Alan, and a good night/day/sunday to everyone
<Jaywalker> Laters everyone
<j_k9_> likewise! bye everyone
<NeerajR> bye and enjoy your time
<j_k9_> oh, last thing - any offers to send me a transcript of the last 30 mins? :P
<clsk> hehe
<clsk> bye now
<cupu> good bye
<Shas> Bye
Discussion