18:05:01 #startmeeting 18:05:01 Meeting started Fri Apr 26 18:05:01 2013 CET. The chair is darci. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:05:01 Useful Commands: #action #agreed #help #info #idea #link #topic. 18:05:22 Who wants to start 18:05:27 Stoney? 18:05:30 Shall we start with the thoughts on the current status? 18:05:44 hi all... 18:05:45 #topic Current Status 18:05:47 Stoney? 18:05:48 sure 18:05:52 Hi ghislop 18:05:55 hi Greg 18:06:01 my apology that the foss2serve.org server is down... 18:06:22 the drexel university IT level people chose this AM to do an upgrade... 18:06:24 did everyone have a chance to look at the page that was circulated before the server went down? 18:06:33 yes 18:06:37 yes 18:06:41 I knew it was coming, but they didn't give much notice about when... 18:06:52 and now I hear they've run into problems (of course)... 18:07:18 i guess I give a short synops. 18:07:25 so, again, apologies... we're waiting on their work and will get the server back ASAP after they network changes are done... 18:07:47 and now I'll be quiet and let Stoney or Darci resume with the meeting... :-) 18:07:57 Stoney? 18:08:14 basically, we are proposing to start fresh using the newest platform 18:08:22 And the motivation? 18:08:38 (Not questioning, just wanting further explanation for the group.) 18:08:45 oh... because although we have learned alot by trying to fix what we have... 18:08:58 we still don't have a working system 18:09:18 #info The suggestion is to start fresh using the newest platform -- we've learned a lot, but still don't have a working system 18:10:04 Adding to that, one of our goals is to bring MouseTrap into Gnome 3 compliance and Python 3. 18:10:15 so we were thinking to move to GTK 3, Python3 18:10:19 right... : ) 18:10:41 And the major barriers to getting the current system running is the OpenCV library. 18:10:47 joanie? 18:11:08 which isn't available in python3 (correct?) 18:11:08 #info Starting fresh would allow us to bring MouseTrap into Gnome 3 compliance and Python 3 18:11:29 I'm thinking that it would be good to get Joanie or API's input into this. 18:11:30 heidi: yes? 18:11:35 opencv has no python3 support currently 18:11:35 hi! 18:11:40 hey 18:11:42 it may be planned in the future 18:12:01 We are thinking about rewriting MouseTrap from scratch. 18:12:17 * joanie pokes API_afk to see if he's really afk 18:12:28 ups 18:12:31 no sorry 18:12:36 I forget to change my nick 18:12:40 :-) Hi API 18:12:47 hi heidi 18:12:50 :-) 18:13:06 writing it from scratch seems sad to me 18:13:13 but maybe it is needed 18:13:13 rewriting mousetrap from scratch .... 18:13:15 ? 18:13:20 So the issue is that we've tried a variety of things to get MouseTrap to work with Fedora 18, without much success. 18:13:21 without opencv? 18:13:24 we would still be keeping the algorithms and haars im sure? 18:13:29 yes API... 18:13:34 Yes, that is the question. Should we still use OpenCV. 18:13:39 no opencv in python3 18:13:48 replace it with gstreamer 18:13:50 well, but if the idea is starting from scratch 18:13:54 What we're looking for is some input. We don't like the idea of a complete rewrite. 18:13:56 and scipy/numpy 18:13:56 other option is C 18:13:59 Seems to defeat the purpose. 18:14:02 anyway, gstreamer? 18:14:07 true 18:14:22 have gstreamer all the utilities that opencv provides? 18:14:32 I mean that gstreamer is basically 18:14:36 no... just the multimedia part 18:14:39 "play this song/video/image" 18:14:42 capturing images from cam 18:14:53 opencv is the one that provides image analysis, afaik 18:15:14 that's what numpy/scipy would be used for... the calculations 18:15:17 have you tried ctypes? 18:15:27 no I haven't 18:15:32 http://docs.python.org/3.3/library/ctypes.html 18:15:37 fwiw 18:15:44 * heidi looks 18:15:54 there are some people that work at our company 18:15:55 taking a look too 18:16:00 that have some experience with opencv 18:16:20 so before deciding about starting from scratch 18:16:25 something that sounds like a lot of work 18:16:39 I think that it would be good to ask them more about the python3 stuff 18:16:46 and if there are other options 18:16:48 or try ctypes 18:17:04 Ask the opencv folks? 18:17:09 About python 3? 18:17:15 I'd like to suggest an idea: write the UI front end in Python, and the OpenCV backend in C. 18:18:00 heidi, well, we can do that too 18:18:12 but I guess that it would be better to ask first our colleagues 18:18:12 John, do you mean rewrite the OpenCV in C? 18:18:29 heidi, opencv is a c++ library 18:18:34 If we're rewriting Mousetrap, yes -- write the backend in C 18:18:36 Just to clarify, ask our colleagues in A11y? 18:18:36 joanie, so ctypes woul let us access the opencv as a dll/so? 18:18:39 afaik, mousetrap is using their python bindings 18:18:51 heidi, ask our colleagues in Igalia, our company 18:18:55 Actually not exactly 18:18:58 Oh, got it! Sorry :-) 18:19:07 Mousetrap isn't using the current Python bindings -- it's using PyVision 18:19:09 IIRC 18:19:19 heidi, np, we are all talking at the same time 18:19:19 https://code.google.com/p/ctypes-opencv/ 18:19:48 API, yes, it would be helpful to have some additional input from your colleagues. 18:20:20 http://www.cs.unc.edu/~gb/blog/2007/02/04/python-opencv-wrapper-using-ctypes/ 18:20:21 I have almost no experience with the technologies that we're talking about so I'm having difficulty evaluating the best approach. 18:20:23 john, so if mousetrap is using pyvision ... 18:20:29 who is the one that have problems with python3? 18:20:33 And I am concerned about performance as well. 18:20:34 opencv or pyvision? 18:20:41 joanie: would it complicate things, forcing a Python layer? Could we simply use C directly, 18:20:46 OpenCV is not python3 compliant. 18:20:52 afaik, pyvision is a kind of prototyping library 18:20:59 #link https://code.google.com/p/ctypes-opencv/ 18:21:08 #link http://www.cs.unc.edu/~gb/blog/2007/02/04/python-opencv-wrapper-using-ctypes/ 18:21:17 john, well, "could we simply" is relative 18:21:18 PyVision is old and no longer developed. It precedates Python 3 18:21:22 #link http://docs.python.org/3.3/library/ctypes.html 18:21:27 mousetrap has already some work already done 18:21:38 so I think that it is debatable what it is easier 18:21:44 solving the python3 usage problem 18:21:48 API, work done using Python3? 18:21:50 Ah, goti t. 18:21:56 or starting without all the functionality already implemented on mousetrap 18:21:57 To use ctypes you seem to need to know C 18:22:04 Why use a unnecessary layer? 18:22:25 Using C, the Python 3 problem disappears. 18:22:26 to transition rather than start from scratch 18:22:32 true 18:22:39 I don't know how much work that would be 18:22:49 so I was merely suggesting other things to consider 18:23:13 stupid question, doesnt the current version of mousetrap use ctypes? 18:24:07 Yes, some of the code does. It uses a mix of PyVision, ctypes and home-grown mini-APIs. 18:24:31 Yes. 18:24:38 so that would eliminate some "from scratch" 18:25:02 Thing is, does those APIs still exist/work with the current OpenCV? 18:25:21 john, btw, are you sure about that "we don't use opencv but we use pyvision"? 18:25:24 Mousetrap's code predates the cv/cv2 mess 18:25:30 after a quick look on mousetrap/conifgure.in 18:25:35 the dependency is with opencv 18:25:44 PyVision is basically OpenCV bindings for Python 18:25:48 before OpenCV rolled their own 18:26:13 So it's not "instead of OpenCV", they do use OpenCV, using PyVision bindings 18:27:14 I think amber found this as well -- she knows much more about the inner workings 18:27:31 john, your saying pyvision is built into opencv? 18:27:35 john, but although pyvision is basically opencv bindings for python, I really doubt that mousetrap is using that 18:27:37 Not sure 18:27:52 the dependency is with python-opencv 18:27:59 that is not related at all with pyvision 18:28:24 ok, i was very confused for a min lol 18:28:43 at least, I think that when I got compiled mousetrap 18:28:53 Then it must be another library -- because Mousetrap predates OpenCV's own Python bindings (I think) 18:28:55 I didn't have at all pyvision stuff 18:28:58 having said so 18:29:11 as I said, deciding to switch to starting from scratch 18:29:16 is a important decision 18:29:21 and more a long term one 18:29:22 soo 18:29:25 what about something like 18:29:54 1. API ask their colleagues with opencv experience 18:29:59 about this python3 problem 18:30:18 2. meanwhile, someone sees how complex would be to use the ctypes option that joanie suggested 18:30:42 in a summary 18:30:47 I don't know how much work that would be 18:30:47 so I was merely suggesting other things to consider 18:31:05 Yes, I like this. 18:31:09 Stoney, thoughts? 18:31:24 Heidi, none of this affects me directly with gtk, so I should keep focusing on gtk and gtk3 for now? 18:31:29 I've been quiet because I've been trying to keep up reading 18:31:37 I brought up an possibility with amber and nicole a couple of weeks ago of using the Apple model with this -- one team working on getting the current code to work, another work on a rewrite, and see who prevails. 18:31:46 Dark_Rose, not sure yet. 18:31:50 ok 18:31:55 I still think that we don't really know how much of the current code base is working 18:32:04 and if it was an easy fix it would be done 18:32:18 so I would still like to see an effort starting with working code 18:32:19 Is the threading the main issue? 18:33:08 If it's impossible to test it piece by piece without running into threading, the code is bad. /interjection 18:33:44 it's very hard to know if we are making progress without working code 18:34:01 I'm somewhat lost now 18:34:10 a quick summary of that threading thing? 18:34:12 This is a case where the code is inherently multithreaded. Need to have the camera tracking user movements at the same time as moving the cursor. 18:34:20 is somewhat related with the previous python3 stuff? 18:34:36 no 18:34:44 threading issues in python2 stuff too 18:34:59 Umm, I don't think so. I'm just commenting that when we were testing we were getting seg faults at different locations. 18:35:06 so when you tested moustrap with python2 you found threading issues? 18:35:07 did anyone try to see if the software works on an older version of GNOME? 18:35:09 And even at different locations using the same machine. 18:35:12 like, say, f14 maybe? 18:35:14 In theory one should be able to test moving the cursor in one thread. And tracking the face in one thread. Even though the program runs them in two threads... 18:35:21 the only time I've seen the current code base work is when logan commented about 80% of the codebase out 18:35:24 Amber got it to work on Ubuntu. And John did too? 18:35:33 Stoney: oh dear 18:35:34 joanie: yes -- it semi-worked 18:35:41 No camera capture, though 18:35:42 yea wasnt full-functionality 18:35:47 but it compiled and GUI showed up 18:36:40 yep 18:36:49 was mousetrap inherently using threads? 18:36:50 it is my assumption that at some point this code worked 18:37:02 at least at CSUN 2010 worked 18:37:12 CSUN 2010? 18:37:25 joanie: mine too, but I've never seen it run :) 18:37:40 Stoney, you're working on a VM? 18:37:41 that was the first(and last) time that I talked with original mousetrap maintainer face-to-face 18:37:47 no 18:37:53 but in theory, it was also working after that 18:38:07 I mentioned CSUN 2010, because Flavio was 18:38:07 heidi: no, fedora 18 our development platform 18:38:14 showing the app to people at the event 18:38:14 Yes, I've seen some comments that it was working in 2011. 18:38:20 Right. It 18:38:24 's a cool app. :-) 18:38:35 heidi: and I mean that I've never seen anyone demonstrate it to me other than through youtube 18:38:41 Got it. 18:39:05 Working in 2011 using current-at-the-time software, I assume? 18:39:17 I don't doubt that it did work... 18:39:32 I believe so. 18:39:46 According to github the last changes was back in 2009 18:39:48 it's just not a good sign if we have never got it to work ourselves 18:39:53 that is ages ago in sotware-time 18:40:11 well, maybe it is worth starting from scratch then. 18:40:13 john, github? 18:40:19 which repository are you using? 18:40:19 that seems extreme however 18:40:26 official one is gnome one 18:40:30 amber's -- and Stoney's 18:41:04 https://git.gnome.org/browse/mousetrap/log/ 18:41:05 they forked from Mousetrap's official one… right amber or Stoney? 18:41:10 on gnome repository, last change of flavio dates of 2010 18:41:11 2010 is still long ago 18:41:15 but yeah 18:41:20 john: mine was yes 18:41:45 let me clarify what I mean by "from scratch" 18:41:56 Yes, we are using a copy from Gnome that we've put on github so that everyone can reach it. 18:42:02 I think we can use the existing code base as a model 18:42:05 heidi, ok 18:42:13 we can mine it for its design 18:42:26 Hmm -- this Balazs Ur guy added a translation just last month 18:42:27 The idea was to get a running version and then push that to GNOME as a base to make further changes. 18:42:32 Anyone know if he got it working? 18:42:45 john: translators don't even build the code necessarily 18:42:47 john, usually translation teams doesn¡t test programs 18:42:52 ah 18:42:56 got it 18:43:03 they just receive a file with all the strings to translate 18:43:13 they provide the translated version and upload it 18:43:41 but that's a digression 18:43:53 haha, sorry 18:44:27 nothing says we can't have a team trying to fix the existing system... 18:44:39 and another trying "from scratch" 18:44:44 * joanie nods 18:45:13 I'd like to hear what API's colleagues have to say as well. 18:45:30 in any case 18:45:31 absolutely 18:45:33 if we fix th existing im assuming thats using opencv? 18:45:39 if there is an easy fix... i'm all for it 18:45:41 starting from scratch would need a lot of time 18:45:52 even if we do from scratch, I think we would use opencv still 18:45:55 so a last bullet to use opencv on python3 is worthy 18:45:56 Yes, fixing existing means using opencv. 18:45:56 imho 18:46:02 john, I agree 18:46:30 OK. 18:46:32 i've got a crazy and possibly dumb idea 18:46:36 ? 18:46:44 I love creative thinking! 18:46:52 if we could figure out in what environment (old distro) where it worked 18:46:54 if we go from scratch we certainly can still use opencv through ctypes (it looks like) but there are other options 18:47:00 and use that as a development environment 18:47:03 or C... 18:47:07 ctypes has been around for ages 18:47:12 so has c 18:47:13 ;) 18:47:15 joanie: Anjuta 18:47:31 what does anjuta have to do with anything? 18:47:34 nicole (or amber?) thinks the file structure looks like Anjuta 18:47:35 's 18:47:39 IDE 18:47:40 not me lol 18:47:43 emacs 18:47:44 ;) 18:47:56 I'm talking about the version of gnome 18:47:56 joanie: unless I'm completely misunderstanding you 18:47:58 not the ide 18:48:04 Joanie, so you're saying revert to something like Fedora 14 where MouseTrap works? 18:48:09 john: I don't think it is anjunta's - we checked that out 18:48:12 brainstorming, but yes 18:48:36 because if we've never seen it working it's hard to see and test progress 18:48:41 it's just a bunch of lines of code 18:48:50 The install instructions on the original site has Debian commands (IIRC?) so that implies Ubuntu 18:48:51 Yes :-) It certainly is! 18:49:09 fwiw, anjunta is just an IDE 18:49:10 so even in old ubuntu 18:49:17 you could use ctypes 18:49:19 probably it was used to create the skeleton of the program 18:49:20 you could port to c 18:49:30 but it is not a environment to run it 18:49:34 you can verify if your changes work 18:49:42 joanie is proposing an older version of the system at all 18:49:43 etc. 18:49:52 Ah, got it. 18:49:53 API: I know -- from experience with Eclipse, sometimes a structure makes zero sense unless you open it in the IDE. But I seem to have misunderstood joanie, so ignore me :) 18:49:55 lets say, first release of fedora on 2010 18:50:11 ubuntu, but yeah 18:50:19 I have to go, im pretty sick today, i'll probably be back on IRC around 2. if I miss anything big just shoot me an email :) 18:50:22 I was just giving an example ;) 18:50:25 api: yes... we were struggling with autotools, and anjunta briefly came up because it use autotools to manage its projects... but we have since figured out that anjunta was not use (or doesn't appear to have been) on mousetrap 18:50:31 Bye dark_rose 18:50:55 Stoney, ok 18:51:00 so heidi you are following what I'm saying? 18:51:13 I think so. 18:51:25 work with working code :) 18:51:59 yes, I like that! 18:52:14 And once we get it working, the first thing would be to try to update to OpenCV2? 18:52:25 sounds like it might be, yes 18:52:35 how long has opencv2 been around? 18:52:46 and what are its dependencies? 18:52:50 Ah, so isolate the OS issues from the library version issues. 18:52:52 (don't need an answer now) 18:52:56 exactly 18:53:00 That's one thing I'm completely confuzzled about… cv and cv2 -- cv2 seems to be a superset of cv now? And I read somewhere that cv will replace cv2? *lost* 18:53:08 We have this info on the foss2serve wiki which is down now. 18:53:11 try to get as far along as you can in the old ubuntu 18:53:33 how will we know when its "working"? 18:53:52 I can move the mouse with my head? :) 18:53:53 when it does what's in flavio's video? 18:53:55 Amber, because we'll be able to see behavior as shown in the videoas. 18:53:56 :-) 18:53:59 Yes. 18:54:23 amber: and then start updating the code and see if stoney can still move the mouse with his head :) 18:54:34 Joanie, why ubuntu rather than earlier fedora, because we know it works in ubuntu 18:54:35 and if he can, you did it right ;) 18:54:36 :-) 18:54:42 right! 18:54:50 Stoney is very good at moving things :-) 18:54:55 Maybe I'm wrong, but the one in Flavio's video seems different from the one we watched crash constantly in Ubuntu… For one, the video is displayed in a window completely differently than it seems to fit in the program we ran... 18:54:56 heidi: because it appears that ubuntu was used before 18:54:57 lol 18:55:02 Not so sure about the head part :-) 18:55:14 :) 18:55:28 * joanie looks for the video 18:56:16 i think being able to move the mouse with your head is somewhat vague. there are other capabilities that mousetrap has. 18:56:24 like? 18:56:32 choosing which haar 18:56:38 why? 18:56:55 for different usability scenarios 18:56:57 joanie abmonished us about that one a couple weeks ago… ;) 18:56:58 http://www.youtube.com/user/flaper87 18:57:18 yes, but the video is a subset of its functionality 18:57:25 john... about what? 18:57:26 Right. Mousetrap should be able to track noses, fingers, etc. 18:57:32 I see 18:57:34 about usability scenarios 18:57:41 Stoney: I was just joking, BTW 18:57:48 so, it would be nice to see a list so we know what "working" is 18:57:53 I don't think it was an admonishment :) 18:58:09 well... right now our version doesn't track anything .... so I would be happy about the head (or any feature) 18:58:12 amber: my understanding is that currently it does absolutely nothing 18:58:17 exactly 18:58:18 yes 18:58:21 exactly 18:58:32 so we're not saying ONLY moving the mouse 18:59:07 joanie: does that mean that mousetrap is really a feature tracker? 18:59:22 ? 18:59:22 but it seems we are having lots of conversations about approaches, (we already talked about developing with a working version) so I would like to see some requirements and goals so we dont create a cirucular dev pattern 19:00:15 One of the videos shows using one's mouth as a mouse click. 19:00:17 Agreed -- let's go with my idea of having two teams tackling the two approaches 19:00:23 and just do it 19:00:40 So what two approaches are those? I count three approaches so far. 19:00:56 rewrite or fix 19:01:08 1. - Get it running on older ubuntu/fedora, 2. - Start from scratch 3. - Fix what we have currently. 19:01:19 1 is part of 3 19:01:36 once it runs in oldies, we can see what works and what does in newies 19:01:42 right 19:01:44 *not 19:02:03 Stoney? Are you happy with this? 19:02:15 I'm happy with working code... 19:02:16 (I've got only 3 more minutes...) 19:02:17 so either is good 19:02:28 So who would like to work on which? 19:02:31 Amber, thoughts? 19:02:40 Both approaches have possible fruitful results -- might as well try both I think 19:02:42 John? 19:02:52 id like to fix existing, since im familiar with opencv 19:03:23 If I'm choosing, I'll be on the rewrite team 19:03:34 unless you guys think I'm a better fit elsewhere :) 19:03:44 Amber and John, are you available Monday at 10? 19:03:55 ill be on the train 19:03:56 Unfortunately, no 19:04:01 9:30 I can be 19:04:06 Ah, OK. that is the WNE regular meeting. 19:04:09 later i can be 19:04:17 I think folks have class until 10 at WNE. 19:04:38 I have class at 11 and am booked solid until 5 19:04:51 (i just was in class 12-1) oops 19:04:55 Well, actually I *can* be available at 10 19:05:02 I'll just have to drive to school earlier 19:05:02 Do NOT miss class :-) 19:05:10 i was still there! 19:05:27 Scratch that. I'll be available at 10 on Monday, yes 19:05:45 we'll talk to WNE students monday and see what they want to do 19:05:55 (they're not here right now) 19:05:58 Right. 19:06:11 motion to adjourn? 19:06:24 And Logan has been debugging the current system using a python debugger. 19:06:38 Note that we haven't really decided anything. Just pushed a lot of ideas. 19:06:46 exactly 19:06:56 I'm fine with that. 19:06:56 logan and amber on the fix team, me and Nicole on the rewrite team (since she's working on GTK+) 19:07:04 i'll install an older version of ubuntu on my laptop 19:07:14 and see if I can get it working 19:07:27 #agree Explore option of reverting to older version of ubuntu and get MouseTrap working and progress from there 19:07:31 ubuntu 10 was promising 19:07:36 #agree Explore option of rewrite from scratch. 19:07:37 I'll 'see' you guys at 10 here on Monday? 19:07:42 10.4 to be exact 19:08:04 is there anyway to meet later on monday? 19:08:14 #agree 10 am monday here if you can make it 19:08:22 We'll be meeting with students f2f Monday at 10:00. 19:08:27 very tough for me amber... lots of meetings and classes on monday 19:08:33 amber: I'm available after 5, but I don't think the WNE students will appreciate that ;) 19:08:36 Right. Stoney teaches all afternoon. 19:08:43 Well, I can't do after 5:00 :-( 19:08:57 Why not run the meetbot, Amber can at least look at the log 19:08:57 Lets get as many folks as we can and continue the discussion. 19:09:01 Now I really need to run. 19:09:08 ok 19:09:11 Joanie and API, thank you so much for all your help. 19:09:13 ditto 19:09:14 bye 19:09:15 We very much appreciate it!! 19:09:21 thank you all 19:09:27 joanie thanks again for the help with PixBuf! 19:09:29 heidi, no problem, you are welcome 19:09:32 someone needs to end meeting 19:09:35 And API, if you email me whatever you find out from your colleagues, I'll pass it along to the group. 19:09:40 Darci? End the meeting? 19:09:42 heidi, ok 19:09:43 I can do that 19:09:45 ;-) 19:09:47 :-) Thank you! 19:09:49 #endmeeting