Automatic commit of irc logs
[matches/MCTX3420.git] / irc / log
1 --- Log opened Sat Aug 03 15:12:13 2013
2 15:12 -!- matches [[email protected]] has joined #mctxuwa_softdev
3 15:12 -!- Irssi: #mctxuwa_softdev: Total of 3 nicks [0 ops, 0 halfops, 0 voices, 3 normal]
4 15:12 -!- Irssi: Join to #mctxuwa_softdev was synced in 2 secs
5 15:12 < matches> Good idea with the IRC channel
6 15:12 < matches> I'm Sam Moore by the way
7 15:14 < Callum_> Hey. Finally someone else 
8 15:19 < Callum_> Hmm should probably close the app so my phone has enough battery to get me home. 
9 15:21 -!- Callum_ [[email protected]] has quit ["AndroIRC - Android IRC Client ( http://www.androirc.com )"]
10 15:45 -!- james__ [[email protected]] has quit [Ping timeout]
11 15:51 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
12 15:51 -!- matches [[email protected]] has left #mctxuwa_softdev []
13 --- Log closed Sat Aug 03 15:51:28 2013
14 --- Log opened Sat Aug 03 15:51:51 2013
15 15:51 -!- matches [[email protected]] has joined #mctxuwa_softdev
16 15:51 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
17 15:51 -!- Irssi: Join to #mctxuwa_softdev was synced in 2 secs
18 15:52 -!- matches changed the topic of #mctxuwa_softdev to: MCTX3420 UWA
19 15:52 -!- matches changed the topic of #mctxuwa_softdev to: MCTX3420 UWA - Team 4 (Software, Firmware, GUI)
20 16:40 -!- matches changed the topic of #mctxuwa_softdev to: MCTX3420 UWA - Team 4 (Software and stuff)
21 16:52 -!- james__ [[email protected]] has joined #mctxuwa_softdev
22 16:54 -!- You're now known as sam__
23 16:54 < sam__> Yuck
24 16:54 -!- You're now known as sam_moore
25 16:55 < sam_moore> That works
26 16:55 < james__> Yuck?
27 16:55 < james__> Oh right
28 16:55 < james__> all the underscores?
29 16:55 < sam_moore> Yeah
30 16:55 < james__> its a bit of a pain
31 17:01 < sam_moore> I think you might be able to comment on changes if you use github
32 17:01 < sam_moore> I'll see if I can copy the repository there
33 17:01 < james__>  you should be able to
34 17:01 < sam_moore> It does seem useful
35 17:01 < james__> its what it waas designed for really
36 17:01 < sam_moore> Yeah, gitweb is a bit more limited
37 17:02 < james__> Yeah.  Or at least the features aren't as easily accesible as in github
38 17:10 < sam_moore> I'll clone the repository into github now
39 17:24 < james__> Need to be logged in but it looks like you can comment
40 18:13 -!- Callum [[email protected]] has joined #mctxuwa_softdev
41 20:38 -!- Callum [[email protected]] has quit [Ping timeout]
42 22:01 -!- james__ [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]"]
43 22:15 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
44 --- Day changed Sun Aug 04 2013
45 10:43 -!- Callum [[email protected]] has joined #mctxuwa_softdev
46 10:47 < Callum> morning
47 10:49 < sam_moore> Hi
48 10:52 < Callum> What is there we need to get done? i haven't really done anything yet
49 10:53 < sam_moore> We need to write a progress report on what we need to get done :P
50 10:53 < Callum> Thats the other thing i wanted to know, is the progress report per person or per group?
51 10:53 < sam_moore> It's per group, and it only has to be one page
52 10:54 < Callum> I'v had a quick look through the stuff online and only thing i can see is the example but it looks like its per person in that
53 10:54 < Callum> ok, that makes things a lot easier then
54 10:54 < sam_moore> We are meant to have our own technical diaries with handwritten notes
55 10:54 < Callum> yea saw that as well
56 10:55 < sam_moore> So, at the meeting we sort of worked out a vague idea of what systems we'll need
57 10:55 < Callum> yea had a read through the meeting notes
58 10:56 < Callum> seemed like a solid start
59 10:56 < sam_moore> Yes, I think I'll do a block diagram about it
60 10:56 < sam_moore> Since I actually have a raspberry pi I've been playing with it
61 10:57 < sam_moore> No one's really done that much though, to be fair our group was only completely formed by Friday
62 10:57 < Callum> Well, I'm the guy that moved into the group :p
63 10:58 < sam_moore> Is there anything in particular you'd like to work on?
64 10:59 < Callum> Il have another look through the meeting notes, but i don't really have any experience working with this hardware. Just mainly C + Java, but i pick stuff up pretty quick
65 10:59 < Callum> well, any hardware other than what we did in embedded
66 11:02 < sam_moore> We need to learn more about the actual requirements of the system I think, not sure how much we can work out without talking to all the other groups
67 11:03 < Callum> Yea true. Might have a play around with git sometime soon to get used to it
68 11:03 < sam_moore> Oh, something I listed in an email was image processing, that will be important
69 11:05 < sam_moore> Anyway, if you can try and find something that interests you that seems useful and just write a little bit on that, it would be great
70 11:06 < sam_moore> Learning git would be useful, you can write about that, it doesn't matter if Rowan does it as well since we'll all need to learn more
71 11:07 < sam_moore> I know enough of git to work on my own projects, but there are a lot of features designed for group work that I've never used
72 11:37 -!- james__ [[email protected]] has joined #mctxuwa_softdev
73 11:42 < Callum> Sam, I think i got a different ssh key from github; So if im going to use this you'll likely need to add it
74 11:42 < Callum> And hey James
75 11:43 -!- Callum__ [[email protected]] has joined #mctxuwa_softdev
76 11:45 -!- Callum [[email protected]] has quit [EOF From client]
77 11:59 -!- james__ [[email protected]] has quit [Ping timeout]
78 12:09 < sam_moore> Callum__: Ok, send it to me
79 12:11 < sam_moore> If you have github accounts let me know those as well
80 12:11 -!- james__ [[email protected]] has joined #mctxuwa_softdev
81 12:11 < james__> Hey
82 12:12 < sam_moore> Hi
83 12:12 < sam_moore> You guys can't see what's written in the channel whilst you're not in it, right?
84 12:12 < james__> How are things
85 12:12 < james__> Nope
86 12:12 < james__> Its only once you log in  that you can read it
87 12:13 < sam_moore> I'm messing around with git a bit, I've sent an email about the progress report
88 12:13 < james__> Unless you log it there isn't any way to go back to previous convos
89 12:13 < sam_moore> I'd like to meet at 2pm on Monday if that's possible
90 12:13 < james__> sounds good
91 12:13 < sam_moore> I'm running irssi in screen on a server, so I'll have everything logged
92 12:13 < sam_moore> I'll look into making the logs available on git
93 12:14 < Callum__> think anyone would care if i go to G19 without the safety meeting? not like we're actually doing anything.
94 12:14 < james__> i'm using chatzilla so there is an inbuilt log function
95 12:15 < james__> Don't know tbh
96 12:15 < sam_moore> Callum__: No, but just try not do anything unsafe or the rest of us will get the blame :P
97 12:15 < Callum__> well, we could just meet somewhere else. Not like we need to go there
98 12:16 < sam_moore> Adrian did say that we could have people visit the lab, but we are responsible for anyone we bring in without the safety course.
99 12:16 < sam_moore> Ok, what's another good place?
100 12:16 < james__> No idea
101 12:16 < james__> The lab is kinda nice and quite/out of the way
102 12:16 < Callum__> ok well it should be fine. If it's a suitable meeting location than just go with it.
103 12:17 < sam_moore> I don't think it will be a big deal to go in G19, just don't use any equipment. It is a good place.
104 12:17 < Callum__> Yea. just making sure it wont be a problem
105 12:18 < Callum__> Im going to get some lunch. 
106 12:40 < sam_moore> You need to use [email protected]:matchesucc/MCTX3420.git to commit using your ssh key
107 12:41 < sam_moore> If you give me your username, I think you can use https://github.com/matchesucc/MCTX3420.git
108 12:41 < sam_moore> You should be able to commit to git.ucc with your ssh key
109 12:42 < sam_moore> But I think we'll prefer github. It looks like it has more features. I'll use that as the main repository and keep git.ucc up to date in case github explodes.
110 12:43 < Callum__> username: Callum-
111 12:45 < sam_moore> Right, before you commit your changes, pull from the server
112 12:45 < sam_moore> If your repository is "up to date" with the server and you make changes, it is really easy
113 12:46 < sam_moore> If it isn't and you have changes that contradict something done on the server, we'll have to merge the repositories, and from what I've heard that's usually a pain
114 12:47 < sam_moore> We'll probably have to deal with it at some point.
115 12:48 < Callum__> how do you pull from github>
116 12:51 < sam_moore> Not sure how you do it in the gui, is there a "pull" or "fetch" button
117 12:52 < Callum__> not that i can see
118 12:52 < sam_moore> Hang on, I'll start windows and see if I can work out how to do it
119 12:53 < james__> are you logged in?
120 12:53 < sam_moore> Yes
121 12:53 < sam_moore> Cool, you can even edit the files entirely from github
122 12:54 < Callum__> you can?
123 12:54 < sam_moore> Well, I can
124 12:54 < sam_moore> I added Callum- as a collaborator; can you see the repository?
125 12:55 < Callum__> i could see it before
126 12:55 < Callum__> wait hang on
127 12:56 < james__> can you add me aswell?
128 12:56 < james__> username: firefields
129 12:57 < Callum__> i can edit it from the browser
130 12:57 < sam_moore> Done
131 12:57 < sam_moore> Excellent, that's a start
132 12:59 < james__> I can comment
133 13:00 < sam_moore> The browser editor actually looks pretty good
134 13:01 < sam_moore> Hmm
135 13:01 < sam_moore> We need to be able to pull from github to our own machines though
136 13:01 < sam_moore> So we can actually run code
137 13:02 < sam_moore> I can do it myself using the command line
138 13:02 < sam_moore> I'll see how to do it using the GUI
139 13:03 < james__> I am having a look through the documentation now trying to find it
140 13:07 < sam_moore> I wonder what happens when two people edit a file at the same time
141 13:07 < james__> Lets edit the readme?
142 13:08 < sam_moore> Alright.
143 13:08 < james__> I am currently editing
144 13:08 < james__> Can you get in?
145 13:09 < sam_moore> Yes, and it looks the same
146 13:09 < sam_moore> Make some changes and commit it, then I'll go and we'll see what happens
147 13:09 < james__> Done
148 13:09 < sam_moore> It says that you have committed since I started editing
149 13:10 < sam_moore> Whoops, but I could still overwrite it
150 13:11 < sam_moore> Ok, at least it gives us a warning, that's nice
151 13:11 < sam_moore> I think the key to this will be: 1) Try and work on different source files 2) Send lots of spam to IRC when you do stuff
152 13:11 < james__> Also
153 13:11 < james__> if you look in history my changes are still there
154 13:11 < sam_moore> Yeah, that's nice
155 13:12 < sam_moore> And I think we can go back to them
156 13:12 < james__> I am reading about this fork and pull method as well.  Might work well
157 13:13 < james__> Essentially you fork the repo. Make changes then request for it to be pulled back into the master repo 
158 13:13 < sam_moore> Yes, that will likely be the best way to go about it.
159 13:13 < james__> That way all changes can be viewed and then confirmed before going into the master copy
160 13:15 < james__> https://help.github.com/articles/fork-a-repo
161 13:15 < james__> and this https://help.github.com/articles/using-pull-requests
162 13:17 < sam_moore> I think in the long run it will be easier to use the command line when you work on your local machine
163 13:17 < Callum__> might just end up learning how to do it all from command line anyway
164 13:17 < sam_moore> All the tutorials seem to give the command line stuff
165 13:17 < Callum__> yea
166 13:17 < Callum__> suppose you could use the gui just to look at whats there
167 13:17 < sam_moore> `git add remote github [email protected]:matchesucc/MCTX3420.git`
168 13:17 < sam_moore> `git pull github master`
169 13:17 < sam_moore> Make changes
170 13:17 < sam_moore> `git add .`
171 13:18 < sam_moore> `git commit`
172 13:18 < sam_moore> `git push github master`
173 13:18 < sam_moore> Well, that's just directly going to the repository without forking it
174 13:19 < Callum__> is the add thing for staging?
175 13:19 < sam_moore> Yeah; you have to tell it what changes to stage to the commit
176 13:19 < Callum__> yea
177 13:19 < sam_moore> I think there is an option to automatically add all changed files
178 13:20 < sam_moore> I've always just manually done them, makes it easier to work out what I actually did before writing the commit message
179 13:20 < james__> Do we want to fork first
180 13:20 < sam_moore> Probably
181 13:20 < james__> That way someone can't make a change that is incorrect into the master
182 13:21 < sam_moore> Yes, this sounds good
183 13:22 < sam_moore> It won't let me fork it (probably because I'm the "owner")
184 13:24 < james__> I have forked succesfully
185 13:25 < james__> maybe branch?
186 13:25 < sam_moore> No, branches are different
187 13:25 < james__> Right...
188 13:25 < james__> well i made a branch for you? :P
189 13:26 < sam_moore> It doesn't matter if I directly edit the master repository anyway; I'll have to deal with all the pull requests before I do anything mysekf
190 13:27 < sam_moore> Yeah, we don't want to use branches just yet
191 13:28 < sam_moore> A fork is for each person working on the code; a branch is for when you want to make changes to something that might break parts of the code that already work
192 13:28 < sam_moore> For example: You have some really badly written code, but it does what it's meant to do
193 13:28 < sam_moore> So you make a branch "Improve networking code" or something like that
194 13:29 < sam_moore> Then you redo it, and only when you're done you merge your branch back into the master, getting rid of all the old code
195 13:30 < james__> Fair enough. I think i have made a pull request...
196 13:30 < sam_moore> Cool
197 13:31 < sam_moore> Now it should be in the main repository
198 13:32 < james__> yeah. worked
199 13:32 < sam_moore> I show up as the author of your changes, which is a bit silly
200 13:33 < Callum__> firefields opened this pull request 15 hours ago
201 13:33 < Callum__> what
202 13:34 < sam_moore> Is the clock on your local machine correct?
203 13:34 < Callum__> yea
204 13:34 < Callum__> matchesucc merged 1 commit into matchesucc:master  from firefields:master  2 minutes ago
205 13:34 < Callum__> it also says that
206 13:34 < james__> Right.... Thats weird
207 13:35 < sam_moore> You guys should also be able to merge the pull requests, since you're collaborators
208 13:36 < Callum__> alright
209 13:36 < james__> Yeah. Should be able to
210 13:36 < sam_moore> So in summary: Fork the repository, make a pull request, go and check that nothing will break horribly, and then you can merge it
211 13:36 < james__> pretty much
212 13:36 < sam_moore> Cool
213 13:36 < sam_moore> We should put this in the progress report
214 13:37 < Callum__> Yea, detailing how we plan to collaborate the code
215 13:38 < sam_moore> So, should I put our IRC channel log into git?
216 13:39 < Callum__> probably a good idea
217 13:39 < sam_moore> That way people who weren't in the channel can read conversations they missed 
218 13:39 < Callum__> unlikely be that useful but it would be good to have everything archived
219 13:42 < james__> Its always good to have everything archived
220 13:47 < Callum__> so noone else getting weird timestamps on github
221 13:47 < james__> not that i can see
222 13:48 < sam_moore> No, they all make sense to me
223 13:48 < Callum__> also my forked repo doesnt have the updated readme
224 13:48 < Callum__> iv added the upstream and tried fetch upstream and doesnt seem to do anything
225 13:48 < sam_moore> Try merging after the fetch
226 13:48 < sam_moore> fetch + merge = pull
227 13:49 < sam_moore> "Pull request" is a bit confusing, because you're not asking to pull from my repository; you're requesting that I pull from yours
228 13:49 < Callum__> yea, i got that. how do i do the merge?
229 13:50 < sam_moore> git merge upstream/master
230 13:51 < Callum__> yup that worked
231 13:51 < sam_moore> The GUI seems really terrible, I have no idea how to do this stuff with it
232 13:52 < sam_moore> I thought it might be easier if people weren't used to the command line, but there aren't that many commands
233 13:52 < Callum__> yea
234 13:52 < james__> Its easier to comment etc
235 13:53 < james__> But some of the functionality is horribly buried
236 13:53 < sam_moore> Do you get a text editor in the terminal when you want to commit?
237 13:54 < sam_moore> Oh well, whatever people find easiest
238 14:09 < Callum__> alright well i just submitted a pull request and accepted it
239 14:10 < sam_moore> Yep
240 14:10 < sam_moore> Callum- authored in 15 hours
241 14:11 < sam_moore> ?
242 14:11 < Callum__> ahahahahahaah
243 14:11 < sam_moore> Are you from the future?
244 14:11 < sam_moore> Does IRC mess with the space time continuum
245 14:11 < Callum__> it says 15 minutes ago for me, but the rest are 17 hjours ago
246 14:11 < Callum__> i must be from the future :o
247 14:12 < sam_moore> Someone's clock is out of skew
248 14:13 < sam_moore> That is really wierd
249 14:13 < sam_moore> You merged the pull request... before the file was changed... according to this history
250 14:14 < sam_moore> Oh!
251 14:14 < sam_moore> Is it because github is based in the US
252 14:14 < Callum__> but for you all the times are right apart from mine?
253 14:14 < Callum__> and for me all the times are wrong but mine
254 14:15 < sam_moore> Well it's only showing relative times
255 14:15 < Callum__> or do you get weird results from james as well?
256 14:15 < sam_moore> James times look reasonable
257 14:15 < Callum__> hmm. weird
258 14:15 < sam_moore> But notice how a lot of our stuff is on 3rd August, it's actually the 4th today
259 14:16 < Callum__> hmm yea
260 14:17 < sam_moore> I kind of think we should fix this, it's not a major issue but it will certainly be confusing
261 14:18 < sam_moore> Hey, wierd, the times look sensible in git.ucc
262 14:18 < sam_moore> http://git.ucc.asn.au/?p=matches/MCTX3420.git;a=summary
263 14:19 < Callum__> yea agreed 
264 14:19 < Callum__> and that is kinda weird
265 14:20 < Callum__> i cant seem to find anything in account settings for a timezone
266 14:21 < Callum__> Anything else we need done by tomorrow? because i have a bunch of other stuff I'd like to get done
267 14:21 < sam_moore> While you're in account settings, you can set your author name for commits
268 14:22 < sam_moore> No, there's nothing urgent at this stage
269 14:22 < sam_moore> It's only the first week, and we only need 1 page
270 14:22 < sam_moore> We can be like "Here is a page of details on how we got Git to work" if we have to
271 14:22 < Callum__> Yea just we need to make sure we have enough for 1 page
272 14:23 < Callum__> hmm, true i suppose. set up IRC + git repo + discussed an outline on what is going to be required
273 14:24 < Callum__> Tbh he'l likely be happy if we just give him a summary of those meeting minutes
274 14:25 < Callum__> Anyway i'l divert my attention for now then. If you come across anything interesting or something that can be done il stick around in the channel
275 14:25 < sam_moore> Ok, thanks
276 14:26 < sam_moore> The first automatic commit of the irc logs seems to have worked!
277 14:26 < sam_moore> It also copies everything to git.ucc so we have a backup
278 14:26 < Callum__> nice
279 14:27 < sam_moore> The times might be correct as well :P
280 14:27 < Callum__> was just like "where is it? " then i realise i was looking at my forked repo
281 14:27 < sam_moore> Oh, just make sure you don't push anything to the git.ucc repo, because it doesn't go the other way
282 14:27 < sam_moore> Actuall I'll just remove everyone's keys to stop that from happening
283 14:28 < Callum__> haha, good to be sure. We need to make sure the other 2 have this sorted out. hopefully they rock up to the meeting tomorrow
284 14:28 < Callum__> oh wow. the logs go all the way back to when you first connected
285 14:28 < Callum__> haha
286 14:30 < Callum__> and according to me the logs were commited 15 hours ago
287 14:32 < sam_moore> Yeah, my logs will be the best to keep because I don't have to quit, so I should get everything
288 14:33 < Callum__> yea
289 14:34 < Callum__> Sigh. end of first week. already just written myself a fairly long list of things i need to do, which is by no means comprehensive
290 14:36 < sam_moore> I think I have a lot of work to do as well, I should do something for another unit
291 14:36 < sam_moore> See you later
292 14:36 < Callum__> later
293 15:32 < sam_moore> Ok, so pretty much anyone can comment on our stuff, and pretty much anyone can submit bug reports
294 15:32 < sam_moore> I'm going to say that's useful, and we should tell all the other teams about it
295 15:33 < sam_moore> Also I was supposed to go do something else, whoops
296 16:30 -!- james__ [[email protected]] has quit [Ping timeout]
297 18:35 < sam_moore> I changed my username because someone pointed out it sounds like "matches succ"
298 18:35 < sam_moore> But the old links should redirect
299 18:35 -!- justin_ [[email protected]] has joined #mctxuwa_softdev
300 18:36 -!- justin_ is now known as justin_kruger
301 18:37 -!- justin_kruger [[email protected]] has quit [EOF From client]
302 18:37 < sam_moore> Whoops
303 20:21 < Callum__> whoops?
304 21:20 < sam_moore> EOF From client
305 21:32 < sam_moore> I wonder how I can get people's forks to merge into the main repository without them having to issue a pull request
306 21:34 < sam_moore> Ah, I can't, because basically they have total control over their own fork
307 21:35 < sam_moore> Everyone just remember to fetch from upstream before you do work and issue a pull request when you are done, and hopefully things will stay relatively in sync.
308 21:50 -!- Callum__ [[email protected]] has quit [Ping timeout]
309 --- Day changed Mon Aug 05 2013
310 00:00 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
311 07:51 -!- james__ [[email protected]] has joined #mctxuwa_softdev
312 08:13 -!- james__ [[email protected]] has quit [Ping timeout]
313 10:29 -!- Callum_ [[email protected]] has joined #mctxuwa_softdev
314 10:33 -!- Callum_ [[email protected]] has quit ["AndroIRC - Android IRC Client ( http://www.androirc.com )"]
315 11:01 -!- james__ [[email protected]] has joined #mctxuwa_softdev
316 11:19 -!- Callum [[email protected]] has joined #mctxuwa_softdev
317 11:19 < Callum> hallo
318 11:29 < sam_moore> Hi
319 11:30 < sam_moore> I've spoken to Omid from the electronics team, they are in charge of the "microcontroller"
320 11:31 < sam_moore> Apparently they think a raspberry pi is a good choice
321 11:31 < sam_moore> I told him we thought we might need a lower level device to do the ADC/DAC in particular
322 11:32 < sam_moore> But they seem to think a raspberry pi by itself will work
323 11:33 < sam_moore> I'm kind of not sure who's responsible for this part, since we have "server hardware" and they have "microcontroller" and the raspberry pi is sort of both
324 11:33 < sam_moore> But if we agree we want a raspberry pi it probably won't be an issue
325 11:33 < sam_moore> Also apparently the unit coordinators recommended the raspberry pi as well
326 11:34 < Callum> Yea he did
327 11:34 < james__> Well we are using the raspberry pi as a server
328 11:34 < james__> And we can bootstrap microcontrollers onto it
329 11:34 < james__> So i guess we are in charge of the pi
330 11:35 < james__> And the are in charge of the hardware around it
331 11:35 < james__> *they
332 11:35 < sam_moore> Seems logical
333 11:36 < sam_moore> I don't know if you get email notifications; I did a block diagram using the ideas from our first meeting
334 11:36 < sam_moore> I kind of added some thoughts of my own
335 11:38 < sam_moore> Hopefully it makes sense
336 11:41 < sam_moore> If either of you gets time, would you like to start typing some of the progress report?
337 11:51 -!- Callum [[email protected]] has quit [Ping timeout]
338 11:51 < james__> Do we have to submit a progress report?  Because the guide to mechatronics project work that was on lms said we had to do some things for week 1 but not that
339 11:52 < sam_moore> I'm pretty sure we do
340 11:52 < sam_moore> Hang on
341 11:53 < sam_moore> All teams are expected to report next monday (see the report format in the unit outline/overview).
342 11:53 < sam_moore> All teams must review their sub-system and provide high level detail of what is required.
343 11:54 < sam_moore>  All team must take an integrated approach. (I assume this means we have to start talking to other teams ASAP)
344 11:54 < sam_moore> I think the block diagram is a good start for the high level detail
345 11:54 < sam_moore> Then make some notes about how we're collaborating using git
346 11:55 < james__> git and irc
347 11:55 < sam_moore> We should decide whether Rowan or I will be the meeting convener
348 11:56 < james__> I think you
349 11:56 < james__> Just because you actually know what is going on
350 11:56 < sam_moore> Yes, I'm happy to do it and I think I can do a good job
351 11:56 < sam_moore> I just don't want to try and take over the group or something
352 11:56 < sam_moore> I have a good idea of what's going on, but we'll still need everyone to contribute
353 11:57 < sam_moore> I'm not a particular expert in any area, I just sort of know enough to have a general idea of how to approach things
354 11:57 < james__> Its important that the person who represents us has a firm knowledge base of whats possible and what we plan to do. Ultimately you are the person who best fills those requirements
355 11:58 < sam_moore> Ok, thanks, if everyone agrees we'll tell Rowan that when we meet
356 11:58 < sam_moore> And he can still talk to his friends for us, in fact the more of us that can communicate with the other teams the better
357 11:59 < james__> True
358 12:00 < james__> there isn't anything that says he can't talk to others
359 12:00 < sam_moore> Omid said his team was going to rotate the meeting convener, maybe we could try that later on once everyone has a better idea of what we're doing
360 12:00 < sam_moore> Anyway, I should do some other work, see you at 2pm
361 12:01 < james__> Yeah might be worth it.  Gives everyone a taster
362 12:01 < james__> okay see you then
363 14:45 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
364 15:00 -!- james__ [[email protected]] has quit [Ping timeout]
365 15:34 -!- justin_kruger [[email protected]] has quit [EOF From client]
366 18:26 -!- Callum__ [[email protected]] has joined #mctxuwa_softdev
367 20:38 < sam_moore> I'm going to try using the GitHub issues and milestones thing
368 20:39 < sam_moore> It might help with keeping track of what we need to do and what we've done
369 20:45 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
370 20:50 < sam_moore> I think we had some difficulty setting specific goals for this week
371 20:50 < sam_moore> I can try and put together some longer term goals as a start, if that's helpful
372 20:51 < sam_moore> Hmm
373 20:52 < sam_moore> We weren't given a lot of requirements that the guy was asking us about
374 21:06 < sam_moore> So the most important task seems to be "determine those requirements"
375 21:07 < sam_moore> Well, we talked about it in the meeting, but I'm going to make GitHub issues for each of the areas so we have a good record
376 21:32 < Callum__> Sam are you talking to yourself or am i not just seeing the other messages?
377 21:35 < sam_moore> Yeah, just ranting
378 21:36 < sam_moore> Well if you read the messages, then I was talking to you :P
379 21:37 < Callum__> haha just they seemed like they were structured like you were responding to someone
380 21:39 < sam_moore> I guess that's how I'm used to using IRC, people tend to say stuff broadly directed at anyone even though they won't get an immediate reply
381 21:39 < sam_moore> Or even if they don't need a reply
382 21:45 < Callum__> Fair enough
383 21:51 -!- justin_kruger [[email protected]] has quit [Ping timeout]
384 --- Day changed Tue Aug 06 2013
385 00:33 -!- Callum__ [[email protected]] has quit [EOF From client]
386 10:48 -!- Callum__ [[email protected]] has joined #mctxuwa_softdev
387 11:10 -!- james__ [[email protected]] has joined #mctxuwa_softdev
388 12:05 -!- james__ [[email protected]] has quit [Ping timeout]
389 12:28 -!- james__ [[email protected]] has joined #mctxuwa_softdev
390 12:57 -!- james__ [[email protected]] has quit [Ping timeout]
391 15:01 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
392 15:02 -!- justin_kruger [[email protected]] has quit [EOF From client]
393 15:12 < Callum__> Is the only image processing that needs doing detecting the edge of the can? (and doing measuring how it changes with time etc)
394 15:30 -!- james__ [[email protected]] has joined #mctxuwa_softdev
395 15:39 < Callum__> hey
396 15:39 < james__> what up
397 15:39 < sam_moore> Hi
398 15:39 < Callum__> Is the only image processing that needs doing detecting the edge of the can? (and doing measuring how it changes with time etc)
399 15:40 < sam_moore> Callum__: I think so
400 15:40 < james__> As far as i understand it yes
401 15:40 < Callum__> plus just booted up ubuntu on laptop. havent touched it since i did C programming a year ago xD
402 15:40 < sam_moore> It would also be nice to just have unprocessed images streamed to the GUI
403 15:40 < Callum__> yea what i was thinking
404 15:41 < Callum__> firstly, i can look into only processing a portion of the image, so we could get away with a larger resolution
405 15:41 < sam_moore> With the server side interface, I'm starting to think I'll ditch the apache2 webserver + CGI and integrate a minimal webserver + the lower level stuff into the same program
406 15:41 < Callum__> and openCV has a couple of algorithms to detect edges
407 15:41 < Callum__> so will likely look into one or 2 of those
408 15:41 < sam_moore> Just thinking about all the layers that are involved with the CGI approach... it probably won't turn out easier to code, and it will definitely be slower
409 15:42 < sam_moore> Plus, if we really care about performance, the apache2 webserver has a lot of features we don't care about
410 15:42 < james__> As long as i can access the raw files etc i should be able to display it via a gui
411 15:42 < sam_moore> The main one being it's designed to cope with multiple users well, and we want to configure it to only allow ONE user
412 15:43 < sam_moore> Yes, that sounds good
413 15:44 < Callum__> responding to who? me or james?
414 15:44 < sam_moore> Um... both now
415 15:44 < Callum__> haah
416 15:45 < sam_moore> Anyway, I've realised that our software will place an upper limit on the quality of the sensors
417 15:45 < james__> true
418 15:45 < sam_moore> Since we weren't given a requirement on quality, we should aim to get it as high as feasible
419 15:45 < sam_moore> But sensors group needs to have some idea of the upper limit that our software will place on quality
420 15:45 < Callum__> yea. 
421 15:46 < james__> Start simple and ramp it up until the hardware breaks?
422 15:46 < sam_moore> No point streaming 1000 images a second if the JavaScript GUI can't send requests that fast.
423 15:46 < sam_moore> Yep.
424 15:46 < sam_moore> I know you're supposed to do task break downs and all that time management stuff, but the fact is we need to experiment with actual code to work out the best implementation
425 15:47 < james__> yeah. break it down into code and test code?
426 15:48 < sam_moore> Maybe?
427 15:49 < sam_moore> Well, we've got a high level idea of the software
428 15:49 < sam_moore> The first tasks should be "decide on the best software implementation of each level"
429 15:49 < sam_moore> To do that we need to test some minimalistic implementations
430 15:50 < Callum__> yea
431 15:50 < sam_moore> So, to set a goal for week 2, can it be "Decide on software implementation at each point in the block diagram"
432 15:51 < sam_moore> And "Determine upper limit on data transfer rate through software systems"
433 15:51 < sam_moore> The second one might take a bit longer.
434 15:52 < Callum__> githubs down for maintenance. hahah
435 15:52 < sam_moore> That happened like 2 seconds after I submitted a comment on the CGI stuff
436 15:53 < sam_moore> For a while it was showing me a Unicorn (?)
437 15:53 < Callum__> yea i got that before
438 15:53 < Callum__> when trying to access on my laptop
439 15:53 < sam_moore> Well... we have the git.ucc server
440 15:54 < sam_moore> But I was starting to like the Issues and Comments and all those actual features
441 15:54 < Callum__> hmm. doubt it will be down for long. will have to see
442 16:10 < Callum__> back up
443 17:22 -!- james__ [[email protected]] has quit [Ping timeout]
444 18:09 -!- RowanHeinrich [[email protected]] has joined #mctxuwa_softdev
445 18:10 -!- RowanHeinrich [[email protected]] has quit [""]
446 18:34 -!- Rowan [[email protected]] has joined #mctxuwa_softdev
447 18:35 < Rowan> test test
448 18:35 < Rowan> ??
449 18:43 < Callum__> Hey
450 18:56 -!- github [[email protected]] has joined #mctxuwa_softdev
451 18:56 -github:#mctxuwa_softdev- [MCTX3420] none pushed 2 new commits to master: http://git.io/ZDMvew
452 18:56 -github:#mctxuwa_softdev- MCTX3420/master 64b0cd9 Sam Moore: Investigate software for interfacing with hardware via HTTP requests...
453 18:56 -github:#mctxuwa_softdev- MCTX3420/master 5afaa23 Sam Moore: Merge branch 'master' of github:szmoore/MCTX3420
454 18:56 -!- github [[email protected]] has left #mctxuwa_softdev []
455 18:57 -!- github [[email protected]] has joined #mctxuwa_softdev
456 18:57 -github:#mctxuwa_softdev- [MCTX3420] none pushed 1 new commit to master: http://git.io/1nMEMA
457 18:57 -github:#mctxuwa_softdev- MCTX3420/master 9579cea Sam Moore: Makefile for webserver test...
458 18:57 -!- github [[email protected]] has left #mctxuwa_softdev []
459 19:41 -!- Rowan [[email protected]] has quit [Ping timeout]
460 23:09 -!- Callum__ [[email protected]] has quit [EOF From client]
461 23:21 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
462 23:21 -!- justin_kruger [[email protected]] has quit [EOF From client]
463 --- Day changed Wed Aug 07 2013
464 00:24 -!- github [[email protected]] has joined #mctxuwa_softdev
465 00:24 -github:#mctxuwa_softdev- [MCTX3420] none pushed 1 new commit to master: http://git.io/5DEPzw
466 00:24 -github:#mctxuwa_softdev- MCTX3420/master fe2fc11 Sam Moore: More work on webserver test...
467 00:24 -!- github [[email protected]] has left #mctxuwa_softdev []
468 00:52 -!- github [[email protected]] has joined #mctxuwa_softdev
469 00:52 -github:#mctxuwa_softdev- [MCTX3420] none pushed 1 new commit to master: http://git.io/r6aFJw
470 00:52 -github:#mctxuwa_softdev- MCTX3420/master e615433 Sam Moore: Add necessary HTTP response headers...
471 00:52 -!- github [[email protected]] has left #mctxuwa_softdev []
472 01:00 -!- github [[email protected]] has joined #mctxuwa_softdev
473 01:00 -github:#mctxuwa_softdev- [MCTX3420] none pushed 1 new commit to master: http://git.io/eZPWcQ
474 01:00 -github:#mctxuwa_softdev- MCTX3420/master b101617 Sam Moore: Automatic commit of irc logs
475 01:00 -!- github [[email protected]] has left #mctxuwa_softdev []
476 10:07 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
477 11:15 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
478 11:15 -!- justin_kruger [[email protected]] has quit [EOF From client]
479 19:36 -!- Callum__ [[email protected]] has joined #mctxuwa_softdev
480 20:43 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
481 20:45 -github:#mctxuwa_softdev- [MCTX3420] none pushed 3 new commits to master: http://git.io/Dhb-Fg
482 20:45 -github:#mctxuwa_softdev- MCTX3420/master fe2fc11 Sam Moore: More work on webserver test...
483 20:45 -github:#mctxuwa_softdev- MCTX3420/master e615433 Sam Moore: Add necessary HTTP response headers...
484 20:45 -github:#mctxuwa_softdev- MCTX3420/master b101617 Sam Moore: Automatic commit of irc logs
485 20:45 -github:#mctxuwa_softdev- [MCTX3420] none pushed 3 new commits to master: http://git.io/Dhb-Fg
486 20:45 -github:#mctxuwa_softdev- MCTX3420/master fe2fc11 Sam Moore: More work on webserver test...
487 20:45 -github:#mctxuwa_softdev- MCTX3420/master e615433 Sam Moore: Add necessary HTTP response headers...
488 20:45 -github:#mctxuwa_softdev- MCTX3420/master b101617 Sam Moore: Automatic commit of irc logs
489 20:46 < sam_moore> Whoops, I was trying to make it less spammy and ended up making it spam us
490 20:53 < Callum__> haha nice work
491 20:58 < sam_moore> I have a minimal web server in C done
492 20:58 < sam_moore> It was surprisingly easy actually
493 21:05 -github:#mctxuwa_softdev- [MCTX3420] none pushed 2 new commits to master: http://git.io/Tui0FA
494 21:05 -github:#mctxuwa_softdev- MCTX3420/master c1321a7 Sam Moore: Test webserver with minimalist JavaScript...
495 21:05 -github:#mctxuwa_softdev- MCTX3420/master 1b2939d Sam Moore: Merge branch 'master' of github:szmoore/MCTX3420...
496 21:07 < sam_moore> Hooray, more spam
497 21:07 < sam_moore> Maybe I should just turn that off.
498 21:35 < Callum__> Maybe, its kinda goods to know when people commit things though, restricted to one line would be good
499 23:23 -!- Callum__ [[email protected]] has quit [Ping timeout]
500 --- Day changed Thu Aug 08 2013
501 08:57 -!- Callum_ [[email protected]] has joined #mctxuwa_softdev
502 08:59 -!- Callum_ [[email protected]] has quit ["AndroIRC - Android IRC Client ( http://www.androirc.com )"]
503 14:12 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
504 14:12 -!- justin_kruger [[email protected]] has quit [EOF From client]
505 --- Day changed Sun Aug 11 2013
506 11:18 -!- Callum__ [[email protected]] has joined #mctxuwa_softdev
507 12:57 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
508 13:55 -!- justin_kruger [[email protected]] has quit [EOF From client]
509 14:09 < Callum__> actually so much work to do already. 
510 14:47 < sam_moore> Yep
511 15:15 < Callum__> well iv spent some time thinking over this, finally get around to writing it down. so iv probably spent close to 4 hours or so thinking about it (while doing other things) but really only spent an hour and a half according to diary
512 15:25 < sam_moore> We can always flesh out people's reports with graphs and stuff
513 15:27 < Callum__> well we doing 1 per person or group?
514 15:29 < sam_moore> 1 per person is the safest way to go I think
515 15:29 < sam_moore> We can always summarise them
516 15:30 < Callum__> well, tbh i think we should do 1 per person and summarise, but not necessarily go for a full page. thing is not sure how they expect us to do 1 page for 5 people AND be detailed
517 15:30 < sam_moore> Yep
518 15:31 < Callum__> so they might end up making it 1 per person anyway. 
519 15:31 < Callum__> not very well thought out either way
520 15:31 < sam_moore> Let's just submit a multiple page report, with a bit from each person and a summary. If some people have less than a page that's fine.
521 15:32 < Callum__> Yea, agreed thats the best way to go about it. Unless they complain about it being too long
522 15:32 < sam_moore> That's why we include a summary :P
523 15:33 < sam_moore> Although, it might be difficult to make the summary actually summarise things, since everyone's already using pretty concise summaries
524 15:33 < sam_moore> Oh well, writing more stuff is safer to start with.
525 15:34 < Callum__> hmm. its kind of a pain though, write it all down in your book...oh look now i need to rewrite most of it for a report..
526 15:34 < sam_moore> Ah crap, I forgot about the book
527 15:34 < Callum__> haha
528 15:34 < sam_moore> Yeah... write it all down in the git commit messages, write it all down in the report, write it all down in the diary...
529 15:35 < sam_moore> I suppose in the "Real World" you have to do stuff like this
530 15:35 < Callum__> yea true 
531 18:16 < Callum__> Not sure when il get round to writing what i'v done but il do it tonight some time. We finalising it tomorrow and printing it off then?
532 18:27 < sam_moore> Yes, I'd like to have it done before the meeting, or at least do it first thing in the meeting
533 18:27 < sam_moore> Then there are some things I need to ask everyone about to progress with my part of the code
534 18:27 < sam_moore> Since I'm sort of doing the bit in the middle that gets all the other bits to talk to each other
535 18:28 < sam_moore> I think it would be good to keep all the raspberry pi code in a single process, running in seperate threads
536 18:29 < sam_moore> But to do that we'd need everyone to use the same language
537 18:30 < sam_moore> Also we need to start thinking about the structure of the system in a bit more detail
538 18:31 < sam_moore> Like: We can't just transfer data straight to a GUI, because the user will want to use the GUI to start the experiment, then go away and come back later to view results (and possibly save them on their own machine)
539 18:32 < sam_moore> Also if we do transfer everything straight to the GUI we'd be limited by the speed of the GUI, and JavaScript requests are slow
540 18:34 < Callum__> yea
541 18:34 < sam_moore> Pretty easy to just dump stuff to a data file, but we probably also want the ability to do it in realtime
542 18:35 < sam_moore> Anyway, good luck, see you tomorrow
543 18:36 < Callum__> Alright, cya tomorrow them
544 23:08 -!- Callum__ [[email protected]] has quit [EOF From client]
545 --- Day changed Mon Aug 12 2013
546 13:10 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
547 13:10 -!- justin_kruger [[email protected]] has quit [EOF From client]
548 --- Log closed Tue Aug 13 07:49:14 2013
549 --- Log opened Tue Aug 13 07:55:27 2013
550 07:55 -!- sam_moor1 [[email protected]] has joined #mctxuwa_softdev
551 07:55 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
552 07:55 -!- Irssi: Join to #mctxuwa_softdev was synced in 9 secs
553 07:59 -!- sam_moore [[email protected]] has quit [Ping timeout]
554 10:01 -!- Callum [[email protected]] has joined #mctxuwa_softdev
555 10:01 < Callum> So apparently we have a new member..
556 10:12 < sam_moor1> Yep, Jeremy Tan, apparently he's doing CS as well?
557 10:13 < sam_moor1> So, with the two sources of confusion we have so far...
558 10:13 < sam_moor1> 1. The Camera - Adrian thinks we need one, Sensors team doesn't, everyone needs to recheck calculations
559 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
560 10:14 < Callum> well, they may be right in saying we may not be able to do any proper processing on it
561 10:14 < Callum> but we will need one to relay whats actually HAPPENING in the system
562 10:14 < Callum> surely the sensors team see that..
563 10:15 < sam_moor1> I guess, I told them in their meeting it would probably be useful
564 10:15 < sam_moor1> Anyway...
565 10:15 < sam_moor1> We all got in trouble for not communicating between teams well enough
566 10:15 < sam_moor1> So now the 9am session is for teams to communicate (at least one member is meant to go)
567 10:15 < Callum> how many people went to the lecture?
568 10:15 < sam_moor1> About 6
569 10:16 < Callum> haha
570 10:16 < sam_moor1> I think only one team didn't have a representative, electronics?
571 10:16 < Callum> hmm. thats not too bad then. 
572 10:16 < Callum> but still, not really our fault communication was poor. we attempted to set up meetings and to convene with others.
573 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)
574 10:17 < sam_moor1> Yeah, I really think this project needed some kind of direction at the start
575 10:17 < sam_moor1> I think that's what we're going to have to do
576 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"
577 10:18 < sam_moor1> At least that's the vibe I got from Adrian
578 10:18 < sam_moor1> Also what happened to my name
579 10:18 < Callum> hmm ok. it would help if we had the team convener meeting to do that
580 10:18 -!- You're now known as sam_moore
581 10:19 < Callum> and no idea
582 10:19 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
583 10:20 < sam_moore> Also, so far we've neglected physical details a bit
584 10:20 < sam_moore> Lastly, we need to start ordering things as soon as possible
585 10:21 < sam_moore> Oh, and we (as in, all teams) are supposed to have a schedule of tasks agreed upon
586 10:21 < sam_moore> Right, I need to have lunch
587 10:21 < sam_moore> *breakfast
588 10:22 < sam_moore> Then I guess I can panic some more
589 10:23 < Callum> haha. we'v only had 2 weeks to work on this really. We can pull it back.
590 10:24 < sam_moore> The scary part is where they do a very similar project every year and no one ever succeeds :S
591 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
592 10:25 < sam_moore> Oh well, they can't just fail the entire class
593 10:25 < sam_moore> It would be nice to actually succeed though
594 10:30 < Callum> Yea, well even if it doesnt work a lot of the marking will come from the shit like the diary
595 10:30 < Callum> but yes, it would be nice to see a can go boom
596 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
597 11:58 < sam_moore> Just take the images and save them to a file for a start I guess
598 12:00 < Callum> alright. 
599 12:13 < Callum> I might reinstall linux on my laptop, stick with ubuntu or go debian?
600 12:51 < sam_moore> I'd recommend debian
601 12:51 < sam_moore> It's not that much harder to use, but it's closer to raspian
602 13:06 < Callum> alright. any port better to use?
603 13:15 < sam_moore> Oh, stick with "stable"
604 13:15 < sam_moore> ie: Wheezy
605 13:16 < sam_moore> No matter what you do, do NOT get "Sid"
606 13:18 < Callum> nah i meant the architecture
607 13:20 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
608 13:20 < jtanx> yallo
609 13:20 < Callum> hey
610 13:21 < sam_moore> Hi
611 13:23 < jtanx> i should say that right now I cant access g19 because I haven't gone through the safety induction yet
612 13:23 < sam_moore> Callum: The architecture shouldn't matter too much
613 13:24 < Callum> we can let you in. As long as you don't do anything stupid it will be fine 
614 13:24 < Callum> alright
615 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
616 13:25 < Callum> true
617 13:25 < sam_moore> It's just nice to be able to run test software in debian
618 13:25 < jtanx> so do you have access to an/the RPi and the other microcontrollers, or is that tba
619 13:26 < sam_moore> We have access to "an" (not "the") RPi
620 13:26 < Callum> rowan has an arduino too
621 13:26 < sam_moore> Ah, that's good
622 13:26 < Callum> atleast i think he said he did
623 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)
624 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
625 13:27 < sam_moore> Adrian said to allow for 6 weeks ordering time
626 13:28 < sam_moore> Yeah, the entire class needs to agree on a schedule
627 13:28 < Callum> hmm. true i guess, by the time adrian gets the bill of materials, clears it and the stuff gets ordered in
628 13:28 < Callum> but at the current rate shit wont be chosen in time
629 13:29 < jtanx> i'm surprised that not much has been done in three weeks
630 13:29 < sam_moore> The problem is there are too many people working on this
631 13:29 < Callum> its been less than 3 weeks though
632 13:30 < sam_moore> Right. Let's make a schedule then.
633 13:30 < sam_moore> Just a second
634 13:30 < Callum> we only got the teams on like wed first week
635 13:30 < jtanx> ok
636 13:31 < Callum> And having 5-6 people per team across 6 teams without a project manager...makes sense
637 13:31 < sam_moore> Haha
638 13:31 < sam_moore> Ok, so I have an excel document
639 13:31 < sam_moore> Anyone here actually made a schedule for a project?
640 13:32 < jtanx> nope
641 13:32 < sam_moore> Welp
642 13:32 < jtanx> ms project was suggested in cits3200
643 13:32 < jtanx> nice gantt chart and everything
644 13:32 < sam_moore> Does it allow collaborative editing?
645 13:33 < sam_moore> Also, is there an open source version :P
646 13:33 < sam_moore> Ok, I've shared a google spreadsheet
647 13:34 < jtanx> not likely haha although there was something called ms project server which might allow collaboraitve stuff
648 13:34 < jtanx> you can get this all off msdnaa
649 13:34 < jtanx> but since noone's used it before it might be better to stick with excel
650 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
651 13:35 < Callum> HAHAH
652 13:35 < sam_moore> Well
653 13:35 < Callum> Hello everyone,
654 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.
655 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.
656 13:35 < Callum> PLEASE RETURN THE SHEETS.
657 13:35 < Callum> Thank you
658 13:35 < Callum> thats hilarious
659 13:35 < jtanx> ~~
660 13:36 < sam_moore> Oh dear
661 13:36 < sam_moore> It strikes me that something like a Makefile, except a bit more GUI, would be good for this
662 13:37 < jtanx> wait
663 13:37 < jtanx> you lost me there - what are you referring to
664 13:37 < Callum> ^
665 13:37 < sam_moore> To compile C projects that involve several files, you use something called "make"
666 13:37 < sam_moore> You write a Makefile for it
667 13:37 < jtanx> yah
668 13:38 < sam_moore> The Makefile has a list of targets and what they depend on
669 13:38 < sam_moore> And how to make them once their dependency exists
670 13:38 < jtanx> ok
671 13:38 < sam_moore> Then you run "make" and it reads the make file and magically compiles everything in the right order
672 13:38 < Callum> yea we get what make is
673 13:39 < sam_moore> Ok, I was referring to the list of tasks
674 13:39 < sam_moore> That depend on each other
675 13:39 < jtanx> ook
676 13:39 < jtanx> well
677 13:39 < sam_moore> It was a bad joke
678 13:39 < sam_moore> I am not seriously suggesting we use make to plan the project
679 13:40 < Callum> hahahah
680 13:40 < Callum> now that i would like to see :p
681 13:40 < jtanx> um just with git
682 13:40 < jtanx> i've never done pull requests before
683 13:40 < sam_moore> Neither had we until last week :P
684 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
685 13:42 < jtanx> ahh
686 13:42 < jtanx> ok
687 13:51 < jtanx> well that was pretty straight forward - I understand it now
688 15:06 < sam_moore> I made a #mctxuwa channel for group representatives
689 15:06 < sam_moore> I don't know if people will use it, but at least it's an attempt at something
690 15:47 < Callum> tbh it makes more sense for us all to use one
691 15:47 < Callum> unless the one for everyone is actually used often enough to justify us having our own
692 16:11 < sam_moore> Yeah, there's nothing stopping people that aren't group representatives from joining it
693 16:11 < sam_moore> It will certainly make it easier if there are more people talking to other teams directly than just the representative
694 16:11 < sam_moore> We might still want our own for discussing the details of code
695 16:12 < sam_moore> Speaking of which, I'm currently tidying up the test webserver code I wrote
696 16:17 < sam_moore> Does: FunctionName, variable_name, Structure, Extern_FunctionName, g_global_variable seem suitable
697 16:19 < sam_moore> Well, unless anyone objects before I've satisfied my obsessive compulsive urges, that's what it will be
698 16:19 < sam_moore> Until then, it'll probably take a while, and find-replace is fast
699 16:20 < sam_moore> Other than that, the style of comments/documentation in the test webserver is what I'll keep using
700 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
701 16:22 < sam_moore> Then we can put some kind of emergency "Turn all the things off!" in that
702 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
703 16:58 < sam_moore> Oh cool, that looks good
704 17:03 < sam_moore> I'll be back later tonight, bye
705 17:21 < jtanx> umm
706 17:21 < jtanx> wow okay you're actually writing a webserver from the ground up?
707 17:22 < jtanx> what if you just had software that got the results and then wrote that to a html/php file
708 17:22 < jtanx> then you can just run nginx and serve it up
709 17:45 < jtanx> or what about if you ran an sql server, so you update the database from your program
710 17:46 < jtanx> then you can either use php to interface with the database
711 17:46 < jtanx> or you could make some sort of api and serve the data in json format
712 17:50 < jtanx> sqlite
713 19:12 < jtanx> you could do something like this: http://pastebin.com/mEdbu4jR
714 19:13 < jtanx> where instead of outputting html, you could make it output json, which is then interpreted by your actual webpage
715 20:44 -!- Callum [[email protected]] has quit [Ping timeout]
716 20:49 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
717 20:56 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
718 22:40 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
719 --- Day changed Wed Aug 14 2013
720 07:58 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
721 09:13 < jtanx> I've done a version using fastcgi, which was surprisingly quite easy to set up
722 09:13 < jtanx> see here: https://github.com/jtanx/MCTX3420/tree/master/testing/fastcgi-approach
723 10:41 < sam_moore> That looks interesting, I'd prefer that to the PHP/database solution
724 10:42 < sam_moore> My concern is: You have to query the web server to start the process, even though it keeps running
725 10:42 < sam_moore> Also, I know "write a custom HTTP server" sounds scary, but it does actually work
726 10:43 < jtanx> nah
727 10:43 < jtanx> fastcgi
728 10:43 < jtanx> the process is started once and always runs
729 10:43 < jtanx> so you have a request loop
730 10:44 < jtanx> wait
731 10:44 < jtanx> how do you envision it working?
732 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
733 10:45 < jtanx> yeah
734 10:46 < jtanx> except that you don't have to worry about maintaining your own webserver
735 10:46 < sam_moore> Cool
736 10:46 < sam_moore> I do think that the HTTP server isn't that hard, and it's mostly working
737 10:46 < sam_moore> But we can probably switch to fastcgi
738 10:48 < sam_moore> I mean, we still have to parse a query string right?
739 10:48 < jtanx> well yes
740 10:48 < jtanx> if your request was
741 10:48 < jtanx> http://blah/cgi/?key=value&anotherkey=value2
742 10:48 < jtanx> you'd get back key=value&anotherkey=value2
743 10:48 < jtanx> as query string
744 10:50 < jtanx> try it out here: http://124.169.120.181:8080/cgi
745 10:51 < jtanx> (hopefully that forwards ok)
746 10:51 < sam_moore> Yep, that's cool
747 10:51 < sam_moore> The HTTP server I wrote basically does that
748 10:51 < sam_moore> But if it really bothers you, I'm fine with switching to fastcgi :P
749 10:52 < jtanx> well whatever works
750 10:52 < jtanx> but I thought it might be more maintainable if you used something that already exists :P
751 10:52 < sam_moore> Yeah, but thinking about it, what maintainence does the HTTP server require?
752 10:53 < sam_moore> Oh well, it's a good idea
753 10:53 < jtanx> for this situation not much
754 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
755 10:58 < sam_moore> Have you done multithreading in C before?
756 10:58 < jtanx> in windows yes
757 10:58 < jtanx> on linux not really
758 10:58 < sam_moore> Ah, I've only done it on linux
759 10:58 < jtanx> i did a bit in operating systems
760 10:59 < jtanx> but kinda forgot
761 10:59 < sam_moore> It shouldn't be too hard for our purposes
762 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
763 11:01 < jtanx> say they had some new fangled thing that requires php
764 11:01 < jtanx> which isn't going to work 
765 11:01 < jtanx> but with a standard webserver like apache or nginx, it's really easy to just install an extra addon
766 11:02 < sam_moore> I suppose... what would they need the new fangled php thing for?
767 11:03 < jtanx> well that's the thing - for now I don't know, but it could be required
768 11:03 < sam_moore> Yeah, good point
769 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
770 11:04 < sam_moore> For example, it would be a fair amount of work to add SSL to make the custom thing do https
771 11:04 < jtanx> oh yeah
772 11:04 < jtanx> that too
773 11:04 < sam_moore> Also we might want some authentication on it
774 11:04 < jtanx> nginx/apache are highly customisable
775 11:05 < sam_moore> I've never used nginx, what are it'
776 11:05 < sam_moore> s advantages over apache2?
777 11:05 < jtanx> nginx
778 11:05 < jtanx> yup
779 11:05 < jtanx> its really good
780 11:05 < sam_moore> Haha
781 11:05 < jtanx> a lot of sites use it because it's fast
782 11:05 < sam_moore> Fast is good
783 11:05 < jtanx> faster than apache
784 11:05 < sam_moore> Sold
785 11:05 < sam_moore> Well, we only need one user as well
786 11:05 < sam_moore> In fact, we deliberately do not want to have multiple clients able to use the thing at the same time
787 11:05 < jtanx> haha true
788 11:07 < sam_moore> Ok, so I think you've convinced me to use fastcgi
789 11:07 < sam_moore> Most of the custom HTTP server was reused code, so I didn't waste too much time on it
790 11:07 < jtanx> haha ok
791 11:07 < jtanx> have you written one before?
792 11:09 < sam_moore> Not specifically a HTTP server, but I've written a project for posix systems with a fair bit of networking
793 11:09 < sam_moore> git.ucc.asn.au/?p=matches/swarm.git
794 11:10 < jtanx> nice
795 11:10 < sam_moore> It allows you to run a shell, eg: bash accross multiple machines at once
796 11:11 < sam_moore> Not as useful as I thought it might be, but it was fun
797 11:12 < jtanx> heh
798 11:12 < jtanx> what did you end up using it for?
799 11:13 < sam_moore> I was setting up a programming competition where you have AIs play against each other
800 11:13 < sam_moore> I wanted to make a round robin
801 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
802 11:14 < jtanx> oO
803 11:14 < sam_moore> Well it turned out no one entered the competition, so I probably didn't need to go overboard
804 11:14 < sam_moore> But maybe I can use it for something else
805 11:15 < sam_moore> For the threading I'm thinking of using pthreads
806 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
807 11:16 < jtanx> okay
808 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
809 11:17 < jtanx> yeah that would be good
810 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
811 11:18 < sam_moore> We don't have the exact details of pretty much anything yet
812 11:18 < sam_moore> Maybe talk to James/Rowan about how the GUI is going to query the server
813 11:19 < sam_moore> Also, did you see my suggested naming convention?
814 11:19 < jtanx> no
815 11:20 < sam_moore> I don't really mind, although I'd prefer not to have hungarian notation
816 11:20 < sam_moore> As long as it'
817 11:20 < sam_moore> s consistent
818 11:21 < sam_moore> But the suggestion was: FunctionName, variable_name (local or member), Structure, ENUMVALUE, Extern_FunctionName, g_global
819 11:21 < jtanx> okay I'll try to keep to that
820 11:22 < sam_moore> Cool, I should probably go do something else
821 12:33 < jtanx> i gotta go
822 12:33 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
823 15:39 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
824 16:22 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
825 16:23 -!- justin_kruger [[email protected]] has quit [EOF From client]
826 16:43 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
827 16:56 < jtanx_> a beagleboard
828 16:56 < jtanx_> hmm
829 16:58 -!- jtanx [[email protected]] has quit [Ping timeout]
830 16:58 -!- jtanx_ is now known as jtanx
831 17:03 < jtanx> is it the beaglebone black?
832 17:03 < jtanx> sounds interesting
833 17:04 < sam_moore> They didn't specify
834 17:04 < sam_moore> Oh right, I accidentally cut out his message
835 17:04 < sam_moore> tl;dr "Beagle Board"
836 17:04 < jtanx> the beagle board is around $125 though
837 17:04 < sam_moore> Probably the Beaglebone black
838 17:04 < sam_moore> Oh really
839 17:04 < sam_moore> Heh
840 17:04 < jtanx> yeah
841 17:05 < jtanx> the beaglebone black is $45
842 17:05 < jtanx> but just looking the A/D converter on the black has a max voltage of 1.8v
843 17:05 < sam_moore> That's probably what they meant, since they said it is "not much more expensive"
844 17:05 < sam_moore> That should be fine; the sensors team says things are in mV
845 17:05 < jtanx> okay
846 17:05 < jtanx> that's good
847 17:05 < sam_moore> Really though... electronics should be asking the sensors team stuff like this
848 17:06 < jtanx> heh yeah
849 17:06 < sam_moore> They should probably have asked us if it was feasable for software
850 17:06 < sam_moore> Maybe they had someone who knew it would be, but still
851 17:06 < sam_moore> It looks like it is anyway, so crisis averted
852 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
853 17:07 < sam_moore> Yes, the sensors guy knows that
854 17:07 < jtanx> yeah so if its only 1.8v there's less range than 0-5v
855 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
856 17:10 < sam_moore> I think so; you get ~4x more resolution from the 12 bit ADC and lose ~3x from the lower range
857 17:10 < sam_moore> Also there's no set requirement yet on what the resolution should be
858 17:11 < jtanx> true
859 17:11 < jtanx> well in any case the bb black sounds quite nice
860 17:11 < sam_moore> Yep, it'll probably be good to use
861 17:14 < sam_moore> I'm much happier now that we actually have regular verbal communication with the other teams
862 18:23 < sam_moore> I'm looking into getting doxygen working for this
863 18:59 < jtanx> for the documentation?
864 18:59 < jtanx> seems good, but never used it before myself
865 19:01 < jtanx> looks a lot like javadoc
866 21:26 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
867 21:34 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
868 22:54 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
869 --- Day changed Thu Aug 15 2013
870 01:20 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
871 01:20 -!- justin_kruger [[email protected]] has quit [EOF From client]
872 07:58 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
873 08:21 < jtanx> hey
874 08:22 < jtanx> just a suggestion for the logging functions, but you can use macros
875 08:22 < jtanx> to get the function name (and even file name)
876 08:22 < jtanx> v
877 08:22 < jtanx> http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
878 08:23 < jtanx> so you can do stuff like #define Log(level, fmt, ...) LogReal(level, __func__, fmt, __VA_ARGS__)
879 08:25 < jtanx> it should be c99 conformant
880 09:15 < jtanx> I created a pull request anyway
881 09:33 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
882 13:33 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
883 13:39 < sam_moore> Yeah, I probably should have looked at that
884 13:46 < jtanx> back to the rpi+arduino
885 13:47 < jtanx> didn't they know about the beagle board black, or can that not be used for some reason?
886 13:48 < jtanx> beagle bone* black
887 14:20 < sam_moore> I don't know what model they were looking at exactly
888 14:20 < sam_moore> I told them the Beagle Bone was about $50, I haven't had much time to research it myself
889 14:20 < sam_moore> I didn't know about the Beagle Board/Bone, which was why I suggeste the RPi + Arduino
890 14:20 < sam_moore> They originally were just considering an Arduino
891 14:21 < sam_moore> Which would not have been fun for the remote interfacing stuff
892 14:21 < sam_moore> Well we could do it, but we wouldn't be able to have a nice web browser controlled GUI, probably some dedicated networked server/client with a GUI program installed on the client machine
893 14:22 < sam_moore> Also image processing would have been interesting
894 14:23 < sam_moore> Next time there's a combined groups meeting, hopefully we can talk to them more
895 14:24 < jtanx> yeah
896 14:24 < jtanx> there's quite a few
897 14:24 < jtanx> there's a beagleboard which is ~150
898 14:24 < jtanx> beaglebone which is ~90
899 14:24 < jtanx> beaglebone black which is ~50
900 14:24 < sam_moore> Right
901 14:24 < sam_moore> So they were probably looking at the beaglebone for $90
902 14:24 < jtanx> yeah probably
903 14:24 < jtanx> it's weird because the black version has better specs, from what i can see
904 14:25 < sam_moore> But still, even for $150, if it saves us 10 hours of writing code to interface the RPi with Arduinos, it will be worth it
905 14:25 < jtanx> yeah exactly
906 14:25 < sam_moore> Arduinos themselves cost a bit
907 14:25 < jtanx> well
908 14:25 < jtanx> you can get equivalents off ebay
909 14:25 < jtanx> like an uno is $10
910 14:26 < sam_moore> The only issue with the beaglebone to avoid having to use arduinos as well, is whether it has enough ADC by itself
911 14:26 < jtanx> yeah
912 14:26 < jtanx> well how many sensors are needed
913 14:26 < sam_moore> If it doesn't, you might have to add an Arduino or two anyway
914 14:26 < jtanx> you could just add on an adc chip
915 14:26 < sam_moore> Yes, or something like that
916 14:27 < jtanx> the beaglebone has like a bazillion gpio ports
917 14:31 < sam_moore> Well without getting into the specific details, it sounds like we should recommend they use that
918 14:32 < sam_moore> Apparently the sensors team will have a list ready by monday, which will be good
919 14:33 < jtanx> that'd be good
920 14:35 < jtanx> when are combined group meetings? just the 9am slot? 
921 14:36 < sam_moore> 9am Tuesday is the "official" time picked by Adrian, 2pm Wednesday is the time that we agreed between the teams
922 14:36 < sam_moore> I'm going to go to both, if more people want to come from the team that's also good
923 14:37 < sam_moore> Realistically not everyone is going to come, so I'll have to send emails a lot
924 14:38 < jtanx> ok
925 14:39 < sam_moore> What account do you need to be invited to the dropbox?
926 14:39 < sam_moore> I think Alex invited everyone using their student email
927 14:40 < sam_moore> Oh right, you wouldn't have been in the list that he used if you enrolled late
928 14:40 < jtanx> yeah, through student email would be good
929 14:41 < jtanx> last year's experiment ran with an arduino diecimila which only had 5 analogue inputs
930 14:41 < jtanx> any reason why we need more?
931 14:41 < jtanx> sorry that's 6
932 14:42 < sam_moore> I think the estimate was: 4-6 strain gauges, 1 temperature sensor, 1 microphone, 2 pressure gauges, 1 (maybe 2) USB webcam
933 14:43 < jtanx> ok
934 14:44 < jtanx> At that rate you would definitely need something with more analogue inputs
935 14:45 < sam_moore> We also might need a DAC for one of the pneumatics team's devices
936 14:46 < sam_moore> But you can't get that on a microcontroller, there'd have to be a seperate module
937 14:46 < jtanx> yep
938 14:48 < jtanx> it'd be no point interfacing an arduino to the rpi/beaglebone if all you want is more analog inputs
939 14:49 < sam_moore> If you can get modules for ADC that can talk to a rpi/beaglebone, then yes
940 14:49 < jtanx> yeah
941 14:49 < jtanx> I don't think they're too hard to wire up
942 14:50 < sam_moore> I think the electronics team should be considering all this, but I don't know since we haven't verbally spoken
943 14:50 < sam_moore> Well not at length anyway
944 14:51 < sam_moore> Just when I happen to bump into Omid
945 14:51 < jtanx> hmm
946 14:54 < sam_moore> This project is probably going to be a good lesson in "Why you need a project manager"
947 14:55 < jtanx> so true
948 14:59 < jtanx> with the web interface, what sort of update times are we looking at?
949 15:00 < sam_moore> My tests with apache2 and the custom HTTP server showed it took about 50us for jQuery to get an AJAX request
950 15:01 < sam_moore> There was only one data point returned each time though, we can probably optimise it a bit by returning multiple data points with a request
951 15:01 < jtanx> yeah
952 15:07 < jtanx> I wonder what sort of performance impact running one (or two) cameras would have on the rpi/beaglebone
953 15:44 < jtanx> urgh
954 15:45 < jtanx> I was wondering why my nginx config wasn't working
955 15:45 < jtanx> until I realised that gedit was creating a backup copy of the config file
956 15:45 < jtanx> so nginx was reading both the original and backup
957 17:28 < sam_moore> That's wierd, you'd think it would only read one config file
958 17:34 < jtanx> well it was in a config directory
959 17:36 < sam_moore> Oh, ok
960 18:49 < jtanx> so the current idea i have with the web thing is
961 18:49 < jtanx> you can query it like http://domain/api/module?key=value&key=value2
962 18:50 < jtanx> and then you could return something in json format or whatever is most suitable for the ajax query
963 19:46 < jtanx> you can test it at http://mctx.us.to:8080/apoi
964 19:46 < jtanx> woops, http://mctx.us.to:8080/api
965 19:46 < jtanx> the only 'module' which will give a response of '200 OK' is sensors
966 19:47 < jtanx> which currently spits back any arguments you pass to it
967 19:47 < jtanx> eg http://mctx.us.to:8080/api/sensors?k=v
968 19:50 < jtanx> hopefully it doesn't break
969 20:44 < sam_moore> I'll take a look
970 20:45 < sam_moore> Looks good
971 20:45 < sam_moore> I'm writing a dummy thread for a sensor now
972 21:04 < jtanx> the code behind it (in the cgi module) is a bit clunky right now though
973 21:04 < jtanx> is there a meeting tomorrow?
974 21:05 < sam_moore> I don't think so, sorry
975 21:06 < jtanx> ok that's alright
976 21:06 < sam_moore> Things aren't urgent (yet)
977 21:07 < jtanx> heh
978 21:12 < sam_moore> For the progress report: I'd like everyone to write a page individually, then we can summarize those in the group report
979 21:12 < sam_moore> Well you don't have to write a whole page, and if you miss a week or so it's not a big problem
980 21:16 < jtanx> ok
981 21:17 < jtanx> i'll try to remember that
982 21:18 < jtanx> do you think we need to keep track of how long we spend on this project
983 21:18 < jtanx> for that 'cost estimate'
984 21:28 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
985 21:34 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
986 22:23 < sam_moore> For the cost estimate: Yes, we are supposed to have a technical diary (hand written)
987 22:23 < sam_moore> Including all notes and times worked on the project
988 22:40 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
989 --- Day changed Fri Aug 16 2013
990 08:00 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
991 09:48 < jtanx> I was wondering what sort of model you have for reading/storing sensor values and controlling actuators
992 10:02 < sam_moore> At the moment each sensor has a thread that continuously polls the sensor and dumps data to a binary file
993 10:03 < sam_moore> For reading there is a thread that fills a buffer from the file when it gets a request
994 10:04 < sam_moore> It might be better to change to a single thread for sensors/actuators though
995 10:04 < jtanx> yeah, I was about to say if it was necessary to have one for each
996 10:05 < sam_moore> Probably not, if you had varying polling speeds it would be useful, because you could poll the fast sensors seperately from the slow ones
997 10:05 < jtanx> how do you wish to pass the data to the fcgi module?
998 10:06 < jtanx> right now
999 10:06 < jtanx> i've kinda set it so
1000 10:06 < jtanx> there's this thing called a ModuleHandler
1001 10:07 < jtanx> so you can pass it some data (tba what this is), and it also receives the query string from the use
1002 10:09 < sam_moore> Well, the ModuleHandler gets called whenever the right HTTP request is made right?
1003 10:10 < sam_moore> So, that function retrieves the data it needs to respond to the request
1004 10:10 < jtanx> well rightnow the typedef is
1005 10:10 < jtanx> typedef void (*ModuleHandler) (Data *data, char *params);
1006 10:10 < jtanx> so it's up to you to write a module handler (eg SensorsHandler)
1007 10:11 < sam_moore> Ok, data's a bit of an ambigous name, so is that something passed to the ModuleHandler when the FastCGI gets a request?
1008 10:11 < jtanx> well the data thing was a placeholder for whatever sensors/actuators data there was
1009 10:11 < sam_moore> Is it meant to be sensor data, or is it a value that the user has passed through HTTP
1010 10:11 < jtanx> the query string is part of params
1011 10:11 < sam_moore> Ok, right, that makes more sense
1012 10:12 < sam_moore> My view had the ModuleHandler getting the appropriate data itself
1013 10:12 < jtanx> Ok
1014 10:12 < sam_moore> Given the params
1015 10:13 < jtanx> I'm just not really used to using global variables
1016 10:13 < sam_moore> The global sensors array?
1017 10:13 < jtanx> yeah
1018 10:13 < jtanx> i take it that's where you access data from?
1019 10:14 < sam_moore> Yes
1020 10:14 < jtanx> oh yeah one more thing, when you get a request, should it only return the latest data?
1021 10:20 < sam_moore> We should probably think some more about this as a whole group
1022 10:20 < sam_moore> So, you have a sensor that can (probably) poll a lot faster than you get requests via jQuery
1023 10:21 < sam_moore> You can write it so that you only actually query the sensor when you get a request, but then you're wasting the chance to get data that could be useful
1024 10:22 < sam_moore> Or you can have it so that the sensor is continuously polling (What my code is simulating at the moment)
1025 10:22 < sam_moore> With the continuosuly polling sensor; when you get a request, you can either return the most recent block of data you got
1026 10:23 < sam_moore> Or you can have it so that the data will be sent in sequential order (which is what my code currently does)
1027 10:23 < jtanx> hmm
1028 10:23 < sam_moore> I'm pretty sure continously polling is better than querying each time you get a request, since after all this is an experiment and you want the data
1029 10:23 < jtanx> yeah
1030 10:24 < jtanx> I agree with you there
1031 10:24 < jtanx> so you're saying, continuously poll and log the results
1032 10:24 < jtanx> and when a request comes in, send back all the data up to the point when the last request came in
1033 10:25 < sam_moore> Well that's what the server program I wrote simulates at the moment.
1034 10:25 < sam_moore> However it might be more sensible for the request to just get the most recent data.
1035 10:25 < jtanx> hmm
1036 10:25 < sam_moore> Ah, yeah that's probably better actually
1037 10:25 < jtanx> then you're logging more points than youdisplay
1038 10:26 < sam_moore> Yes, but you can always add a function to pull all the data points and save to a csv or something like that.
1039 10:26 < sam_moore> In fact I think we'd want to do that.
1040 10:27 < jtanx> yeah ok
1041 10:27 < jtanx> that sounds not too bad
1042 10:27 < jtanx> but if that's the case
1043 10:27 < sam_moore> If you actually use this for an experiment, you're not going to want to have to do all your analysis in a JavaScript GUI
1044 10:27 < jtanx> true
1045 10:27 < sam_moore> The GUI is for getting live information on the state of the system more than for data analysis
1046 10:27 < jtanx> but if that's the case you might want to allow direct access to the latest dataset
1047 10:28 < jtanx> instead of having to read from the file
1048 10:28 < jtanx> if that's possible
1049 10:28 < jtanx> then you can directly record the results in csv format
1050 10:28 < sam_moore> Yes, I thought about that; you can have a buffer of points accessed by the request thread easily enough
1051 10:29 < sam_moore> There are some difficulties though with managing the buffer
1052 10:30 < sam_moore> Wait, maybe it's easier than I though
1053 10:30 < sam_moore> Yeah, the reason I started saving stuff to a binary file was because I was thinking of the requests having to get the data in sequence
1054 10:32 < sam_moore> I have some other stuff to do today unfortunately
1055 10:33 < sam_moore> I have a feeling it won't be trivial to just access the most recent dataset, I'll have to think about it
1056 10:34 < sam_moore> However, currently it should be easy to change so that the request gets data from the end of the binary file, rather than keeping track of its position
1057 10:34 < sam_moore> The function QuerySensor is what I was thinking the SensorHandler would do to get data; it just fills a buffer and prints it at the moment
1058 10:35 < sam_moore> Binary file access is pretty fast, we could even just keep the binary file and change the data to csv when it goes to the client
1059 10:36 < jtanx> ok, I'll keep that in mind
1060 11:11 < sam_moore> Oh, you can replace the Data* pointer with a Sensor* pointer and then not have to use the global variable directly, that's probably best
1061 11:13 < jtanx> well it might not only be sensor data
1062 11:13 < jtanx> it could be actuator stuff or anything else
1063 11:13 < sam_moore> I suppose
1064 11:14 < jtanx> maybe I should change the typedef to void*
1065 11:14 < jtanx> then you can cast it to whatever
1066 11:14 < sam_moore> Yeah, that will work
1067 11:15 < sam_moore> Actuator stuff is going to be a bit of a seperate (hopefully easier) problem
1068 11:15 < sam_moore> In that case you can just wait for a query before doing anything
1069 11:15 < sam_moore> Anyway, I've distracted myself again, this is just too interesting :S
1070 11:15 < jtanx> hahaha
1071 11:16 < jtanx> anycase for the actuator you would have a separate handler function
1072 11:16 < sam_moore> Yes
1073 11:16 < jtanx> eg ActuatorHandler
1074 11:20 < jtanx> fcgi is pretty whack
1075 11:20 < jtanx> it replaces printf
1076 11:21 < jtanx> so when you printf (or fwrite for binary?), that gets sent to the client
1077 12:03 < jtanx> hey
1078 12:04 < jtanx> what if we stored stuff in an sqlite library
1079 12:04 < jtanx> sorry database
1080 12:04 < jtanx> on second thoughts nah
1081 14:58 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
1082 15:01 -!- jtanx [[email protected]] has quit [Ping timeout]
1083 15:02 -!- jtanx_ is now known as jtanx
1084 15:11 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
1085 15:18 -!- jtanx [[email protected]] has quit [Ping timeout]
1086 18:59 -!- jtanx_ is now known as jtanx
1087 21:28 < sam_moore> So, I did a bit of testing with sqlite vs a binary file
1088 21:28 < sam_moore> sqlite takes about 1000x as long for saving data
1089 21:28 < sam_moore> I haven't tested reading it back yet
1090 21:28 < sam_moore> But more worrying
1091 21:28 < sam_moore> I get a segmentation fault using sqlite
1092 21:29 < sam_moore> And it's in the sqlite library somewhere; not my test code
1093 21:29 < sam_moore> Running sqlite in valgrind shows a bunch of complaints about uninitialised values
1094 21:29 < sam_moore> So... I'd recommend we just use a binary file
1095 21:30 < sam_moore> A database is good for storing more complex data, but when you just need to store data recorded in a sequence, it's probably unnecessary
1096 21:36 < jtanx> yeah sqlite not so good for file performance
1097 21:36 < jtanx> because every insert it has to confirm the write to disk
1098 21:36 < jtanx> the segfault
1099 21:36 < jtanx> may actually be because you didn't initialse the mutex
1100 21:36 < jtanx> es
1101 21:36 < jtanx> i tried compiling it on mingw and it segfaults on the mutex unlock
1102 21:37 < sam_moore> Re: fcgi replacing printf - It probably calls dup2 to change stdout from the terminal to a domain socket or fifo that nginx listens to
1103 21:37 < jtanx> nah 
1104 21:38 < jtanx> fcgi_stdio just has a bunch of defines
1105 21:38 < sam_moore> Oh really, that's wierd
1106 21:38 < jtanx> so printf becomes FCGI_printf
1107 21:38 < jtanx> so fcgi_stdio must be the first include in the fcgi module
1108 21:38 < sam_moore> I would have thought it was simpler to just change stdout than replace the whole printf function
1109 21:38 < sam_moore> But whatever, we're not implementing fcgi :P
1110 21:38 < jtanx> haha
1111 21:39 < sam_moore> Oh, the mutex needs initialising, yeah
1112 21:39 < sam_moore> But the test I did was just a serial program, no mutex
1113 21:39 < jtanx> ah
1114 21:39 < jtanx> well
1115 21:39 < sam_moore> We'll be using gcc to compile on the beaglebone/rpi
1116 21:40 < sam_moore> I think some implementations of pthreads need an initialiser but others don't, I'll have to check
1117 21:40 < sam_moore> But pthread_mutex_init doesn't show up in man pages on debian
1118 21:40 < jtanx> yeah it's not on ubuntu either
1119 21:41 < jtanx> have you ever worked with clang
1120 21:42 < sam_moore> No
1121 21:42 < jtanx> neither but it seems pretty cool
1122 21:45 < jtanx> when you compile it gives better diagnostic output when something goes wrong
1123 21:46 < jtanx> it's a drop in replacement for gcc
1124 21:47 < sam_moore> Interesting
1125 21:51 -!- jtanx [[email protected]] has quit ["brb"]
1126 21:55 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1127 21:57 < jtanx> if you kept the file handles for the sensor data always open
1128 21:58 < jtanx> and immediately wrote to them when a data point is polled 
1129 21:58 < jtanx> is there much performance difference to buffering first?
1130 22:05 < sam_moore> Yeah, it's probably better to keep the file handles always open
1131 22:05 < sam_moore> The operating system will use some kind of buffer for the file anyway
1132 22:06 < sam_moore> I've got some basic programs, maybe I'll make some performance graphs tomorrow
1133 22:07 < sam_moore> On the other hand, I need to do some of the meta stuff (list of tasks that need to be completed, etc) before Monday
1134 22:08 < sam_moore> I should look into a #define or something to initialise the mutexes if they need to be
1135 22:09 < sam_moore> Anyway, I need to sleep
1136 22:11 < sam_moore> I wonder how James and Callum are going, they haven't been in the channel for a while
1137 22:12 < jtanx> yeah, it's pretty quiet
1138 22:17 < sam_moore> If we can get a second meeting in the week, preferably a longer one that would be good
1139 22:18 < sam_moore> Particularly if we can start working on code at the same time
1140 22:18 < sam_moore> But we'll see
1141 22:18 < sam_moore> Everyone has other stuff to do after all
1142 22:18 < sam_moore> I'm spending way too much time on this unit compared to my others
1143 22:18 < sam_moore> Then again this unit will probably require the most work
1144 22:19 < sam_moore> Anyway, bye
1145 22:23 < jtanx> bye
1146 22:46 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
1147 --- Day changed Sat Aug 17 2013
1148 10:29 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1149 17:14 -!- justin_kruger [[email protected]] has joined #mctxuwa_softdev
1150 17:14 -!- justin_kruger [[email protected]] has quit [EOF From client]
1151 22:25 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 22.0/20130618035212]"]
1152 --- Day changed Sun Aug 18 2013
1153 08:53 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1154 11:44 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1155 11:45 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
1156 12:00 -!- jtanx [[email protected]] has quit [Ping timeout]
1157 12:03 -!- jtanx_ [[email protected]] has quit [Ping timeout]
1158 12:04 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1159 21:53 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1160 22:37 -!- Callum [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]"]
1161 --- Day changed Mon Aug 19 2013
1162 08:51 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1163 11:43 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1164 12:52 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1165 13:34 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1166 17:42 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1167 20:07 < jtanx> just so you know, I'm changing the JSON functions
1168 21:04 < sam_moore> Ok, I already pushed some stuff to github
1169 21:05 < sam_moore> But we can get it to merge
1170 21:05 < sam_moore> I ended up just using printf to make part of the JSON in the SensorHandler anyway
1171 21:06 < jtanx> depending on where SensorHandler is
1172 21:06 < jtanx> that may or may not work
1173 21:06 < jtanx> inside of fastcgi.c it willwork
1174 21:06 < jtanx> outside it won't
1175 21:07 < jtanx> oh ok
1176 21:07 < jtanx> I see
1177 21:07 < jtanx> so that's fine
1178 21:08 < jtanx> it might be best not to use a do while loop 
1179 21:08 < jtanx> because if no arguments are passed
1180 21:08 < sam_moore> Ah, right
1181 21:08 < jtanx> then the keypair function will return null
1182 21:09 < jtanx> while ((params = FCGI_KeyPair(params, &key, &value)))
1183 21:09 < jtanx> will work fine
1184 21:10 < sam_moore> The KeyPair function looks like it can return an empty string though, in which case I was getting the sensor_id parsed twice when I was testing it
1185 21:10 < jtanx> what was your input string?
1186 21:11 < sam_moore> "http://localhost/api/sensors?id=0"
1187 21:11 < jtanx> looks fine from this end
1188 21:11 < jtanx> http://mctx.us.to:8080/api/sensors?id=0
1189 21:11 < jtanx> it might be because of your do while loop
1190 21:12 < jtanx> yeah it will be because of that
1191 21:12 < sam_moore> The do while loop causes problems when there is an empty string
1192 21:13 < sam_moore> ie: No parameters are passed
1193 21:13 < jtanx> ok let's just put it this way; FCGI_KeyPair was designed to use a while loop
1194 21:13 < sam_moore> Ok, sure
1195 21:13 < sam_moore> I had some problems with just a while loop, but I'll try again
1196 21:13 < jtanx> yeah about that JSON stuff
1197 21:13 < jtanx> I'm still trying to think of a good way to do that
1198 21:13 < jtanx> especially with the array stuff
1199 21:19 < sam_moore> I'm not sure what I did before, but a while loop seems ok now
1200 21:19 < jtanx> heh
1201 21:21 < sam_moore> Ok, I have to go now
1202 21:21 < sam_moore> I might not be able to do much tomorrow, we'll see
1203 21:22 < jtanx> ok yep
1204 21:35 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1205 21:55 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1206 22:15 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1207 22:46 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1208 23:08 -!- Callum [[email protected]] has quit [EOF From client]
1209 23:11 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1210 23:14 -!- Callum [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]"]
1211 23:17 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1212 23:35 -!- Callum [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]"]
1213 --- Day changed Tue Aug 20 2013
1214 07:44 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1215 08:11 -!- jtanx [[email protected]] has quit [Ping timeout]
1216 09:03 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1217 10:11 -!- jtanx [[email protected]] has quit [Ping timeout]
1218 10:17 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1219 13:11 -!- jtanx [[email protected]] has quit [Ping timeout]
1220 14:28 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1221 15:06 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1222 15:06 < Callum> hey same
1223 15:06 < Callum> sam*
1224 15:20 < jtanx> :>
1225 15:22 < Callum> he literally set himself to away as soon as i said that
1226 15:45 < jtanx> urgh this json stuff is doing my head in
1227 15:57 < sam_moore> Callum: I've been set to away since last night
1228 15:57 < Callum> o.O not according to my client
1229 15:58 < sam_moore> Anyway, we are definitely using the Beaglebone, Electronics has ordered one, they seemed to think they'd have to program it but I corrected them
1230 15:58 < Callum> ...why would they have to program it? wtf did they think we were doing?
1231 15:59 < sam_moore> They probably thought all we had to do was the GUI and not any of the other software? I don't know. But the guy seemed relieved anyway.
1232 15:59 < Callum> and was gonna ask if you remembered anything about the pi meson decay question for physics (how do you get the anti-neutrinos momentum, or do you assume it to be 0 as well? but then it doesnt really make sense with conservation of momentum)
1233 16:00 < sam_moore> Woah, I don't remember the assignments in that much detail
1234 16:00 < Callum> was hoping you would :p
1235 16:00 < sam_moore> No, I just have vague memories of algebra
1236 16:01 < sam_moore> And looking through notes
1237 16:01 < Callum> hmm. i cant seem to find anything in the notes
1238 16:01 < Callum> because he says to assume the rest mass of the anti-neutrino is 0
1239 16:02 < Callum> and i don't really remember much in regards to energies and 0 rest mass ;/
1240 16:02 < jtanx> I talked to someone who did computer vision before
1241 16:02 < jtanx> and he's really doubtful that you can get accurate readings off a webcam
1242 16:02 < sam_moore> Callum: I don't think you can assume the momentum is zero, other than that, I don't have much to offer
1243 16:02 < Callum> the question also says to have it in terms of m(pi) m(e) and c
1244 16:03 < Callum> and yea thats what i thought. it doesnt make sense to do that. just cant remember how to do it D;
1245 16:03 < Callum> @jeremy yea well, its a pain but possible
1246 16:04 < Callum> really comes down to how good your camera is/sampling rate/how quickly you can process it. 
1247 16:04 < sam_moore> How about you do some experimenting with a webcam and see what you can do with it?
1248 16:04 < Callum> but you can get some pretty good webcams nowadays (but then again the better it is the longer it takes to process)
1249 16:04 < jtanx> personally, I don't think it will work
1250 16:04 < sam_moore> It looks like we might just end up streaming images diretly to a website
1251 16:04 < Callum> i don't have any
1252 16:04 < Callum> yea well even if thats all we do we still need the camera
1253 16:05 < Callum> spose i could use my laptop one but i doubt that would be very good
1254 16:05 < Callum> could run it through the canny algorithm and see what it produces
1255 16:06 < sam_moore> Sounds like an idea
1256 16:07 < sam_moore> A good idea specifically
1257 16:07 < jtanx> about the sensorhandler
1258 16:07 < sam_moore> Yes?
1259 16:07 < jtanx> do you envision leaving it in fastcgi.c permanently
1260 16:07 < jtanx> or for that matter any other handlers
1261 16:07 < sam_moore> I was kind of thinking there would be a "handlers.h" and "handlers.c"
1262 16:08 < sam_moore> Just to make things more organised
1263 16:08 < jtanx> yeah
1264 16:08 < jtanx> I'm trying to export enough of the functionality
1265 16:08 < jtanx> to do that
1266 16:08 < jtanx> but the json thing is annoying
1267 16:08 < jtanx> especially when you need to spit out arrays
1268 16:09 < jtanx> unless you have something like FCGI_Printf
1269 16:09 < jtanx> and it's up to you to format it correctly
1270 16:09 < Callum> bloody physics lecture video is laggy. gonna have to download it and hope for the best. fuck echo
1271 16:10 < jtanx> compared to lectopia you get 2x filesize with no visible benefit in quality
1272 16:10 < Callum> they're both shit.
1273 16:10 < sam_moore> You could have seperate "BuildJSON_Key" and "BuildJSON_Value" functions, with a "BuildJSON_ValueArray" maybe
1274 16:10 < Callum> haha
1275 16:11 < sam_moore> FCGI_Printf is Ok though, it's not too much formating
1276 16:11 < jtanx> the problem with the buildjson_* stuff
1277 16:11 < jtanx> is it gets very verbose
1278 16:12 < jtanx> and you can probably come up witha  situation that breaks it too
1279 16:12 < jtanx> and don't get me started on value types
1280 16:12 < sam_moore> Haha
1281 16:14 < sam_moore> We can always just send plain text and make James turn it into JSON :P
1282 16:14 < jtanx> ahaha
1283 16:14 < jtanx> yeah that could work
1284 16:15 < jtanx> mm 
1285 16:15 < jtanx> this is where java is good
1286 16:15 < jtanx> or any other higher level language
1287 16:21 < jtanx> ok so it's a bit of both, but how about: FCGI_JSONKey(key) and FCGI_JSONValue(format, ...)
1288 16:22 < sam_moore> That looks good
1289 16:25 < jtanx> I'm also adding long/double types for the BuildJSON function, just for convenience
1290 16:25 < jtanx> any preference to naming conventions?
1291 16:26 < jtanx>  FCGI_BuildJSONLong
1292 16:27 < sam_moore> Seems OK
1293 16:28 < sam_moore> I need to go do some ENSC1001 stuff (hooray)
1294 16:29 < jtanx> yuck
1295 16:30 < Callum> hhaha
1296 16:30 < Callum> have fun :p
1297 16:30 < Callum> although i cant really talk. about a days worth of physics and a days worth of ensc3016 shit i should get through, on top of mctx and geng4402 stuff. yay for being behind already
1298 16:38 < Callum> well iv got an answer for the first part (second part should be the same process). just hope its right :s
1299 16:46 < jtanx> ok, time to merge this into the server code
1300 19:47 < jtanx> hmm interesting - it crashes if compiled with clang but not with gcc
1301 19:49 < jtanx> probably just a bug in clang 3.2
1302 20:08 < jtanx> ok, just submitted a pull request to update the fastcgi stuff
1303 20:08 < jtanx> for now I moved Sensor_Handler to sensor.c
1304 20:09 < jtanx> the status codes have all changed
1305 20:09 < jtanx> If you absolutely cannot process anything given the input arguments, you call FCGI_RejectJSON
1306 20:10 < jtanx> If you fail for some other reason (e.g unauthorized access), you use FCGI_BeginJSON with the appropriate status code
1307 20:10 < jtanx> With RejectJSON, it sends a HTTP 400 code so any query through AJAX/jQuery will fail with no extra info
1308 20:11 < jtanx> With BeginJSON, the HTTP code is always 200 OK, so you are able to transmit extra info if it failed for another reason
1309 20:12 < jtanx> BeginJSON will automatically add the module handler name + the status code
1310 21:47 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1311 --- Day changed Wed Aug 21 2013
1312 00:53 -!- Callum [[email protected]] has quit [EOF From client]
1313 07:45 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1314 11:57 < jtanx> hmm
1315 11:57 < jtanx> I just had a play with the sensor stuff
1316 11:57 < jtanx> and I trialled a 'double buffer' scheme
1317 11:57 < jtanx> instead of the binary file idea
1318 11:57 < jtanx> seems to work okay, and it guarantees that a point won't be returned to the user if they have already received it
1319 12:35 < jtanx> urgh
1320 12:35 < jtanx> just worked through some stupid bug
1321 12:37 < jtanx> I think it's because make didn't recompile something because it thought it hadn't changed
1322 12:38 < jtanx> probably the header files
1323 12:50 < jtanx> you can see the double buffer method in this branch: https://github.com/jtanx/MCTX3420/tree/doublebuffer
1324 12:58 < jtanx> one issue though is that writing out csv instead of binary file takes up a lot more space
1325 14:49 -!- james__ [[email protected]] has joined #mctxuwa_softdev
1326 14:49 < james__> Hey
1327 14:50 -!- james__ [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]"]
1328 18:32 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1329 19:48 -!- jtanx [[email protected]] has quit [Ping timeout]
1330 19:51 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1331 23:12 -!- jtanx [[email protected]] has quit ["ï½¥_ï½¥"]
1332 --- Day changed Thu Aug 22 2013
1333 00:46 -!- Callum [[email protected]] has quit [EOF From client]
1334 08:19 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1335 10:00 -!- jtanx [[email protected]] has left #mctxuwa_softdev []
1336 13:19 -!- callum [[email protected]] has joined #mctxuwa_softdev
1337 13:20 < callum> hey
1338 13:53 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1339 14:35 -!- callum [[email protected]] has quit [Ping timeout]
1340 15:07 -!- callum [[email protected]] has joined #mctxuwa_softdev
1341 15:07 < callum> sam you still at uni?
1342 15:22 < callum> or jeremy if you remember what he used to compile the file. i'v managed to get it to recognise the header files but now its complaining about not being able to find the libraries.
1343 15:34 < jtanx> um
1344 15:34 < jtanx> I can't remember
1345 15:34 < jtanx> didn't you use pkg config to find out
1346 15:36 < jtanx> try this http://opencv.willowgarage.com/wiki/CompileOpenCVUsingLinux
1347 15:54 -!- callum [[email protected]] has quit [EOF From client]
1348 21:43 -!- jtanx [[email protected]] has quit ["._."]
1349 22:08 < sam_moore> gcc -o opencv opencv.c -I/usr/include/opencv -lopencv_core -lopencv_highgui -lopencv_imgproc
1350 22:08 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [0 ops, 0 halfops, 0 voices, 1 normal]
1351 22:08 < sam_moore> Oh... there's no one here
1352 22:08 < sam_moore> Well, if you read the IRC logs when they're commited to git, you'll see it. Good luck.
1353 --- Day changed Fri Aug 23 2013
1354 07:42 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1355 07:49 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1356 07:52 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1357 08:59 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1358 10:02 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1359 10:12 -!- jtanx [[email protected]] has quit ["http://www.mibbit.com ajax IRC Client"]
1360 10:13 -!- jtanx_ [[email protected]] has joined #mctxuwa_softdev
1361 12:30 < jtanx_> um
1362 12:30 < jtanx_> do you know how you connected the relay board to the sensor board
1363 12:30 < jtanx_> for the soldering lab
1364 12:45 < jtanx_> and what sort of wire did you use?
1365 12:58 < jtanx_>  brb
1366 12:58 -!- jtanx_ [[email protected]] has quit ["http://www.mibbit.com ajax IRC Client"]
1367 13:51 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1368 --- Log opened Sat Aug 24 17:07:53 2013
1369 17:07 -!- matches [[email protected]] has joined #mctxuwa_softdev
1370 17:07 -!- ServerMode/#mctxuwa_softdev [+nt] by irc.eversible.com
1371 17:07 -!- Irssi: #mctxuwa_softdev: Total of 1 nicks [1 ops, 0 halfops, 0 voices, 0 normal]
1372 17:07 -!- Irssi: Join to #mctxuwa_softdev was synced in 1 secs
1373 17:08 -!- You're now known as sam_moore
1374 --- Day changed Mon Aug 26 2013
1375 11:11 -!- matches [[email protected]] has joined #mctxuwa_softdev
1376 11:11 -!- matches [[email protected]] has left #mctxuwa_softdev []
1377 11:12 <@sam_moore> Thought I might have the wrong server
1378 17:18 <@sam_moore> I do have the wrong server!
1379 17:19 -!- sam_moore [[email protected]] has left #mctxuwa_softdev [I have the wrong server!]
1380 --- Log closed Mon Aug 26 17:19:05 2013
1381 --- Log opened Mon Aug 26 17:19:34 2013
1382 17:19 -!- sam_moore [[email protected]] has joined #mctxuwa_softdev
1383 17:19 -!- Irssi: #mctxuwa_softdev: Total of 2 nicks [0 ops, 0 halfops, 0 voices, 2 normal]
1384 17:19 -!- Irssi: Join to #mctxuwa_softdev was synced in 5 secs
1385 17:19 < sam_moore> !motd
1386 17:20 < sam_moore> '!motd'
1387 17:20 < sam_moore> MctxBot: You're broken
1388 17:20 < sam_moore> Oh wait, never mind
1389 18:07 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1390 18:08 < jtanx> :P
1391 18:09 < jtanx> you can change the message if you want
1392 21:03 -!- jtanx [[email protected]] has quit ["brb"]
1393 21:12 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1394 22:46 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1395 --- Day changed Tue Aug 27 2013
1396 07:40 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1397 07:54 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1398 17:53 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1399 19:11 < jtanx> lol
1400 19:11 < jtanx> the camera that we were using for the soldering lab inserted a bunch of wavy lines/static into the video
1401 19:12 < sam_moore> It's an effect
1402 19:14 < jtanx> nah
1403 19:14 < jtanx> the camera was actually broken
1404 19:15 < sam_moore> (I figured that)
1405 19:15 < sam_moore> You could pretend it's supposed to be an 80s style video?
1406 19:15 < jtanx> yeah that could work
1407 19:16 < jtanx> have you done it yet?
1408 19:18 < sam_moore> No :S
1409 19:20 < jtanx> well
1410 19:21 < jtanx> according to the manual, you need to connect a wire from R5 on the sensor board to the relay board
1411 19:21 < jtanx> problem was we already chopped off the lead on R5
1412 19:22 < jtanx> another group connected the wire to the LEd though
1413 19:22 < jtanx> seemed to work
1414 20:02 < jtanx> so are we using clock_gettime?
1415 20:08 < sam_moore> I think so, we can use CLOCK_MONOTONIC_RAW if we are paranoid about the system time getting changed
1416 20:08 < sam_moore> Or we can just use CLOCK_REALTIME if we aren't
1417 20:09 < jtanx> I thought CLOCK_MONOTONIC was supposed to be best, because the RAW version wasn't compensated for temp/other stuff
1418 20:10 < jtanx> http://stackoverflow.com/questions/3523442/difference-between-clock-realtime-and-clock-monotonic
1419 20:10 < jtanx> about the FCGI loop blocking
1420 20:10 < jtanx> you can switch to FCGX_ methods
1421 20:10 < jtanx> I think
1422 20:11 < jtanx> but is it really necessary
1423 20:20 < jtanx> about the valgrind comment in sensors.c
1424 20:20 < jtanx> this is probably it: http://stackoverflow.com/questions/5844242/valgrind-yells-about-an-uninitialised-bytes
1425 20:23 < sam_moore> It's probably not necessary to stop the FCGI loop blocking, don't worry about it
1426 20:25 < sam_moore> Yeah, I didn't initialise the buffers anywhere
1427 20:25 < jtanx> actually I can't reproduce that message
1428 20:25 < sam_moore> Hmm
1429 20:26 < jtanx> about the sensor times
1430 20:27 < jtanx> what about if you all reference it relative to some point
1431 20:27 < jtanx> eg
1432 20:27 < sam_moore> The epoch :P
1433 20:27 < jtanx> lol
1434 20:27 < jtanx> I mean
1435 20:28 < jtanx> when you get sensor data, you store the difference in time between the start of recording and now
1436 20:28 < sam_moore> Sure, that makes more sense
1437 20:29 < sam_moore> Just give the client the start of recording time and they can convert it to a time of day / day in the calendar themselves
1438 20:30 < jtanx> yeah
1439 20:30 < jtanx> you could have a specific request to return the starting time
1440 20:30 < jtanx> then it's implicit for all requests
1441 20:30 < jtanx> btw I submitted a pull request for the nginx configs
1442 20:32 < sam_moore> Ok
1443 20:32 < sam_moore> I've added you to collaborators so you can merge them yourself if you need to
1444 20:33 < jtanx> ok
1445 20:35 < jtanx> huh
1446 20:35 < jtanx> http://www.cnx-software.com/2011/09/26/beagleboard-emulator-in-ubuntu-with-qemu/
1447 20:41 < sam_moore> Nice
1448 20:42 < sam_moore> "Currently you can not access Ethernet" Not so nice
1449 20:42 < sam_moore> Although this is dated 2011
1450 21:18 -!- jtanx [[email protected]] has quit ["bye"]
1451 --- Day changed Wed Aug 28 2013
1452 08:52 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1453 10:08 -!- MctxBot [[email protected]] has quit [Connection reset by peer]
1454 10:11 -!- MctxBot [[email protected]] has joined #mctxuwa_softdev
1455 10:39 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1456 15:16 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1457 15:48 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1458 16:31 < jtanx> huh
1459 16:31 < jtanx> firefox's javascript debugger is pretty cool
1460 16:31 < sam_moore> Firebug? Yeah
1461 16:35 < jtanx> nah the inbuilt one
1462 16:35 < jtanx> firebug's good for inspecting html though
1463 16:35 < jtanx> haven't used firebugs js debugger yet
1464 16:35 < sam_moore> Oh, I didn't know they had an inbuilt one
1465 16:36 < jtanx> Ctrl+Shift+K
1466 16:36 < sam_moore> Of course I normally use Iceweasel, which is currently built as firefox 10.0.2 with a different name
1467 16:36 < jtanx> well that's about 10 releases behind
1468 16:36 < sam_moore> That looks pretty similar to firebug anyway
1469 16:55 < jtanx> inline conditionals in javascript are whack
1470 16:55 -!- Callum_ [[email protected]] has joined #mctxuwa_softdev
1471 16:55 < sam_moore> I haven't done much javascript, but a lot of it does seem whack
1472 16:56 < sam_moore> jtanx: What are you working on in JavaScript?
1473 16:56 < jtanx> unit tests
1474 16:57 < sam_moore> Cool
1475 17:01 -!- Callum [[email protected]] has quit [Ping timeout]
1476 17:01 -!- Callum_ is now known as Callum
1477 17:18 < jtanx> javascript in general is annoying me though
1478 17:25 < Callum> when exactly is this soldering lab due? fucking thing.
1479 17:27 < jtanx> next friday
1480 17:27 < Callum> it says week 5 on lms
1481 17:27 < jtanx> sept 6
1482 17:27 < Callum> where's it say this?
1483 17:27 < jtanx> yeah he made an announcement
1484 17:27 < jtanx> that it's wrong
1485 17:27 < jtanx> somewhere
1486 17:28 < Callum> sigh. this unit..i swear
1487 17:28 < Callum> if it really is next week then i'd be so relieved
1488 17:28 < Callum> wow
1489 17:28 < Callum> he made an announcement today..
1490 17:28 < Callum> wait yesterday
1491 17:29 < jtanx> still got that central plant fbd to do
1492 17:29 < Callum> why hasnt LMS emailed me a notification? (/end spam)
1493 17:29 < Callum> yea i know
1494 17:29 < Callum> which i think i have it pretty much done
1495 17:29 < Callum> not 100% sure on it though
1496 17:29 < Callum> and whether to add pumps and shit into it
1497 17:29 < jtanx> what did you have on it?
1498 17:30 < Callum> HA as i say that i check my phone and i have the message about the announcement
1499 17:30 < jtanx> and what did you call the chiller things?
1500 17:30 < Callum> pretty much just the 4 chillers, a line showing it can go back (they're literally called chillers ahha(
1501 17:31 < Callum> then i had another part to show the chillers (evaporation/condensor/compressor and cooling tower is connected to condenser) 
1502 17:31 < jtanx> ook
1503 17:31 < Callum> however
1504 17:32 < Callum> im not sure about the input/output of the chiller
1505 17:32 < Callum> because stuff online shows it to be the evaporator 
1506 17:32 < Callum> but isnt it water being pumped?
1507 17:32 < jtanx> I think there were pumps on the output
1508 17:33 < jtanx> were there three outputs?
1509 17:33 < Callum> also not sure if i should/wherte to add the tank (yea ofc theres pumps but not sure to put them in to the diagram, pretty much everything is pumped)
1510 17:33 < Callum> outputs where?
1511 17:33 < jtanx> North/Sout/East distribution things
1512 17:33 < jtanx> iirc
1513 17:33 < jtanx> yeah not sure whether to add tank or not
1514 17:34 < Callum> oh that, i didnt bother with that
1515 17:34 < Callum> just how did the chiller connect with the rest of the plant?
1516 17:34 < Callum> was the evaporator the input/output?
1517 17:34 < Callum> because the chiller feeds out to the water tower and the tower feeds back into the chiller (i think)
1518 17:36 < Callum> also what was the thing called? that allowed water to flow back and forth bypassing the chillers. back something?
1519 17:36 < Callum> really they should have told us before we went in we had to do this. some lazy fucks like me dont read the outline so i didnt take notes..or try to commit stuff to memory :po
1520 17:39 < jtanx> the bypass?
1521 17:39 < jtanx> I haven't gone into detail
1522 17:39 < jtanx> so I just have chiller
1523 17:39 < jtanx> and cooling tower
1524 17:39 < jtanx> maybe I should
1525 17:40 < Callum> remember how tehre was 4 chillers, and they would only run what was needed.
1526 17:40 < jtanx> yeah
1527 17:40 < jtanx> how many cooling towers?
1528 17:40 < Callum> and if they had more than they needed there was a pipe to flow back, or if they had some chilled water from the tanks or w.e it bypassed chillers
1529 17:40 < Callum> i dont know, but im not sure how to show it all
1530 17:40 < Callum> im sure what iv got is somewhat decent
1531 17:41 < jtanx> I used visio and I ended up spending so much time trying to get the lines rihgt
1532 17:41 < jtanx> probably would have been faster to hand draw it
1533 17:41 < jtanx> still not finished too
1534 17:41 < Callum> haha im fiarly sure i read somewhere it was hand drawn :p
1535 17:41 < jtanx> meh I suck at drawing
1536 17:42 < Callum> maybe not. "This is to be drawn and annotated on single A4 page"
1537 17:42 < Callum> i dont think they'll be picky
1538 17:42 < jtanx> and there's lines everywhere
1539 17:42 < Callum> really? how do you have lines everywhere?
1540 17:42 < jtanx> ok so chiller
1541 17:42 < Callum> it's a fairly simple system. unless i'v done it wrong :s
1542 17:43 < jtanx> has warm chilled water (1), chilled coolant (2), hot coolant (3), chilled chilled water(4), control line (5), (maybe) sensor back to controller (6)
1543 17:43 < jtanx> that's ~5 lines in/out of one box?
1544 17:44 < Callum> hmm. havent included coolant or control/sensor
1545 17:44 < Callum> maybe i should :S
1546 17:44 < jtanx> and an operator
1547 17:44 < jtanx> to the controller
1548 17:45 < Callum> thing is it asked for a high level FBD though
1549 17:45 < Callum> which means not very detailed
1550 17:45 < Callum> or maybe it didnt?
1551 17:45 < jtanx> yeah, so do you need to show condensor/evaporator
1552 17:45 < jtanx> I just have a chiller box
1553 17:46 < jtanx> anyway... afk ~10 mins
1554 17:46 < Callum> the condensor/evaporater is part of the chiller isnt it?
1555 17:46 < Callum> ok
1556 18:10 < Callum> anyone finished reading chapter 4 of the notes?
1557 18:11 < jtanx> what's that
1558 18:11 < Callum> sensors
1559 18:12 < Callum> so dull :l
1560 18:12 < Callum> and pretty much no chance to remember enough of it. quiz tomorrow is going to be fun.. 
1561 18:12 < jtanx> oh 
1562 18:13 < jtanx> shit
1563 18:13 < jtanx> have to study for that
1564 18:13 < Callum> rofl
1565 18:14 < jtanx> :/
1566 18:15 < Callum> gonna just have to wing most of them again like last time most likely. 
1567 18:15 < jtanx> probably
1568 18:15 < jtanx> Well, the unit testing thing works http://mctx.us.to:8080/unit-tests/
1569 18:15 < jtanx> now what unit tests should there be
1570 18:18 < Callum> not sure.
1571 18:25 < Callum> brilliant! the notes show a false colour image built from a black and white image...while printed in black and white.
1572 18:34 < jtanx> :P
1573 19:50 < jtanx> um
1574 19:50 < jtanx> did we get around to doing the sparkplus thing
1575 19:54 < jtanx> we need to do it before the end of the week
1576 19:54 < Callum> umm.
1577 19:54 < Callum> actually justin already set up the group
1578 19:54 < Callum> so you need to hurry up and join before we have to recreate the group :P
1579 19:54 < jtanx> nah it expired
1580 19:54 < Callum> wait already?
1581 19:54 < Callum> zzz
1582 19:55 < jtanx> 5 hr deadline
1583 19:55 < Callum> and adrian said it was 24Hr, whats with this 5 hour shit
1584 19:55 < jtanx> so... we need to try again
1585 19:55 < jtanx> when everyone's available
1586 20:11 -!- Callum [[email protected]] has quit [Ping timeout]
1587 20:49 -!- jtanx [[email protected]] has quit ["ha"]
1588 --- Day changed Thu Aug 29 2013
1589 07:47 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1590 09:16 < jtanx> firefox blocks ajax calls if you try to run the file locally :/
1591 09:45 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1592 13:33 -!- jtanx [[email protected]] has joined #mctxuwa_softdev
1593 14:24 -!- james__ [[email protected]] has joined #mctxuwa_softdev
1594 14:25 < james__> Hey Jeremy. Is there a way to find my login hash key if i am already logged into the api?
1595 14:28 < jtanx> um
1596 14:28 < jtanx> right now you should store it
1597 14:29 < jtanx> just declare a global variable and set it to the hash
1598 14:30 < jtanx> or if you have made a class
1599 14:30 < jtanx> just make it an element
1600 14:31 < james__> I'm still logged in from ages ago and i can't logout so i can get a different key that works
1601 14:31 < jtanx> that
1602 14:31 < jtanx> ok
1603 14:31 < james__> Possibly a bug that needs fixing? 
1604 14:31 < jtanx> so the way it works right now is there's a 3 minute timeout on the key
1605 14:31 < jtanx> no
1606 14:31 < jtanx> there's actually two layers
1607 14:32 < jtanx> the password that you enter first (mctxadmin) is what's called HTTP basic authentication
1608 14:32 < jtanx> this lets you gain access to /api/login
1609 14:32 < james__> Well i tried loging in again and its saying i am already logged in
1610 14:32 < jtanx> when you reach /api/login you get the access key
1611 14:32 < jtanx> there's a three minute timeout on the key
1612 14:32 < jtanx> if you wish to invalidate the key
1613 14:33 < jtanx> you call 
1614 14:33 < jtanx>  /api/login?end
1615 14:34 < jtanx> you can force getting a key by also calling /api/login?force
1616 14:34 < james__> right. well it worked this time
1617 14:34 < james__> Thats weird
1618 14:34 < jtanx> so the only thing that the key prevents is stopping accidental concurrent use
1619 14:34 < james__> Fair enough
1620 14:35 < jtanx> Calling /api/login?force will force a new key to be generated and the old one to be invalidated
1621 14:35 < james__> Okay
1622 14:35 < jtanx> btw as I was working on unit testing
1623 14:35 < jtanx> I did a function to retrieve the json data
1624 14:36 < jtanx> http://mctx.us.to:8080/unit-tests/unit-tests.js
1625 14:37 < james__> I will have a look.  I have some buttons working and stuff. Working on putting them in a seperate script file for easier editing etc
1626 14:37 < james__> They don't seem to be playing nice at the moment
1627 14:37 < jtanx> ok
1628 14:38 < jtanx> how come it takes so much effort to get some buttons working
1629 14:39 < james__> Getting the css to mesh with the js
1630 14:40 < james__> I have buttons fine 
1631 14:40 < james__> And they work
1632 14:40 < jtanx> maybe you should get the functionality to work first
1633 14:40 < jtanx> with the ajax queries
1634 14:40 < jtanx> before worrying about styling them
1635 14:40 < james__> I have the functionality pretty much working
1636 14:41 < jtanx> so the querying works?
1637 14:41 < james__> But i want the styling to work before we scale it up
1638 14:41 < james__> That way its less hassle to fix it later
1639 14:41 < jtanx> could you post it to git?
1640 14:41 < jtanx> it'd be cool to have a look
1641 14:45 < james__> The way i am thinking about having it set out is having a central index.html which just imports all the js. The js will contain all the functionlity seperated in to similar functions. Ie. all the buttons in one script
1642 14:46 < jtanx> right
1643 14:46 < james__> That should allow for ease of scaling and editing
1644 14:46 < james__> Also changing id's and stuff
1645 15:46 -!- james__ [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]"]
1646 19:25 -!- Callum [[email protected]] has joined #mctxuwa_softdev
1647 21:09 -!- jtanx [[email protected]] has quit ["ChatZilla 0.9.89 [Firefox 23.0.1/20130814063812]"]
1648 23:18 -!- Callum [[email protected]] has quit ["ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]"]

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