Something fucked up
") 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 [~asfa@106-68-47-96.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"] --- Day changed Sat Oct 12 2013 10:20 -!- jtanx [~asfa@106-68-47-96.dyn.iinet.net.au] has joined #mctxuwa_softdev 13:49 -!- jtanx_ [~asfa@124-169-73-222.dyn.iinet.net.au] has joined #mctxuwa_softdev 13:49 -!- MctxBot_ [~twang@124-169-73-222.dyn.iinet.net.au] has joined #mctxuwa_softdev 14:03 -!- jtanx [~asfa@106-68-47-96.dyn.iinet.net.au] has quit [Ping timeout] 14:05 -!- MctxBot [~twang@106-68-47-96.dyn.iinet.net.au] has quit [Ping timeout] 14:34 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev 14:39 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev 14:46 -!- jtanx_ [~asfa@124-169-73-222.dyn.iinet.net.au] has quit [Ping timeout] 14:47 -!- MctxBot_ [~twang@124-169-73-222.dyn.iinet.net.au] 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 [matches@motsugo.ucc.gu.uwa.edu.au] 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 [~asfa@220-253-133-241.dyn.iinet.net.au] 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 [~twang@220-253-133-241.dyn.iinet.net.au] has quit [Connection reset by peer] 10:39 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] 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 [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["bye"] --- Day changed Mon Oct 14 2013 10:03 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev 10:03 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"] 19:15 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] 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 blocks
19:48 < sam_moore> Hmm, but that would make them all on new paragraphs
19:48 < jtanx> fine, 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 [~asfa@220-253-133-241.dyn.iinet.net.au] has quit [Connection reset by peer]
23:13 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] 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 [~asfa@220-253-133-241.dyn.iinet.net.au] 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__ [~chatzilla@CPE-58-160-245-20.wa.bigpond.net.au] has joined #mctxuwa_softdev
19:29 -!- james__ [~chatzilla@CPE-58-160-245-20.wa.bigpond.net.au] has quit [Ping timeout]
21:27 -!- James__ [~chatzilla@CPE-58-160-245-20.wa.bigpond.net.au] 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__ [~chatzilla@CPE-58-160-245-20.wa.bigpond.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Day changed Wed Oct 16 2013
13:39 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has quit [Ping timeout]
13:59 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] 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 [~twang@220-253-133-241.dyn.iinet.net.au] 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 [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["brb"]
15:16 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
20:10 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has quit [Ping timeout]
21:41 -!- jtanx_ [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
21:56 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has quit [Ping timeout]
23:28 -!- jtanx_ [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
23:28 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
--- Day changed Thu Oct 17 2013
09:16 -!- jtanx [~asfa@130.95.54.13] 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 [~asfa@130.95.54.13] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
13:47 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
14:55 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has quit [Ping timeout]
17:14 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
17:20 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has quit ["leaving"]
17:22 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
22:38 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Log closed Fri Oct 18 11:45:55 2013
--- Log opened Fri Oct 18 11:46:19 2013
11:46 -!- sam_moor1 [matches@motsugo.ucc.gu.uwa.edu.au] has joined #mctxuwa_softdev
11:46 -!- Irssi: #mctxuwa_softdev: Total of 3 nicks [0 ops, 0 halfops, 0 voices, 3 normal]
11:46 -!- Irssi: Join to #mctxuwa_softdev was synced in 8 secs
11:56 -!- sam_moore [matches@motsugo.ucc.gu.uwa.edu.au] has quit [Ping timeout]
16:03 -!- You're now known as sam_moore
16:03 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
16:03 < sam_moore> MctxBot: Tell your master that snoopy is broken
17:41 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
17:42 < jtanx> woops
17:42 < jtanx> I probably screwed up fstab on the sd card when trying to enable swap space
17:42 < jtanx> sorry about not replying earlier
19:42 < sam_moore> Haha
19:42 < jtanx> ~.~
19:42 < sam_moore> We used ubuntu to test the pressure sensor and microphone
19:42 < jtanx> what were you doing with the BBB?
19:42 < jtanx> oh
19:42 < jtanx> how did that go?
19:43 < sam_moore> Alright, flot and/or JavaScript suck at large numbers of points though
19:43 < jtanx> yeah
19:43 < jtanx> did you finally get your hands on a voltage divider or something
19:44 < jtanx> or hsa the electronics team finished their stuff
19:44 < sam_moore> We just made one, but electronics does have one
19:45 < sam_moore> "We have 2 boards and 2 of them don't work"
19:45 < sam_moore> GPIO can't trigger the relays it would seem
19:45 < jtanx> well
19:46 < jtanx> what are they going to do about that
19:46 < sam_moore> Although we only tested 2 outputs, apparently some are 4mA some are 6mA and the thing needs 5mA
19:47 < sam_moore> I don't know? Try every single pin, actually measure the current drawn by the relay switch
19:47 < sam_moore> Replace the transistors on the relay
19:47 < jtanx> haha
19:47 < jtanx> that sounds so dodge
19:47 < sam_moore> We tried 2 GPIO pins at once :S
19:47 < jtanx> in parallel?
19:47 < sam_moore> Didn't work
19:48 < sam_moore> Yeah
19:48 < jtanx> hahaha
19:48 < sam_moore> But I think that might cause one to draw current from the other
19:48 < jtanx> hmm
19:49 < sam_moore> Need to actually look at the GPIO circuit diagram to work out what that would do
19:49 < sam_moore> Our software can sample more than fast enough for the microphone
19:50 < jtanx> that's cool
19:50 < jtanx> could you see it on the graph
19:50 < sam_moore> But plotting it in flot crashes the browser
19:50 < sam_moore> Sort of
19:50 < sam_moore> Had to change start_time to get all the points
19:51 < jtanx> Flot doesn't sound too reliable
19:51 < sam_moore> It crashes after ~1s
19:51 < sam_moore> min
19:51 < sam_moore> not second
19:51 < jtanx> But can we just cut down on the number of data points
19:51 < jtanx> how many datapoints is that after 1 min
19:51 < sam_moore> It's obviously incredibly inefficient
19:52 < sam_moore> I will see if averaging points helps flot
19:52 < sam_moore> Or if it's actually JavaScript not liking really big arrays
19:52 < jtanx> yeah
19:52 < jtanx> I think having large arrays consumes an enormous amount of memory in js, for some reason
19:53 < sam_moore> Dammit
19:54 < sam_moore> We could make a python GUI using requests and pyplot :P
19:54 < jtanx> -.-
19:54 < jtanx> wouldn't it be worse, trying to plot it on the beaglebone
19:55 < jtanx> given that you're using a full blown computer to plot it
19:55 < sam_moore> No, you still plot it on the client
19:55 < jtanx> How does that work
19:56 < jtanx> You'd have to render it on the BBB, no?
19:56 < sam_moore> Nope; get data the same way through HTTP and plot on the client
19:56 < jtanx> what's the difference?
19:57 < sam_moore> The BBB doesn't gave a problem transferring data points
19:58 < sam_moore> The browser ie JavaScript sucks at coping with them
19:58 < jtanx> Yeah, but if you say plot on the client, how do you plot on the client?
19:58 < jtanx> ohhhhhhh
19:58 < jtanx> Right I understand now
19:59 < sam_moore> Python has modules for plotting
19:59 < sam_moore> And modules for HTTP requests
19:59 < jtanx> You're saying instead of a web interface a python gui instead
19:59 < sam_moore> Maybe
19:59 < jtanx> ??
19:59 < sam_moore> I can at least do a proof of concept
19:59 < jtanx> I'm lost
20:00 < sam_moore> But we probably shouldn't redesign the entire GUI...
20:00 < jtanx> Hey, I'm all for it if it can be done
20:20 < jtanx> Now, to do this control page
20:20 < jtanx> A username can only contain alphanumeric characters
20:21 < jtanx> right?
20:21 < sam_moore> Yep
20:21 < jtanx> okay
20:21 < jtanx> was just thinking if someone had say .. in their username...
20:25 < sam_moore> You can allow other characters
20:25 < jtanx> well as in
20:25 < sam_moore> Not '=' though
20:25 < jtanx> having .. in their username would move you up a directory
20:26 < sam_moore> Ah, cunning
20:26 < sam_moore> Thwarted by general paranoia though
20:26 < jtanx> :P
20:26 < sam_moore> No stupid characters in usernames
20:27 < sam_moore> Definitely no '/' allowed
20:27 < jtanx> hahaha
20:27 < jtanx> I think an alphanumeric limitation is good
20:27 < jtanx> until the university stipulates having random characters in usernames
20:28 < sam_moore> You forget that if the university does that they will have to cope with the same kind of bullshit
20:29 < jtanx> Yeah, true that
21:42 < sam_moore> I pushed a python plotting thing, but I don't really think we should be switching to it at this stage.
21:42 < jtanx> Okay
21:42 < sam_moore> I'll try tweak the flot GUI tomorrow to make it less shit
21:43 < jtanx> hahaha
21:58 < jtanx> urgh
21:58 < jtanx> barely started on the control page
21:59 < jtanx> I guess I'll have to complete it tomorrow
21:59 < jtanx> even though we're probably (maybe) going with james gui
22:00 < jtanx> I've removed the width restriction
22:00 < jtanx> and you can hide the navigation bar
22:00 < jtanx> for more space
22:11 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Day changed Sat Oct 19 2013
07:59 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has joined #mctxuwa_softdev
10:39 < jtanx> blegh, now to start on the js for the control page
11:10 < jtanx> what would you say if instead of all this chdir business
11:10 < jtanx> one of the initial options to start the software is to specify where you want experiments to be held
11:11 < jtanx> e.g /usr/share/experiments or whatever
11:11 < jtanx> then you build the path based on the username
11:25 < sam_moore> That sounds good
11:26 < jtanx> Okay, I'll try to do that then
14:37 < sam_moore> There's some kind of error in mctx.gui.js now
14:37 < jtanx> what's happening?
14:37 < sam_moore> A syntax error
14:37 < jtanx> let me check
14:38 < jtanx> what page is this on?
14:38 < sam_moore> Line 272 (mctx.gui.js): outdiv[0].scrollHeight - outdiv.height()
14:38 < sam_moore> Caused by loading graph.html
14:38 < jtanx> ahhhh
14:38 < jtanx> I know why
14:38 < jtanx> maybe
14:39 < jtanx> I decided to just to $("#errorlog").seterrorlog in mctx.gui.js
14:39 < jtanx> so I don't have to repeat that on every page
14:39 < sam_moore> The debug function also causes some error in chromium
14:39 < jtanx> but if the page deosn't have an error log
14:39 < jtanx> hahaha
14:39 < jtanx> chromium
14:39 < jtanx> what does it say
14:39 < sam_moore> Didn't I tell you that something was causing iceweasel to segfault? I have no choice! :(
14:40 < jtanx> :P
14:40 < sam_moore> console.log.apply(this, arguments); causes an uncaught type error: illegal invocation
14:40 < sam_moore> I shall replace it with "alert"
14:40 < jtanx> hmm
14:41 < jtanx> it's because chrome has a different implementation of console.log
14:41 < jtanx> http://stackoverflow.com/questions/9521921/why-does-console-log-apply-throw-an-illegal-invocation-error
14:41 < jtanx> for that bug
14:41 < sam_moore> Right
14:42 < sam_moore> Why is the call to outdiv.scrollTop on line 272 spread over 3 lines?
14:42 < sam_moore> ... That's probably why it syntax errors
14:42 < jtanx> nah
14:42 < jtanx> it's legit
14:43 < jtanx> the problem is there's no div there if you don't define #errorlog somewhere in your html
14:43 < sam_moore> I thought the html was supposed to load any elements specific to that page
14:44 < sam_moore> Which should avoid this sort of thing happening
14:44 < jtanx> Yeah, except that we were repeating the same sort of load code
14:44 < jtanx> in most of the pages
14:44 < jtanx> I've just added a check in seterrorlog
14:44 < jtanx> which should ignore if there's no such div anyway
14:44 < sam_moore> ok
14:44 < jtanx> that whole 'experiment dir' thing is ~.~
14:44 < jtanx> I think it's mostly done
14:45 < sam_moore> Ok
14:45 < jtanx> so
14:45 < jtanx> instead of having a file 'name.exp'
14:45 < sam_moore> Yeah that was hacky
14:45 < jtanx> it's a folder 'name.exp'
14:45 < jtanx> all the stuff for one experiment gets stuck in that folder
14:45 < sam_moore> That's slightly less hacky
14:45 < jtanx> so you have something like
14:45 < sam_moore> Makes sense
14:46 < jtanx> /experiments_folder/username/experiment_name.exp
14:46 < sam_moore> Cool
14:46 < sam_moore> If it ever is changed to use local user accounts you can just set experiments_folder to /home
14:47 < jtanx> yeah
14:47 < jtanx> experiments_folder is just an argument you pass to it when you start it
14:47 < jtanx> -e experiment_folder
14:49 < sam_moore> Found a syntax error in graph.html now
14:49 < jtanx> just pushing stuff now
14:49 < jtanx> but what's the errro?
14:50 < sam_moore> There's an unterminated bracket on the runBeforeLoad.done
14:50 < sam_moore> I think
14:50 < jtanx> ah
14:50 < sam_moore> So many brackets
14:50 < jtanx> hehehe
14:50 < jtanx> yeah you're probably right
14:50 < jtanx> netbeans is giving angry red on the bracket
14:51 < jtanx> do you want me to push the fix for that?
14:51 < sam_moore> Well there are other issues with the page
14:52 < sam_moore> No method "always" where it's being chained on the document.ready
14:53 < jtanx> no wait
14:53 < sam_moore> Wait what the hell is it meant to do there
14:53 < jtanx> [14:52:32.186] ReferenceError: mctx is not defined @ http://localhost:8383/MCTXWeb/static/mctx.graph.js:8
14:53 < jtanx> hmm
14:53 < jtanx> I broke something
14:53 < sam_moore> That's not the problem I'm getting, but generally there are lots of wierd things here
14:53 < jtanx> yeah
14:53 < jtanx> sorry
14:53 < jtanx> it was probably working before I pushed changes yesterday
14:54 < sam_moore> You have runBeforeLoad.done() calling $(document).ready which does nothing, but is chained to .always which will then call $(document).ready which then loads $("#graph-controls").setDevices()
14:55 < sam_moore> ... I think what I originally had was runBeforeLoad.always() calling $("#graph-controls").setDevices
14:55 < sam_moore> Possibly inside a document.ready
14:55 < sam_moore> But now mctx.gui.js is calling document.ready itself...
14:55 < jtanx> waiit
14:55 < jtanx> I think it's ok now
14:56 < jtanx> it was just brackets
14:56 < jtanx> I'll try it on my server first
14:58 < jtanx> yeah, I see what you mean
15:01 < jtanx> ahh
15:01 < sam_moore> Well I fixed it enough to test stuff
15:01 < jtanx> yeah
15:02 < jtanx> you planning on modifying stuff?
15:02 < sam_moore> I think it's just a matter of having runBeforeLoad().done() call $(document).ready() and then initialise stuff
15:02 < jtanx> I'll just keep it in my repo for now
15:03 < sam_moore> With runBeforeLoad.fail if you want to handle bad stuff
15:03 < jtanx> I just made it
15:03 < jtanx> runBeforeLoad().always(function() {
15:03 < jtanx> $(document).ready(function() {
15:03 < jtanx> $("#graph-controls").setDevices();
15:03 < jtanx> });
15:03 < jtanx> });
15:03 < sam_moore> Yep, that's what I just did
15:03 < sam_moore> You can commit it and I'll pull it
15:03 < jtanx> okay
15:03 < sam_moore> If you fix the console and the errorlog things as well
15:03 < jtanx> yep
15:03 < jtanx> pushed that too
15:05 < sam_moore> Hmm, start_time = -1 is not actually giving the most recent second of data
15:05 < sam_moore> That might be a server API problem
15:05 < jtanx> hmmm
15:05 < sam_moore> But it might also explain why things were shitting themselves so much with the fast sampling rate
15:06 < jtanx> what is it giving?
15:06 < sam_moore> Because the jQuery would be getting hundreds of thousands of points...
15:07 < sam_moore> At the moment the server API is not giving any points and giving back a stupid value for start_time
15:07 < sam_moore> I think I might have broken it when I changed all the clocks
15:07 < jtanx> when did you change ti?
15:07 < sam_moore> Just now
15:07 < jtanx> ah
15:07 < sam_moore> I'm hoping that my first assumption about the thousands of points was the case before I broke it as well :P
15:08 < sam_moore> (ie: It was already broken before I broke it more)
15:08 < jtanx> ahahahah
15:08 < jtanx> I can try
15:08 < jtanx> I still have the old version
15:09 < jtanx> with start_time=-1 it returns nothing
15:09 < jtanx> start_time in the response is constant
15:11 < sam_moore> Yeah I get wierd stuff
15:11 < sam_moore> start_time = 17889.590701
15:12 < sam_moore> "current_time" : 18589.539255
15:12 < jtanx> is that with clock_gettime?
15:12 < sam_moore> "running_time" : 699.948554,
15:12 < sam_moore> Yes
15:13 < sam_moore> Oh herdurp
15:13 < sam_moore> start_time in the JSON response is *not* the same as start_time the parameter to the sensor
15:13 < jtanx> yeah
15:13 < sam_moore> .... should probably change that
15:13 < jtanx> start time of experiment
15:14 < jtanx> experiment_start_time?
15:14 < jtanx> long variable names...
15:14 < sam_moore> I think it's actually the program start time
15:14 < jtanx> nup
15:14 < jtanx> experiment starttime
15:14 < sam_moore> Alright
15:14 < jtanx> oh
15:14 < jtanx> actually you may be right
15:14 < sam_moore> Haha
15:14 < jtanx> I thought i changed it
15:14 < jtanx> wway back when i did the control stuff
15:15 < jtanx> initially
15:15 < sam_moore> ControlData has a start_time variable
15:15 < jtanx> yeah
15:15 < sam_moore> But g_options has a start_time variable
15:15 < sam_moore> -_-
15:15 < jtanx> that's confusing
15:15 < jtanx> hahaha
15:15 < sam_moore> Yeah, what idiot designed this...
15:15 < jtanx> ~.~`
15:19 < sam_moore> Right, sensor values are being saved relative to Control_GetStartTime (experiment starting time)
15:19 < sam_moore> That's fine
15:19 < jtanx> yep
15:19 < sam_moore> Sensor_Handler gets "current_time" from that as well
15:19 < jtanx> Thread safety on that is dodgey
15:19 < jtanx> I must say
15:20 < jtanx> but it's probably fine
15:20 < sam_moore> It's fine, clock_gettime is posix thread safe
15:21 < sam_moore> Oh, do you mean if the experiment changes
15:21 < jtanx> yeah
15:21 < jtanx> the whole *Control_GetStartTime() looks dodgy too
15:22 < sam_moore> Perhaps just a "double Control_CurrentTime()" would be better
15:22 < sam_moore> But it works
15:22 < jtanx> hmm
15:24 < sam_moore> Anyway, I think start_time=-1 is not giving any data because the default sampling rate is 1s and therefore current_time - 1 is outside the data range most of the time
15:25 < sam_moore> start_time=-3 gives a single point with the default sampling rate
15:25 < sam_moore> Increasing the sampling rate then you appear to get the right points
15:31 < sam_moore> I'm going to repeat my timestamp test with the current software under regular kernel and RT linux
15:32 < sam_moore> I know we can't ever get RT linux but I want to see if it makes much of a difference
15:46 < jtanx> okay
15:50 < jtanx> finally... back to actually coding the control page
22:59 -!- jtanx [~asfa@220-253-133-241.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Day changed Sun Oct 20 2013
15:56 -!- Callum [~Callum@106-68-161-33.dyn.iinet.net.au] has joined #mctxuwa_softdev
15:59 < Callum> hey sam, got a link to the dropbox?
16:06 < sam_moore> https://www.dropbox.com/sh/km90dmbdrgin3mg/OimGp0qopv
16:06 < Callum> thanks
16:07 < sam_moore> I think I might be able to hack together a user management system based on UserCake
16:08 < sam_moore> Someone else will have to make it look pretty though
17:25 < Callum> opencv is fucking retarded.
17:25 < Callum> C++ has a bunch of different functions for each individual type of blur
17:25 < Callum> C has one function but you pass it an ID for which type of blur you want to use..
17:30 < sam_moore> OpenCV used to be in C, but they moved it to C++
17:30 < sam_moore> But it still supports the C API
17:30 < sam_moore> Through some wierd magic
17:30 < sam_moore> At least, if you run our program in valgrind, it reports a lot of stuff happening with things like "std::string" and "cv::Mat"; ie: C++ namespaces
17:32 < Callum> yea. its a bit of a bitch to code in C...all the documentation is for c++ pretty much
17:32 < Callum> like right now im trying to find out how to simply set all elements to 0.. where in c++ its just Mat::Scalar(0)
17:32 < sam_moore> If you really want you can probably compile in C++, but I'm not sure if it will cause issues elsewhere
17:33 < Callum> il just keep going like this. just a couple of things atm i need to figure out. hopefully thats it
17:33 < sam_moore> Cool
17:34 < sam_moore> The server now supports 3 entirely different authentication methods :S
17:34 < Callum> haha. a little excessive.
17:34 < Callum> hopefully they'll be happy with atleast one of them..
17:34 < sam_moore> If we modify UserCake we can run our own user management system
17:35 < sam_moore> I need to change it so that instead of users registering themselves it's the admin that adds users manually though
17:35 < sam_moore> Also we'd have to get email working
17:57 < Callum> uuh. so using one of his test images for the microscope, running it through Canny gives a bunch of squiggly lines all over the place
17:57 < Callum> its funny, the part which is actually the edge...has the most black
17:57 < Callum> il try some of his other images and see what it does
20:22 -!- Callum [~Callum@106-68-161-33.dyn.iinet.net.au] has quit [EOF From client]
20:50 -!- MctxBot_ [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
21:05 -!- MctxBot [~twang@220-253-133-241.dyn.iinet.net.au] has quit [Ping timeout]
21:06 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
21:08 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
21:10 < jtanx> working on the report the day before...
21:10 < jtanx> what is this madness
22:23 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Day changed Mon Oct 21 2013
07:40 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
08:04 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
09:15 -!- jtanx [~asfa@130.95.131.138] has joined #mctxuwa_softdev
11:00 -!- jtanx [~asfa@130.95.131.138] has quit [Ping timeout]
11:03 -!- jtanx_ [~asfa@130.95.54.13] has joined #mctxuwa_softdev
11:03 -!- jtanx_ is now known as jtanx
11:22 < jtanx> mctxserv[10834]: FATAL: Data_Save (data.c:80) - Error seeking to end of DataFile test/sensor_1 - File too large
11:23 < jtanx> jeremy@pickle:~/git/MCTX3420/server/test$ du -sh *
11:23 < jtanx> 0 actuator_0
11:23 < jtanx> 2.0G sensor_0
11:23 < jtanx> 2.1G sensor_1
11:23 < jtanx> after running overnight
11:23 < jtanx> hahaha
11:36 < sam_moore> The 32G SD card might have been a good thing to buy...
11:36 < sam_moore> Just in case
11:36 < jtanx> I tried removing the line i made to fstab
11:36 < jtanx> still didn't work
11:36 < sam_moore> Damn
11:36 < jtanx> was there anything important on it
11:36 < jtanx> could just flash it with the internal memory
11:37 < sam_moore> I'd be very hesitant to flash it to the internal memory if it doesn't boot
11:37 < sam_moore> There may be something else wrong with it
11:37 < jtanx> I mean
11:37 < jtanx> there's a script
11:37 < jtanx> to copy the internal memory to the sd card
11:37 < sam_moore> Oh, that's cool
11:37 < sam_moore> We can do that
11:37 < jtanx> Okay
11:37 < sam_moore> Since Ubuntu magically solved our image problems, we should use it
11:38 < jtanx> yeah, that was weird
11:38 < jtanx> just as long as there's nothing important on the sd card
11:38 < sam_moore> Probably change the phrasing in the report from "We don't know why this fixed it" to "We fixed it through our 1337 haxor skills"
11:38 < jtanx> >.>
11:39 < jtanx> how did you set up usercake?
11:39 < jtanx> like where's this db-settings.php that it mentions
11:39 < jtanx> oh right
11:39 < jtanx> never mind
11:41 < sam_moore> It comes with an install directory that I removed
11:41 < sam_moore> We should add that because we might want to modify the database structure
11:41 < jtanx> yeah
11:41 < sam_moore> Eg: It's a real pain that user permission levels are in a seperate table to everything else
11:41 < sam_moore> And doesn't make sense...
11:41 < jtanx> normalised database design
11:41 < jtanx> :P
11:42 < sam_moore> We can go with the "strcmp(user, "admin")" for now
11:42 < sam_moore> Did you get the email about LEFT vs RIGHT can?
11:42 < jtanx> yeah
11:42 < sam_moore> I think I should ask
11:42 < jtanx> pneumatics wants left
11:43 < sam_moore> "Are you looking at the box from the FRONT or BACK"
11:43 < jtanx> everyone else thought right
11:43 < jtanx> hahahaah
11:43 < sam_moore> "Also, which side is the FRONT"
11:43 < jtanx> the case team got blasted this morning
11:43 < sam_moore> Uh oh
11:43 < jtanx> apparentl
11:43 < jtanx> y
11:43 < sam_moore> Then again, we all get blasted every week
11:43 < jtanx> true
11:43 < sam_moore> I think we manage to get the least blasting, but still
11:43 < jtanx> oh yeah
11:44 < jtanx> apparently the report IS individual
11:44 < jtanx> per group
11:44 < jtanx> I'm getting confused
11:44 < sam_moore> Haha
11:44 < jtanx> and it's due next monday???
11:44 < sam_moore> -_-
11:44 < jtanx> confusion over the due date
11:44 < jtanx> adam apparently didn't know, and thought sparkplus would send out the date
11:44 < jtanx> i don't know what sparkplus has got to do with this though
11:45 < sam_moore> How long does it have to be?
11:45 < jtanx> I have no idea
11:45 < sam_moore> Sparkplus is for our peer evaluation
11:45 < jtanx> yeah
11:45 < jtanx> but the relation to report due date?
11:45 < sam_moore> Pretty lazy if you ask me, and I don't care that they might read this (frankly I doubt it) to get the students to mark each other
11:46 < jtanx> Yeah
11:46 < jtanx> urgh
11:46 < jtanx> getting 1045 (access denied) from mysql
11:46 < jtanx> pretty sure I've got the pwd right
11:46 < sam_moore> It might be what happens in the Real World (TM), but this is not some company, this is university, my grades should not depend on someone else
11:47 < sam_moore> Try with `mysql` from the command line and check the password?
11:50 < jtanx> herp derp
11:50 < jtanx> no password
11:53 < jtanx> now that I think about it, it's almost exactly like the django idea, except in php
11:53 < sam_moore> Yep
11:53 < jtanx> when you install it, is there any default login?
11:54 < sam_moore> No; you register an account and that account becomes the admin
11:54 < sam_moore> (of course you can also manually update the database)
11:54 < jtanx> okay
11:54 < sam_moore> You could change the install script to do that
11:54 < jtanx> how are usernames and passwords stored in the db?
11:54 < jtanx> crypt?
11:54 < jtanx> (do you specify the algorithm?)
11:55 < sam_moore> passwords are crypted with SHA6
11:55 < sam_moore> The other stuff is plain text
11:55 < sam_moore> UserCake default is SHA1 or something
11:55 < jtanx> sha6?
11:55 < sam_moore> I changed it to SHA6
11:55 < jtanx> does it use something called pcks
11:55 < jtanx> pcsk2
11:55 < jtanx> pcks2*
11:56 < sam_moore> Wait... by SHA6 I mean "SHA-Whatever-you-get-with-$6$-in-the-salt"
11:56 < sam_moore> Which is actually SHA-512
11:56 < sam_moore> Derp
11:56 < jtanx> hmm
11:57 < sam_moore> I couldn't find any references to security issues with doing it this way, but that doesn't mean there aren't any
11:57 < sam_moore> However there's always going to be some security issues with anything we use
11:57 < jtanx> yeah
11:57 < jtanx> about the stuff in login.c
11:57 < jtanx> you'll definitely want to change tat
11:57 < jtanx> "SELECT password FROM %s WHERE user_name = \"%s\";",
11:58 < jtanx> sql injection right there
11:58 < sam_moore> I know
11:58 < sam_moore> That's why Login_Handler removes all non alpha-numeric characters from the user name
11:58 < jtanx> the password?
11:58 < sam_moore> The password isn't part of the MySQL query
11:58 < sam_moore> Only the user name
11:58 < jtanx> oh right
11:58 < sam_moore> So the password can contain any characters
11:59 < jtanx> yeah
11:59 < jtanx> I know with sqlite you can use placeholders
11:59 < jtanx> then you 'bind' stuff to those placeholders
11:59 < sam_moore> I think you can with MySQL too
11:59 < jtanx> probably
11:59 < sam_moore> Feel free to change it if you want, I figured it was safe if username was already checked for bad characters
12:00 < jtanx> yep
12:03 < jtanx> Pneumatics and electronics wants to test the system this wednesday, starting from 10am
12:03 < sam_moore> That provides a convenient reason to not work on ENSC1001
12:03 < sam_moore> So I'll be there
12:03 < jtanx> Hahaha
12:08 < jtanx> nneded php5-gd
12:08 < jtanx> these username/password restrictions are attrocious
12:57 < sam_moore> The UserCake ones?
12:57 < jtanx> yeah
12:57 < sam_moore> Also, sorry I'll be late today
12:57 < jtanx> that's ok
12:58 < sam_moore> We're getting there...
12:59 < sam_moore> The question is, do they want a finished project, or do they want a report on an unfinished project
12:59 < jtanx> hahaha
12:59 < sam_moore> Because we'll have to devote a lot of time to the report
12:59 < jtanx> yes
13:00 < sam_moore> We've looked into every layer of software from linux kernel drivers to databases and human computer interaction...
13:01 < jtanx> o.o
13:01 < sam_moore> I think we can conclude that they are all horrible hacks tied together with shoelaces
13:01 < jtanx> about usercake
13:02 < jtanx> is it just
13:02 < jtanx> you have a set of pages
13:02 < jtanx> and they're either accessible or not
13:02 < jtanx> to the user?
13:02 < sam_moore> Yep, and I know you're thinking we could put the API as one of those pages :P
13:02 < jtanx> haha
13:02 < sam_moore> But I think it's better to keep the API seperate from user management
13:02 < jtanx> didn't think that
13:02 < jtanx> but was just trying to understand usercake
13:02 < sam_moore> Fair enough
13:02 < jtanx> but since everything's in php
13:03 < jtanx> we can do some templating
13:03 < jtanx> instead of hacking it together with javascript
13:03 < sam_moore> Sure
13:03 < sam_moore> The main modification I wanted to make was a page that lets the admin upload a list of users and get rid of the registration page (or restrict it somehow)
13:04 < jtanx> yeah
13:04 < jtanx> but some things are better done in php
13:04 < jtanx> like that whole 'load the sidebar in jaascript' is crap
13:04 < jtanx> and the whole 'if not logged in, redirect the user with javascript' too
13:04 < sam_moore> Feel free to add php to the main gui, it is probably a good choice
13:05 < jtanx> okay
13:05 < jtanx> once I figure out how stuff works
13:05 < sam_moore> I'm just not experienced enough with this sort of web development stuff
13:05 < jtanx> I can probably say it's a learing experience for everyone
13:05 < sam_moore> Yes
13:06 < sam_moore> I am pretty happy with how we've done this, even if it doesn't get finished
13:06 < jtanx> Yeah, it's quite ok
13:06 < sam_moore> I think we made good design choices
13:06 < sam_moore> Probably the best one was when you convinced me to use FastCGI instead of writing a custom HTTP server :P
13:07 < sam_moore> Or we'd be well and truly screwed when all the requirements for security and user management came along
13:07 < jtanx> hahaha
13:07 < jtanx> php
13:07 < jtanx> custom webserver
13:07 < jtanx> well
13:07 < jtanx> it might have worked
13:08 < jtanx> call php5-cli with system
13:08 < jtanx> hahaha
13:08 < sam_moore> I could probably do something like that with enough time
13:08 < sam_moore> But it wouldn't really be worth it
13:14 < jtanx> oh right
13:14 < jtanx> you changed usercake to use crypt
13:15 < jtanx> I'll change the password for the sd card image back to what we used before
13:16 < jtanx> username will be ubuntu though
13:18 < sam_moore> ok
13:18 < jtanx> the internal memory still uses temppwd though
13:20 < jtanx> if we use usercake we'd have to use php throughout the stuff anyway
13:20 < jtanx> unless you want it to be publicly visible
--- Log closed Mon Oct 21 14:11:57 2013
--- Log opened Mon Oct 21 14:40:20 2013
14:40 -!- sam_moore [matches@motsugo.ucc.gu.uwa.edu.au] has joined #mctxuwa_softdev
14:40 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
14:40 -!- Irssi: Join to #mctxuwa_softdev was synced in 3 secs
14:43 -!- jtanx [~asfa@130.95.54.13] has joined #mctxuwa_softdev
--- Log closed Mon Oct 21 14:49:35 2013
--- Log opened Mon Oct 21 15:08:16 2013
15:08 -!- sam_moore [matches@motsugo.ucc.gu.uwa.edu.au] has joined #mctxuwa_softdev
15:08 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
15:08 -!- Irssi: Join to #mctxuwa_softdev was synced in 2 secs
15:17 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
15:22 -!- jtanx_ [~asfa@130.95.54.13] has joined #mctxuwa_softdev
15:22 -!- jtanx_ is now known as jtanx
15:22 -!- jtanx [~asfa@130.95.54.13] has quit [EOF From client]
18:17 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
18:36 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
22:14 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
22:57 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
--- Day changed Tue Oct 22 2013
09:35 < sam_moore> So... looking at our system diagram, we have "mains electricity" going directly into the BeagleBone
09:35 < sam_moore> That should probably be fixed
09:38 < sam_moore> Dammit isn't there an svg version somewhere
10:06 < sam_moore> Oliver said Adrian's goal was to "teach us a lesson"
10:07 < sam_moore> If the goal is to turn us into cynical bastards, I was already a cynical bastard before this unit, so I fail to see the point
10:07 < sam_moore> ... Talking to myself, excellent sign
10:38 -!- jtanx [825ffcb6@ircip4.mibbit.com] has joined #mctxuwa_softdev
10:39 < sam_moore> Hi Jeremy
10:40 < sam_moore> Are you OK with the section I listed for you?
10:40 < jtanx> Sure, it seems okay
10:41 < jtanx> This is going to be a busy week
10:42 < sam_moore> I basically told my ENSC1001 team that if I have to choose between failing two units, I will choose to fail ENSC1001
10:42 < sam_moore> I am now "that guy"
10:43 < jtanx> Urgh :(
10:44 < sam_moore> The requirements for the diary in terms of software are a bit ridiculous
10:44 < sam_moore> In the 21st century
10:44 < sam_moore> You'd think we could use git
10:44 < sam_moore> As opposed to writing down source code in our diary
10:44 < sam_moore> ... writing down code...
10:44 < sam_moore> By hand
10:44 < jtanx> Yeah, the requirements for this whole unit have been quite a stretch\
10:44 < sam_moore> In a diary
10:44 < sam_moore> What the hell???
10:44 < jtanx> I asked during the meeting if he wanted a printed copy of the code :P
10:45 < sam_moore> One idea I have had that would have been good
10:45 < sam_moore> Is to always make 2 git commits whenever you work on something
10:45 < sam_moore> One when you start
10:45 < sam_moore> And one when you finish
10:45 < jtanx> good idea
10:46 < sam_moore> So, does he want a printed copy of the code?
10:52 < jtanx> nah
10:58 < sam_moore> Damn, that might have been fun to hand in
10:58 < jtanx> We could do it just for shits
10:58 < jtanx> print out the doxygen manual too
10:58 < sam_moore> Hahaha
10:58 < sam_moore> The doxygen manual is probably bigger than the printed source code
10:59 < jtanx> Get a quote from uniprint
10:59 < jtanx> print and bind it
10:59 < sam_moore> Sure
10:59 < sam_moore> It won't help though
10:59 < jtanx> yeah
10:59 < sam_moore> The response to anything that looks like it was a large amount of work
10:59 < sam_moore> is "you overcomplicated it!"
10:59 < jtanx> ~.~
11:02 < jtanx> okay, i'm leaving uni
11:02 -!- jtanx [825ffcb6@ircip4.mibbit.com] has quit ["http://www.mibbit.com ajax IRC Client"]
11:31 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
11:37 < jtanx> well, I guess now's a good time than any to learn LaTeX
11:39 < sam_moore> Haha
11:39 < sam_moore> You don't have to learn LaTeX
11:39 < sam_moore> It's just, for a 30 page report
11:39 < sam_moore> If I am the one collating it
11:39 < sam_moore> I want to use LaTeX
11:39 < sam_moore> Hang on, I'll submit something in a minute, I got sidetracked looking at flow chart applications
11:41 < jtanx> that's ok
11:41 < jtanx> I've always wanted to learn latex anyway
11:43 < sam_moore> If you're good at programming you can pick up latex pretty easily
11:43 < jtanx> yeah, it doesn't look to bad
11:43 < sam_moore> The scary bit is all the preamble stuff
11:43 < sam_moore> Which you just copy/paste from examples unless you actually want to change something majorly
11:43 < jtanx> haha
11:43 < sam_moore> The rest is just like any markup language, except a bit more verbose
11:44 < sam_moore> I have a nice template structure from my thesis we can use
11:44 < jtanx> Cool
11:57 < sam_moore> https://github.com/szmoore/MCTX3420/tree/report/reports/final
11:58 < sam_moore> Essentially every chapter gets a single .tex file in the chapters directory
11:58 < sam_moore> report.tex determines the formatting and stuff, so the chapter.tex files don't have to have anything other than content
11:58 < jtanx> Okay
11:59 < sam_moore> I'm not sure if it builds under windows easily
11:59 < jtanx> well
11:59 < jtanx> one of the reasons why i hesitated to use latex was because it's something like a few gb to isntall
12:00 < jtanx> it should build under windows fine
12:00 < sam_moore> Ah
12:00 < sam_moore> I think it's worth it
12:00 < jtanx> I have no disk space to install it on my laptop
12:00 < sam_moore> For something of this scale... using a standard word processor...
12:00 < sam_moore> Haha
12:00 < jtanx> but it's installed on my server
12:00 < sam_moore> Just worry about the content, I can make it compile either way
12:00 < jtanx> yeah
12:01 < sam_moore> Also, do you know any good flow chart stuff? Other than omnigraffle which is OSX only
12:01 < jtanx> ms visio
12:01 < jtanx> defacto standard
12:02 < jtanx> never particularly liked it though
12:03 < jtanx> it's free of msdnaa, but of course you need a windows computer...
12:03 < sam_moore> Yeah, that will ruin my productivity
12:04 < sam_moore> I do have windows, but rebooting is not fun, installing windows equivelants of all the software I use under linux is not fun, wine is probably broken, and running my windows operating system off the hard disk as a VM can be done, but gives temperamental results
12:07 < jtanx> hahaha
12:15 < sam_moore> Hmm, I have LibreOffice draw
12:15 < sam_moore> Maybe that doesn't suck
12:16 < jtanx> I hate using Libre/Open*
12:16 < jtanx> never formats properly
12:17 < sam_moore> Yeah... just trying to join two shapes together nicely is taking more than 3 seconds, screw that
12:17 < jtanx> hahaha
12:17 < sam_moore> I'll try this "Dia" thing
12:18 < sam_moore> Oh dear
12:18 < sam_moore> There's "Dia"
12:18 < sam_moore> And "Diagramly"
12:20 < jtanx> what about graphviz
12:28 < sam_moore> giffly looks good
12:28 < jtanx> Any particular name for our server software?
12:28 < sam_moore> Oh god, it needs a name
12:28 < jtanx> I've just been referring to it as 'Server API'
12:28 < sam_moore> Yeah :S
12:29 < sam_moore> I have a friend who didn't name their software and had to give a report on it and the only thing anyone commented on was its lack of name
12:29 < sam_moore> So the next time...
12:30 < jtanx> >.>
12:30 < sam_moore> He said "This part of the software is 'sabertooth' and this part is 'timberwolf'"
12:30 < sam_moore> And they liked it
12:30 < jtanx> Hahaha
12:30 < jtanx> what
12:31 < sam_moore> ...
12:31 < sam_moore> What's the greek god of disaster?
12:31 < sam_moore> Or exploding pressurised vessels
12:32 < sam_moore> Demeter, goddess of failure...
12:33 < sam_moore> Just stick with Server API for now
12:35 < sam_moore> I think I'll use gliffy even though it requires me to sell my soul to whatever company owns it
12:35 < sam_moore> Can't be worse than facebook
12:35 < jtanx> ._.
12:35 < jtanx> fair enough
12:36 < sam_moore> For a "vector graphics" editor, "dia" just looks horrible
12:36 < sam_moore> The lines don't alias properly at all
12:36 < jtanx> does it generate svg output
12:37 < sam_moore> gliffy does and I'm not looking back :P
12:37 < jtanx> hahaha
12:42 < sam_moore> gliffy is really nice
12:42 < jtanx> which flow chart are you doing
12:42 < sam_moore> At the moment, the sensors thread
12:43 < jtanx> Okay
12:43 < jtanx> ahh
12:43 < jtanx> gliffy would have been handy for uml crap I had to do
12:46 < sam_moore> If you want to start with flow charts, try and do one for how ajax goes from the client and then data comes back through the labyrinth of FastCGI calls :P
12:47 < sam_moore> I have a feeling they will consider flow charts to be "documentation" and not "report" though :S
12:47 < jtanx> We can put it in the report
12:47 < jtanx> then write about it
12:47 < sam_moore> Haha
12:47 < sam_moore> I actually have some results from experiments which they keep going on about in the marking key
12:48 < sam_moore> I'm not sure what we can do for the results of tests from the GUI
12:48 < jtanx> yeah
12:48 < sam_moore> At one point I had a graph in flot that was plotting the time it took to update the graph in flot
12:48 < sam_moore> But I never saved it
12:48 < jtanx> o.O
12:49 < sam_moore> Something that might be nice is a cachegrind profile
12:49 < sam_moore> Whenever I do a report on software I try and profile it somehow
12:49 < sam_moore> Anyway... the focus has shifted from "make the system work" to "write a report"
12:49 < jtanx> Yeah
12:50 < sam_moore> So we're pretty much just going to leave the system in an almost finished state, but since it would take someone a few weeks to learn it, they'll just start again...
12:50 < sam_moore> and fail in all the same ways next year :(
12:50 < jtanx> Hahahaha, of course
13:48 < sam_moore> This flow chart stuff is really annoying
13:48 < sam_moore> How much detail needs to be included
13:48 < sam_moore> Argh
13:48 < jtanx> I just made one in visio
13:48 < jtanx> high level crap
13:49 < jtanx> but still annoying to make
13:49 < jtanx> I was hoping to make the flow chart
13:49 < jtanx> then comment on that
13:49 < jtanx> in the text
13:49 < sam_moore> Ok
13:50 < jtanx> Do you think something like this is ok?http://i.imgur.com/acNVXME.png
13:52 < sam_moore> That looks good
13:52 < sam_moore> It's completely inconsistent with what my sensor flow chart looks like visually though
13:52 < jtanx> :S
13:53 < sam_moore> Should we try make them all look the same, or not bother?
13:53 < jtanx> Hmm
13:53 < sam_moore> I'm not sure if this works; can you access it like this: https://www.gliffy.com/go/html5/5007621?app=1b5094b0-6042-11e2-bcfd-0800200c9a66
13:53 < jtanx> I have to login
13:54 < jtanx> presumably your login
13:54 < sam_moore> Yeah, ok, I'll just put it under figures
13:55 < sam_moore> https://github.com/szmoore/MCTX3420/blob/report/reports/final/figures/sensor_thread.png
13:57 < jtanx> Nice
14:00 < sam_moore> Whatever, don't worry about consistency, just make the charts
14:00 < jtanx> If we get time, maybe then
14:24 < sam_moore> We don't have time, I just spent 6 hours making one diagram :S
14:24 < sam_moore> Ok, only 4.5 hours so far, but still
14:24 < jtanx> :S
14:24 < jtanx> I've spent what, 30 mins deciding how to write this one paragraph
14:25 < jtanx> This is ridiculous
14:25 < sam_moore> Were you there when Oliver said that Adrian's goal with this unit was to punish us?
14:25 < jtanx> Hahaha
14:25 < jtanx> Nah I wasn't there
14:26 < sam_moore> The whole point is apparently to make us realise that we need a project manager
14:26 < sam_moore> Something that I'm pretty sure I could work out for myself thankyou very much
14:26 < jtanx> >.o
14:29 < sam_moore> I've pushed some sort of report layout thing
14:32 < sam_moore> It looks like most of the marks are on the "Approach" section
14:32 < sam_moore> Which reminds me, I need to finish adding up my hours...
14:33 < sam_moore> For cost calculation we could go "We have an average of X lines per day. According to James Trevelyn, the metric is 15 lines per day. Assuming this means 8 hours full time work at $150 an hour... we need this much money."
14:34 < jtanx> Yeah
16:09 < sam_moore> Ok, I'm starting to get the hang of this
16:09 < sam_moore> If I just don't sleep for the next week
16:09 < sam_moore> We'll be fine
16:09 < jtanx> :S
16:10 < sam_moore> Dammit are we still testing this system on Wednesday?
16:10 < jtanx> I think so
16:10 < jtanx> I'm trying to push out as much of this as possible today, but I'm not getting that far...
16:10 < sam_moore> Ok, it should be fine, we just need some minor changes
16:10 < sam_moore> Like... actually putting all the sensors/actuators in the software...
16:10 < sam_moore> All the logic to control them is there though
16:10 < jtanx> Yeah, maybe...
16:11 < sam_moore> Don't worry about shit like the microphone in the graph page; the data can be recorded and downloaded, that's good enough for it
16:11 < jtanx> Yep
16:12 < jtanx> I don't particularly see the use of the microphone anyway
16:12 < sam_moore> I don't know either
16:13 < sam_moore> I realised that doing something like PID control with the current sensor/actuator logic would be a pain...
16:13 < jtanx> Will we need pid control?
16:14 < sam_moore> I don't think so
16:14 < jtanx> I hope not
16:14 < sam_moore> Well... not if the pressure regulator is good
16:14 < jtanx> Here's to hoping
16:14 < jtanx> (and if electronics gets their PWM-to-analogue thing going)
16:15 < sam_moore> At least it's sort of possible to make PID control work, if you can identify the sensor somehow in Actuator_Loop and then just look at (sensor->current_data.value)/(sensor->points_read)
16:15 < sam_moore> (Because I was lazy and reused current_data to store the sum of the points read before averaging, rather than the actual most recent point)
16:16 < sam_moore> ergh, we'll fix that if it needs fixing anyway
16:23 < sam_moore> Actually, if the goal is just to plot pressure vs strain, we don't care exactly what the pressure regulator is *supposed* to be... we just blindly increase it and then plot the strain vs an actual pressure sensor instead
16:24 < jtanx> That's true
16:26 < sam_moore> I wonder how harsh they will be on the "you must have designed the system completely before you implement it"
16:26 < sam_moore> Do we have to determine what every line of code is going to be before we write them?
16:27 < jtanx> Well there's no way that can be the case
16:28 < jtanx> If that were the case i think we'd still be stuck trying to write the basics
16:28 < sam_moore> At a high level our design is still exactly what is on that block diagram from ages ago
16:28 < sam_moore> At a lower level... it's been through a few changes
16:53 < sam_moore> ... I'm at 13 pages, but a lot of them are blank
16:55 < jtanx> Ideally it should be ~5 pages/person since there's 6 people...
16:55 < jtanx> How it actually turns out, well...
16:57 < sam_moore> Well
16:57 < sam_moore> One flow chart == 1 page...
16:57 < sam_moore> I'm pretty sure I need to make at least 3 flow charts...
16:57 < jtanx> Hahaha
16:58 < sam_moore> Hmmm, could we hand in 29 pages of flow chart and 1 page of text...
16:58 < sam_moore> The "teamwork" process could be a fun flowchart to make
16:58 < sam_moore> Put lots of skull and crossbones on it
16:58 < jtanx> :P
16:59 < sam_moore> I'm pretty sure if you just count the figures I wanted to include that would make more than 5 pages
16:59 < sam_moore> Perhaps this is achievable then
17:00 < sam_moore> At least, getting 30 pages is achievable, not sure about meeting the marking criteria
17:00 < jtanx> Yeah
17:09 < jtanx> I'm at about 2 pages, and I've barely even started on explaining anything
17:09 < jtanx> just reasoning why we chose what we chose
17:28 < jtanx> "So Adrian just made an LMS announcement and the report is now due on Friday Week 13 (5pm), which is slightly more reasonable."
17:28 < jtanx> (Justin just emailed)
17:56 < sam_moore> I wonder if James' refreshing new GUI will be ready to show off by Tuesday
17:56 < jtanx> Hehe
17:57 < jtanx> Hopefully
17:58 < sam_moore> LMS has two reports...
17:58 < sam_moore> "Individual Report" and "Final Report"
17:58 < jtanx> really
17:58 < jtanx> why
17:59 < sam_moore> Maybe the individual report is for the peer assessment mark?
17:59 < jtanx> ah
17:59 < jtanx> the marks on lms are depressing me
18:00 < sam_moore> The progress report marks?
18:00 < sam_moore> They are pretty depressing
18:00 < jtanx> the quiz marks and soldering lab
18:00 < sam_moore> Oh those
18:00 < sam_moore> They are even more depressing
18:01 < sam_moore> Wait, this maths doesn't make sense
18:01 < sam_moore> The meetings are worth 52/1010
18:01 < sam_moore> The tutorials are worth 808
18:01 < sam_moore> The soldering video is 100
18:01 < jtanx> it's lms being screwy
18:01 < sam_moore> And our final report is worth 23?
18:02 < jtanx> the quiz marks and tutorial is marked outof 100%
18:02 < jtanx> I don't know what the others are marked out of
18:02 < jtanx> (well tutes out of 4)
18:11 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
19:16 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
20:20 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
20:22 -!- jtanx_ [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
20:22 -!- jtanx_ is now known as jtanx
21:14 < sam_moore> I just did a test that I probably should have done ages ago, but it confirms my assertion that C is much better (at least in terms of performance) for multithreaded stuff than python
21:14 < jtanx> well yeah
21:14 < jtanx> but then how much performance do you require
21:14 < sam_moore> All the performance
21:15 < jtanx> :P
21:15 < sam_moore> At the fastest possible sampling rate, python is up around 0.01s in terms of the standard deviation of the distribution you get
21:15 < sam_moore> So that's pretty bad
21:18 < sam_moore> That's on a multicore processor actually
21:18 < sam_moore> I guess I could repeat the test on the actual beaglebone, but I think the graph proves the point
21:20 < sam_moore> ... Anyway, they said they wanted results of tests and things... so that's a test we can put in if we need to.
21:21 < jtanx> Yeah
21:24 < jtanx> https://github.com/niklasvh/html2canvas
21:25 < jtanx> oh that's cool
21:41 < sam_moore> Your section of the report is really good
21:41 < jtanx> Really?
21:41 < jtanx> I thought it was really wishy washy
21:41 < sam_moore> Well it justifies the design choice pretty well
21:42 < jtanx> Thanks
21:42 < sam_moore> At one point people were seriously discussing using things other than HTTP
21:43 < jtanx> What could we have used
21:43 < jtanx> designed our own protocol?
21:43 < sam_moore> Yeah, which would have sucked, that's what I had to explain
21:44 < jtanx> Yeah
21:44 < sam_moore> It was something along the lines of "why do we need to do all this complicated web stuff, can't we just have one device talking to another device over some kind of serial cable"
21:44 < jtanx> I could imagine the heartache involved in trying to use some custom protocol
21:44 < jtanx> hahaha
21:44 < sam_moore> In the first place... you then have to build two custom devices as well as write a custom protocol...
21:46 < jtanx> Yeah
21:46 < sam_moore> We did need a raspberry pi or beaglebone, whether or not using an arduino as well for low level stuff would be better I'm not sure
21:47 < jtanx> Hmm
21:47 < sam_moore> I don't think it would have been worth the effort needed to get the RPi/BBB to talk to the arduino
21:47 < jtanx> An arduino may have been better for all the gpio/adc stuff I guess
21:47 < jtanx> but yeah
21:47 < jtanx> the communication between the device and the arduino
21:48 < sam_moore> Well you'd have a request coming in via HTTP, and then that would have to be sent over USB to the arduino to do the appropriate hardware control
21:48 < sam_moore> Which would probably make it difficult to make the sensors/actuators independent of the client
21:49 < jtanx> Well, there's also the option of i2c
21:49 < jtanx> but yes
21:49 < jtanx> an extra layer of communication
21:49 < jtanx> :/
21:49 < sam_moore> Either way, you have to store the data somehow... and you don't want it to be dependent on the client request...
21:50 < sam_moore> The more I think about it, the less I like it...
21:51 < sam_moore> So I'm glad we went with the BeagleBone even though it's gpio/adc/pwm control is terrible
21:51 < jtanx> Hahaha
21:51 < jtanx> love/hate relationship with the bbb
21:52 < sam_moore> You'd need to have interrupt handlers and some kind of synchronisation going on
21:52 < sam_moore> You still need mutexes and conditionals with threads, but it's a lot easier
21:53 < sam_moore> ... and we'd still need the multithreaded stuff anyway, because we'd still have sensors on the actual RPi/BBB to deal with
21:53 < sam_moore> Yep, it would have been worse
21:53 < jtanx> Yeah
21:54 < sam_moore> We should definitely note this in the report somewhere
21:55 < jtanx> Yeah
21:55 < jtanx> Help justify why we agreed to the bbb
21:55 < sam_moore> Well we did sort of agree to it because of that
21:55 < sam_moore> It was partly "Hmm, we only have to write code for one device"
21:56 < sam_moore> And partly because electronics wanted it to avoid having to build the extra hardware
21:56 < sam_moore> And partly because if electronics wanted it then we wouldn't have to write our own BOM and order things :P
21:56 < jtanx> :P
22:18 < jtanx> MySQL Database BLARGH
22:18 < jtanx> hehe
22:21 < sam_moore> Do my thread flow charts make sense?
22:22 < sam_moore> It's hard to know objectively
22:22 < sam_moore> But I suspect looking at them for too long may cause the brain to shut down
22:24 < sam_moore> Dammit, I can't remember if tomorrow is supposed to be some important assessment thing for ENSC1001 or not
22:24 < jtanx> o.o
22:24 < jtanx> I'm still trying to familiarise myself with the meaning of all the flow chart symbols
22:24 < jtanx> but it seems okay
22:24 < jtanx> don't you have to give a presentation or something for ensc1001
22:25 < sam_moore> Yeah, but it's alright, that's next week
22:25 < sam_moore> All the things are due next week
22:26 < sam_moore> That's all that matters to me right now, because I want to sleep
22:26 < jtanx> :S
22:26 < sam_moore> Next Tuesday I will hate myself for sleeping this Tuesday
22:26 < sam_moore> But Sam from next Tuesday is a jerk anyway
22:26 < sam_moore> I never liked that guy
22:26 < jtanx> Hey, sleep is important
22:27 < jtanx> One thing about the flow charts, doesn't fatal just call exit(), so no deinitialisation happens
22:27 < sam_moore> Um, sort of
22:27 < sam_moore> But when the program exits, Cleanup gets called
22:27 < sam_moore> Which calls the deinitialisation functions
22:27 < jtanx> When did that get enabled
22:28 < sam_moore> Cleanup has been there for ages
22:28 < sam_moore> It's just been empty most of the time
22:28 < jtanx> Ah
22:28 < sam_moore> Although, I'm not sure if calling exit() is the best way to do it when you have multiple threads
22:28 < jtanx> Meh
22:28 < jtanx> when you have a fatal situation
22:29 < sam_moore> Software isn't going to help?
22:29 < jtanx> no
22:29 < sam_moore> I was planning on having exit called with different error codes
22:29 < jtanx> but what can you do with that
22:30 < sam_moore> You can restart the server using run.sh
22:30 < jtanx> but with the different error codes?
22:30 < sam_moore> Or you can start a quick and dirty program that will make sure everything's deinitialised
22:30 < jtanx> Ah
22:30 < jtanx> I guess that could work
22:30 < sam_moore> One error code for "really bad thing happened, we're going to die"
22:30 < sam_moore> And one for "Something dumb happened, restart the server"
22:31 < jtanx> About the graphs changing colours
22:31 < jtanx> is it okay to just add a legend
22:31 < sam_moore> It is OK to do whatever is the minimal work for the maximum reward
22:31 < jtanx> hahaha
22:31 < jtanx> well
22:32 < jtanx> it was really easy to add the legend
22:32 < sam_moore> Good, problem solved
22:32 < jtanx> :P
22:33 < jtanx> For the actuators
22:33 < jtanx> did you remove that fatal call
22:33 < jtanx> when the value was not safe?
22:33 < sam_moore> I think I did
22:33 < jtanx> Okay
22:33 < sam_moore> It reports an error and doesn't set the actuator
22:33 < sam_moore> And in theory it cancels the remaining steps
22:33 < jtanx> That's good
22:33 < sam_moore> Meaning the actuator just stays at the last safe value
22:35 < sam_moore> Ah, it doesn't cancel the steps, but that can be easily changed
22:35 < sam_moore> But currently it would just continually report the error until all the steps were finished
22:36 < jtanx> either way's fine
22:37 < jtanx> what's the default sample rate
22:38 < sam_moore> It used to be 1s
22:38 < jtanx> it's just that overnight it's generating about 2G of data
22:38 < jtanx> which doesn't sound like 1s
22:39 < sam_moore> Then it most likely isn't anymore
22:39 < sam_moore> Nope, it's now 1e-4 seconds
22:39 < sam_moore> Changed for the microphone test
22:39 < jtanx> ahh
22:40 < sam_moore> Should probably make the starting sample rate an argument to Sensor_Add
22:40 < jtanx> I was wondering why it was consuming 30% cpu on idle
22:40 < jtanx> ls
22:40 < sam_moore> Ergh, if the microphone is running with everything else, it will generate a lot of data
22:41 < jtanx> Yeah
22:41 < sam_moore> Fortunately I added averaging
22:41 < sam_moore> And apparently they just want an average from the microphone
22:41 < sam_moore> Or a "level"
22:41 < sam_moore> Or something
22:41 < jtanx> oO
22:42 < sam_moore> We'll just have the microphone sample at 1e-6 and have 1e6 averages per point
22:42 < sam_moore> (ie: 1 point gets recorded every second)
22:46 < sam_moore> Hmm, or you could make the microphone's ReadFn only succeed if the last pressure reading is higher than a certain value
22:46 < sam_moore> But that's getting complicated
22:49 < sam_moore> Good night anyway
22:52 < jtanx> Okay
22:53 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
23:01 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
23:55 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
--- Day changed Wed Oct 23 2013
19:30 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
23:01 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Day changed Thu Oct 24 2013
07:42 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
10:21 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
14:16 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
14:36 -!- Rowan [~Rowan@106-68-210-88.dyn.iinet.net.au] has joined #mctxuwa_softdev
14:47 < jtanx> Hey
15:45 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Connection reset by peer]
15:47 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
17:27 -!- Rowan [~Rowan@106-68-210-88.dyn.iinet.net.au] has quit [EOF From client]
17:51 < jtanx> huh
17:51 < jtanx> it was surprisingly easy to add post support
17:56 < sam_moore> That's cool
17:56 < jtanx> you just fgets from stdin instead
17:56 < jtanx> it's in the same format too
17:56 < sam_moore> Excellent
17:57 < jtanx> we probably do have to unescape html strings though
17:57 < jtanx> like if someone had a comma in their password
17:57 < sam_moore> If we had a progress report we could put "potential gaping security leak plugged"
17:57 < jtanx> Hahaha
17:57 < jtanx> but it still allows the get request version
17:57 < sam_moore> Oh well
17:57 < jtanx> but then that's your own fault
17:57 < sam_moore> Yep
17:59 < sam_moore> Doesn't look like the IRC channel will get a mention in the "communication" section of the report :(
17:59 < sam_moore> Oh no wait, it does
17:59 < sam_moore> Good
17:59 < sam_moore> ... That "overall schedule"...
17:59 < jtanx> Haha
17:59 < sam_moore> I started it, and quickly realised it was a waste of time
18:01 < sam_moore> Also, need to hate on the beaglebone less
18:01 < sam_moore> Otherwise they might try and do something stupid like replace it next year
18:01 < jtanx> That would be stupid
18:01 < sam_moore> Yeah, it was a pain, but probably still one of the best things to use
18:02 < sam_moore> RPi with dedicated ADC/DAC modules would probably have been best
18:02 < sam_moore> Distributed system of arduinos.... noooo
18:02 < jtanx> Yeah
18:02 < jtanx> RPi with ADC/DAC would have been cool
18:02 < jtanx> but only because there's more support for the RPi
18:02 < sam_moore> Yes
19:19 < jtanx> hmm
19:20 < jtanx> maybe I should enable POST only for the login module?
19:20 < jtanx> Right now, if POST and GET data is received, the GET data is discarded in place of the POST data
19:28 < jtanx> Yeah, okay I only enabled it for login
22:38 < jtanx> Hahahahaha
22:39 < jtanx> I passed our code through ohloh - https://www.ohloh.net/p/MCTX3420
22:39 < jtanx> Apparently it's work 3 years of effort, and is valued at $150k
22:49 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
--- Day changed Fri Oct 25 2013
08:48 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
09:50 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
09:56 < sam_moore> Um... we didn't make our first commit in 200
09:56 < sam_moore> * 2000
09:56 < sam_moore> 10 developers???
09:57 < sam_moore> There are 6 of us
09:57 < sam_moore> And some people contributed about 2 lines of source code...
09:57 < sam_moore> Mostly written in JavaScript
09:57 < sam_moore> Really?
09:57 < sam_moore> Is that counting the jQuery UI guff?
09:58 < sam_moore> That's annoying, because the C part of the project is like 50% comment lines
09:58 < sam_moore> And it says "low number of comments" based on the JavaScript :S
09:59 < sam_moore> Still... this is really cool
10:00 < jtanx> hahaha
10:00 < jtanx> the 2000 commit was because we made commits on the bbb
10:00 < sam_moore> ok...
10:00 < jtanx> but it lacks an rtc
10:00 < sam_moore> Where do we get the extra 4 developers from?
10:00 < sam_moore> "Debian" is one
10:00 < jtanx> and for some reason the time didn't get updated
10:01 < jtanx> umm
10:01 < jtanx> hmm
10:01 < jtanx> Ubuntu user?
10:01 < sam_moore> Oh, "Callum" and "Callum-" are treated seperately -_-
10:01 < jtanx> oh
10:01 < sam_moore> That's still only 8
10:02 < jtanx> the results are a bit skewed
10:02 < jtanx> because a lot of the javascript is just from other libraries
10:02 < jtanx> well at least i think so
10:04 < sam_moore> Yeah
10:05 < sam_moore> Is it easy to just pass a subset of the code through?
10:08 < jtanx> Yep - you have to set what's ignored
10:08 < jtanx> I've just set it to ignore all *.min.js files (essentially all external js files)
10:08 < jtanx> But it won't get updated for a while
10:09 < jtanx> I've got to go for ~ 2 hrs
10:10 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
10:12 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
12:46 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
13:42 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
20:44 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
21:20 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
21:36 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
23:39 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
--- Day changed Sat Oct 26 2013
08:43 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
09:22 -!- justin_kruger [~justinkru@CPE-60-230-240-161.lnse1.wel.bigpond.net.au] has joined #mctxuwa_softdev
09:23 -!- justin_kruger [~justinkru@CPE-60-230-240-161.lnse1.wel.bigpond.net.au] has quit [EOF From client]
09:27 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
09:38 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
13:42 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
15:00 -!- Callum [~Callum@106-68-161-33.dyn.iinet.net.au] has joined #mctxuwa_softdev
15:10 < Callum> just finished the code to get the edge. atm it just returns the position on their object. was thinking we'd just use the timestamp and go this was the additional width at this time, additional width at time +1, so rate of change is 2*difference etc
15:11 < Callum> also pushing 3 images to testing (actually i should go abck and push original too) but to show it blurred, after canny and with the found edge imposed over it (without w.e values i had set at the time..)
15:15 < jtanx> Nice
15:16 < Callum> ok merged
15:17 < Callum> i might need some help merging this into the server code too
15:18 < Callum> just to make sure its all good
15:34 < jtanx> Sure
15:34 < jtanx> I'm really busy right now though with this other crappy project that I have to do
15:35 < jtanx> If not today, then maybe during tomorrow's meeting (if we're having a meeting then?)
15:37 -!- Callum [~Callum@106-68-161-33.dyn.iinet.net.au] has left #mctxuwa_softdev []
15:38 -!- Callum [~chatzilla@106-68-161-33.dyn.iinet.net.au] has joined #mctxuwa_softdev
15:55 -!- Callum [~chatzilla@106-68-161-33.dyn.iinet.net.au] has quit [Ping timeout]
16:06 -!- Callum [~chatzilla@106-68-161-33.dyn.iinet.net.au] has joined #mctxuwa_softdev
16:07 < Callum> we were meeting tomorrow? also i have an assignment due monday i havent started. was going to try and work through that and work on another project i have due..as well as this
16:07 < Callum> still need to start my writeup for this.
16:40 < Callum> also, if the image is completely black, the read function should return false (havent yet tested this but it should be the case)
16:53 < Callum> also looking at justins diagram, why isnt the microscope not included?
16:54 < Callum> or is it just both under "camera"
17:01 < jtanx> Yeah
17:01 < jtanx> I think it's just under "camera"
17:02 < Callum> ok.
17:02 < jtanx> I dunno, I thought we should try to meet some time next week
17:02 < jtanx> monday's our usual meeting time
17:02 < Callum> you said tomorrow though didnt you?
17:03 < jtanx> Ohh
17:03 < jtanx> sorry
17:03 < jtanx> my bad
17:03 < jtanx> I meant monday
17:03 < Callum> was going to say, my body clock so out of wack its sunday already?
17:03 < Callum> yea. if i can get the assignment done tomorrow il be happy to spend most oif the day trying to finish some of this off
17:03 < jtanx> Haha mine is
17:03 < Callum> to be fair, i normally work saturdays
17:03 < Callum> i took it off to do work.
17:04 < jtanx> :/
17:04 < Callum> so it should feel like a sunday
17:04 < jtanx> I had this assignment where I thought I had completed it, but when I reread the specs I found out that I missed a large portion of it
17:05 < Callum> ouch
17:05 < Callum> what assignment was this for?
17:05 < jtanx> cits3242
17:05 < jtanx> some programming unit
17:05 < Callum> figured by the cits. :p
17:05 < jtanx> hehe
17:06 < jtanx> yeah, if it wasn't for that i'd be solely working on this project right now
17:07 < Callum> yea iv kind of been working on 3 or 4 things all at once. and not gotten far in anything.
17:07 < jtanx> yeah, it's always crap when things are due at the same time
17:08 < jtanx> but 3-4 things at once? that's harsh
17:12 < Callum> umm. assignment due tomorrow i havent started. i have anoither group project but we only really have 2 members and wev barely done anything (due friday, meant to have 4/5 members)
17:12 < Callum> physics assignment also due on friday
17:12 < Callum> just trying to figure out how to get it all done
17:13 < Callum> not going to be a fun week. then after this weeks over its major catchup in the 3 units i have exams for
17:13 < Callum> oh and this tute adrian decided to give us...should probably look at that some time too
17:16 < Callum> whats the model for the microscope? cant find anything in dropbox
17:22 < Callum> they are using the microscope only on the non-exploding one im assuming?
17:23 < jtanx> Yeah
17:23 < jtanx> the microscope
17:23 < jtanx> it's a kaiser baas something
17:23 < jtanx> KBA03030
17:24 < Callum> thanks
17:57 -!- Callum [~chatzilla@106-68-161-33.dyn.iinet.net.au] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
22:04 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
23:31 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has left #mctxuwa_softdev []
--- Day changed Sun Oct 27 2013
07:59 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
08:46 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
15:08 < sam_moore> Blergh, what are we going to put in the "Results" part of this report?
15:09 < sam_moore> "We plugged it all in and it didn't explode" ?
15:13 < sam_moore> Also it looks like gliffy only lets you export one svg on the trial account
15:14 < sam_moore> And if the image isn't exactly A4 size, pdf is terrible
15:14 < sam_moore> So the remainder of my figures will be png
15:20 < sam_moore> Do we need to find references for all these things that we worked out and/or already knew ourselves...
15:20 < jtanx> haha
15:21 < sam_moore> I feel like referencing git commits
15:21 < jtanx> Yeah I was going to do that
15:21 < sam_moore> We should do that
15:21 < jtanx> results
15:21 < jtanx> it seems to work
15:21 < sam_moore> ...
15:21 < sam_moore> I put in a "Customer Satisfaction" section under results
15:22 < jtanx> :P
15:22 < sam_moore> It says "No matter what we did, the customer was not satisfied"
15:22 < sam_moore> Next year they'll probably be told the beaglebone is stupid and start doing it all on an arduino
15:22 < jtanx> mm probably
15:22 < sam_moore> And then get told that it needs a user management system...
15:23 < jtanx> hahahaha
15:23 < sam_moore> I'm having trouble with what level of assumptions I should make about the reader's knowledge
15:23 < sam_moore> Do they know what a thread is?
15:24 < sam_moore> Do they know what "high level" and "low level" mean
15:24 < jtanx> Thats... what I was having difficulty with too
15:24 < sam_moore> Do they know what a kernel is?
15:24 < jtanx> how far back do you have to explain terminology
15:24 < sam_moore> Or context switching...
15:24 < sam_moore> Argh
15:24 < jtanx> write a treatise on multithreaded computing
15:24 < sam_moore> :S
15:24 < sam_moore> This is rather simple multithreaded stuff really
15:26 < sam_moore> I think we need a "terminology" section
15:27 < jtanx> THat would be good
15:30 < jtanx> oh yeah
15:30 < jtanx> we should be able to use commas again
15:30 < jtanx> for that actuator step thing
15:30 < jtanx> because it decodes the string first
15:31 < jtanx> not sure if that will introduce any security issues though
15:32 < sam_moore> Who cares, ship it
15:33 < sam_moore> But I don't think so?
15:33 < jtanx> :P
15:33 < jtanx> maybe
15:33 < jtanx> I dunno
15:33 < sam_moore> sscanf can at most read to the end of the string
15:34 < jtanx> since it decodes %hh to the hex value
15:34 < jtanx> I mean if you give it a url encoded string
15:34 < jtanx> with %01
15:34 < jtanx> it would change that to the character 0x01
15:34 < jtanx> which is like some control code
15:34 < sam_moore> Hmm
15:34 < jtanx> we could limit it so anything less than 0x20 is a space
15:34 < sam_moore> Just do that then
15:35 < jtanx> but it's probably important to url decode strings
15:35 < jtanx> what if someone had a , in their password
15:35 < jtanx> or weird characters
15:35 < sam_moore> God dammit
15:35 < sam_moore> call isprint() ?
15:35 < jtanx> nah I mean
15:36 < jtanx> it should be fine if we convert anything < 0x20 to a space
15:36 < jtanx> but it's better that we're url decoding stuff
15:36 < sam_moore> Ok
15:36 < jtanx> because if we didn't, the password string would be like %2d instead of -
15:36 < jtanx> for example
15:36 < sam_moore> Yeah, that would suck
15:37 < sam_moore> Do you think Rowan and/or James will write their parts of the report?
15:37 < jtanx> Maybe, I dunno
15:38 < jtanx> Rowan was trying to copy the wiki, which was written mostly by Justin?
15:38 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
15:38 < sam_moore> Yeah, that's not really cool
15:38 < jtanx> :/
15:38 < sam_moore> I don't think there's much that can be just put into the report from the wiki anyway
15:38 < sam_moore> It's too informal
15:38 < sam_moore> And has a lot of "TODO: Fill this in" pages
15:38 < jtanx> Yeah, they're counted separately anyway
15:39 < jtanx> as in, there's a specific mark for wiki pages
15:39 < sam_moore> Oh dear
15:39 < jtanx> (or equivalent documentation afaik)
15:39 < sam_moore> Every area there's a mark for is just another area they can deduct marks for not liking
15:39 < jtanx> Yeah, I'm not liking it very much
15:40 < sam_moore> Are we supposed to talk about the other subsystems or focus on our own?
15:40 < jtanx> I'm hoping to focus on our own really
15:40 < jtanx> but I guess there would be overlap
15:48 < jtanx> did you see the microscope stuff that callum did
16:00 < sam_moore> I glanced at it
16:00 < sam_moore> It's in the main directory not sensors/
16:01 < sam_moore> Does it work?
16:01 < jtanx> well from the test pictures it looks quite good
16:01 < jtanx> not sure how well it will work with the real thing
16:02 < sam_moore> Hahaha
16:02 < sam_moore> If it works with what we were given, good enough
16:02 < jtanx> Yep
16:03 < sam_moore> We seem to end up having to actually implement all of sensors things
16:03 < sam_moore> I guess I will add the calibration in at some point before Tuesday
16:04 < jtanx> :/
16:04 < sam_moore> It shouldn't be that hard, I've done it before
16:04 < sam_moore> Convert raw value to nearest two indexes in an array
16:04 < sam_moore> Interpolate between those two indexes
16:05 < sam_moore> I think for the Microphone there's 1024 points because he tested it with a 10 bit ADC somehow
16:05 < sam_moore> For other things...
16:05 < sam_moore> There are 10 points
16:05 < jtanx> 1024 points
16:05 < jtanx> wait what
16:06 < sam_moore> 1 point per ADC value
16:06 < sam_moore> As in, I was sent a lookup table of ADC value -> dB level
16:06 < jtanx> oh right
16:06 < jtanx> yeah
16:06 < jtanx> he was testing it on an arduino
16:06 < jtanx> was the arduino calibrated properly
16:07 < sam_moore> Lalala not listening...
16:07 < jtanx> :P
16:07 < sam_moore> Oh, it loks like I only have 20 points anyway
16:09 < sam_moore> This calibration does assume that electronics uses exactly the same voltage divider that sensors guy used
16:09 < jtanx> it's probably close enough
16:09 < sam_moore> Well maybe
16:09 < sam_moore> Just trusting the data sheet is probably close enough
16:10 < sam_moore> I'm not sure I see the point in calibrating a device if you don't actually use the final setup to calibrate it...
16:10 < jtanx> Yeah, true
16:22 < sam_moore> Is the use of '*' in pointer names a "standard"... I always thought it was... how you made a variable a pointer
16:22 < jtanx> Oh yeah that
16:31 < sam_moore> God dammit I have no motivation left to do anything
16:32 < jtanx> urgh
16:32 -!- jtanx changed the topic of #mctxuwa_softdev to: :(
16:34 < sam_moore> Should I put your part of the report into tex?
16:34 < jtanx> Yeah, I guess
16:34 < sam_moore> I think if I put your part and Justin's part combined with my hopelessly incomplete part...
16:34 < sam_moore> we will actually have too many pages
16:34 < jtanx> :/
16:34 < jtanx> was there a hard limit?
16:35 < jtanx> I probably need to cut down my section, too much rambling
16:36 < sam_moore> I think it's fine
16:37 < jtanx> I dunno
16:37 < jtanx> I have the feeling I'm not following the guidelines correctly on what I'm supposed to talk about
16:37 < sam_moore> We can't win either way
16:37 < jtanx> Yeah, like where am I meant to find the references for half the stuff I did
16:38 < sam_moore> Surely James Trevelyn would have got a few papers out of his Telelabs thing?
16:39 < sam_moore> I'll leave it for now
16:39 < jtanx> Okay
16:41 < sam_moore> My section will be great when I actually include all those figures I refer to...
19:33 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
21:26 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
23:24 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit ["it has been segmented"]
--- Day changed Mon Oct 28 2013
08:20 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
09:10 -!- jtanx_ [6a445d5d@ircip1.mibbit.com] has joined #mctxuwa_softdev
09:13 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
09:13 -!- jtanx_ is now known as jtanx
09:17 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
10:04 -!- jtanx [6a445d5d@ircip1.mibbit.com] has quit ["http://www.mibbit.com ajax IRC Client"]
13:02 -!- jtanx [~asfa@130.95.51.228] has joined #mctxuwa_softdev
13:02 < jtanx> damn, forgot to connect back my server
13:21 -!- jtanx [~asfa@130.95.51.228] has quit ["ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]"]
14:17 -!- jtanx [~asfa@130.95.117.148] has joined #mctxuwa_softdev
15:38 -!- jtanx [~asfa@130.95.117.148] has quit [Ping timeout]
17:07 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
17:36 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has quit [Ping timeout]
18:35 -!- jtanx [~asfa@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
19:33 < sam_moore> Are we demonstrating James' GUI tomorrow?
19:45 < jtanx> I have no idea
19:45 < jtanx> given that it doesn't work with our api, probably not?
19:46 < jtanx> I can change the colour scheme to make it look similar...
19:58 < sam_moore> No, don't worry
19:58 < sam_moore> This is why we have git
19:59 < jtanx> :/
19:59 < sam_moore> Hang on, does it work with any of the API?
19:59 < sam_moore> The API hasn't changed *that* much
20:00 < jtanx> I don't know
20:00 < sam_moore> The sensors API has not changed for months
20:00 < jtanx> it has some of the javascript that got copied over
20:00 < sam_moore> Except that "name" was added as an optional thing
20:00 < jtanx> but the javascript's probably out of date
20:00 < jtanx> his version is missing links to some pages also, last time I checked
20:03 < sam_moore> Stick with the working GUI
20:03 < sam_moore> Everyone knew about the testing on Wednesday morning and that GUI was the one that the people who actually showed up got working
20:03 < sam_moore> I guess we could try the totally untested up until now GUI tomorrow morning at 8am
20:04 < jtanx> This is... going to be awkward for the report
20:04 < sam_moore> At some point between when the case team builds their box and the cans are connected to their amazing mounts
20:06 < sam_moore> We'll put in a paragraph about how we have a "testing" GUI
20:06 < jtanx> ._.
20:07 < sam_moore> Which was designed purely from a point of view of allowing us to test the server and the experiment hardware
20:07 < sam_moore> And thus is sorely lacking in Human Computer Interaction Industry Standards (is that a thing)
20:07 < jtanx> Yep
20:07 < jtanx> haha
20:08 < sam_moore> I feel like tomorrow will be a waste of time
20:09 < jtanx> unfortunately yeah
20:09 < sam_moore> But I suppose if anyone needs to demonstrate that their thing actually does something it will be us, since our work is effectively invisible
20:09 < sam_moore> ... Not unlike the case
20:09 < jtanx> if that case doesn't turn up...
20:09 < sam_moore> You don't really expect the case to turn up do you?
20:09 < sam_moore> Although, maybe it will
20:10 < jtanx> Well, one can only hope...
20:10 < sam_moore> I think it could be fun to take bets on what the case would actually be if it turned up
20:10 < jtanx> oh boy, your email is hilarious
20:11 < sam_moore> I bet they just take the case that's currently in G19, put it on top of the system, and call it a day
20:11 < jtanx> :P
20:11 < sam_moore> Yeah, I know Alex
20:12 -!- Callum [~chatzilla@106-69-68-94.dyn.iinet.net.au] has joined #mctxuwa_softdev
20:13 < jtanx> oh, you merged usercake into the main repo too
20:13 < sam_moore> Hi Callum
20:13 < Callum> hey
20:13 < jtanx> hey
20:13 < sam_moore> jtanx: Didn't we want to do that?
20:13 < sam_moore> Eventually at least
20:13 < jtanx> yeah
20:13 < sam_moore> It needs setting up on the beaglebone, I'm not going to worry about it
20:14 < jtanx> I skinned it yesterday
20:14 < sam_moore> I think we can just enable /etc/shadow authentication to demonstrate
20:14 < jtanx> yeah
20:14 < jtanx> the changes I made are still on the 'users' branch
20:14 < jtanx> but it's not finished yet
20:15 < sam_moore> We'll note stuff like this in "Recommendations" or "Work for the future" or something
20:15 < jtanx> Yeah
20:15 < jtanx> Working with usercake...
20:15 < jtanx> it was absolute spaghetti code
20:16 < sam_moore> Haha
20:16 < sam_moore> It made sense to me
20:16 < sam_moore> Sort of
20:16 < jtanx> It makes sense
20:16 < jtanx> but it's just... ugh
20:16 < sam_moore> Pretty much everything is in funcs.php
20:16 < jtanx> Yeah
20:16 < sam_moore> They have an entire class that represents a new user
20:16 < sam_moore> But when you search for users it returns a map/dictionary
20:16 < jtanx> What I found so stupid
20:17 < jtanx> is that when you create a user
20:17 < jtanx> it doesn't return the id
20:17 < jtanx> so you have to search the db to find the id of the user you just made
20:17 < sam_moore> Hahaha
20:18 < sam_moore> Callum: If you want to test the dilatometer, just hard code it as camera 0 and we won't bother plugging the other camera in tomorrow
20:18 < jtanx> The quality from the other camera was really shit anyway
20:18 < sam_moore> Or I guess if we really want to we can recompile the program with it hard coded
20:18 < jtanx> sounds like a plan
20:18 < Callum> ok
20:19 < sam_moore> It only has to work for as long as Adrian wants to see it
20:19 < jtanx> I wouldn't be surprised if adrian didn't bother to turn up, and sent adam instead though
20:19 < Callum> probably be the case
20:19 < Callum> :p
20:19 -!- MctxBot [~twang@106-68-93-93.dyn.iinet.net.au] has joined #mctxuwa_softdev
20:19 < jtanx> it's baack
20:24 < jtanx> wow
20:24 < jtanx> usercake ships with html that's broken
20:27 < sam_moore> I did not notice that
20:28 < sam_moore> Well, you get what you pay for
20:29 < jtanx> :P
20:37 < jtanx> wat
20:37 < jtanx> //Don't update, this fool is trying to update with the same password ¬¬
20:37 < jtanx> from usercake
21:13 < Callum> jaime did we end up finding a way to convert stuff from IplImage to Mat in open cv?
21:13 < Callum> cant find a way...or a way to just capture straight to mat in C
21:13 < Callum> which is fucked...Mat is meant to replace IplImage.
21:13 < jtanx> Try check interferometer.c
21:13 < jtanx> I think it does the conversion
21:14 < sam_moore> Callum: I think I solved it at some point making interferometer.c
21:14 < sam_moore> You can't capture straight to cvMat
21:14 < sam_moore> It is retarted, yes
21:15 < Callum> ah found it. thanks
21:16 < Callum> also, i dont think you ever released IplImage sam :p
21:17 < sam_moore> Meh
21:17 < sam_moore> IplImage * img = cvQueryFrame(g_capture);
21:17 < sam_moore> Whoops
21:17 < Callum> what?
21:17 < sam_moore> Accidental copy/paste
21:18 < sam_moore> Well I was going to copy/paste the image conversion code but you found it
21:18 < sam_moore> For completeness anyway
21:18 < sam_moore> CvMat stub;
21:18 < sam_moore> CvMat * background = cvGetMat(img, &stub, 0, 0);
21:18 < sam_moore> And I still don't know what the stub is for...
21:20 < Callum> ahaha
21:22 < jtanx> stubs
21:22 < jtanx> ahh
21:24 < jtanx> okay
21:24 < jtanx> updated usercake
21:24 < jtanx> hopefully it still works
21:25 < sam_moore> ...
21:26 < sam_moore> I bet we get a segmentation fault or something
21:26 < jtanx> :3
21:26 < sam_moore> What did you update it to do anyway?
21:27 < jtanx> make it look like the rest of our gui
21:27 < sam_moore> Oh, nice
21:27 < jtanx> only allow admins to login
21:27 < jtanx> to that part
21:27 < jtanx> but users can still change their password
21:27 < sam_moore> Excellent
21:27 -!- callum__ [~chatzilla@106-69-68-94.dyn.iinet.net.au] has joined #mctxuwa_softdev
21:27 < jtanx> oO
21:27 < sam_moore> Woah, doppleganger
21:27 < callum__> getting this weird compiler error: /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 19
21:27 < sam_moore> Uuuuuhh
21:28 < jtanx> try make clean?
21:28 < jtanx> make
21:28 < callum__> yea logged onto laptop to copy/pasta
21:28 < callum__> :p
21:28 < callum__> still doing it. not sure if its something i did..coz i changed a bunch of stuff
21:29 < sam_moore> make absolutely sure everything's cleaned
21:29 < sam_moore> Including the sensors and actuators sub directories
21:29 < sam_moore> I can't remember if I made make clean recursively do those
21:30 < Callum> didnt help
21:31 < jtanx> hmm
21:31 < jtanx> apparently
21:31 < jtanx> http://stackoverflow.com/questions/5528958/make-file-problem
21:31 < jtanx> it's because more than one file is linking against the crt
21:31 < jtanx> why is that
21:31 < jtanx> when you added your module
21:32 < jtanx> did you modify the makefile and add microscope.o or something
21:32 < jtanx> or did you do something different
21:32 < Callum> i havent added it to the makefile yet tbh
21:32 < Callum> just been compiling it myself
21:32 < jtanx> oh right
21:32 < jtanx> well that is weird
21:33 < Callum> yup.
21:33 < jtanx> so what files are you compiling (and how)>
21:33 < sam_moore> Can you push it to git?
21:33 < Callum> alright
21:34 < sam_moore> Use a new branch if you don't want to overwrite a working version (although it's git... you can always go back a few commits)
21:34 < jtanx> you might have to update your git repo first
21:34 < sam_moore> Good point
21:34 < jtanx> i've just made some changes
21:34 < sam_moore> Callum: Make a new branch
21:34 < sam_moore> Easier that way, in case there are changes that need merging
21:34 < sam_moore> It's `git checkout -b branch_name`
21:34 < sam_moore> Make changes, commit
21:35 < sam_moore> Then go `git push