Automatic commit of irc logs
[matches/MCTX3420.git] / irc / log
diff --git a/irc/log b/irc/log
index 822a1d8..d3c81ee 100644 (file)
--- a/irc/log
+++ b/irc/log
 16:08 < jtanx> because of the -pedantic flag
 21:13 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
 21:23 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+--- Day changed Wed Oct 02 2013
+17:34 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
+21:54 -!- Rowan [[email protected]] has quit [Ping timeout]
+--- Day changed Thu Oct 03 2013
+09:30 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+09:30 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+09:32 -!- MctxBot_ [[email protected]] has joined #mctxuwa_softdev
+09:45 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
+09:47 -!- MctxBot [[email protected]] has quit [Ping timeout]
+10:26 -!- MctxBot_ is now known as MctxBot
+10:37 -!- MctxBot [[email protected]] has quit ["leaving"]
+10:44 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+10:45 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+10:45 < jtanx> finally
+11:02 -!- Rowan [[email protected]] has quit [EOF From client]
+12:09 < MctxBot> guh
+12:09 < MctxBot> crappy laptop keeps crashing
+12:17 -!- jtanx [[email protected]] has quit [Ping timeout]
+12:20 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
+12:20 -!- jtanx_ is now known as jtanx
+12:28 < jtanx> about login_handler
+12:28 < jtanx> The result from FCGI_ParseRequest
+12:28 < jtanx> for string types
+12:28 < jtanx> should be treated as const char*
+12:29 < jtanx> I guess it really doesn't matter, unless it returns an empty string
+12:29 < jtanx> it's also not true that user/pass would be of max length BUFSIZ
+12:30 < jtanx> because of how it was defined, params has a max length of BUFSIZ
+12:30 < jtanx> but user/pass may be anywhere in that string
+12:30 < jtanx> so their max length < BUFSIZ
+12:30 < jtanx> so the bounds check makes no sense
+12:31 < jtanx> (sure, it prevents an infinite loop, but by that stage, you could be writing to locations where you don't want to anyway)
+12:31 < jtanx> besides, FCGI_ParseRequest should guarantee that they're null terminated
+12:38 < jtanx> also, whitespace (>.< :P)
+12:38 < sam_moore> True, but this is the whole "defensive" programming thing where you assume that some future unspecified developer is going to do something stupid and you attempt to minimise the damage they can cause :P
+12:38 < jtanx> while (*user && isspace(*user)) user++;
+12:38 < jtanx> char *ptr = user;
+12:38 < jtanx> while (*ptr && isalnum(*ptr)) ptr++;
+12:38 < jtanx> *ptr = 0;
+12:39 < jtanx> well
+12:39 < jtanx> by that stage you're screwed anyway
+12:39 < jtanx> not much point doing something that doesn't make sense too
+12:39 < sam_moore> You're more screwed if your program is writing to undefined locations in an infinite loop than if it's writing to a finite number of undefined locations
+12:39 < jtanx> still
+12:39 < jtanx> at least if it's infinite
+12:39 < jtanx> you'll know it crashes
+12:40 < jtanx> actually that's hardly the case
+12:40 < jtanx> because it will come across a zero at some point
+12:40 < jtanx> more often than not
+12:40 < jtanx> but anyway...
+12:40 < jtanx> does valgrind pick that up?
+12:41 < sam_moore> Hah
+12:41 < jtanx> and to be honest, by adding the BUFSIZ check, that's implying their max length when it's actually not
+12:41 < jtanx> which may be confusing in itself
+12:41 < sam_moore> The operating system should pick up a segfault on the first invalid write anyway
+12:41 < jtanx> unless
+12:41 < jtanx> the following region is writeable too
+12:42 < jtanx> eg you have a struct, members follow each other
+12:43 < sam_moore> If you really want to remove the bounds check go ahead
+12:43 < sam_moore> Either way that code does what it's meant to
+12:43 < jtanx> ok, well yeah
+12:44 < jtanx> hmm
+12:44 < jtanx> problem
+12:44 < jtanx> anyone can logout the currently logged in user
+12:44 < jtanx> oh wait
+12:45 < jtanx> sorry
+12:48 < sam_moore> My network is being terrible so I can't say much
+12:48 < sam_moore> One last argument in favour of the BUFSIZ check... if someone modifies the function that "should" be guaranteed to null terminate the string and doesn't... then you fall into an infinite loop
+12:49 < jtanx> well that's a case of too bad
+12:49 < jtanx> if it infinite loops
+12:49 < jtanx> then it shows you've done something wrong, so it'd be a good case to check what you've done
+12:50 < jtanx> if you hide that with a BUFSIZ check, you may not know there's a problem until later down the track
+12:50 < sam_moore> If you port the code to run in a kernel module or something, it's a case of instead of getting a seg fault, you suddenly wipe out all your memory
+12:50 < jtanx> with a kernel module, you'd be testing it pretty rigorously in a vm, i would think :P
+12:51 < sam_moore> Yeah, but it pays not to assume things about the sanity of other programmers
+12:51 < sam_moore> That's why all that extremely irritating "public, private" stuff is used
+12:52 < jtanx> to be honest, I'd rather have it fail fast than come up with weird issues that may/may not happen all the time
+12:52 < sam_moore> Anyway, just remove the bounds check, this is getting ridiciluos
+13:31 < jtanx> hmmm
+13:31 < jtanx> if ($http_cookie ~* "id=([^;] +)(?:;|$)" ) {
+13:31 < jtanx>   set  $id  $1;
+13:31 < jtanx> }
+13:32 < jtanx> right now, only the control key can be sent as the one and only cookie
+13:38 < jtanx> we could get nginx to extract the desired cookie
+14:33 < jtanx> actually nah
+15:02 -!- MctxBot [[email protected]] has quit [Ping timeout]
+16:27 -!- jtanx [[email protected]] has quit [Connection reset by peer]
+21:16 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+21:17 < jtanx> herp derp
+21:17 < jtanx> was idling in mctxuwa
+21:17 < jtanx> not mctxuwa_softdev
+21:40 < jtanx> anyway...
+21:40 < jtanx> a (the) login/logout functionality is almost done for the gui
+21:40 < jtanx> to make it work, I need to add the identify module to the modules that doesn't need login
+21:41 < jtanx> also, maybe fields to indicate if logged in or not when ident is called + if logged in, a 'human friendly' name to display for the user
+22:34 < jtanx> ok
+22:34 < jtanx> it's just about done. It auto redirects you (via javascript) to the login page if you're logged out (and vice versa)
+22:34 < jtanx> this can be disabled for debugging purposes by changing mctx.debug=true in mctx.gui.js
+22:34 < jtanx> it works quite well, I think
+22:35 < jtanx> I still haven't implemented the whole 'friendly name' thing though
+22:35 < jtanx> (e.g the 'Welcome Joe Bloggs' with the actual user name or something)
+22:40 < jtanx> test at: https://mctx.us.to:8043/test/
+22:42 < jtanx> except now there's a logout bug grr...
+22:46 < jtanx> fixed
+23:32 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Fri Oct 04 2013
+14:50 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+14:50 < jtanx> so i'm in uni right now
+14:50 < jtanx> and was playing with the webcam
+14:50 < jtanx> If I followed this: http://www.raspberrypi.org/phpBB3/viewtopic.php?t=35689&p=314596
+14:51 < jtanx> It actually displays something and not the black image
+14:51 < jtanx> the problem is that it only displays maybe the top 5% of the image
+14:51 < jtanx> the rest is nothing
+14:51 < jtanx> I think the next step from here is to try compiling the latest version of the uvcvideo driver ourselves
+14:51 < jtanx> see if it helps
+14:59 < jtanx> google 'uvcvideo beaglebone issues'
+14:59 < jtanx> I wonder how we didn't see that before
+15:00 < jtanx> http://e2e.ti.com/support/arm/sitara_arm/f/791/t/223368.aspx
+15:03 < jtanx> so many issues getting the camera to work
+15:03 < jtanx> https://groups.google.com/forum/#!msg/beagleboard/sgCwaP5RVUo/aFPBOk02A7IJ
+15:04 < jtanx> fwiw I'm not sure we'll be able to support cameras at all, at this rate
+15:04 < jtanx> although some seem to have success with UVC video. no idea why
+15:08 < jtanx> except I was testing it on angstrom 
+15:08 < jtanx> when i boot off the sd card, there's no modprobe and no rmmod
+15:08 < jtanx> tf
+15:08 < jtanx> wtf
+15:10 < jtanx> derp
+15:10 < jtanx> not root
+15:20 < jtanx> well crap, I got it working with ffmpeg
+15:20 < jtanx>  ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 -vcodec copy o.mjpg
+15:21 < jtanx> along with the 'uvcvideo nodrop=1 timeout=5000 quriks=0x80'
+15:21 < jtanx> it spits out a bunch of warnings though
+15:26 < jtanx> ahh
+15:26 < jtanx> if set to rawvideo
+15:27 < jtanx> 640x480 is not supported
+15:27 < jtanx> it must be that it's such a large resolution that only mjpg is supported
+15:27 < jtanx> 320x240 works fine
+15:32 < jtanx> ah well
+15:32 < jtanx> that's alll for now
+15:32 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+16:16 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+21:25 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+22:15 < jtanx> I got user friendly names working
+22:15 < jtanx> 'except by user friendly I mean their usernames
+22:16 < jtanx> I guess for LDAP we could look up their real name? but I don't know how to do that.
+22:19 < sam_moore> I'm not sure how, but it can be done
+22:20 < sam_moore> However it's probably a fair amount of work
+22:20 < sam_moore> So I'd make it low priority
+22:20 < jtanx> yeah ok
+22:20 < sam_moore> Afterall, *they* know who they are
+22:20 < sam_moore> Good work with the camera
+22:20 < sam_moore> I'll be in tomorrow morning I guess
+22:20 < sam_moore> Working on another project now
+22:21 < jtanx> Yeah, the camera's still not finished though - it's really buggy and I only got it working with ffmpeg and not opencv
+22:21 < sam_moore> Anything is progress
+22:23 < sam_moore> 0/away
+22:24 < sam_moore> Stupid network lag
+23:13 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Sat Oct 05 2013
+08:41 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+08:44 -!- MctxBot [[email protected]] has quit [Ping timeout]
+11:37 < sam_moore> Hi, I'm at Uni, but we can't access G19
+11:38 < sam_moore> I was hoping Rowan, Justin, James or Callum would come in though
+11:38 < sam_moore> But I guess I need to do more stuff for CITS3003 anyway
+12:18 < jtanx> Sorry, I can't make it today
+12:19 < jtanx> Too much crap with my CITS3242 and CITS2232 projects to deal with
+12:19 < sam_moore> Ok no problem
+13:16 < jtanx> james just posted some layout stuff via email
+13:17 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+18:06 < jtanx> now... to do some work on this gui
+21:15 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Sun Oct 06 2013
+08:52 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+11:17 < jtanx> slight problem: http://i.imgur.com/D28SHaQ.png
+11:17 < jtanx> 100% cpu usage on idle
+11:18 < jtanx> that memory usage too doesn't look too healthy
+11:18 < sam_moore> Damn
+11:20 < jtanx> I also probably figured out why valgrind crashes with the --trace-origins option - not enough memory on my system :P
+11:30 < jtanx> It's probably because in read data all the cases except one have a sleep in them
+11:31 < sam_moore> I'd say so
+11:31 < sam_moore> There are like 8 threads
+11:31 < sam_moore> We don't need 8 threads
+11:39 < sam_moore> Are you in G19?
+11:39 < jtanx> no
+11:40 < sam_moore> Alright
+11:40 < sam_moore> I suppose I should do some work on this
+11:40 < sam_moore> CITS3003 is funner though
+11:40 < sam_moore> I'll look into the performance issues
+11:41 < jtanx> hehe
+11:42 < sam_moore> My "Incident" with UWA IS is now Moderate Priority
+11:42 < sam_moore> It's been assigned!
+11:42 < sam_moore> I suppose I should wait for this guy to email me and say "What the hell are you on about?"
+11:42 < sam_moore> (Re: Using Pheme)
+11:42 < sam_moore> They classified it as a "Request for service"
+11:43 < sam_moore> Which I suppose is true, except they don't really have to do anything
+11:43 < jtanx> o.o
+11:44 < jtanx> I hope it goes through
+11:44 < sam_moore> Yes, no one's going to do a user management system
+11:44 < jtanx> Yep
+11:44 < sam_moore> When people complain they have nothing to do though...
+11:44 < sam_moore> That's like a semester of work right there
+12:40 < sam_moore> um... that image you linked
+12:40 < sam_moore> That's not actually running on the BeagleBone is it?
+12:40 < sam_moore> Because on the BeagleBone
+12:40 < sam_moore> It's like 0.7%
+12:41 < sam_moore> Actually 0.3% CPU 1.1% memory
+12:50 < jtanx> no
+12:50 < jtanx> that's because there's a conditional #ifdef
+12:50 < jtanx> beaglebone to sleep
+12:50 < jtanx> I got that condition around the wrong way
+12:50 < jtanx> Initially I thought you wanted to test the absolute maximum sampling rate on the BBB
+12:53 < jtanx> I just updated the repo to really remove that pwm array reference
+12:54 < jtanx> (about the cpu) It's because of this: https://github.com/szmoore/MCTX3420/blob/master/server/sensor.c#L257
+12:55 < jtanx> That ifdef should be removed anyway, just put in an unconditional sleep for 0.1s
+12:55 < jtanx> then remove the individual sleeps from each sensor case
+13:17 < sam_moore> Sure
+13:17 < sam_moore> Light has been shed on the PWM thing
+13:18 < sam_moore> They are using some RC circuit which I believe averages out the PWM to give you a constant signal
+13:18 < sam_moore> I thought it was some kind of IC that took a PWM input
+13:21 < jtanx> oh ok
+13:22 < jtanx> yeah that's what I thought too
+13:22 < jtanx> so no dac I guess
+13:22 < jtanx> (dac ic that is)
+13:24 < sam_moore> I have my doubts that electronics will be able to make this custom DAC
+13:24 < sam_moore> And of course, no DAC means no Pressure control
+13:24 < sam_moore> But oh well
+13:24 < jtanx> ^_^
+13:24 < jtanx> homebrew DAC
+13:25 < jtanx> how will this ever be calibrated
+13:26 < sam_moore> We should probably include a calibration routine in software
+13:27 < sam_moore> I'm looking a bit more into the RT linux stuff
+13:27 < sam_moore> It doesn't look too crazy
+13:27 < sam_moore> Our program pretty much looks the same
+13:27 < sam_moore> With a function at initialisation to set it's priority and stuff
+13:27 < sam_moore> But otherwise, you just use usleep, sleep, pthreads, everything as normal
+13:28 < jtanx> ok
+13:28 < jtanx> as long as it works on the bbb I guess
+13:30 < sam_moore> I think I should port from gettimeofday to clock_gettime too
+13:35 < sam_moore> https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO
+13:35 < sam_moore> I'll compile us a kernel and see if it works
+13:46 -!- Callum [[email protected]] has joined #mctxuwa_softdev
+14:09 < sam_moore> Yeah, it looks like RT Linux won't work on the BBB
+14:09 < sam_moore> Oh well
+14:17 < jtanx> damn
+15:34 < Callum> Hey guys, sorry i havent been in touch lately. done a bit of work on dilatometer but its not quite complete.  Uploaded what iv done but i got a test i tomorrow i should go study for now
+16:29 < jtanx> hahaha
+16:30 < jtanx> interactive sbd
+16:31 < jtanx> hmm dialatometer
+16:45 < jtanx> Justin's idea with the system diagram was pretty good
+16:55 < jtanx> test run: https://mctx.us.to:8043/test/
+16:55 < jtanx> no links yet
+16:55 < jtanx> no descriptions either
+16:55 < jtanx> logout when you're done
+16:55 < jtanx> no auth so type anything you want in login field
+17:24 < Callum> looks pretty good
+17:27 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
+17:44 -!- MctxBot [[email protected]] has quit ["leaving"]
+17:47 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+17:49 -!- MctxBot [[email protected]] has quit ["again"]
+18:12 < jtanx> I stuffed up /etc/fstab and now the root filesystem is readonly :(
+18:19 < jtanx> ...and I just wasted time booting off ubuntu 7.04, which doesn't support ext4...
+18:30 -!- Callum_ [[email protected]] has joined #mctxuwa_softdev
+18:42 -!- Callum [[email protected]] has quit [Ping timeout]
+18:43 -!- Callum_ is now known as Callum
+18:52 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+19:30 < jtanx> I've just enabled personal webspace for everyone
+19:30 < jtanx> check your emails for details
+19:35 -!- Callum [[email protected]] has quit [EOF From client]
+19:50 -!- Rowan [[email protected]] has quit [Ping timeout]
+19:52 < jtanx> :(
+21:11 < sam_moore> Cool
+21:11 < sam_moore> Sorry, I'm trying to finish CITS3003
+21:14 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
+21:25 < jtanx> Yep no problem
+21:38 < jtanx> nice: http://cssmenumaker.com
+22:09 < jtanx> weird, getting http 500 when trying to access our github repo
+23:16 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+23:27 -!- Rowan [[email protected]] has quit [EOF From client]
+--- Day changed Mon Oct 07 2013
+10:44 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
+12:45 -!- callum [[email protected]] has joined #mctxuwa_softdev
+12:47 < callum> you guys in g19?
+14:46 -!- callum [[email protected]] has quit [Ping timeout]
+14:55 -!- callum [[email protected]] has joined #mctxuwa_softdev
+14:59 -!- Rowan [[email protected]] has quit [Ping timeout]
+16:11 -!- callum [[email protected]] has quit [Ping timeout]
+18:22 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+18:44 < jtanx> ha, you can clone a wiki
+18:45 < jtanx> git clone https://github.com/szmoore/MCTX3420.wiki.git
+20:50 < sam_moore> Yeah, I know
+20:51 < sam_moore> I don't really think it's great to be relying on the BeagleBone to serve all these additional requirements
+20:51 < jtanx> Yeah, probably not
+20:52 < jtanx> I've just been playing around with django for my CITS2232 project
+20:52 < jtanx> it's like a python based cms
+20:53 < sam_moore> That might work
+20:53 < jtanx> It's actually not too bad
+20:53 < jtanx> but incredibly annoying to learn how to use
+20:53 < jtanx> it's got its own inbuilt user system
+20:54 < sam_moore> How could we query it from our server though?
+20:54 < jtanx> as in?
+20:54 < jtanx> you can still query directly from the browser
+20:54 < jtanx> from django itself
+20:54 < jtanx> I'm definitely sure there's a json parsing library
+20:55 < jtanx> (python at least should have one)
+20:56 < sam_moore> As in, if we want to "login"
+20:56 < sam_moore> How do we authenticate?
+20:57 < sam_moore> From within the FastCGI process
+20:57 < jtanx> Okay, there's two approaches I guess
+20:58 < jtanx> if you want to continue to use fastcgi to login I guess you could get django to figure out
+20:58 < jtanx> who's logged in
+20:58 < jtanx> If you use django's login system
+20:58 < jtanx> hmm
+21:00 < jtanx> but one thing I haven't done yet is how do you prevent concurrent access in django
+21:01 < jtanx> but say this:
+21:01 < sam_moore> I think binding to an LDAP server is pretty standard for this sort of thing
+21:01 < sam_moore> I think Django can even let you bind to LDAP for using it
+21:01 < jtanx> probably
+21:01 < jtanx> I think class2go was built using django
+21:01 < jtanx> if you've ever used that crappy website
+21:02 < jtanx> say for the fastcgi process we revert to
+21:02 < jtanx>  /api/control?lock
+21:02 < jtanx>  /api/control?unlock
+21:02 < jtanx> etc
+21:02 < jtanx> but /api/control is only visible to django
+21:02 < sam_moore> Ah, I see
+21:02 < sam_moore> Um...
+21:02 < jtanx> then django can query it
+21:02 < jtanx> and conditionally return the control key?
+21:03 < jtanx> i dunno
+21:03 < sam_moore> I'd be slightly nervous about adding additional systems that have to work together though
+21:03 < jtanx> yeah
+21:03 < jtanx> that's the problem
+21:03 < sam_moore> I mean, if it works, it's fine
+21:03 < sam_moore> If it breaks, suddenly anyone (or noone) can access the real underlying hardware
+21:03 < jtanx> Yeah
+21:04 < jtanx> especially if someone screws up the server config
+21:04 < sam_moore> I think I'd prefer to stick with the current login handler
+21:04 < sam_moore> There's some flexibility with how you actually do the authentication
+21:04 < jtanx> Sure
+21:06 < jtanx> I'm just thinking, how would we implement the 'admin' features
+21:06 < jtanx> you'd then have to have some sort of list distinguishing normal users from admins
+21:06 < jtanx> unless you hardcode admins?...
+21:07 < sam_moore> With LDAP you can store admin as a user field and check it
+21:08 < sam_moore> With /etc/shadow, have 2 files
+21:08 < sam_moore> One for admin, one for regular users
+21:08 < sam_moore> (When I say /etc/shadow I just mean the style of auth, not necessarily actually using *the* /etc/shadow)
+21:08 < sam_moore> In fact
+21:09 < sam_moore> We could possibly do a minimalist user management with python cgi and a custom /etc/shadow style file
+21:10 < jtanx> say what
+21:11 < jtanx> so use the python cgi to modify it
+21:11 < sam_moore> Yeah
+21:11 < jtanx> our c fastcgi to read
+21:11 < sam_moore> Yes
+21:11 < jtanx> that could work
+21:11 < jtanx> have a look at flask
+21:11 < sam_moore> It's also probably possible to easily do a lot of the things Adam wanted
+21:12 < jtanx> flask is like the simpler version of django
+21:12 < sam_moore> At least, you can get python cgi to send emails to people with a temporary password and ask them to change it
+21:12 < jtanx> i think I still have an example too
+21:15 < sam_moore> If you want and it doesn't require rewriting large parts of the FastCGI process
+21:15 < sam_moore> Personally I don't think I have the time
+21:16 < jtanx> well if it's completely separate from the fastcgi process
+21:16 < sam_moore> Sure
+21:17 < jtanx> hmm
+21:18 < sam_moore> Just a simple CGI script might do the job though
+21:18 < jtanx> yeah
+21:18 < jtanx> except nginx doesn't have normal cgi
+21:19 < sam_moore> Wat
+21:19 < jtanx> only fastcgi
+21:19 < sam_moore> Damn
+21:19 < sam_moore> And I guess apache2 only has normal cgi and not fastcgi?
+21:19 < jtanx> there may be mod_fastcgi
+21:19 < jtanx> but
+21:19 < jtanx> before we get ahead of ourselves
+21:20 < jtanx> okay no, nginx doesn't have fastcgi
+21:20 < jtanx> sorry cgi*
+21:20 < jtanx> we could do it in php
+21:21 < jtanx> urgh
+21:21 < sam_moore> urgh indeed...
+21:21 < sam_moore> I dunno
+21:22 < sam_moore> We *did* tell Adam that we wouldn
+21:22 < sam_moore> 't be able to do the user management system
+21:22 < jtanx> haha
+21:23 < sam_moore> I really think getting our program to interface with an LDAP server is reasonable
+21:23 < jtanx> yeah
+21:23 < sam_moore> Ok, I need to fix CITS3003 some more
+22:46 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+22:53 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+22:53 < jtanx> brainspark: we can probably use django to proxy api requests
+22:53 < jtanx> so it goes like this: user <-> django <-> server api
+22:54 < jtanx> then you don't even have to expose the server api at all
+22:54 < jtanx> although if I ever end up trying this I don't know
+22:55 < jtanx> (by expose I mean that django can conditionally pass on the results from queries to the api)
+22:55 < jtanx> but yeah, it's probably best to leave it how it is right now
+22:55 < jtanx> as I doubt I have the time to  implement this
+23:10 < jtanx> it would definitely add overhead too
+23:40 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Tue Oct 08 2013
+18:01 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+19:37 -!- MctxBot [[email protected]] has quit [Ping timeout]
+21:16 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Wed Oct 09 2013
+08:29 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+09:20 -!- jtanx [[email protected]] has quit [Ping timeout]
+09:54 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+10:52 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+10:55 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
+10:56 < jtanx_> welp the usb microscope arrived
+10:56 < jtanx_> it uses uvcvideo too
+11:07 -!- jtanx [[email protected]] has quit [Connection reset by peer]
+12:00 < jtanx_> shit, we have to coordinate one report across the whole cohort
+12:02 < sam_moore> Yeah, shit
+12:03 < sam_moore> This unit has not been run very well
+12:03 < sam_moore> Except the tutorials
+12:06 < sam_moore> If I still cared I
+12:06 < sam_moore> d try and take charge of putting the report together
+12:07 < sam_moore> But I know that if no one else does it we'll all pass anyway since you can't fail an entire class
+12:07 < sam_moore> So terrible
+12:07 < sam_moore> We should just start writing a chapter on the software
+12:09 < sam_moore> I wonder if we could use the wiki format and export it as a pdf somehow
+12:11 < sam_moore> https://github.com/szmoore/MCTX3420/wiki/Hardware:-Pneumatics
+12:11 < sam_moore> Hilarious
+12:41 < jtanx_> ~.~
+12:41 < jtanx_> our final report will be the wiki!
+12:42 < jtanx_> made some progress on the camera
+12:42 < jtanx_> lowering the resolution to 352x288
+12:42 < jtanx_> and it will work with openc
+12:42 < jtanx_> opencv
+12:42 < jtanx_> ffmpeg's fine with 640x480 though
+12:42 < jtanx_> opencv just sucks
+12:57 < jtanx_> good 'ol stream.html
+13:05 < jtanx_> those fatal checks in sensor.c are bad
+13:05 < jtanx_> because half the time adc reads will fail and the whole program just crashes
+13:07 < jtanx_> oh right I saw your email, nevermind
+13:08 < jtanx_> I'm not getting the warnings that you're seeing either
+13:12 < sam_moore> Yeah, those warnings were actually on my laptop though, they don't seem to appear on the BeagleBone
+13:12 < sam_moore> I'm redoing the sensors code a fair bit
+13:12 < sam_moore> You'll probably hate it :P
+13:12 < sam_moore> Well, it's not really redoing the structure of how they work
+13:13 < sam_moore> Just separating the logic of how sensors get read from all that control loop stuf
+13:14 < sam_moore> I'm going to keep with the "one thread per sensor" idea, because that is definitely the simplest
+13:16 < sam_moore> Did you tell Omid that they shouldn't assume anything about the state of the GPIO pins before the software starts?
+13:16 < sam_moore> Which means that if (unlikely, but I don't know what they're doing) having two pins on at once would cause a catastrophic failure...
+13:16 < sam_moore> By murphy's law, it will almost certainly happen
+13:33 -!- jtanx_ [[email protected]] has quit [Ping timeout]
+13:59 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+13:59 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+14:51 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+14:52 < jtanx> oh yah, somehow electronics ordered a non-powered usb hub
+14:52 < jtanx> I'm pretty sure we told them to get a powered usb hub...
+14:57 < sam_moore> Yep, and I remember them saying that is what they were going to get
+14:57 < sam_moore> Dammit, I'm stuck trying to pick the best name for something -_-
+14:57 < sam_moore> The worst place to be stuck
+15:19 < jtanx> ??
+15:19 < jtanx> thesaurus.com
+15:23 < sam_moore> Hahaha
+15:23 < sam_moore> I decided the thing didn't really need to exist
+15:23 < sam_moore> Problem solved
+15:24 < sam_moore> If someone who knows absolutely nothing about programming tries to add sensors to our program they will still be confused
+15:24 < jtanx> Hahaha
+15:24 < sam_moore> But I hope I've made it easier for someone who knows what they're doing
+15:24 < jtanx> Okay
+15:24 < jtanx> what were the compiler warnings that you got
+15:25 < sam_moore> pin_test.c:41:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
+15:25 < sam_moore> pin_test.c:48:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
+15:25 < sam_moore> More on lines 54, 128, 190,204
+15:25 < jtanx> weird
+15:25 < jtanx> I never saw any of those
+15:25 < sam_moore> Also I think the code I just wrote for the Strain sensors gives some as well
+15:25 < sam_moore> Yes, it does
+15:26 < jtanx> did you change GPIO_Export to use int type
+15:26 < jtanx> wait 
+15:26 < jtanx> what am I saying
+15:26 < sam_moore> It already uses int type?
+15:26 < sam_moore> But it's something like that
+15:26 < sam_moore> It looks like you're using unsigned char for something
+15:27 < sam_moore>     int gpio_num = Strain_To_GPIO(id);
+15:27 < sam_moore>     GPIO_Export(gpio_num);
+15:27 < sam_moore> Is the sort of thing that causes the warning
+15:27 < sam_moore> But I have "bool GPIO_Export(int pin)" in bbb_pin.c
+15:27 < jtanx> oh right
+15:27 < sam_moore> So it makes no sense
+15:28 < jtanx> hmm
+15:29 < sam_moore> Ooh
+15:29 < sam_moore> It must be something to do with the "stub" functions
+15:29 < jtanx> Is this on compilation on the BBB
+15:29 < sam_moore> No, BBB was fine last time I checked
+15:29 < jtanx> okay,w ell I'm not getting any warnings
+15:29 < sam_moore> Compiling on my laptop because it's faster
+15:30 < sam_moore> #define GPIO_Export(pin) True_Stub((void*)pin)
+15:30 < sam_moore> That means the int is getting cast to a void*
+15:30 < jtanx> yeah on my computer it's not putting out any warnings
+15:30 < jtanx> int to void* is fine
+15:30 < jtanx> anything to void* is fine
+15:30 < jtanx> actually
+15:30 < jtanx> is your system 64 bit
+15:30 < sam_moore> 64 bit
+15:31 < jtanx> yeah
+15:31 < sam_moore> (You still have 32 bit :P)
+15:31 < jtanx> well that would explain it
+15:31 < sam_moore> Ok, it doesn't matter
+15:31 < sam_moore> The stub function doesn't actually do anything with the value
+15:31 < jtanx> cast int to int64 or whatever it is
+15:32 < sam_moore> That would cause warnings on the BBB though?
+15:32 < jtanx> only for the stub functions
+15:32 < jtanx> and only for 64 bit
+15:32 < jtanx> more ifdefs, yay
+15:32 < sam_moore> ...
+15:32 < jtanx> or we could get rid of the stubs 
+15:32 < sam_moore> I'm just going to ignore the warnings
+15:32 < sam_moore> That could also work
+15:32 < sam_moore> It doesn't really matter
+15:32 < jtanx> and just do Wno-unsued-function or someting
+15:32 < jtanx> yeah, oh well
+15:35 < jtanx> One of the suggestions for the dilatometer was to just take a photo at the start and at the end
+15:35 < jtanx> then do comparison
+15:35 < sam_moore> Um, ok
+15:35 < sam_moore> If they just want 2 data points
+15:35 < jtanx> well
+15:35 < jtanx> if we can find something other than opencv
+15:36 < sam_moore> Ah
+15:36 < sam_moore> How slow is it?
+15:36 < jtanx> that may help, because right now opencv only plays nice with 352x288 or some other crap resolution
+15:36 < jtanx> it's not that it's slow
+15:36 < jtanx> is that it only works if the resolution is ~ 350 pixels x 2xx pixels
+15:37 < jtanx> ffmpeg is fine with 640x480 afaik
+15:37 < jtanx> it could probably do higher but haven't tested that
+15:38 < sam_moore> http://libccv.org/
+15:38 < sam_moore> Maybe
+15:39 < jtanx> or what if we framegrabbed with some external softare
+15:39 < jtanx> then used opencv to process the saved image
+15:39 < sam_moore> Yes, I was about to suggest that
+15:39 < sam_moore> I'm assuming the problem with OpenCV is that it doesn't like taking images from cameras directly of that resolution
+15:39 < sam_moore> And not some underlying problem with having large CvMats or something
+15:40 < jtanx> no idea why
+15:40 < jtanx> some obscure setting can probably fix it or something
+15:40 < jtanx> but I'm not about to trawl though opencv documentaiton now
+15:40 < sam_moore> Actually OpenCV works with my 640x480 webcam, so it's probably some low level arm specific problem
+15:40 < sam_moore> Which would probably mean that other image processing libraries would also suck
+15:40 < jtanx> it may be that too
+15:41 < jtanx> I know that with ffmpeg it was spitting warnings at 640x480
+15:41 < jtanx> like non-monotonically increasing timestamp
+15:41 < jtanx> and some other crap
+15:41 < jtanx> I was running guvcview though
+15:42 < jtanx> and it seemed to take 640x480 just fine
+15:42 < jtanx> it was quite slow with x-forwarding and all, but at least it worked
+15:44 < sam_moore> Hmm
+15:44 < sam_moore> I would be inclined to say that taking a bunch of data points at low resolution is probably more useful than taking 2 data points at high resolution
+15:45 < sam_moore> The best solution is to find some way of reading at the higher resolution though
+15:46 < sam_moore> ... I'm worried about what Kieran is going to produce if he writes this dilatometer algorithm
+15:46 < sam_moore> It's going to return an array isn't it...
+15:46 < sam_moore> I have no idea why
+15:47 < jtanx> :3
+15:47 < jtanx> brb ~5 mins while I relocate to a lecture theatre
+15:47 < sam_moore> Ok
+15:47 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+15:54 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+16:13 < sam_moore> Ok, this is both terrible and awesome
+16:13 < sam_moore> But I've written a test "sensor" that is essentially just an external program
+16:17 < sam_moore> So... if anyone complains about not being able to use python... they can use python
+16:17 < sam_moore> And they don't have to reinvent all of our FastCGI stuff
+16:17 < sam_moore> Although apparently that's easy in python anyway
+16:17 < sam_moore> It's the thought that counts
+16:21 < jtanx> :P
+16:21 < jtanx> flup
+16:30 < jtanx> http://zacharyvoase.com/2009/09/08/sendfile/
+16:30 < jtanx> this could be interesting
+16:31 < jtanx> replace static with our fastcgi app
+16:31 < jtanx> http://wiki.nginx.org/XSendfile
+17:00 -!- jtanx [[email protected]] has quit [Ping timeout]
+17:52 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+18:07 < jtanx> mmm feature creep
+18:08 < sam_moore> Meh, it was better than dealing with that switch statement
+18:09 < jtanx> yeah
+18:09 < sam_moore> Also it made it really easy to decide where to put mutexes
+18:10 -!- MctxBot [[email protected]] has quit [Ping timeout]
+18:10 < sam_moore> Given that I would have had to write a "strain.c" and do about the same amount of work anyway, I think the solution is a good one
+18:10 < jtanx> it kind o makes sense though
+18:11 < jtanx> you can't particularly generalise that much to each sensor type
+18:11 < jtanx> so it makes sense to separate out based on what type of sensor it is
+18:11 < sam_moore> Yes
+18:11 < sam_moore> The Piped sensor is definitely feature creep though :P
+18:12 < jtanx> ^-^
+18:12 < sam_moore> Although...
+18:13 < sam_moore> If we wanted to distribute the sensors with a "master slave" system
+18:13 < sam_moore> The code would end up looking  alot like that
+18:13 < sam_moore> Except with a network socket instead of a unix domain socket
+18:14 < sam_moore> Also I'm not sure why I called it piped given that it doesn't use a pipe
+18:14 < sam_moore> I suppose it sounds cooler than "uds"
+18:20 < jtanx> So with electronics
+18:20 < jtanx> the reason why they were having issues with getting the psu approved 
+18:20 < jtanx> was because they wanted to cut the leads and solder directly to the board
+18:21 < jtanx> Oliver suggested that they use extension connectors
+18:21 < jtanx> and cut the lead on the extension
+18:21 < jtanx> but why they didn't think of that first, I don't know
+18:37 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+18:45 < jtanx> now to watch this week's lecture...
+21:31 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Thu Oct 10 2013
+08:11 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+09:40 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+13:30 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+23:04 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Fri Oct 11 2013
+08:21 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
+08:42 -!- Rowan [[email protected]] has quit [EOF From client]
+09:19 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+09:59 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+15:09 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+15:10 < jtanx> urgh
+15:10 < jtanx> burning the midnight oil trying to get my cits2232 project done
+15:10 < jtanx> but
+15:10 < jtanx> it has taught me a lot about django
+15:10 < jtanx> which may be of use, especially for the whole admin stuff
+15:11 < jtanx> one possibility is that we have two separate 'logins'
+15:11 < jtanx> one gains you access to the site
+15:11 < jtanx> one gains control over the bbb (eg the server api)
+15:12 < jtanx> what you could do is keep the 'bind' functionality for the api, but make it check against the django user database for credentials
+15:12 < jtanx> I'll look into it, if not today then probably tomorrow
+19:39 < sam_moore> That sounds good
+19:48 < sam_moore> Should we do something like this: http://stackoverflow.com/questions/8988855/include-another-html-file-in-a-html-file (The accepted answer) to do with our sidebar/menu stuff
+19:48 < sam_moore> Although...
+19:48 < jtanx> well 
+19:48 < jtanx> if we use django it has really cool templating stuff
+19:48 < sam_moore> That solution is actually about as much as just copy/pasting the sidebar at the moment
+19:48 < jtanx> yeah
+19:49 < sam_moore> So Django does parts of our GUI as well as the user management system?
+19:49 < jtanx> Well yeah
+19:49 < jtanx> so django would be ui mostly
+19:49 < jtanx> then tack on to that our api
+19:49 < jtanx> which remains exactly the same
+19:49 < jtanx> except that it uses the django database for checking authorizaiton
+19:50 < jtanx> so right before you commence an experiment, you try to 'gain control' of the bbb, you resupply your login creds
+19:50 < sam_moore> Sure, that's a good solution, I thought django would just do user management though (rather than replace the JavaScript GUI)
+19:50 < jtanx> well if you do use django
+19:50 < jtanx> it's a good idea to change some of it, because of the templating system
+19:51 < jtanx> and that it can conditionally show content 
+19:51 < sam_moore> Ok
+19:51 < jtanx> some of the javascript stuff will stay though, definitely
+19:51 < jtanx> especially all the live update stuff
+19:51 < jtanx> but this is getting ahead of myself, because i'm not even sure if this will work
+19:51 < sam_moore> Hahaha
+19:52 < sam_moore> You're entering a territory where I can't help much
+19:52 < jtanx> yeah, well all of this 'web development' is new area for me too :P
+19:52 < jtanx> I'm supposed to be majoring in computation, not web tech...
+19:52 < sam_moore> You know more/better jQuery than me
+19:52 < jtanx> jquery is pretty easy to learn though
+19:53 < jtanx> i picked it up completely from this project
+19:53 < sam_moore> Well, that's one reason why we went with it, since I used it briefly for something and it wasn't too hard, and James said he'd used it before too
+19:54 < jtanx> Yeah
+19:54 < sam_moore> If you want to replace stuff with django, I'm ok with that, if it's simpler
+19:55 < jtanx> I'll see how it goes, hopefully it shouldn't be too hard to setup
+19:55 < sam_moore> It just seems silly to copy/paste this Navigation Menu into every file
+19:55 < jtanx> yep
+19:55 < sam_moore> But copy/pasting the code (stack overflow) to automatically make it is also annoying
+19:55 < jtanx> We can roll with the jquery soln if I don't get this working
+19:56 < sam_moore> Unless you could include that in the "runBeforeLoad()" ?
+19:56 < jtanx> can't you just have a placeholder
+19:56 < jtanx> and on document load, you load it?
+19:56 < sam_moore> Yeah
+19:56 < jtanx> It'll look a bit crap because you'll see it before the sidebar loads
+19:56 < sam_moore> Actually that's how you're doing other things
+19:56 < jtanx> yeah
+19:56 < sam_moore> But the navigation menu is hard coded html
+19:56 < sam_moore> I'm just reading the existing code :P
+19:56 < jtanx> haha
+19:57 < jtanx> yeah it's hardcoded - it's the easiest solution
+19:57 < jtanx> I've got my case study for 2402 this/next week too
+19:57 < sam_moore> Um... I think it's fairly easy to call load from a file
+19:57 < sam_moore> I'll look into that
+19:57 < jtanx> ok
+19:58 < sam_moore> The case study was reasonable, although he wanted a lot more detail from us
+19:58 < jtanx> what did you do?
+19:58 < sam_moore> Despite struggling to cram it into 4 pages
+19:58 < sam_moore> The pencil
+19:58 < sam_moore> That's a good one
+19:58 < jtanx> ah
+19:58 < sam_moore> Lots of youtube videos
+19:58 < jtanx> we're doing pet bottles
+19:58 < jtanx> there's this megafactories one on the coke plant which was prettyc ool
+19:58 < jtanx> but yeah the pencil one also has a lot 
+19:58 < jtanx> i think i saw the how its made one
+19:59 < jtanx> Ha
+19:59 < jtanx> http://wiki.nginx.org/HttpSsiModule
+19:59 < jtanx> if you want to get server specific
+19:59 < jtanx> you can do ssi
+19:59 < jtanx> let's not do that if possible :P
+20:00 < sam_moore> Wait...
+20:00 < sam_moore> It looks like you put html comments and they get sent to the server?
+20:00 < sam_moore> How is that a thing?
+20:00 < jtanx> <!--# include file="footer.html" -->
+20:00 < jtanx> nah what happens
+20:00 < jtanx> is the server reads the html file
+20:00 < jtanx> and where there's special placeholders
+20:00 < jtanx> it does stuff
+20:00 < sam_moore> Ah
+20:01 < sam_moore> No, do it client side
+20:01 < jtanx> yeah
+20:01 < sam_moore> There's like jQuery.load
+20:01 < sam_moore> I'd probably keep django for user auth to start with
+20:01 < sam_moore> But I think jQuery should be sufficient for the GUI
+20:02 < jtanx> I think if you roll with django
+20:02 < jtanx> you should use jQuery for all the interactive stuff
+20:02 < jtanx> (which you'd have to anyway)
+20:02 < jtanx> but you should use the templating system that django's got
+20:03 < sam_moore> Ok, what does django give you exactly then, I'm not quite sure what the "template" stuff is, I assume it's nothing like a C++ template
+20:03 < jtanx> OK
+20:03 < jtanx> hmm
+20:03 < jtanx> I'll give you access to my cits2232 repo temporarily
+20:03 < jtanx> so you can see
+20:03 < sam_moore> If it lets you easily include bits of html that's cool, but jQuery looks to be able to do that easily as well
+20:03 < sam_moore> Alright
+20:04 < jtanx> actually you know what
+20:04 < jtanx> i'll just post it on pastebin or something
+20:05 < jtanx> http://privatepaste.com/ec22ba7238
+20:05 < jtanx> That's the base template
+20:05 < jtanx> http://privatepaste.com/07499e4a19
+20:05 < jtanx> That's the index
+20:05 < jtanx> {{variable_name}} will display a variable name
+20:05 < jtanx> sorry, the contents of that variable
+20:06 < jtanx> {% %} blocks are for control
+20:06 < sam_moore> Hmm
+20:07 < jtanx> the base template got a bit out of hand for that project
+20:07 < sam_moore> Well, if you want to use something like that I'm ok with it
+20:07 < sam_moore> Although I think the thing that I was originally complaining about can be solved in jQuery :P
+20:08 < jtanx> yeah
+20:08 < sam_moore> But you should probably ask everyone else involved with the GUI for input too
+20:08 < jtanx> Yeah, good point
+20:09 < sam_moore> ... Really I didn't want to be involved with the GUI, but I kind of need to mess around with at least some basic graph stuff to work out if I need to change the server sensors/actuators api
+20:09 < jtanx> well let's just say that i did not envision doing the gui either
+20:09 < sam_moore> I'll try and keep what I do consistent with the overall style though
+20:09 < sam_moore> Which is how I got sidetracked complaining about copy/pasting things :P
+20:10 < sam_moore> I think the GUI we have so far is pretty good
+20:10 < jtanx> hehehe
+20:10 < jtanx> yeah it's not too bad
+20:11 < jtanx> the only thing that I wouldn't know how to do is that admin stuff
+20:11 < sam_moore> user admin or experiment admin?
+20:11 < jtanx> um
+20:11 < jtanx> I dunno, whatever that 'admin' functionality needs to be
+20:11 < jtanx> like 'access the full logs'
+20:11 < sam_moore> Oh, right
+20:12 < jtanx> unless you start implementing permissions in the api
+20:12 < sam_moore> Hmm, we might have to
+20:13 < sam_moore> It should just be an enum for the user type that gets returned/set by the authentication handler and checked for certain operations
+20:13 < sam_moore> But as you mentioned the other day, you don't want someone to be able to login after someone else has started an experiment and cancel it
+20:13 < sam_moore> Actually
+20:13 < sam_moore> Do you?
+20:13 < jtanx> admin only?
+20:13 < sam_moore> Exactly
+20:14 < jtanx> how difficult is that to do though
+20:14 < sam_moore> Store the username of who owns the current experiment
+20:14 < sam_moore> Store an enum of the user type of whoever is currently logged in
+20:14 < sam_moore> If someone tries to stop the experiment, unless their username matches, or they are an admin, refuse
+20:14 < sam_moore> There could be a safety issue there?
+20:15 < jtanx> the only thing is
+20:15 < sam_moore> If someone needs to stop the experiment but isn't an admin?
+20:15 < jtanx> everything's based off the control key
+20:15 < sam_moore> Meh... add another cookie
+20:15 < sam_moore> ... That escalated quickly
+20:15 < jtanx> you've already used the nameless cookie
+20:15 < jtanx> if you add another cookie
+20:15 < jtanx> you have to do string parsing
+20:15 < jtanx> and have named cookies
+20:16 < sam_moore> Hmmm
+20:16 < sam_moore> "Beyond the scope of the project" ?
+20:16 < jtanx> i think the format was
+20:16 < jtanx> key=value; key=value2
+20:16 < jtanx> yeah, beyond the scope :P
+20:16 < sam_moore> Yeah, that is ever so annoying
+20:16 < jtanx> let's leave it for now
+20:16 < jtanx> come back to it
+20:16 < sam_moore> Because if it were something like "key=value&key=value2" you could potentially reuse the FCGI parser
+20:17 < jtanx> yeah
+20:17 < jtanx> you could modify it
+20:17 < sam_moore> That would be the way to go
+20:17 < jtanx> generalise it
+20:17 < sam_moore> But it's low priority now
+20:17 < jtanx> yep
+20:17 < jtanx> wow i'm getting seriously sidetracked
+20:18 < jtanx> this mechatronics project is more interesting than any of my other projects though
+20:18 < sam_moore> Haha
+20:19 < sam_moore> I know what you mean
+20:19 < sam_moore> I want to compile a RT linux kernel on my laptop (since they have x86 versions)
+20:19 < sam_moore> So that I can look at how much the consistency in sample rate could theoretically improve...
+20:20 < sam_moore> If someone managed to port the RT linux kernel to the BeagleBone
+20:20 < jtanx> RT linux on your computer
+20:20 < jtanx> isn't that generally bad
+20:20 < jtanx> because RT screws up other stuff
+20:21 < sam_moore> Like what?
+20:21 < jtanx> decreased performance to meet the deadlines
+20:21 < sam_moore> Also, I don't have to permanently replace my existing kernel, just add another bootloader entry
+20:22 < sam_moore> If it screws up nginx that would be annoying though
+20:23 < jtanx> while you're at it, try running the bfs scheduler instead of the cfs scheduler :P
+20:23 < sam_moore> Maybe
+20:42 < sam_moore> Ok, the solution to the copy/paste is just something like $("#sidebar").load("static/sidebar.html")
+20:42 < sam_moore> However, whilst running this in the document.ready function on a test page works, running it in index.html appears to have no effect
+20:43 < sam_moore> Oh
+20:43 < sam_moore> I know why
+20:43 < sam_moore> Because runBeforeLoad is failing
+20:43 < sam_moore> Presumably you still want to load content like the navigation bar even if the server isn't running
+20:44 < sam_moore> So... there is ".done()" and ".fail()" ... is there ".either()"?
+20:46 < sam_moore> Ahahaha
+20:47 < sam_moore> Of course, there is ".always()"
+20:49 < sam_moore> Hmm, I wouldn't want to design any sort of large system with a language like this, but it is an interesting style
+20:51 < jtanx> haha
+20:52 < sam_moore> So, a lot of the header stuff can be moved into .html files and just jQuery.loaded, which should make things cleaner
+20:52 < sam_moore> I will refrain from doing that now though
+20:53 < jtanx> don't be too tempted to do a lot of templating with javascript
+20:53 < jtanx> because it will load asynchronously, stuff will look weird
+20:53 < jtanx> and if the js breaks
+20:53 < jtanx> well, your page is more screwed than before
+20:54 < sam_moore> Ok... but you could still potentially have at least one html file in the static directory
+20:54 < sam_moore> With all the header and navigation stuff
+20:55 < sam_moore> Just have a .fail() function!
+20:55 < sam_moore> That's what it's for, right :P
+20:56 < sam_moore> $("#thing").load("static/thing.html").fail($("#thing").html("<p> Something fucked up </p>")
+20:56 < sam_moore> Oh dear
+20:58 < jtanx> ~.~
+20:58 < jtanx> django here: https://mctx.us.to:8043/databases
+20:58 < jtanx> login with testuser:testuser
+20:58 < jtanx> ignore that it looks a lot like our gui
+20:58 < jtanx> except it doesnt work anymore
+21:00 < sam_moore> Well, django's used for UCC for member administration
+21:01 < sam_moore> Except it's entirely seperate from LDAP which we use for authentication
+21:01 < sam_moore> Except it's not really because it binds to LDAP for authentication :S
+21:01 < sam_moore> Wheels within wheels...
+21:02 < jtanx> ookay
+21:04 < sam_moore> You need LDAP for shell access
+21:04 < sam_moore> In fact...
+21:04 < sam_moore> We could potentially give pheme users shell access to the BeagleBone
+21:04 < sam_moore> But there's not really any point
+21:04 < jtanx> is that a good idea
+21:05 < sam_moore> No
+21:05 < sam_moore> It's an awful idea
+21:05 < sam_moore> Just saying it's possible :P
+21:06 < sam_moore> Someone could do this: :(){ :|:& };:
+21:06 < sam_moore> And break the entire thing
+21:08 < jtanx> is that the fork bomb
+21:09 < jtanx> ok the site works now
+21:09 < jtanx> sort of
+21:10 < sam_moore> 400 Bad Request
+21:10 < jtanx> hurr
+21:10 < sam_moore> I think iceweasel is being dumb and ignoring https:// ?
+21:10 < sam_moore> Although it was fine before
+21:11 < jtanx> nah probably screwed up the nginx config
+21:11 < sam_moore> No, it works, I just had to type the https:// instead of copy paste
+21:11 < sam_moore> Wierd
+21:11 < sam_moore> The test login doesn't work though
+21:11 < jtanx> testuser doesn't work for some reason
+21:11 < jtanx> yeah just register
+21:12 < sam_moore> Will it actually send an email?
+21:12 < jtanx> urgh
+21:12 < jtanx> no
+21:12 < sam_moore> haha
+21:12 < jtanx> okay no the config is still broken
+21:16 < sam_moore> I'll have to come back to this tomorrow
+21:16 < sam_moore> Bye
+21:17 < jtanx> ok bye
+23:09 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Sat Oct 12 2013
+10:20 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+13:49 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
+13:49 -!- MctxBot_ [[email protected]] has joined #mctxuwa_softdev
+14:03 -!- jtanx [[email protected]] has quit [Ping timeout]
+14:05 -!- MctxBot [[email protected]] has quit [Ping timeout]
+14:34 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+14:39 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+14:46 -!- jtanx_ [[email protected]] has quit [Ping timeout]
+14:47 -!- MctxBot_ [[email protected]] has quit [Ping timeout]
+--- Log closed Sat Oct 12 17:39:23 2013
+--- Log opened Sat Oct 12 22:41:38 2013
+22:41 -!- matches [[email protected]] has joined #mctxuwa_softdev
+22:41 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
+22:41 -!- Irssi: Join to #mctxuwa_softdev was synced in 2 secs
+22:41 -!- You're now known as sam_moore
+--- Day changed Sun Oct 13 2013
+08:30 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+10:18 < jtanx> yeah, about the django stuff, I'm not sure if we should do that now
+10:18 < jtanx> two options I considered:
+10:19 < jtanx> if you kept the 'bind' module, but added a method to authenticate against the django database, that could work, but it's a lot of effort
+10:19 < jtanx> - there's two ways - one is to manually do it via interaction with the sqlite database and parsing the user string etc etc
+10:20 < jtanx> the other way is to call the python function from c
+10:20 < jtanx> I explored the 'call python from c' option and it does work, but it's quite cumbersome
+10:20 < jtanx> I didn't bother exploring the 'manual interaction with sqlite' because that would be even more cumbersome
+10:21 < jtanx> The other way, which I got working quite easily
+10:21 < jtanx> is to protect one of the modules with nginx
+10:21 < jtanx> say /api/control now becomes an 'internal' only module
+10:21 < jtanx> so it's not usually accessible from outside
+10:22 < jtanx> with django, say you got the address /databases/control
+10:23 < jtanx> it can send back a request with header 'X-Accel-Redirect' to /api/control
+10:23 < jtanx> Because it was sent by django, which is an internal application, it works
+10:23 < jtanx> such that /databases/control looks like /api/control to the user
+10:24 < jtanx> the problem with this setup is that then your api becomes entirely dependent on django to work
+10:24 < jtanx> I guess you could replace 'django' with any other authrorization frontend
+10:31 < jtanx> let's just stick with what we've got
+10:36 < jtanx> hahahaha and that x-accel-redirect just crashed my server after I held down f5
+10:36 -!- MctxBot [[email protected]] has quit [Connection reset by peer]
+10:39 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+19:19 < jtanx> I think I'll try to get in early tomorrow to work on whatever needs to be done
+19:56 < jtanx> For the actuators, do you really want it to crash (Fatal) if the user supplies a step say of 0,1,40000,2?
+21:19 < jtanx> working on the graphs now
+23:29 < jtanx> ookay
+23:29 < jtanx> too tired to check, but I refactored it and I think it still works
+23:30 < jtanx> I'll just leave it in my fork for now
+23:30 -!- jtanx [[email protected]] has quit ["bye"]
+--- Day changed Mon Oct 14 2013
+10:03 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+10:03 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+19:15 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+19:19 < jtanx> this is stupi
+19:19 < jtanx> d
+19:19 < jtanx> flot is still the easiest to use
+19:20 < jtanx> chart.js can only plot a line chart, so all the data series must share the same x-axis points
+19:20 < jtanx> jqplot sucks
+19:21 < jtanx> oh well, I'll work on this some other time
+19:21 < jtanx> stick with flot for now
+19:40 < sam_moore> Re actuators: No, Fatal is probably not the correct response to an invalid user input :P
+19:40 < sam_moore> Re just using flot: OK
+19:43 < sam_moore> I think we need to do a grep -R "Fatal" and get rid of the ones that don't actually need to be Fatal
+19:43 < sam_moore> Which is probably most of them
+19:44 < sam_moore> Working on more useful user based control now
+19:45 < jtanx> ok
+19:46 < jtanx> I wonder if it's possible to selectively colour text in a textarea with javascript
+19:47 < sam_moore> Probably?
+19:47 < jtanx> I have a feeling that you'd have to surround those ones in <p> blocks
+19:48 < sam_moore> Hmm, but that would make them all on new paragraphs
+19:48 < jtanx> fine, <span>s
+19:48 < sam_moore> That makes sense
+19:48 < jtanx> but you'd probably need to surround highlighted text in some sort of <> block
+19:48 < jtanx> so you can style it
+19:48 < sam_moore> Makes sense
+19:48 < sam_moore> What are you going to colourise?
+19:49 < jtanx> say if there's a fatal message
+19:49 < jtanx> you colour it red?
+19:49 < jtanx> make it blink, 90s style
+19:52 < sam_moore> Hahaha
+19:52 < sam_moore> Sounds good
+19:53 < sam_moore> Colourising the labels for the graph might be useful too
+19:53 < sam_moore> (Possibly easier than adding labels to the flot plot?)
+19:53 < jtanx> hmm
+19:54 < jtanx> what I was thinking of doing was to use nvd3, which generates the graphs using the svg element instead of a canvas
+19:54 < jtanx> then you can use something like http://code.google.com/p/canvg/ to render the svg in js to a png file
+19:55 < sam_moore> Interesting
+19:55 < jtanx> no idea if it will work
+19:56 < sam_moore> Do you even have to render it to png? SVG is a good format for graphs
+19:56 < jtanx> i mean if you want to save it
+19:56 < jtanx> i dunno, most users will go
+19:56 < jtanx> what's this svg format
+19:56 < sam_moore> That's what I mean; can you save it as an svg?
+19:56 < sam_moore> Hahaha
+19:56 < jtanx> probably
+19:56 < sam_moore> If it were me, I would *want* the svg format
+19:56 < sam_moore> You can edit the graph in inkscape
+19:57 < sam_moore> Really easily
+19:57 < jtanx> yeah
+19:57 < jtanx> I'd prefer the svg format too
+19:57 < sam_moore> Get SVG working and if you really want, add a radio box to choose the file format
+19:57 < jtanx> yep
+19:58 < sam_moore> I thought FCGI_LockControl was being called on any user action, but it looks like it's only called in login.c now
+19:58 < sam_moore> Is that the change you were talking about earlier?
+19:59 < jtanx> nah
+19:59 < jtanx> fcgi_lockcontrol should only be called in login.c
+19:59 < jtanx> there was this leftover part in control.c
+19:59 < sam_moore> Oh, right, nevermind
+19:59 < jtanx> that called it too
+20:00 < sam_moore> I was thinking of FCGI_HasControl,that's ok
+20:00 < jtanx> yeah
+20:10 < MctxBot> .
+20:12 < sam_moore> ?
+20:12 < sam_moore> MctxBot: Have you become sentient yet?
+20:12 < jtanx> I was just testing notification on all messages for chatzilla
+20:14 < sam_moore> Ok
+20:53 < sam_moore> I think the correct way to do this is to store more stuff in the FCGI_Context
+20:54 < sam_moore> Like the name of the experiment currently being conducted
+20:54 < jtanx> hmm
+20:54 < sam_moore> I noticed that control.c avoids storing the actual name of the experiment anywhere
+20:54 < sam_moore> But it's late and I'm just going to hack something together
+20:55 < jtanx> yeah
+20:55 < jtanx> I don't particularly like how 'experiments' were handled in control.c
+20:55 < sam_moore> g_control stores the user name of whoever last succeeded in doing an "action=start"
+20:55 < sam_moore> I can rework it, but not tonight
+20:55 < jtanx> that's fine
+21:41 < sam_moore> ==21160==  Uninitialised value was created by a stack allocation
+21:41 < sam_moore> ==21160==    at 0x6A22DBE: __md5_crypt_r (md5-crypt.c:121)
+21:41 < sam_moore> :S
+21:41 < jtanx> .....
+21:41 < sam_moore> Not causing an error, but still
+21:41 < jtanx> what does that even mean
+21:42 < sam_moore> It's nice to know that the linux crypt functions that are used for parsing /etc/shadow have uninitialised values
+21:42 < jtanx> you sure you're calling it correctly
+21:42 < jtanx> ?
+21:42 < sam_moore> The full text (brace for impact)
+21:42 < sam_moore> ==21160== Conditional jump or move depends on uninitialised value(s)
+21:42 < sam_moore> ==21160==    at 0x6D75188: ??? (strcpy.S:98)
+21:42 < sam_moore> ==21160==    by 0x6A230E7: __md5_crypt_r (md5-crypt.c:249)
+21:42 < sam_moore> ==21160==    by 0x40A5F6: Login_Shadow (login.c:93)
+21:42 < sam_moore> ==21160==    by 0x40AA7B: Login_Handler (login.c:243)
+21:42 < sam_moore> ==21160==    by 0x404CE3: FCGI_RequestLoop (fastcgi.c:548)
+21:42 < sam_moore> ==21160==    by 0x4052AE: main (main.c:143)
+21:42 < sam_moore> ==21160==  Uninitialised value was created by a stack allocation
+21:42 < sam_moore> ==21160==    at 0x6A22DBE: __md5_crypt_r (md5-crypt.c:121)
+21:42 < sam_moore> if (strcmp(crypt(pass, salt), buffer+passwd_index) == 0)
+21:43 < sam_moore> Looks like the correct usage to me
+21:43 < sam_moore> I mean, it's *working*
+21:43 < jtanx> ~.~
+21:43 < jtanx> well then
+21:44 < sam_moore> It's probably someone being lazy with initialising things
+21:44 < jtanx> https://bugzilla.redhat.com/show_bug.cgi?id=760262
+21:44 < sam_moore> GCC under linux usually initialises things to zero
+21:44 < jtanx> https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=699917
+21:44 < sam_moore> But under other things (like Mac OSX) it doesn't; if it's not initialised you can't assume anything
+21:45 < jtanx> I thought C standard was any global variables were zeroed
+21:45 < jtanx> anything else is undefined
+21:45 < sam_moore> Well it's probably not a global variable then
+21:45 < sam_moore> But I think you're right
+21:45 < sam_moore> I just remember in CITS1210
+21:45 < jtanx> from the bug report - 'This is an annoying, but harmless false positive warning.'
+21:46 < sam_moore> We had a bunch of variables that weren't initialised
+21:46 < sam_moore> gcc under debian/ubuntu was zeroing them for us
+21:46 < sam_moore> So things still worked
+21:46 < jtanx> yeah
+21:46 < sam_moore> Go to the Mac lab...
+21:46 < sam_moore> Everything exploded
+21:46 < jtanx> hahahaha
+21:46 < jtanx> ah... CITS1210
+21:46 < jtanx> when did you take it?
+21:46 < sam_moore> Aaages ago
+21:46 < sam_moore> 2009?
+21:47 < jtanx> that was long ago
+21:47 < sam_moore> Yes
+21:47 < jtanx> 2011 for me
+21:47 < sam_moore> We got 100% though :)
+21:47 < sam_moore> For the second project
+21:47 < jtanx> sweet
+21:47 < jtanx> I think I got that too
+21:47 < jtanx> they docked marks off the first one for some stupid reason 
+21:47 < sam_moore> (He had an infinite loop in the sample solution, which we found and eliminated in our solution, I think that was the main reason)
+21:48 < jtanx> ook
+21:48 < sam_moore> (He probably didn't appreciate the #ifdef BE_REALLY_STUPID // Replicate the behaviour *exactly* as requested by the lecturer)
+21:48 < jtanx> :P
+21:48 < sam_moore> Good fun
+21:49 < jtanx> yeah, one of the comments on mine was 'did not exactly match whitespace of output'
+21:49 < sam_moore> Haha, it was pretty harsh with the replicating exactly
+21:49 < sam_moore> We had a long debate about whether we should replicate the infinite loop or not
+21:49 < sam_moore> I think we actually submitted it with "BE_REALLY_STUPID" defined :S
+21:50 < jtanx> hahahaha
+22:24 < jtanx> now to look into nvd3
+22:36 < sam_moore> I've pushed some progress, I will try and clean it up later this week (it's pretty hacky)
+22:36 < jtanx> cool
+22:37 < sam_moore> I do like the idea of having svg plots, if it works it will be much nicer than flot
+22:37 < jtanx> hopefully
+22:37 < jtanx> it doesn't work in ie8 without this compat library
+22:37 < sam_moore> Ah
+22:37 < jtanx> and with compat it'll probably be slow
+22:37 < jtanx> but oh well
+22:38 < sam_moore> Fallback to flot if browser is ie8? :P
+22:38 < jtanx> yeah
+22:38 < jtanx> maybe
+22:38 < jtanx> that could work
+22:39 < sam_moore> I'm pretty sure it's within our rights to say "You need to use one of these browsers" since it's so easy to install browsers
+22:39 < jtanx> true
+22:39 < jtanx> ie8 is more an afterthought anyway
+22:39 < sam_moore> But I suppose if they have some stupid SOE that only includes ie6...
+22:39 < jtanx> if you use ie6 you'd be screwed anyway
+22:39 < sam_moore> Haha
+22:40 < sam_moore> The first flot page I made didn't work in my phone's browser, but that's probably a JavaScript setTimeout thing
+22:40 < jtanx> do browsers even support the canvas element
+22:40 < jtanx> *mobile browsers
+22:41 < sam_moore> Well it showed the first set of data but didn't update
+22:41 < jtanx> oh 
+22:41 < jtanx> right
+22:41 < sam_moore> Don't worry, we don't need to support phone browsers
+22:41 < sam_moore> Or at least, until we tell Adrian that we don't support phone browsers, we won't have to support phone browsers :P
+22:42 < jtanx> hehehe
+23:12 -!- jtanx [[email protected]] has quit [Connection reset by peer]
+23:13 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+23:20 < jtanx> hahaha nvd3 crashed firefox
+23:20 < jtanx> let me try again
+23:20 < jtanx> if I disconnect, you know why
+23:22 < jtanx> well it didn't crash, but it didn't work
+23:22 < jtanx> oh well, I'll try again tomorrow
+23:22 -!- jtanx [[email protected]] has quit ["bye"]
+--- Day changed Tue Oct 15 2013
+12:08 < sam_moore> http://jayrambhia.com/blog/capture-v4l2/
+12:08 < sam_moore> Might be useful?
+12:08 < sam_moore> I suspect the issue with the cameras is related to the colour format
+12:08 < sam_moore> MJPEG fails, but YUVU (whatever the hell that is) succeeds
+12:09 < sam_moore> Although it is still only giving 320x240
+12:13 < sam_moore> I noticed uvccapture, etc are quite buggy on my own debian laptop
+12:13 < sam_moore> I'm hoping that it might actually be a shitty userspace error that we can fix by using the v4l2 API directly
+12:13 < sam_moore> Although it's not likely
+12:14 < sam_moore> May as well try
+12:14 < sam_moore> But uvccapture just likes to hang forever
+12:14 < sam_moore> If you give it larger resolutions
+18:52 -!- james__ [[email protected]] has joined #mctxuwa_softdev
+19:29 -!- james__ [[email protected]] has quit [Ping timeout]
+21:27 -!- James__ [[email protected]] has joined #mctxuwa_softdev
+21:31 < James__> Hey Sam
+21:39 < James__> Having Issues uploading to the GUI to git but i have successfully tested it on Firefox, Chrome and IE.  I will continue trying to upload but if i can't i will see if i can find you or Jeremy tomorrow 
+21:57 -!- James__ [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+--- Day changed Wed Oct 16 2013
+13:39 -!- MctxBot [[email protected]] has quit [Ping timeout]
+13:59 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+13:59 < jtanx> ...
+13:59 < jtanx> I brought the bbb home
+14:00 < jtanx> booted it off an ubuntu image, and uvccapture can take 800x600 images fine from my webcap
+14:00 < jtanx> webcam*
+14:00 < jtanx> I don't know if it's because it's a different camera, or because it's a different os
+14:34 < jtanx> I just tested with the api/image and I can get 800x600 fine
+14:34 < jtanx> too
+14:38 < jtanx> I can even do 1600x1200 images just fine 
+14:38 < jtanx> ................
+14:38 < jtanx> ._.
+14:38 < jtanx> I'll be bringing this in tomorrow, see if it works with the cameras that we're going to be using
+14:39 < jtanx> Since my 1gb sd card was not big enough to opencv, I've actually flashed the internal memory with ubuntu
+14:39 < jtanx> (so I could install opencv)
+14:41 < jtanx> wowthat is so stupid
+14:42 < jtanx> so either it's the cameras that we bought, or the os 
+14:42 < jtanx> but it works at 1600x1200
+14:42 < jtanx> (max resolution of my webcam)
+14:43 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+15:00 < jtanx> ok, I just tried it with the os we've been running before (on your 32gb sd card), and it also works at 1600x1200
+15:00 < jtanx> so it's an issue with the camera
+15:01 < jtanx> (e.g selecting a camera that actually works with the BBB
+15:14 -!- jtanx [[email protected]] has quit ["brb"]
+15:16 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+20:10 -!- MctxBot [[email protected]] has quit [Ping timeout]
+21:41 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
+21:56 -!- jtanx [[email protected]] has quit [Ping timeout]
+23:28 -!- jtanx_ [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+23:28 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+--- Day changed Thu Oct 17 2013
+09:16 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+09:17 < jtanx> ....
+09:17 < jtanx> I just ran the bBB with ubuntu and used the usb microscope
+09:17 < jtanx> and it worked
+09:18 < jtanx> and so too does it work on the original os
+09:18 < jtanx> wtf
+09:33 < jtanx> hahahaa 
+09:33 < jtanx> it crashed because it ran out of memory 
+09:33 < jtanx> I tried having both cameras at once
+09:33 < jtanx> and switching between them 
+09:34 < jtanx> but other than that it works
+09:34 < jtanx> this is weird
+09:44 < jtanx> about 1/5 tries fails at 1600x1200 with 'select timeout'
+09:44 < jtanx> probably because it can't buffer that fast or something
+09:45 < jtanx> but definitely to run both cameras at once (or at least have them connected), you require an external power source, either for the beaglebone or for the usb hub
+09:47 < jtanx> yep
+09:47 < jtanx> if you do
+09:47 < jtanx> modprobe uvcvideo nodrop=1
+09:47 < jtanx> It will only display part of the image
+09:47 < jtanx> probably because it hasn't filled the buffer yet
+09:48 < jtanx> but if you load uvcvideo with normal settings
+09:48 < jtanx> it either displays the full image, or no image at all
+09:48 < jtanx> the problem is, I don't know how you detect this in opencv
+10:10 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
+13:47 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+14:55 -!- MctxBot [[email protected]] has quit [Ping timeout]
+17:14 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+17:20 -!- MctxBot [[email protected]] has quit ["leaving"]
+17:22 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
+22:38 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]

UCC git Repository :: git.ucc.asn.au