code logs -> 2009 -> Tue, 15 Sep 2009< code.20090914.log - code.20090916.log >
--- Log opened Tue Sep 15 00:00:18 2009
00:07
< Derakon[work]>
Hm...okay, minor issue: apparently the scale transformation is in fact an anisotropic zoom, so my transformation backsolving is a bit off.
00:07
< Derakon[work]>
So I'm not completely done. Still should be fixable.
00:48 Derakon[work] [Derakon@Nightstar-d44d635e.ucsf.edu] has quit [[NS] Quit: Leaving]
01:07 AnnoDomini [farkoff@Nightstar-e467f1e6.adsl.tpnet.pl] has quit [[NS] Quit: You can't eat someone's pet hamburger!]
01:08 Orthia [Orthianz@Nightstar-e588e161.xnet.co.nz] has quit [Ping timeout: 121 seconds]
01:14 Derakon [Derakon@Nightstar-5abd3ac9.ca.comcast.net] has joined #code
01:25 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has joined #code
01:50 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Connection closed]
02:10 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?]
02:15 Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has quit [Connection reset by peer]
02:16 Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has joined #code
02:17 Attilla [The.Attilla@FBC920.480E8C.768493.2E7AD9] has quit [[NS] Quit: ]
02:29 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has quit [Client closed the connection]
02:36 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has joined #code
02:37 NSGuest-2201 [reaverta@Nightstar-52fed999.xnet.co.nz] has joined #code
03:02 NSGuest-2201 is now known as Reiver
03:02 mode/#code [+qo Reiver Reiver] by ChanServ
03:41 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has quit [Client closed the connection]
03:55 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has joined #code
03:59 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has quit [Client closed the connection]
04:16 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has joined #code
04:18 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has quit [Client closed the connection]
04:41 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has joined #code
04:45 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has quit [Client closed the connection]
05:02 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has joined #code
05:02 Orthia [Orthianz@Nightstar-09e93653.xnet.co.nz] has quit [Client closed the connection]
05:03 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection reset by peer]
05:52 Derakon is now known as Derakon[AFK]
06:14 jerith [jerith@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
06:15 jerith [jerith@Nightstar-bf52129d.slipgate.za.net] has joined #code
06:15 mode/#code [+o jerith] by Reiver
06:17 jerith [jerith@Nightstar-bf52129d.slipgate.za.net] has quit [[NS] Quit: Changing server]
06:22 jerith [jerith@Nightstar-bf52129d.slipgate.za.net] has joined #code
06:22 mode/#code [+o jerith] by Reiver
06:59 dmlandrum_ [dmlandrum__@Nightstar-15b281e2.sfldmi.ameritech.net] has joined #code
07:00 You're now known as TheWatcher
07:03 dmlandrum [dmlandrum__@Nightstar-15b281e2.sfldmi.ameritech.net] has quit [Ping timeout: 121 seconds]
08:00 Vornicus is now known as Vornicus-Latens
08:09 AnnoDomini [farkoff@Nightstar-d69dbdfd.adsl.tpnet.pl] has joined #code
08:09 mode/#code [+o AnnoDomini] by Reiver
08:09 You're now known as TheWatcher[afk]
08:59 Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has quit [Client exited]
09:00 dmlandrum__ [dmlandrum__@Nightstar-15b281e2.sfldmi.ameritech.net] has joined #code
09:03 dmlandrum_ [dmlandrum__@Nightstar-15b281e2.sfldmi.ameritech.net] has quit [Ping timeout: 121 seconds]
09:36 Attilla [The.Attilla@FBC920.480E8C.768493.2E7AD9] has joined #code
09:36 mode/#code [+o Attilla] by Reiver
10:14 You're now known as TheWatcher
--- Log closed Tue Sep 15 10:53:13 2009
--- Log opened Tue Sep 15 10:53:21 2009
10:53 TheWatcher [chris@Nightstar-b4529b0c.zen.co.uk] has joined #code
10:53 Irssi: #code: Total of 17 nicks [4 ops, 0 halfops, 0 voices, 13 normal]
10:53 mode/#code [+o TheWatcher] by Reiver
10:54 Irssi: Join to #code was synced in 47 secs
12:07 * AnnoDomini does the happy dance. My paper got accepted, I only have to make typo corrections, and print it out about three more times.
12:08 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
12:08
<@TheWatcher>
AD: congrats!
12:08
<@TheWatcher>
What's it on?
12:09
<@AnnoDomini>
An alarm system built using an FPGA set with a camera and monitor.
12:10
<@TheWatcher>
neat
12:10
<@TheWatcher>
Where're you presenting it?
12:11
< Tarinaky>
Oh christ. I just found out I was the last person to pass :| Everyone who scored lower than me had their course terminated.
12:11
< Namegduf>
Yow.
12:11
<@AnnoDomini>
TheWatcher: At my Uni?
12:12
<@TheWatcher>
Ah, okies. Wondered if it was at a conference
12:13
<@AnnoDomini>
No, it's for my Engineer diploma.
12:14
<@TheWatcher>
Good luck with it all, then :)
12:17
<@AnnoDomini>
Thanks!
12:37 TarinakyKai [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
12:39 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Ping timeout: 121 seconds]
12:46 TarinakyKai [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Operation timed out]
12:47 TarinakyKai [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
13:34 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
14:25
< ToxicFrog>
Yay, FPGAs
14:55 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
14:57 You're now known as TheWatcher[d00m]
--- Log closed Tue Sep 15 15:16:27 2009
--- Log opened Tue Sep 15 15:16:35 2009
15:16 TheWatcher[d00m] [chris@Nightstar-b4529b0c.zen.co.uk] has joined #code
15:16 Irssi: #code: Total of 18 nicks [4 ops, 0 halfops, 0 voices, 14 normal]
15:17 Irssi: Join to #code was synced in 44 secs
15:34 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
16:05 NSGuest-48271 [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
16:06 dmlandrum__ [dmlandrum__@Nightstar-15b281e2.sfldmi.ameritech.net] has quit [[NS] Quit: Leaving]
16:13 You're now known as TheWatcher[afk]
16:22 Reiver [reaverta@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
16:23 Derakon[work] [Derakon@Nightstar-d44d635e.ucsf.edu] has joined #code
16:24 * Derakon[work] tries to figure out a way to determine the anisotropic distortion in an image.
16:24
< Derakon[work]>
I have two views of a pattern of dots, and the goal is to figure out the transform that turns one into the other.
16:24
< Derakon[work]>
I've gotten a good solution by finding congruent triangles in each image and mapping them to each other...but now there's the anisotropic zoom to deal with.
16:36 NSGuest-2201 [reaverta@ServerAdministrator.Nightstar.Net] has joined #code
16:57 Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has joined #code
16:59
< Derakon[work]>
'Eyo, Rhamphoryncus.
16:59
< Derakon[work]>
And Reiver, assuming he's active.
16:59
< Rhamphoryncus>
heya Derakon[work]
16:59 AnnoDomini [farkoff@Nightstar-d69dbdfd.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds]
17:09 AnnoDomini [farkoff@Nightstar-8f1d0765.adsl.tpnet.pl] has joined #code
17:30 * gnolam has a revelation on how crazily powerful modern computers really are.
17:30
< gnolam>
A friend of mine needed help with a mystery geocache.
17:33
< gnolam>
You had to calculate how many eggs where in a basket. The information needed for the solution came in the form of a number of "when the eggs had been taken out of the basket k at a time, there were n left at the end" statements.
17:33
< gnolam>
-h
17:34
< ToxicFrog>
geocache?
17:34
< gnolam>
My friend got stuck and asked me for help. I looked at the problem, saw no obvious analytical solution but saw that it basically involved testing a number of modulos.
17:34
< gnolam>
ToxicFrog: http://en.wikipedia.org/wiki/Geocaching
17:36
< gnolam>
So I whipped up a short brute force program I didn't even care to optimize more than not testing every number but just adding the largest modulus instead.
17:37
< gnolam>
I got the answer back in a few seconds, sent it to my friend, and then realized that I had just brute force tested > 130 million candidate integers /to solve a geocache riddle/.
17:38
< ToxicFrog>
Heh.
17:38
< Namegduf>
Yeah.
17:38
< ToxicFrog>
(interestingly, I'm in the Parallel Processing lecture right now, discussing the limitations of computing power)
17:38
< Namegduf>
Reminds me of the amusing time a friend of mine wrote a small program in ColdFusion to roll D&D character scores, using the 4d6-and-drop-lowest-die method, until it rolled a set of full 18s.
17:38
< Namegduf>
It was going up a few ten thousands a second.
17:39
< Namegduf>
I cloned it in C, being lazy and taking my time.
17:39
< Namegduf>
Mine went roughly a hundred thousand a second, with no measures taken to speed it up.
17:39
< Namegduf>
Sorry, no, ten thousand every few seconds.
17:40 * Namegduf still had to leave it running all day.
17:40
< Derakon[work]>
Did you run the stats on how likely that roll was to occur?
17:41
< Namegduf>
Best 3 out of 4, 1d6es, is non trivial. I think I might have at some point, but I don't remember it.
17:42
< Namegduf>
I know it's well over one in four billion.
17:42
< Namegduf>
But I only remember that because I had to make it stop using an integer to count them.
17:42
< Derakon[work]>
Hah.
17:42
< Namegduf>
(Well, an unsigned int on a 32bit system)
17:43
< Namegduf>
Being lazyass and not really feeling like implementing a real arbitrary-length number structure and functions, I just used a separate unsigned int to count billions.
17:43
< Derakon[work]>
Just do "#define int long long" next time~
17:44
< Namegduf>
I don't think the compiler supported that when I tried it.
17:44
< Namegduf>
(long long directly, not the define)
17:45
< Namegduf>
Hmm, correction. Last run on my crappy server box rolled 604k a second, took... a bit over 1000 minutes to do it...
17:46
< Namegduf>
About 37 billion rolls.
17:47
< Derakon[work]>
'Course, that's just one sample.
17:47
< Namegduf>
Yeah.
17:48
< Namegduf>
The real answer is "The odds of 3 6s in 4 rolls of 1d6, to the power of 6"
17:48 * Namegduf does that quickly again.
17:49
< Derakon[work]>
The odds of getting 3 6s out of 4 dice are 4*(1/(6^3)), if I got that right.
17:49
< Namegduf>
((1/6)^4+(((1/6)^3)*(5/6))*4)^6 is what I figured.
17:50
< Namegduf>
The odds of getting four sixes, plus the odds of getting three sixes and one any other value, for each of the four arrangements of that.
17:50
< Derakon[work]>
I get (4/(6^3))^6, or .00000000004033085612
17:50
< Derakon[work]>
That gives me odds of 1 in 24794911296.
17:50
< Derakon[work]>
Or 1 in about 25 billion.
17:51
< Derakon[work]>
Your result gives slightly worse odds; about 1 in 55 billion.
17:51 Finale [c0cb88fe@Nightstar-14e5d099.mibbit.com] has joined #code
17:52 * Finale snerks.
17:52
< Finale>
anyone awake and about?
17:52
< Finale>
I need an audience for a monologue, with a few interjections here and there :P
17:53
< Namegduf>
Derakon[work]: I can't figure where a difference that large comes in, but that's roughly it, yeah.
17:54
< Derakon[work]>
I'm sure Vorn, when he comes around, will tell us that we're both wrong~
17:54
< Finale>
so apparently the basic labyrinth needs only 16 tiles.
17:54
< Namegduf>
Haha.
17:54
< Finale>
blank, 4-way cross, 2 straights, 4 tees, 4 angles, and 4 dead-ends.
17:55
< Finale>
but this, while an amusing and illuminating factoid about the early days of console and PC gaming, is only part of my problem.
17:56
< Finale>
I have this DEEP AND ABIDING urge to code a random-labyrinth game on my TI-89. in TI-BASIC.
17:56
< Finale>
I have no idea how to go about the random labyrinth generation part.
17:57
< Finale>
I do know it'll be stored to a matrix (2-D array), each cell containing the shape (as well as other information, like contents).
17:57
< Finale>
but that's all.
17:57
< Finale>
well. given time, I suppose I can knock together a RAND generator to fill it.
17:58
< Finale>
the hard part's gonna be having it make sense.
17:58
< Derakon[work]>
There are plenty of maze generation algorithms on the Internet.
17:58
< Derakon[work]>
I had no trouble finding one when I solved this problem for Jetblade.
17:58
< Finale>
heh. ok, thanks.
17:59
< Finale>
it's the porting that's gonna be the troublesome part, I guess. >_>
18:16 Finale [c0cb88fe@Nightstar-14e5d099.mibbit.com] has quit [[NS] Quit: brb]
18:20 Finale [c0cb88fe@Nightstar-14e5d099.mibbit.com] has joined #code
18:22 You're now known as TheWatcher
18:43 NSGuest-48271 is now known as Syloqs-AFH
18:49
< Rhamphoryncus>
I'd have more respect for you if you wrote a LLVM backend to produce TI-BASIC. THen you can simply compile something to it ;)
18:50
< Finale>
dunno LLVM. >_>
19:01 crem [moo@Nightstar-8ca3eea7.adsl.mgts.by] has quit [Client closed the connection]
19:07 crem [moo@Nightstar-8ca3eea7.adsl.mgts.by] has joined #code
19:15
< gnolam>
Interesting. Only I and one more actually passed last week's shader lab.
19:15
< Finale>
I against I?
19:22
< gnolam>
?
20:00
< Finale>
never mind. :D
20:29 Tarinaky_ [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
20:32 TarinakyKai [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Operation timed out]
20:39
< Derakon[work]>
...well, no wonder I was having trouble aligning these two images. One of 'em is upside-down!
20:39
< AnnoDomini>
gnolam: How do I use the spellchecker in OO?
20:40
< Derakon[work]>
...oh, wait, I got an accurate rotation factor of -182.1129 degrees. Hrm.
21:38
< Derakon[work]>
Hm, okay that's annoying. Generally my alignment program does well, but sometimes it does terribly because it happened to find two triangles that were congruent despite not correlating to anything on the image itself.
21:44
< gnolam>
AnnoDomini: I don't know.
22:04
< gnolam>
I usually turn all that crap off. :P
22:06
< MyCatVerbs>
F7, I think.
22:06
< MyCatVerbs>
Doesn't it use the same keyboard shortcut as the one in MSOffice?
22:08
< AnnoDomini>
I had to specify the text language in an obscure way.
22:08
< MyCatVerbs>
Oh aye.
22:09
< gnolam>
You don't say.
22:09
< gnolam>
OpenOffice's locale and i18n support is a complete disaster.
22:10
< gnolam>
(Much like open source in general, I find. :P)
22:11 Finale is now known as Nathia
22:26 Vornicus-Latens is now known as Vornicus
22:35
< Derakon[work]>
Oh good, Vorn's here!
22:35
< Derakon[work]>
Are you interested in helping me with a problem?
22:35
< Derakon[work]>
I am trying to take two photos of a pattern of dots and get them properly aligned.
22:36
< Derakon[work]>
That is, I have two photos of a pattern of dots, and they are taken from nearly identical positions; I am trying to find the rotation and translation to get them to actually align; ignoring shear effects for now.
22:37
< Vornicus>
If you can correctly identify the dots...
22:37
< Derakon[work]>
That's not too hard; I have a threshhold / floodfilling system set up that seems to work well.
22:37
< Vornicus>
That is, you can correctly match the dots.
22:37
< Derakon[work]>
Right now I'm trying to find congruent triangles from each photo, but the problem is that sometimes it finds two congruent triangles that in fact have nothing to do with each other.
22:38
< Derakon[work]>
I'm batting a bit better than 50% with my test images.
22:38
< Nathia>
planning on making 3D maps for Jetblade?
22:38
< Derakon[work]>
...no, this is for work.
22:39
< Vornicus>
Then you need to solve the matrix for a sinlge triangle.
22:39
< Derakon[work]>
Vorn: yeah, I have that. Problem is that it's finding congruent triangles that are completely unrelated, so the solutions it generates are bogus.
22:40
< Vornicus>
So your difficulty is matching dots.
22:41
< Derakon[work]>
Something like that...
22:41
< Derakon[work]>
Hang on, lemme upload some sample data.
22:41
< Nathia>
once you find a pair, test adjacent spots.
22:42
< Derakon[work]>
http://derakon.dyndns.org/~chriswei/temp2/beads
22:42
< Derakon[work]>
Nathia, with all due respect, I think this is a bit out of your league.
22:42
< Nathia>
<_<
22:43
< Nathia>
you're quite correct, I suspect.
22:43
< Derakon[work]>
So what we have in that directory is the output from my program.
22:43
< Derakon[work]>
The first image is one camera's view; the second the other camera's view, the third the second camera's view, as transformed by my program.
22:44
< Derakon[work]>
For nine different sets of photos.
22:44
< Vornicus>
Okay. Can you identify dots according to magnitude?
22:45
< Derakon[work]>
My dot-identification works by proceeding over the pixels in the image, finding ones that are over 80% of the average brightness, and then flood-filling out to find all connected pixels, and returning their average position as the center of the dot.
22:45
< Derakon[work]>
Are you suggesting that I try to align the brightest dots?
22:45
< Vornicus>
Yes.
22:46
< Derakon[work]>
(Actually, I lie: I set the threshhold high, and then progressively drop it if I'm unable to collect enough dots from the image)
22:46 Nathia [c0cb88fe@Nightstar-14e5d099.mibbit.com] has quit [[NS] Quit: http://www.mibbit.com ajax IRC Client]
22:46
< Derakon[work]>
Hmm...I actually have a parameter for that. Lemme try tweaking it.
22:47 Finale [c0cb88fe@Nightstar-14e5d099.mibbit.com] has joined #code
22:47
< Derakon[work]>
Basically I say "Start at 80% as your threshhold; if you don't get more than $NUM points out of the image,e then drop the threshhold." I do this because sometimes the points are fuzzier than others, but I don't want a fixed threshhold because too many points means too many triangles to compare (it's an exponential comparison).
22:47 Finale is now known as Nathia
22:47
< Derakon[work]>
So yeah, if I just require fewer points, then it should give me just the brightest ones.
22:49
< Vornicus>
It really helps if you can determine and store magnitude.
22:50
< Derakon[work]>
Well, I'm trying the simple change first. If that doesn't do the trick then more complicated ones will be attempted.
22:50
< Derakon[work]>
...oh, it crashed. :\
22:50
< Vornicus>
pfag
22:51
< Derakon[work]>
But the partial results I got indicate that it wasn't working out anyway.
22:51
< AnnoDomini>
What kind of fag is a pfag?
22:53
< Derakon[work]>
Okay, so what's the new idea? Sort points by their brightness, use them in order to generate our triangles?
22:53
< Vornicus>
Indeed.
22:53
< Vornicus>
Your first triangle pair gives you a matrix; you can work further to confirm the matrix.
22:54
< Derakon[work]>
Define "work further"?
22:57
< Vornicus>
Add more points, see how they match up.
23:00
< Derakon[work]>
Initial results are promising...
23:02
< Vornicus>
This does have failure modes though - if one of the top three bright spots on one has been pushed off the image in the other, you've got to try something else.
23:03
< Derakon[work]>
Yeah, I think that's what's breaking the two remaining failed images.
23:03
< Derakon[work]>
Still, 7 out of 9 is an improvement~
23:03
< Derakon[work]>
(No Voyager jokes, please)
23:05
< Vornicus>
If that happens, try some other point pairings - take the top four and drop one, if two are close in magnitude reorder them... - and check other points to see how well you did.
23:05
< Derakon[work]>
What I really need is a way to rank the transforms generated by different pairs of triangles.
23:06
< Derakon[work]>
...oh, that's what the "work further" is for, duh.
23:06
< Vornicus>
Exactly.
23:07
< Vornicus>
You should be able to get a 2-dimensional correlation coefficient - ten bucks somebody in your lab knows either how to do that or find someone who does.
23:08
< Derakon[work]>
I should be using matrices more than I am.
23:08
< Derakon[work]>
I'm doing all the transformation generation by hand right now, for example.
23:28 * Derakon[work] eyes his code, which is currently claiming that three very different transformations have identical correlation factors.
23:32 You're now known as TheWatcher[T-2]
23:35
< Derakon[work]>
Oh! Duh!
23:35
< Derakon[work]>
I was transforming both sets of points and then doing the correlation. Only transform one set, dumbass!
23:36 You're now known as TheWatcher[zZzZ]
23:40
< Vornicus>
Right.
23:41 AnnoDomini [farkoff@Nightstar-8f1d0765.adsl.tpnet.pl] has quit [[NS] Quit: Do not burn the candle at both ends, as it leads to the life of a hairdresser.]
--- Log closed Wed Sep 16 00:00:35 2009
code logs -> 2009 -> Tue, 15 Sep 2009< code.20090914.log - code.20090916.log >