code logs -> 2012 -> Thu, 27 Sep 2012< code.20120926.log - code.20120928.log >
--- Log opened Thu Sep 27 00:00:39 2012
00:17 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has quit [Client closed the connection]
00:18 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
01:03 Attilla [Obsolete@Nightstar-86524535.as43234.net] has quit [Ping timeout: 121 seconds]
01:05 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
01:06 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
01:06 mode/#code [+o himi] by ChanServ
01:13 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
01:13 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection reset by peer]
01:32 Derakon[AFK] is now known as Derakon
01:32 mode/#code [+ao Derakon Derakon] by ChanServ
02:29 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
02:36 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
02:39
< gnolam>
Jesus this thing runs hot.
02:56
<@Alek>
that's what she said
04:52 * McMartin does a guillotine fix for this bug, calls it a night.
05:08
< Reiv>
guillotine fix?
05:10
<&Derakon>
Chop out the offending code, presumably.
05:19 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
05:20 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has quit [Client exited]
05:26 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
05:26 mode/#code [+o PinkFreud] by ChanServ
05:47
<&McMartin>
Pretty much
05:47
<&McMartin>
Actually, it was "ensure the code in question does not run at all in the situation where it seems to be mysteriously failing"
05:47
<&McMartin>
It honestly shouldn't be failing, but fuck it.
07:00 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
07:03 Derakon is now known as Derakon[AFK]
08:19 Attilla [Obsolete@Nightstar-bae4b344.as43234.net] has joined #code
08:26 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
09:08 You're now known as TheWatcher
10:44 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
10:49 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
13:06
<@Alek>
http://ars.userfriendly.org/cartoons/?id=20070213
13:24
<@TheWatcher>
Blood hell, long time since I saw a link to uf.org
13:29
<&ToxicFrog>
And, wow, the site design hasn't changed in the slightest since 2001.
13:31
<@TheWatcher>
Or the art quality >.>
14:24
< Nemu>
Hmm. So, riddle me this.
14:25
< Nemu>
I have a couple classes I'm working with. The specifics aren't too important, but I've got three main classes. I have an experiment, which is composed of sessions, which is composed of trials.
14:26
< Nemu>
So, one experiment, many sessions per experiment, many trials per session.
14:27
< Nemu>
There's also a set chronology in how the experiment is run. I start the experiment, start a session, start a trial, do things in the trial, stop the trial, do things to the trial, start/stop more trials, stop the session, do things to the session, start/stop more sessions, then stop the experiment
14:28
< Nemu>
It seems to lend itself well to a finite state machine.
14:29
< Nemu>
How can I implement that? I don't know too much about FSM. I've made things that act similarly, but I've never really set out from the beginning with the goal of a state machine, before.
14:31
< Nemu>
Ah. As an added complication, everything is being signaled via tcp. Right now, my experiment class inherits a tcp_experiment class with the required methods.
14:33
< Nemu>
I was thinking of breaking it into a tcp class with all the communication stuff, then experiment_fsm, session_fsm, and trial_fsm, where *_fsm has the functions relevant to navigating the FSM for each experiment/session/trials
14:46
<&jerith>
Nemu: You don't really need an explicit FSM for that.
14:47
<&jerith>
When you're done with a trial, ask the session if there's another trial. If so, start it. If not, move on to the next session. If there are no more sessions, yell "hooray!" and go have a beer.
14:48
<@TheWatcher>
The Beer module being where you'll undoubtedly need to focus most of your efforts.
14:50
< Nemu>
The session doesn't really know if there's any more trials, in this case. Everything is determined by what comes through the series of tubes. I was thinking finite state machines because it allows me to work inside of my classes.
14:51
< Nemu>
Currently, my experiment isn't part of any class. It's just hanging out there with the main function. That's fine for one level, experiment, but it doesn't scale well.
14:51
<&jerith>
Your FSM would have to span multiple classes.
14:52
<&jerith>
Surely the session would have to know if there's another trial to start, though?
14:52
< Nemu>
Yeah. I think I can justify it. I think of the experiment/session/trial classes as "my_experiment", "my_session" and so on. They inherit from base_experiment, base_session, and stuff
14:53
< Nemu>
Mmmm.... It would know when it gets told that there's another trial, I guess.
14:53
< Nemu>
Instantiating a trial and starting it are synonymous, in my function
14:53
< Nemu>
Err, in my usage, rather
14:54
< Nemu>
I don't think there's a need, yet, to split the two parts
14:55
<&jerith>
Nemu: I think I'm talking at a slightly higher level than you.
14:55
< Nemu>
As in, more abstract?
14:56
<&jerith>
When I say "start a new trial", I mean "do whatever is necessary to move from the old finished trial to the new one", not "call my_trial.start()" or whatever.
14:57
< Nemu>
Ah. Okay. So, yeah. The session would have to know whether this is th last trial or not.
14:57
< Nemu>
*the
14:58
<&jerith>
Let's assume there are three kinds of input. The first kind is relevant to the experiment, the second is relevant to the session and the third is relevant to the trial.
14:58
<&jerith>
The experiment knows how to handle its own input, so that's fine. It passes everything else to the current session.
14:58
<&jerith>
The session knows how to handle its own input and passes everything else to the current trial.
14:59
<&jerith>
The trial does its thing, and might say "I'm done!" to the session it's part of.
15:00
<&jerith>
The session then decides whether to start a new trial or say "I'm done!" to the experiment.
15:00
<&jerith>
The experiment then decides whether to start a new session or go have a beer.
15:00
< Nemu>
Yeah, that's what I'm trying to work towards.
15:01
<&jerith>
You don't need an explicit FSM for that.
15:01
<&jerith>
You're encapsulating behaviour. The experiment doesn't need to know about trials, only sessions.
15:02
< Nemu>
So, how should I handle inheritance, then. Each of the three classes needs to be able to inherit te tcp functionality
15:02
< Nemu>
*the
15:03
< Nemu>
I guess the signalling would be inherited from multiTrial_session/multiSession_experiment classes?
15:04
< Nemu>
Hmm. That works, in one direction, but how do I signal back up the chain
15:04
< Nemu>
* ?
15:05
<&jerith>
Why do they each need to handle TCP?
15:05
<&jerith>
The experiment does that.
15:05
<&jerith>
Or, even better, a TCP module does that and passes the data to the experiment.
15:07
< Nemu>
Yeah. Maybe I'll have to come up with a better way of having experiment handle tcp's data. Right now, I'm referencing like exp.session.trial = foo_method(exp.session.trial)
15:07
< Nemu>
That's what I was trying to avoid. So, a method in experiment to pass tcp's data up the chain?
15:08 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:09
< Nemu>
How can I signal from session to experiment, though? Writing general code, a session isn't required to be part of an experiment, I don't think. I could make another class composed of sessions.
15:10
<&jerith>
Why isn't a session required to be part of an experiment?
15:11
< Nemu>
I could have an experiment composed of subjects, composed of sessions, composed of trials.
15:11
< Nemu>
I think.
15:11
< Nemu>
Maybe that's not the best idea
15:11
<&jerith>
Do you need one of those now?
15:11
<&jerith>
What language is this, btw?
15:12
< Nemu>
matlab oop, pre-2008 rewrite.
15:12
<&jerith>
Ah.
15:12
< Nemu>
It's painful
15:12
<&jerith>
Yeah.
15:12
<&jerith>
I never touched the OOP stuff.
15:12 Attilla [Obsolete@Nightstar-bae4b344.as43234.net] has quit [Ping timeout: 121 seconds]
15:13
<&jerith>
(But I wrote some C to hook in for the crypto I needed to do, because bit-bashing in Matlab is *horrible*.)
15:13
< Nemu>
You don't like bitand()? It takes about a thousand more ops than C's implementation
15:14
<&jerith>
I needed to do a bunch of bitwise operations on integers.
15:14
<&jerith>
I tried writing it in Matlab, and it got very horrible very quickly.
15:14
<&jerith>
(This was about 2005.)
15:15
< Nemu>
Yeah. I struggled just masking to get one value. Data was read in as a double, so I had to convert to uint32, but when you declare the mask, it's a double.
15:15 Attilla [Obsolete@Nightstar-bae4b344.as43234.net] has joined #code
15:15
< Nemu>
You can't say "0000000000000110000000"
15:15
< Nemu>
That's a string, now
15:16
< Nemu>
It's annoying. I think I found some str2bin function or something. Way harder than it needed to b.
15:16
< Nemu>
*be
15:16
< Nemu>
Especially since the elementwise binary operators still return doubles.
15:16
< Nemu>
Why?
15:17
< Nemu>
Err, bitwise, rather. Elementwise binary operators are, like, a logical thing
15:18
< Nemu>
Anywhoo, thanks for the help. I've got some more thinking to do, I think
15:52 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
15:55 * iospace eyes her Win7Em disk
15:57
< gnolam>
Try Am or maybe go all the way to Dm.
15:58
< AnnoDomini>
Better yet, DM.
15:59
< iospace>
...
15:59
< iospace>
by Em i mean Embedded
16:02
< iospace>
smartasses
16:06 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
16:06
< iospace>
...
16:07 * iospace eyes it more
16:16 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
16:29 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
16:33 * TheWatcher hairpulls at this code, wonders why the hell it's not working
16:42
< iospace>
TheWatcher: at elast you're not hardware debugging :P
16:43 * TheWatcher facepalm, notes that $self -> {"trasport_id"} isn't actually the same as $self -> {"transport_id"}
16:53
<&jerith>
Of course, Perl helpfully creates it for you.
16:53 * jerith once bought a domain name due to a typographical error.
16:53
<&jerith>
Well, my boss did.
17:08 * gnolam stabs Intel in the FACE
17:08
<@TheWatcher>
jerith: no, actually
17:08
<@TheWatcher>
it's undef
17:09
<@TheWatcher>
however, passing undef as a bind variable to the execute() of a prepared database query is actually perfectly valid
17:09
<@TheWatcher>
just not what I actually want to do right now
17:10
< gnolam>
Man, U.FL connectors are tiiiiiiiiny.
17:16 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
17:16 mode/#code [+o Vash] by ChanServ
17:40
< iospace>
erasing 128 GB disks takes a while Dx
17:42
<&jerith>
How hard are you erasing them?
17:43
< iospace>
low level
17:43
< iospace>
lower than DD actually :P
17:43
<&jerith>
Just writing zeros?
17:43
< iospace>
yup
17:43
<&jerith>
Not doing multi-pass random writes?
17:43
< iospace>
no, it's just a simple erase
17:43
< iospace>
i could do a multi-pass random writes but eh, not worth it :P
17:44
< iospace>
not needed either ^_^
17:46 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
17:47 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
17:50
< iospace>
it writes 1k blocks at a time... there's over EE00000 blocks Dx
17:50
< iospace>
well ok
17:50
< iospace>
it writes 0x1000 blocks at time :P
17:51
<~Vornicus>
that's a few blocks
17:57 Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Ping timeout: 121 seconds]
17:59 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
17:59 Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code
17:59 mode/#code [+o Alek] by ChanServ
18:04 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
18:31 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
18:38 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
19:27 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
19:36
< iospace>
there's scripted testing, and then there's blast things at it and see what finally works
19:36
< iospace>
the latter is so much better
20:10
<&McMartin>
Torque engine is going to be MIT licensed
20:10
<&McMartin>
http://www.garagegames.com/community/blogs/view/21876
22:43 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
23:44 McMartin [mcmartin@Nightstar-3895ee8e.pltn13.sbcglobal.net] has quit [[NS] Quit: kernel upgrade]
23:46 McMartin [mcmartin@Nightstar-3895ee8e.pltn13.sbcglobal.net] has joined #code
23:46 mode/#code [+ao McMartin McMartin] by ChanServ
--- Log closed Fri Sep 28 00:00:02 2012
code logs -> 2012 -> Thu, 27 Sep 2012< code.20120926.log - code.20120928.log >

[ Latest log file ]