--- 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 |