Automatic commit of irc logs
[matches/MCTX3420.git] / irc / log
diff --git a/irc/log b/irc/log
index 4638a10..103a54c 100644 (file)
--- a/irc/log
+++ b/irc/log
 --- Day changed Mon Aug 12 2013
 13:10 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
 13:10 -!- justin_kruger [[email protected]] has quit [EOF From client]
+--- Log closed Tue Aug 13 07:49:14 2013
+--- Log opened Tue Aug 13 07:55:27 2013
+07:55 -!- sam_moor1 [[email protected]] has joined #mctxuwa_softdev
+07:55 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
+07:55 -!- Irssi: Join to #mctxuwa_softdev was synced in 9 secs
+07:59 -!- sam_moore [[email protected]] has quit [Ping timeout]
+10:01 -!- Callum [[email protected]] has joined #mctxuwa_softdev
+10:01 < Callum> So apparently we have a new member..
+10:12 < sam_moor1> Yep, Jeremy Tan, apparently he's doing CS as well?
+10:13 < sam_moor1> So, with the two sources of confusion we have so far...
+10:13 < sam_moor1> 1. The Camera - Adrian thinks we need one, Sensors team doesn't, everyone needs to recheck calculations
+10:14 < sam_moor1> The "Can" team wanted to use some kind of tiny can with a relatively thick wall, Adrian recommended a Coke Can, Oliver used Rockstar Cans last year and recommended them
+10:14 < Callum> well, they may be right in saying we may not be able to do any proper processing on it
+10:14 < Callum> but we will need one to relay whats actually HAPPENING in the system
+10:14 < Callum> surely the sensors team see that..
+10:15 < sam_moor1> I guess, I told them in their meeting it would probably be useful
+10:15 < sam_moor1> Anyway...
+10:15 < sam_moor1> We all got in trouble for not communicating between teams well enough
+10:15 < sam_moor1> So now the 9am session is for teams to communicate (at least one member is meant to go)
+10:15 < Callum> how many people went to the lecture?
+10:15 < sam_moor1> About 6
+10:16 < Callum> haha
+10:16 < sam_moor1> I think only one team didn't have a representative, electronics?
+10:16 < Callum> hmm. thats not too bad then. 
+10:16 < Callum> but still, not really our fault communication was poor. we attempted to set up meetings and to convene with others.
+10:17 < Callum> The only other thing we could have done is actually told people, right we're meeting at this time. come or dont (then you'd have like 1 or 2 people at most)
+10:17 < sam_moor1> Yeah, I really think this project needed some kind of direction at the start
+10:17 < sam_moor1> I think that's what we're going to have to do
+10:18 < sam_moor1> We're going to have to be more assertive; we think we need Arduinos, electronics team doesn't seem to know, we should just say "Right, we're using some Arduinos"
+10:18 < sam_moor1> At least that's the vibe I got from Adrian
+10:18 < sam_moor1> Also what happened to my name
+10:18 < Callum> hmm ok. it would help if we had the team convener meeting to do that
+10:18 -!- You're now known as sam_moore
+10:19 < Callum> and no idea
+10:19 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
+10:20 < sam_moore> Also, so far we've neglected physical details a bit
+10:20 < sam_moore> Lastly, we need to start ordering things as soon as possible
+10:21 < sam_moore> Oh, and we (as in, all teams) are supposed to have a schedule of tasks agreed upon
+10:21 < sam_moore> Right, I need to have lunch
+10:21 < sam_moore> *breakfast
+10:22 < sam_moore> Then I guess I can panic some more
+10:23 < Callum> haha. we'v only had 2 weeks to work on this really. We can pull it back.
+10:24 < sam_moore> The scary part is where they do a very similar project every year and no one ever succeeds :S
+10:25 < sam_moore> They seem to think simply throwing the entire class at it (instead of one team of 6) will make it work this time
+10:25 < sam_moore> Oh well, they can't just fail the entire class
+10:25 < sam_moore> It would be nice to actually succeed though
+10:30 < Callum> Yea, well even if it doesnt work a lot of the marking will come from the shit like the diary
+10:30 < Callum> but yes, it would be nice to see a can go boom
+11:57 < Callum> alright so am i still doing the taking images thing and storing it? Coz we pretty much need the camera. what we do with the images though dno
+11:58 < sam_moore> Just take the images and save them to a file for a start I guess
+12:00 < Callum> alright. 
+12:13 < Callum> I might reinstall linux on my laptop, stick with ubuntu or go debian?
+12:51 < sam_moore> I'd recommend debian
+12:51 < sam_moore> It's not that much harder to use, but it's closer to raspian
+13:06 < Callum> alright. any port better to use?
+13:15 < sam_moore> Oh, stick with "stable"
+13:15 < sam_moore> ie: Wheezy
+13:16 < sam_moore> No matter what you do, do NOT get "Sid"
+13:18 < Callum> nah i meant the architecture
+13:20 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+13:20 < jtanx> yallo
+13:20 < Callum> hey
+13:21 < sam_moore> Hi
+13:23 < jtanx> i should say that right now I cant access g19 because I haven't gone through the safety induction yet
+13:23 < sam_moore> Callum: The architecture shouldn't matter too much
+13:24 < Callum> we can let you in. As long as you don't do anything stupid it will be fine 
+13:24 < Callum> alright
+13:25 < sam_moore> We can just compile code on the RPi itself, or if that's too slow (I doubt it) there will be cross compilers
+13:25 < Callum> true
+13:25 < sam_moore> It's just nice to be able to run test software in debian
+13:25 < jtanx> so do you have access to an/the RPi and the other microcontrollers, or is that tba
+13:26 < sam_moore> We have access to "an" (not "the") RPi
+13:26 < Callum> rowan has an arduino too
+13:26 < sam_moore> Ah, that's good
+13:26 < Callum> atleast i think he said he did
+13:27 < Callum> just dont know the exact hardware we're using and won't get access to it for a few weeks atleast (hopefully not too long. need to make sure other teams are doing everything on time)
+13:27 < Callum> speaking of which we should write up a time schedule for our team and make sure a project one gets written up
+13:27 < sam_moore> Adrian said to allow for 6 weeks ordering time
+13:28 < sam_moore> Yeah, the entire class needs to agree on a schedule
+13:28 < Callum> hmm. true i guess, by the time adrian gets the bill of materials, clears it and the stuff gets ordered in
+13:28 < Callum> but at the current rate shit wont be chosen in time
+13:29 < jtanx> i'm surprised that not much has been done in three weeks
+13:29 < sam_moore> The problem is there are too many people working on this
+13:29 < Callum> its been less than 3 weeks though
+13:30 < sam_moore> Right. Let's make a schedule then.
+13:30 < sam_moore> Just a second
+13:30 < Callum> we only got the teams on like wed first week
+13:30 < jtanx> ok
+13:31 < Callum> And having 5-6 people per team across 6 teams without a project manager...makes sense
+13:31 < sam_moore> Haha
+13:31 < sam_moore> Ok, so I have an excel document
+13:31 < sam_moore> Anyone here actually made a schedule for a project?
+13:32 < jtanx> nope
+13:32 < sam_moore> Welp
+13:32 < jtanx> ms project was suggested in cits3200
+13:32 < jtanx> nice gantt chart and everything
+13:32 < sam_moore> Does it allow collaborative editing?
+13:33 < sam_moore> Also, is there an open source version :P
+13:33 < sam_moore> Ok, I've shared a google spreadsheet
+13:34 < jtanx> not likely haha although there was something called ms project server which might allow collaboraitve stuff
+13:34 < jtanx> you can get this all off msdnaa
+13:34 < jtanx> but since noone's used it before it might be better to stick with excel
+13:34 < sam_moore> Ok, let's just try and think what we need to get other teams to do, and what we need to do for other teams
+13:35 < Callum> HAHAH
+13:35 < sam_moore> Well
+13:35 < Callum> Hello everyone,
+13:35 < Callum> It appears that the lab signup sheets for GENG4402, the MECH/MCTX/Oil and Gas students have dissapeared from the desk at the stairwell.
+13:35 < Callum> Can you please check if you have it and return it as soon as possible? Many students still need to sign up. I will then scan and put online once complete so that you can check when your lab is.
+13:35 < Callum> PLEASE RETURN THE SHEETS.
+13:35 < Callum> Thank you
+13:35 < Callum> thats hilarious
+13:35 < jtanx> ~~
+13:36 < sam_moore> Oh dear
+13:36 < sam_moore> It strikes me that something like a Makefile, except a bit more GUI, would be good for this
+13:37 < jtanx> wait
+13:37 < jtanx> you lost me there - what are you referring to
+13:37 < Callum> ^
+13:37 < sam_moore> To compile C projects that involve several files, you use something called "make"
+13:37 < sam_moore> You write a Makefile for it
+13:37 < jtanx> yah
+13:38 < sam_moore> The Makefile has a list of targets and what they depend on
+13:38 < sam_moore> And how to make them once their dependency exists
+13:38 < jtanx> ok
+13:38 < sam_moore> Then you run "make" and it reads the make file and magically compiles everything in the right order
+13:38 < Callum> yea we get what make is
+13:39 < sam_moore> Ok, I was referring to the list of tasks
+13:39 < sam_moore> That depend on each other
+13:39 < jtanx> ook
+13:39 < jtanx> well
+13:39 < sam_moore> It was a bad joke
+13:39 < sam_moore> I am not seriously suggesting we use make to plan the project
+13:40 < Callum> hahahah
+13:40 < Callum> now that i would like to see :p
+13:40 < jtanx> um just with git
+13:40 < jtanx> i've never done pull requests before
+13:40 < sam_moore> Neither had we until last week :P
+13:41 < sam_moore> Basically you make your own fork of the repositoy, and there is a pull request button that lets you ask to have the changes merged back into the upstream repository
+13:42 < jtanx> ahh
+13:42 < jtanx> ok
+13:51 < jtanx> well that was pretty straight forward - I understand it now
+15:06 < sam_moore> I made a #mctxuwa channel for group representatives
+15:06 < sam_moore> I don't know if people will use it, but at least it's an attempt at something
+15:47 < Callum> tbh it makes more sense for us all to use one
+15:47 < Callum> unless the one for everyone is actually used often enough to justify us having our own
+16:11 < sam_moore> Yeah, there's nothing stopping people that aren't group representatives from joining it
+16:11 < sam_moore> It will certainly make it easier if there are more people talking to other teams directly than just the representative
+16:11 < sam_moore> We might still want our own for discussing the details of code
+16:12 < sam_moore> Speaking of which, I'm currently tidying up the test webserver code I wrote
+16:17 < sam_moore> Does: FunctionName, variable_name, Structure, Extern_FunctionName, g_global_variable seem suitable
+16:19 < sam_moore> Well, unless anyone objects before I've satisfied my obsessive compulsive urges, that's what it will be
+16:19 < sam_moore> Until then, it'll probably take a while, and find-replace is fast
+16:20 < sam_moore> Other than that, the style of comments/documentation in the test webserver is what I'll keep using
+16:22 < sam_moore> If someone wants to actually write code... it would be good to have a watchdog program that uses exec to start the main program and detects SIGCHLD when it crashes
+16:22 < sam_moore> Then we can put some kind of emergency "Turn all the things off!" in that
+16:57 < jtanx> what about something like this? http://stackoverflow.com/questions/696839/how-do-i-write-a-bash-script-to-restart-a-process-if-it-dies
+16:58 < sam_moore> Oh cool, that looks good
+17:03 < sam_moore> I'll be back later tonight, bye
+17:21 < jtanx> umm
+17:21 < jtanx> wow okay you're actually writing a webserver from the ground up?
+17:22 < jtanx> what if you just had software that got the results and then wrote that to a html/php file
+17:22 < jtanx> then you can just run nginx and serve it up
+17:45 < jtanx> or what about if you ran an sql server, so you update the database from your program
+17:46 < jtanx> then you can either use php to interface with the database
+17:46 < jtanx> or you could make some sort of api and serve the data in json format
+17:50 < jtanx> sqlite
+19:12 < jtanx> you could do something like this: http://pastebin.com/mEdbu4jR
+19:13 < jtanx> where instead of outputting html, you could make it output json, which is then interpreted by your actual webpage
+20:44 -!- Callum [[email protected]] has quit [Ping timeout]
+20:49 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
+20:56 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+22:40 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
+--- Day changed Wed Aug 14 2013
+07:58 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+09:13 < jtanx> I've done a version using fastcgi, which was surprisingly quite easy to set up
+09:13 < jtanx> see here: https://github.com/jtanx/MCTX3420/tree/master/testing/fastcgi-approach
+10:41 < sam_moore> That looks interesting, I'd prefer that to the PHP/database solution
+10:42 < sam_moore> My concern is: You have to query the web server to start the process, even though it keeps running
+10:42 < sam_moore> Also, I know "write a custom HTTP server" sounds scary, but it does actually work
+10:43 < jtanx> nah
+10:43 < jtanx> fastcgi
+10:43 < jtanx> the process is started once and always runs
+10:43 < jtanx> so you have a request loop
+10:44 < jtanx> wait
+10:44 < jtanx> how do you envision it working?
+10:45 < sam_moore> Oh, right, I see how the fastcgi approach would work, it's basically the same idea; you have something responding to HTTP queries in one thread, something dealing with sensors/actuators in seperate threads
+10:45 < jtanx> yeah
+10:46 < jtanx> except that you don't have to worry about maintaining your own webserver
+10:46 < sam_moore> Cool
+10:46 < sam_moore> I do think that the HTTP server isn't that hard, and it's mostly working
+10:46 < sam_moore> But we can probably switch to fastcgi
+10:48 < sam_moore> I mean, we still have to parse a query string right?
+10:48 < jtanx> well yes
+10:48 < jtanx> if your request was
+10:48 < jtanx> http://blah/cgi/?key=value&anotherkey=value2
+10:48 < jtanx> you'd get back key=value&anotherkey=value2
+10:48 < jtanx> as query string
+10:50 < jtanx> try it out here: http://124.169.120.181:8080/cgi
+10:51 < jtanx> (hopefully that forwards ok)
+10:51 < sam_moore> Yep, that's cool
+10:51 < sam_moore> The HTTP server I wrote basically does that
+10:51 < sam_moore> But if it really bothers you, I'm fine with switching to fastcgi :P
+10:52 < jtanx> well whatever works
+10:52 < jtanx> but I thought it might be more maintainable if you used something that already exists :P
+10:52 < sam_moore> Yeah, but thinking about it, what maintainence does the HTTP server require?
+10:53 < sam_moore> Oh well, it's a good idea
+10:53 < jtanx> for this situation not much
+10:57 < sam_moore> We can pretty easily start with a structure that would allow us to switch, but I'd lean towards keeping the custom HTTP server
+10:58 < sam_moore> Have you done multithreading in C before?
+10:58 < jtanx> in windows yes
+10:58 < jtanx> on linux not really
+10:58 < sam_moore> Ah, I've only done it on linux
+10:58 < jtanx> i did a bit in operating systems
+10:59 < jtanx> but kinda forgot
+10:59 < sam_moore> It shouldn't be too hard for our purposes
+11:00 < jtanx> that thing with running a custom webserver is that if anyone wants to reuse this in the future, i doubt they'd really like the idea of that
+11:01 < jtanx> say they had some new fangled thing that requires php
+11:01 < jtanx> which isn't going to work 
+11:01 < jtanx> but with a standard webserver like apache or nginx, it's really easy to just install an extra addon
+11:02 < sam_moore> I suppose... what would they need the new fangled php thing for?
+11:03 < jtanx> well that's the thing - for now I don't know, but it could be required
+11:03 < sam_moore> Yeah, good point
+11:03 < sam_moore> Ok, another reason to use an existing web server, is we might require some advanced features if we want to be serious about the safety stuff
+11:04 < sam_moore> For example, it would be a fair amount of work to add SSL to make the custom thing do https
+11:04 < jtanx> oh yeah
+11:04 < jtanx> that too
+11:04 < sam_moore> Also we might want some authentication on it
+11:04 < jtanx> nginx/apache are highly customisable
+11:05 < sam_moore> I've never used nginx, what are it'
+11:05 < sam_moore> s advantages over apache2?
+11:05 < jtanx> nginx
+11:05 < jtanx> yup
+11:05 < jtanx> its really good
+11:05 < sam_moore> Haha
+11:05 < jtanx> a lot of sites use it because it's fast
+11:05 < sam_moore> Fast is good
+11:05 < jtanx> faster than apache
+11:05 < sam_moore> Sold
+11:05 < sam_moore> Well, we only need one user as well
+11:05 < sam_moore> In fact, we deliberately do not want to have multiple clients able to use the thing at the same time
+11:05 < jtanx> haha true
+11:07 < sam_moore> Ok, so I think you've convinced me to use fastcgi
+11:07 < sam_moore> Most of the custom HTTP server was reused code, so I didn't waste too much time on it
+11:07 < jtanx> haha ok
+11:07 < jtanx> have you written one before?
+11:09 < sam_moore> Not specifically a HTTP server, but I've written a project for posix systems with a fair bit of networking
+11:09 < sam_moore> git.ucc.asn.au/?p=matches/swarm.git
+11:10 < jtanx> nice
+11:10 < sam_moore> It allows you to run a shell, eg: bash accross multiple machines at once
+11:11 < sam_moore> Not as useful as I thought it might be, but it was fun
+11:12 < jtanx> heh
+11:12 < jtanx> what did you end up using it for?
+11:13 < sam_moore> I was setting up a programming competition where you have AIs play against each other
+11:13 < sam_moore> I wanted to make a round robin
+11:13 < sam_moore> So I had a bash script setup to do that, but then I got impatient, because it would have to run the games in order
+11:14 < jtanx> oO
+11:14 < sam_moore> Well it turned out no one entered the competition, so I probably didn't need to go overboard
+11:14 < sam_moore> But maybe I can use it for something else
+11:15 < sam_moore> For the threading I'm thinking of using pthreads
+11:16 < sam_moore> The alternative is OpenMP, but it's more suited to numerical computation, rather than having seperate things talking to each other
+11:16 < jtanx> okay
+11:17 < sam_moore> My goal for this week was to have the framework started, so we just have some really basic threads running and then we can start implementing them
+11:17 < jtanx> yeah that would be good
+11:18 < sam_moore> If you want to do some work with the fastcgi part so that we'll be able to parse the query strings, that would probably be a good start
+11:18 < sam_moore> We don't have the exact details of pretty much anything yet
+11:18 < sam_moore> Maybe talk to James/Rowan about how the GUI is going to query the server
+11:19 < sam_moore> Also, did you see my suggested naming convention?
+11:19 < jtanx> no
+11:20 < sam_moore> I don't really mind, although I'd prefer not to have hungarian notation
+11:20 < sam_moore> As long as it'
+11:20 < sam_moore> s consistent
+11:21 < sam_moore> But the suggestion was: FunctionName, variable_name (local or member), Structure, ENUMVALUE, Extern_FunctionName, g_global
+11:21 < jtanx> okay I'll try to keep to that
+11:22 < sam_moore> Cool, I should probably go do something else
+12:33 < jtanx> i gotta go
+12:33 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
+15:39 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+16:22 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
+16:23 -!- justin_kruger [[email protected]] has quit [EOF From client]
+16:43 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
+16:56 < jtanx_> a beagleboard
+16:56 < jtanx_> hmm
+16:58 -!- jtanx [[email protected]] has quit [Ping timeout]
+16:58 -!- jtanx_ is now known as jtanx
+17:03 < jtanx> is it the beaglebone black?
+17:03 < jtanx> sounds interesting
+17:04 < sam_moore> They didn't specify
+17:04 < sam_moore> Oh right, I accidentally cut out his message
+17:04 < sam_moore> tl;dr "Beagle Board"
+17:04 < jtanx> the beagle board is around $125 though
+17:04 < sam_moore> Probably the Beaglebone black
+17:04 < sam_moore> Oh really
+17:04 < sam_moore> Heh
+17:04 < jtanx> yeah
+17:05 < jtanx> the beaglebone black is $45
+17:05 < jtanx> but just looking the A/D converter on the black has a max voltage of 1.8v
+17:05 < sam_moore> That's probably what they meant, since they said it is "not much more expensive"
+17:05 < sam_moore> That should be fine; the sensors team says things are in mV
+17:05 < jtanx> okay
+17:05 < jtanx> that's good
+17:05 < sam_moore> Really though... electronics should be asking the sensors team stuff like this
+17:06 < jtanx> heh yeah
+17:06 < sam_moore> They should probably have asked us if it was feasable for software
+17:06 < sam_moore> Maybe they had someone who knew it would be, but still
+17:06 < sam_moore> It looks like it is anyway, so crisis averted
+17:07 < jtanx> just with the sensors, I think that the diferences need to be amplified so it covers the full range of the A/D converter
+17:07 < sam_moore> Yes, the sensors guy knows that
+17:07 < jtanx> yeah so if its only 1.8v there's less range than 0-5v
+17:08 < jtanx> is that compensated enough by having a 12 bit a/d converter vs a 10 bit (i think arduino is 10 bit) converter
+17:10 < sam_moore> I think so; you get ~4x more resolution from the 12 bit ADC and lose ~3x from the lower range
+17:10 < sam_moore> Also there's no set requirement yet on what the resolution should be
+17:11 < jtanx> true
+17:11 < jtanx> well in any case the bb black sounds quite nice
+17:11 < sam_moore> Yep, it'll probably be good to use
+17:14 < sam_moore> I'm much happier now that we actually have regular verbal communication with the other teams
+18:23 < sam_moore> I'm looking into getting doxygen working for this
+18:59 < jtanx> for the documentation?
+18:59 < jtanx> seems good, but never used it before myself
+19:01 < jtanx> looks a lot like javadoc
+21:26 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
+21:34 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
+22:54 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]

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