code logs -> 2010 -> Fri, 15 Oct 2010< code.20101014.log - code.20101016.log >
--- Log opened Fri Oct 15 00:00:21 2010
00:00
< McMartin>
http://www.engadget.com/2010/10/14/robots-learning-our-pain-threshold-by-punchin g-humans-and-seeing/
00:22
< Rhamphoryncus>
simon_: flour settles considerably. They're both equally wrong :)
00:22
< celticminstrel>
Is there a way to tell my terminal to bold my command prompts so I can find them easier?
00:23
< Rhamphoryncus>
yes
00:23
< celticminstrel>
How would I do this?
00:23
< Rhamphoryncus>
PS1 variable
00:24
< celticminstrel>
...what?
00:24
< celticminstrel>
This is using BASH, incidentally.
00:25
< Rhamphoryncus>
type this in: echo $PS1
00:25
< Rhamphoryncus>
You'll see that it's basically a template for your prompt
00:26
< Rhamphoryncus>
It's possible to include terminal control sequences that would make it bold
00:27
< Rhamphoryncus>
http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linu x-prompt-like-angelina-jolie/
00:27
< Rhamphoryncus>
That has an example involving bold
00:27
< celticminstrel>
Do you know the control sequence off-- okay, thanks.
00:28
< Rhamphoryncus>
http://jamiedubs.com/ps1-collection-customize-your-bash-prompt
00:28
< Rhamphoryncus>
that one does some funny tricks heh. Smiley face
00:29 Attilla [Some.Dude@Nightstar-56ccd18a.threembb.co.uk] has quit [[NS] Quit: ]
00:32 You're now known as TheWatcher[T-2]
00:36 You're now known as TheWatcher[zZzZ]
00:38
< simon_>
the good thing about vegan cakes is that you can eat the dough without risk of salmonella.
00:39
< McMartin>
Heh
01:01 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
01:18 Derakon[AFK] is now known as Derakon
01:59 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds]
02:13 RichardBarrell [mycatverbs@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Sleep time now.]
02:14 kwsn [kwsn@4CA975.91A3EF.86948D.DEDAA8] has joined #code
02:16
< celticminstrel>
Bubble sort is quadratic in worst case but linear in best case, right?
02:17
< gnolam>
Yes. But the /average/ case is quadratic.
02:17
< gnolam>
And there's just no reason to use bubble sort, ever.
02:18
< celticminstrel>
I know, but this homework problem explicitly states "assume the sort function uses bubble sort".
02:18
< gnolam>
Hah.
02:18
< gnolam>
"Assume the programmer is incompetent", then? :)
02:19
< celticminstrel>
I dunno. Might be just so the best and worst cases differ. I'm basically analyzing a meaningless algorithm here, though.
02:20
< gnolam>
I still say that bubble sort has no place /anywhere/ except in a list of "things you should never do".
02:20
< celticminstrel>
Probably, yeah.
02:20
< celticminstrel>
But it's not like I'm actually being asked to do it.
02:21
< gnolam>
If you want an actual decent "worst case quadratic, best case linear" sorting algorithm that's also ridiculously easy to implement, go insertion sort.
02:22
< celticminstrel>
I'll keep that in mind if I ever need to make such a choice. <_<<
02:22
< gnolam>
Unlike bubble sort, insertion sort actually has its uses. :P
02:25
< celticminstrel>
Is there actually a language that uses <- for assignment?
02:26 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
02:27
< celticminstrel>
Okay, now I need to remember my trees...
02:28 kwsn is now known as kws-not-here
02:39 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?]
03:13 kws-not-here is now known as kwsn
03:25 cpux[barf] is now known as cpux
04:12 kwsn| [kwsn@Nightstar-5a8951e9.res.rr.com] has joined #code
04:14 kwsn [kwsn@4CA975.91A3EF.86948D.DEDAA8] has quit [Ping timeout: 121 seconds]
04:47 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
04:53 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
04:59 kwsn| is now known as kwsn
05:04
<@ToxicFrog>
ARGHGLBLARGH
05:04
<@ToxicFrog>
So the networking stuff is done, as is the serialization core
05:04
<@ToxicFrog>
But I
05:04
<@ToxicFrog>
m having trouble figuring out where to put the fucking thing.
05:04
<@Derakon>
Define "where to put"?
05:04
<@ToxicFrog>
For starters, there's two flavours of serialization: for communication with something that already has the object table (allowing objects to be referred to by ID), and for saving to disk/sending to new clients.
05:05
<@ToxicFrog>
So maybe these should be methods on felt.Object.
05:05
<@ToxicFrog>
But complicating that, you need a gamestate to deserialize the former case.
05:05
<@ToxicFrog>
So maybe it should be methods on felt.Game!
05:05
<@Derakon>
How about felt.Object having a deserializer that accepts an ID, which it uses to do a lookup on the gamestate by talking to felt.Game?
05:05
<@ToxicFrog>
...except that not everything these are used on is really part of the gamestate, and some of it (like the configuration table) may be (de)serialized before any game is instantiated.
05:06
<@ToxicFrog>
It feels kind of ugly having a deserialization method that looks to see if there's a current global gamestate and then queries it/asserts if it's missing, but that may end up being what I do, yeah.
05:07
<@Derakon>
You're asking for something that's fundamentally a shared responsibility. *shrug*
05:08
<@Derakon>
I'm not clear how you would expect serialize-by-ID to work on things when there's no gamestate, though (referring to the config table).
05:08
<@ToxicFrog>
That doesn't serialize by ID.
05:08
<@Derakon>
Ah, okay.
05:08
<@ToxicFrog>
It just slaps the whole table down on disk.
05:08
<@Derakon>
So two separate serialization functions then.
05:08
<@ToxicFrog>
Yes.
05:09
<@ToxicFrog>
Which actually share a lot of code; the main difference is that one checks for the __save metamethod (which defaults to laying down a constructor call and intialization vector) and one checks for __send (which defaults to generating an ID reference)
05:09 * ToxicFrog gets to work on his mixin infrastructure to support this
05:14
<@ToxicFrog>
.....hmm.
05:18
<@ToxicFrog>
Something I hadn't previously considered: handling cases like t = {}; s = { t, t }; save(s)
05:19
<@ToxicFrog>
This is trivial when I'm serializing by generating executable code, but I can't do that here.
05:20
<@ToxicFrog>
Possibly I need a "backreference" tag.
05:55
<@Vornicus>
It'd be a good idea.
05:56 * ToxicFrog has been spoiled by just being able to slap source down onto disk and load it with a single call later :(
06:02 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
06:12
<@Derakon>
What language are you using?
06:12
<@ToxicFrog>
Still Lua.
06:13
<@Derakon>
Oh, durr. Of course.
06:13
<@ToxicFrog>
These days it's generally either Lua or Scala.
06:14
<@ToxicFrog>
And Scala has the issue that I want end users to be able to write new modules for this without needing special tools.
06:14
<@ToxicFrog>
Although I have occasionally wondered if it would have been faster to rewrite the core using Actors and then link in Kahlua for the module/scripting system.
06:15
<@ToxicFrog>
But at that point I'm mixing four languages, which concerns me slightly.
06:17
<@Derakon>
...Kahlua.
06:17
<@Derakon>
Really?
06:17 * Derakon sighs.
06:18
<@ToxicFrog>
Like that's the worst library name you've seen.
06:19
<@Derakon>
It's the worst name I've seen today!
06:20
<@Vornicus>
I always liked "pyjamas"
06:30 Derakon is now known as Derakon[AFK]
06:30 cpux is now known as shade_of_cpux
06:42 Anno[Sleep] [annodomini@Nightstar-79025f5e.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds]
06:44 Anno[Sleep] [annodomini@Nightstar-7a367719.adsl.tpnet.pl] has joined #code
07:13 DiceBot [Reiver@Nightstar-2a5bff96.xnet.co.nz] has joined #code
07:24 Anno[Sleep] is now known as AnnoDomini
07:39 kwsn [kwsn@Nightstar-5a8951e9.res.rr.com] has quit [Ping timeout: 121 seconds]
08:08
<@jerith>
Kahlua is actually very descriptive.
08:09
<@jerith>
Assuming it's lua-onna-JVM.
08:22 Vornicus is now known as Vornicus-Latens
08:33 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has quit [Client exited]
10:08 You're now known as TheWatcher
10:09 AnnoDomini [annodomini@Nightstar-7a367719.adsl.tpnet.pl] has quit [[NS] Quit: leaving]
10:53 Anno[Laptop] [annodomini@F67919.F326B3.98D923.BDA7B6] has joined #code
11:27 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed]
11:40 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
11:40 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
11:41 Syloqs_AFH is now known as Syloqs-AFH
12:31 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
13:28 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
13:57 Anno[Laptop] [annodomini@F67919.F326B3.98D923.BDA7B6] has quit [[NS] Quit: Convention.]
14:01 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
14:57 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
15:12 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
15:54
<@ToxicFrog>
jerith: it is.
16:55 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
16:58 kwsn [kwsn@Nightstar-5a8951e9.res.rr.com] has joined #code
17:08 Attilla [Some.Dude@Nightstar-05f6cd16.threembb.co.uk] has joined #code
17:08 mode/#code [+o Attilla] by Reiver
17:56 Vornicus-Latens is now known as Vornicus
17:59 SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has joined #code
18:00 Attilla [Some.Dude@Nightstar-05f6cd16.threembb.co.uk] has quit [[NS] Quit: ]
18:01 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has joined #code
18:48 PinkFreud is now known as allegedly
18:48 allegedly is now known as PinkFreud
21:14 Derakon [Derakon@Nightstar-1ffd02e6.ucsf.edu] has joined #code
21:15 mode/#code [+o Derakon] by Reiver
21:15 * Derakon ponders memory issues.
21:15
<@Derakon>
One part of the microscope function is a system for stitching together exposures to form a mosaic view of the contents of the slide.
21:16
<@Derakon>
Our cameras collect 512x512 exposures, and the mosaic puts them side-by-side so you can get a high-level view.
21:16
<@Derakon>
One of the biologists is complaining that large mosaics cause the program to crash.
21:16
<@Derakon>
I see two big possibilities here: running out of video RAM (we have 2 512MB Quadro FX 520 cards), or hitting some kind of internal RAM limit.
21:17
<@Derakon>
Problem with the latter is task manager only says we're using 300-600MB (on a 64-bit computer with 8GB RAM).
21:17
<@Derakon>
I checked a saved mosaic he had; it had 1300 tiles in it. 1300 tiles at 512x512 is 325MB if we use 1 byte per pixel.
21:18
<@Derakon>
I was able to load that mosaic and take images and just generally muck around without causing a crash.
21:18
<@Derakon>
I have my own stored mosaic with 4000 images, which I was able to do the same with.
21:18
<@Derakon>
I did get an out-of-memory error from OpenGL if I tried to load a 4400-tile mosaic, though.
21:19
<@Derakon>
Of course, the biologist isn't reporting out-of-memory errors; he gets a crash.
21:19
<@Derakon>
Which could be due to allocation errors, though; the live camera views also use OpenGL and it's possible their video memory got clobbered somehow.
21:20
<@Derakon>
(Note that once I get the out-of-memory error when loading the giant mosaic, I can't connect new cameras, since I get an error trying to allocate their memory too)
21:21
<@Derakon>
Naturally there doesn't seem to be any convenient way to check the VRAM utilization; I'd have to write a C app that uses nVidia's libraries to make specific calls which, from my reading, may not work properly post-WinXP anyway.
21:22
<@Derakon>
(And we're on Windows 7)
21:28
< Tarinaky>
Derakon: I don't suppose the Biologist told you how big the mosaic that crashed was?
21:28
< Tarinaky>
Because that might help give a clue.
21:28
<@Derakon>
(On phone)
21:33
<@Derakon>
Tarinaky: he's not going to know precisely, since there's nothing in the UI that tells you how many tiles you've recorded.
21:34
<@Derakon>
However, I think I found the mosaic he saved a bit before it went pear-shaped, and as noted it only had 1300 tiles.
21:34
< Tarinaky>
You can reproduce the error though?
21:34
<@Derakon>
I haven't yet, but I've had only very limited time on the scope since he reported it.
21:35 You're now known as TheWatcher[afk]
21:36
< Tarinaky>
I have a vague recollection of a friend with an nvidia graphics card having a utility that came with it that showed you performance logs of the card.
21:36
< Tarinaky>
Or something like that.
21:36
< McMartin>
GPU-Z is generic
21:37
<@Derakon>
Looking at screenshots, it appears to give detailed information about the card's specs, but nothing on current load beyond the output of temperature sensors.
21:38
<@Derakon>
And amp/voltage sensors.
21:38
< Tarinaky>
I dunno how easy it'd be to do stuff in software rather than on the video card.
21:38
<@Derakon>
It'd be unacceptably slow.
21:39
<@Derakon>
Scaling down several hundred million pixels to a 1024x1024 display in software would be madness.
21:39
<@Derakon>
(Not to mention a massive overhaul of the code)
21:40
<@Derakon>
nVidia apparently has a "System Monitor" app that might give me the info I want, though it's hard to tell.
21:40
<@Derakon>
Apparently most of the people who care about this stuff are overclockers.
21:46
< Tarinaky>
If it didn't involve an overhaul of the code it -might- have been just fast enough to test whether it stopped crashing though.
22:02
<@Derakon>
Funny how I thought the graphics capabilities of this computer were ludicrously overcompensating when we first got it.
22:02
<@Derakon>
Didn't even think about the mosaic.
22:07 * Derakon eyes this code, does some cleanup while he's here anyway. http://paste.ubuntu.com/514134/
22:08
< Tarinaky>
enumerate?
22:08
<@Derakon>
for i, value in enumerate(['a', 'b', 'c']):
22:08
<@Derakon>
print i, value
22:08
<@Derakon>
0 a
22:08
<@Derakon>
1 b
22:08
<@Derakon>
2 c
22:09
< Tarinaky>
Ahhhhh.
22:09
< Tarinaky>
Cool.
22:21
<@Derakon>
It's handy.
22:21
<@Derakon>
Got to talk to the biologist, confirmed that he only made it up to 1400 tiles or so in that mosaic before it crashed.
22:21 * gnolam carves usable error messages into MySQL with a tetanus-encrusted razor and pours salt in its wounds.
22:22
<@Derakon>
He also claims to have been able to take way more tiles with the previous computer than with the current one; not sure what's up with that.
22:22
<@Derakon>
I suppose it could be an XP vs. Win7 difference?
22:22
<@Derakon>
(That said, with the total lack of view culling that the old mosaic did, I can't see how he could bear to take so many tiles with the old mosaic)
22:23
< gnolam>
I'd say it's a driver problem.
22:23
< celticminstrel>
That's why I try not to use MySQL.
22:24
< celticminstrel>
Well, that, and its silent ignoring of stuff you tell it to do that the driver doesn't support.
22:24
<@Derakon>
Gnolam: so, what, the XP drivers could page out video RAM to normal RAM when they filled up or something?
22:25
< gnolam>
I can't remember off-hand whether there are any circumstances where OpenGL is allowed to crash, but if you're running out of texture memory you should be getting GL_OUT_OF_MEMORY errors, not crashes.
22:25
< gnolam>
That's how most drivers are wired.
22:25
<@Derakon>
Oh, I can get those errors too.
22:25
<@Derakon>
I think the crash is probably our fault in not handling those errors properly.
22:25
<@Derakon>
See, we have camera views, which are handled by OpenGL. We also have the mosaic.
22:26
<@Derakon>
I think the crash is probably from trying to update the camera view after running out of video RAM and clobbering something => crash.
22:26
<@Derakon>
Buuuuut this isn't stuff that has changed recently so I can't see why the maximum mosaic size could have shrunk any.
23:02 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
23:27 kwsn [kwsn@Nightstar-5a8951e9.res.rr.com] has quit [[NS] Quit: ]
23:29 kwsn [kwsn@Nightstar-5a8951e9.res.rr.com] has joined #code
23:44 You're now known as TheWatcher
23:47
< Rhamphoryncus>
"For MySQL the characters i and ? are equal in the username field." Aaaaaaaagh
23:48
<@ToxicFrog>
wht
23:50
< Rhamphoryncus>
That's the cause of an exploit in a free software MMORPG called Stendhal
23:51
<@Derakon>
Which I'm guessing involves making an account using a name that is identical to an existing account barring accents, and then somehow getting access to the original account's data.
23:53
< Rhamphoryncus>
nah. It's an item duplication exploit. Normally you can only log in once at a time. That defect lets you log in two times at once, meaning your items exist under two sessions simultaneously
23:53 * TheWatcher eyes
23:55
<@TheWatcher>
Someone's using a pretty ancient version of mysql, or isn't using the utf8 support then
23:56
< Rhamphoryncus>
I've no idea
23:58 You're now known as TheWatcher[T-2]
23:58
<@Derakon>
Seeya, TW.
--- Log closed Sat Oct 16 00:00:22 2010
code logs -> 2010 -> Fri, 15 Oct 2010< code.20101014.log - code.20101016.log >