--- Log opened Mon Mar 22 00:00:41 2010 |
00:12 | | Taki^ [Meh@Nightstar-9b459f81.consolidated.net] has quit [[NS] Quit: ] |
00:20 | | Finerty is now known as Vornicus |
00:32 | | * Vornicus pokes Orth. How is LZW going? |
00:47 | < Orth> | Vornicus! There you are! |
00:48 | < Serah> | There he is! |
00:48 | < Orth> | It is going poorly, because I misunderstood what your code was doing at one point and it sort of backfired. Mind if I ask questions? It is partly that my python is rustier than I Thought. |
00:49 | | AnnoDomini [annodomini@Nightstar-ef18c6e6.adsl.tpnet.pl] has quit [[NS] Quit: Wise beard man. His words are wise. His face is beard.] |
00:54 | <@Vornicus> | Go for it |
00:56 | < Orth> | OK, http://pastebin.starforge.co.uk/156 is your code |
00:57 | < Orth> | What is line 9 doing? |
00:57 | < Orth> | I don't see where s is declared anywhere >_> |
01:00 | <@Vornicus> | s is the input string |
01:01 | <@Vornicus> | remember, the parameters are local variables too. |
01:01 | < Orth> | Oh, aha, right |
01:09 | <@Vornicus> | (man, that stopped you? you're in trouble.) |
01:16 | < Orth> | No, I missed the s at the top completely >.< |
01:17 | < Orth> | And why is it setting something to 257? |
01:20 | | Serah [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds] |
01:21 | <@Vornicus> | because you've got the stop code and the individual byte codes, those take up 0-256 |
01:27 | < Orth> | So setting to 257 does...? |
01:28 | < Orth> | Also, my assignment requests a 'branching factor' of 256. Is this an inconvinience? |
01:31 | <@Vornicus> | No, that's what's already happening. |
01:32 | <@Vornicus> | 257, then, is the next available code. |
01:33 | <@Vornicus> | and 256 is indeed the branching factor we have chosen. |
01:34 | | Derakon [Derakon@Nightstar-5abd3ac9.ca.comcast.net] has joined #code |
01:34 | | mode/#code [+o Derakon] by Reiver |
01:35 | <@Vornicus> | If you want a clear code, then you're going to want to change it up a bit but that's not a big deal. |
01:36 | < Orth> | okay. |
01:47 | <@Vornicus> | (and get the freaking thing working first.) |
01:48 | | Serah [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code |
01:53 | < Orth> | Yessir! |
01:53 | < Orth> | I'm just fighting my brain as much as the alograthm I think |
01:53 | < Serah> | Fighting your own brain seems counter-productive. |
01:54 | <@McMartin> | When your brain is wrong, it must learn the new ways of thought |
01:54 | <@McMartin> | You'll notice lots of coders have weird techomystical bents. |
01:54 | | Alek [omegaboot@Nightstar-7ff8f4eb.il.comcast.net] has joined #code |
01:56 | < Orth> | Yeah; my brain is partly trying to shoot sideways due to various bits of stress and Misbehaving Today. |
01:56 | < Serah> | You were misbehaving? |
02:02 | | * Derakon ponders trying to write a basic turn-based networked game system using Python, Pyro, and SDL. |
02:02 | <@McMartin> | Pyro? |
02:02 | <@Derakon> | (Pyro == Python Remote Objects, a simple client/server system for Python) |
02:02 | <@McMartin> | IBTL~ |
02:02 | <@Derakon> | I Bet That's L*? |
02:03 | | * Derakon hits Google, gets In Before The Lock, I Blow Thai Lads, Itty Bitty Titty Lover, and I Believe in The Lord. *blink* |
02:04 | <@McMartin> | In Before The Lock. |
02:04 | <@Derakon> | I don't really understand how that applies here...*shrug* |
02:04 | <@McMartin> | I'm assuming you were typing the line answering my question before I got around to actually asking it |
02:04 | <@Derakon> | Ahh. |
02:04 | <@Derakon> | Yes, I was. |
02:04 | <@McMartin> | It occurred to me that this was worthy of juvenile gloating much like people to try to spam a thread before the mods can shut it down~ |
02:06 | <@ToxicFrog> | ...my first mental association for lock was something about thread synchronization. |
02:06 | <@Derakon> | Heh. Well, it does generally refer to locking threads~ |
02:06 | <@McMartin> | Ow |
02:06 | <@McMartin> | Dear Lord, what have I done~ |
02:07 | <@McMartin> | And the answer is, "I now have an excuse for an unusually silly log message for any datarace detection code" |
02:08 | <@Derakon> | Excellent. *bridges fingers* |
02:13 | | Attilla [Attilla@FBC920.642D35.7B2B85.11BB86] has quit [Client closed the connection] |
02:21 | < Orth> | Serah: Yeah, my brain is really not being productive today |
02:21 | < Orth> | Tries to shoot off in a dozen directions. |
02:22 | | Taki^ [Meh@Nightstar-9b459f81.consolidated.net] has joined #code |
02:24 | < celticminstrel> | Hm. Is there no way to play sounds in Python without resorting to SDL? |
02:25 | <@ToxicFrog> | pipe them to /dev/dsp~ |
02:25 | <@ToxicFrog> | (THIS IS A TERRIBLE IDEA, DO NOT DO IT) |
02:25 | < celticminstrel> | Hehe. |
02:26 | < celticminstrel> | Looking over the library did suggest the possibility of somehow using OSS along with one of the audio format modules. |
02:26 | < celticminstrel> | But I've no idea if that could even work. |
02:27 | <@McMartin> | SDL has the advantage of being portable |
02:28 | <@ToxicFrog> | Do not use OSS. Please. If you are not using a portable library like SDL, then please, for the love of god, use pulseaudio rather than talking to OSS or ALSA directly. |
02:33 | < celticminstrel> | pulseaudio? |
02:34 | < celticminstrel> | (I don't really want to use OSS, since it doesn't seem to be quite what's needed.) |
02:40 | <@ToxicFrog> | A Linux sound system that actually mostly works. |
02:40 | <@ToxicFrog> | And the standard that most (all?) distros are moving to. |
02:42 | < celticminstrel> | So, not a Python module then? |
02:42 | <@ToxicFrog> | IIRC there is a python module for talking to it |
02:42 | < celticminstrel> | And does it work on OSX? |
02:43 | <@ToxicFrog> | Pretty sure OSX doesn't use pulseaudio |
02:43 | <@Derakon> | What's wrong with SDL? |
02:43 | <@ToxicFrog> | If you want portability, you shouldn't be considering OSS either |
02:43 | <@ToxicFrog> | Seriously. SDL. |
02:44 | < celticminstrel> | Well, the program is using Curses. |
02:44 | <@Derakon> | SDL might seem like overkill, but honestly audio is a nest of spiders. |
02:44 | < celticminstrel> | (I wasn't truly considering OSS... just mentioned it because it was the only thing that showed up on the python docs page.) |
02:45 | < celticminstrel> | I suppose I can use SDL with sound only? |
02:45 | <@ToxicFrog> | Yes. |
02:45 | <@Derakon> | Just don't initialize a main window. |
02:45 | < celticminstrel> | I don't see it on the Python docs page. Does that mean I need to download it? |
02:46 | <@Derakon> | You want pygame. |
02:46 | < celticminstrel> | As I thought. |
02:46 | <@Derakon> | And yes, you do need to download it. |
02:46 | < celticminstrel> | Okay then. |
02:46 | < celticminstrel> | Thank. |
02:46 | < celticminstrel> | ^thanks |
03:02 | < celticminstrel> | Um, what? |
03:03 | < celticminstrel> | "pygame 1.9.1release can't be installed on this disk. pygame requires System Python 2.6 to install." |
03:03 | < celticminstrel> | I have Python 2.6.1. |
03:04 | < celticminstrel> | So what's its problem? |
03:11 | < celticminstrel> | ...wait. It needs the Python framework to install? |
03:12 | < celticminstrel> | Why would it need that? |
03:15 | < celticminstrel> | Well, I guess it doesn't matter, since I got it to work by downloading a different version. |
03:16 | < celticminstrel> | ...but Python can't find it. |
03:39 | < PinkFreud> | I'm starting to loathe ubuntu. |
03:39 | < PinkFreud> | ... and I don't run it, either. |
03:40 | < PinkFreud> | I seriously dislike it for what it's turning Debian into. |
03:42 | <@McMartin> | pygame is a C extension and is not compatible across even minor version bumps in Python. |
03:51 | < celticminstrel> | Great. |
03:52 | < celticminstrel> | It seems that my python executable is 2.6.1, but Python.framework is 2.4. I suppose the latter is why pygame wouldn't install. |
03:52 | < celticminstrel> | And the former is presumably why Python can't find the pygame module. |
03:52 | | Orthia [orthianz@Nightstar-b8bec04e.xnet.co.nz] has joined #code |
03:55 | | Orth [orthianz@Nightstar-f6b20851.xnet.co.nz] has quit [Ping timeout: 121 seconds] |
04:06 | | gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
05:05 | | Rhamphoryncus [rhamph@Nightstar-8931f88f.abhsia.telus.net] has joined #code |
05:14 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: *hums* Can't stay now!] |
05:23 | <@Vornicus> | Hrm. another problem gnolam would probably be able to solve. |
05:24 | <@Vornicus> | when a long way away from water vertically, the water -- and the things underneath it -- disappear entirely. |
05:29 | <@Derakon> | Whee clipping planes! |
05:31 | | Derakon is now known as Derakon[AFK] |
05:33 | <@Vornicus> | problem is if I get close enough that it doesn't disappear, other stuff that's higher altitude does. |
05:43 | <@Vornicus> | well, actually, it's stuff in other segments of the level. |
05:53 | <@Vornicus> | Which is worse. |
06:12 | | * Orthia returns from class. |
06:12 | < Orthia> | 1: PPM is insane. |
06:12 | < Orthia> | 2: Burs-Wheeler transform is not insane, but a /hell/ of a lot of work, with many fiddly steps. |
06:13 | <@Vornicus> | I don't know what those two things even /are/ |
06:13 | <@Vornicus> | How's your LZW thing looking? |
06:14 | < Orthia> | 1: Most efficient compression alograthm in the world. Amusingly, developed by our very own Waikato University. |
06:15 | < Orthia> | 2: Used in bzip. Biggest advantage is that while fiddly for a human, the steps used for a computer are highly trivial. Make a trie, iterate through it to get a list of numbers, subtract one from that list, compare to a table/array/thing. Bam. |
06:16 | < Orthia> | My LZW is not looking good at all; I keep getting stuck on how the heck I'm meant to be using these trees and tries and arghl. |
06:16 | <@Vornicus> | A tree is a dictionary. |
06:16 | <@Vornicus> | That's all you fucking care about. |
06:17 | <@Vornicus> | The trie is implicit in the structure of the algorithm. |
06:20 | <@ToxicFrog> | This. Your LZW code should not know that it's using a tree at all! |
06:21 | <@ToxicFrog> | It has a thing it can put dictionary entries into and get dictionary entries out of. Under the hood this could be a tree, a hash table, a linked list, anything - to the LZW algorithm this is completely irrelevant, and you should write it accordingly. |
06:22 | <@Vornicus> | well - on Java planet this means you need to tell it what type it is, but that's it. |
06:22 | < jerith> | Or what interface it exposes. |
06:22 | < jerith> | Map should do it. |
06:23 | <@Vornicus> | --if we were using an actual Map |
06:23 | <@Vornicus> | It got built from scratch because it's a data structures course. |
06:23 | <@Vornicus> | (also the algorithm builds the tree itself, it doesn't pick one up from anywhere else) |
06:24 | < jerith> | Isn't Map an interface that anything can implement? |
06:24 | <@ToxicFrog> | Right. But the algorithm doesn't know it's building a tree; just that it's putting things into a black box it can retrieve them from later. |
06:24 | <@Vornicus> | Yes, but it's more complicated than the interface we've already built. |
06:25 | <@Vornicus> | That. |
06:25 | <@Vornicus> | So don't care what the tree looks like, you only want to use the methods you know it has. |
06:26 | < jerith> | You can tie it tightly to the implementation if you care about reducing instruction count for marginal performance improvements. |
06:26 | < jerith> | Which is decidedly not the case here. :-) |
06:26 | <@Vornicus> | So stop worrying and love the bom^H^H^H tree. |
06:27 | < jerith> | I really should read a good data structures book at some point. |
06:28 | < jerith> | And by "read", I mean "do the exercises and stuff as well". |
06:32 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Client closed the connection] |
06:49 | < jerith> | So. Bit manipulations in Python. |
06:50 | < jerith> | Is there a good way to translate a bunch of flags from one set of values to another? |
06:50 | < jerith> | Currently I have a lot of "if (oldflags & OF_THING): newflags |= NF_THING" |
06:53 | < jerith> | I could probably do "sum([(oldflags & OF_THING) or NF_THING, (oldflags & OF_THONG) or NF_THONG])" or whatever. |
07:05 | <@Vornicus> | I don't even know what you're trying to do. |
07:20 | < jerith> | I'm translating a dataset from one format to another. |
07:21 | < jerith> | Various objects have a selection of flags, stored in the usual way in an integer. |
07:21 | < jerith> | The formats have different bit positions for these flags. |
07:21 | < jerith> | So I need to translate from one set of values to the other. |
07:24 | <@Vornicus> | I'd... write a thing that, given a number and a list of all the flags, creates a list of active flags... and then another thing that given a list of all flags and a list of active flags, gives a number. |
07:24 | < jerith> | The source might have FOO in bit 1 and BAR in bit 7, stored as 0x82. The target might haev FOO in bit 5 and BAR in bit 3, stored as 0x28. |
07:25 | < jerith> | That's probably a better idea, actually. |
07:30 | | * jerith makes two dicts of flags, mapping oldnum to name and name to newnum. |
07:38 | < jerith> | Ah, that's why I didn't do it that way initially. |
07:39 | <@Vornicus> | ...let me guess, multibit pieces. |
07:40 | <@Vornicus> | good god how did it become so late/early |
07:40 | | * Vornicus goes to bed like he was supposed to two hours ago. |
07:40 | | Vornicus is now known as Vornicus-Latens |
07:42 | < jerith> | Some of the flags don't have direct equivalents (which is fine) and some are inverted. |
07:42 | < jerith> | One stores "READ" and the other stores "UNREAD", for example. |
07:44 | <@Vornicus-Latens> | aha. |
07:44 | <@Vornicus-Latens> | I'd still say do that thing, and then manipulate it after unpacking |
07:44 | | * McMartin deletes data like you on the way to real errors. |
07:47 | < jerith> | Yeah. That's what I'm doing now. |
08:03 | | Derakon[AFK] [Derakon@Nightstar-5abd3ac9.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
08:04 | | * Orthia blargs, set this all on fire. Brain is /not working/. |
08:34 | | Orthia [orthianz@Nightstar-b8bec04e.xnet.co.nz] has quit [Connection reset by peer] |
08:35 | | Orthia [orthianz@Nightstar-22ff20c5.xnet.co.nz] has joined #code |
08:45 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code |
08:56 | | You're now known as TheWatcher |
09:12 | | AnnoDomini [annodomini@Nightstar-ef18c6e6.adsl.tpnet.pl] has joined #code |
09:12 | | mode/#code [+o AnnoDomini] by Reiver |
09:22 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Ping timeout: 121 seconds] |
10:27 | | AnnoDomini [annodomini@Nightstar-ef18c6e6.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
10:29 | | AnnoDomini [annodomini@Nightstar-688fac12.adsl.tpnet.pl] has joined #code |
10:29 | | mode/#code [+o AnnoDomini] by Reiver |
10:33 | | Attilla [Attilla@FBC920.642D35.7B2B85.11BB86] has joined #code |
10:33 | | mode/#code [+o Attilla] by Reiver |
13:05 | | Reiver [reaverta@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
13:05 | | Orthia [orthianz@Nightstar-22ff20c5.xnet.co.nz] has quit [Ping timeout: 121 seconds] |
13:07 | | DiceBot [Reiver@Nightstar-019bfb55.xnet.co.nz] has quit [Ping timeout: 121 seconds] |
13:07 | | Orthia [orthianz@Nightstar-9ee2b6a9.xnet.co.nz] has joined #code |
13:11 | | Reiver [reaverta@5B433A.77CB96.0CB44B.7B40FA] has joined #code |
13:11 | | mode/#code [+qo Reiver Reiver] by ChanServ |
13:12 | | DiceBot [Reiver@Nightstar-019bfb55.xnet.co.nz] has joined #code |
13:51 | | Orthia [orthianz@Nightstar-9ee2b6a9.xnet.co.nz] has quit [Client closed the connection] |
14:02 | | Orthia [orthianz@Nightstar-9fd293ed.xnet.co.nz] has joined #code |
14:20 | | gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code |
15:54 | <@ToxicFrog> | I am now even more impressed with Mint. |
15:54 | <@ToxicFrog> | It comes with an easy to use interface to sshfs (and a bunch of other remote mount protocols) out of the box. |
15:54 | | * ToxicFrog ditches his shell scripts for same |
16:16 | <@AnnoDomini> | How do I kill processes which can't be killed? |
16:16 | < jerith> | kill -9? |
16:16 | <@AnnoDomini> | They ignore that. |
16:16 | < jerith> | If they're wedged in a syscall, you're out of luck. |
16:16 | < jerith> | They'll die when the kernel returns. |
16:17 | < Namegduf> | That's not supposed to be possible. |
16:17 | < Namegduf> | But sometimes can be. |
16:17 | < Namegduf> | There's another case, though: Zombie processe.s |
16:17 | < jerith> | Happens a lot with NFS, IME. |
16:18 | <@AnnoDomini> | I have two Update Managers that I suspect will never finish their operations. |
16:18 | < Namegduf> | When a process dies, it waits for its parent to collect its return value. |
16:19 | < Namegduf> | If the parent is bugged and never does that, the process entry with no other resource use than its presence in the process list remains. |
16:19 | < jerith> | Those are zombies. |
16:19 | < Namegduf> | Yeah, as I said. |
16:19 | < jerith> | Unless I'm misremembering. |
16:20 | < Namegduf> | That's right. |
16:20 | < Namegduf> | Appropriate fix for that is to kill the parent, in which case init adopts it, collects the return value, and it goes away. |
16:20 | < jerith> | Oh, I missed the line where you said that. :-) |
16:20 | < Namegduf> | If there's no frozen process and -9 doesn |
16:20 | < Namegduf> | *'t work... |
16:21 | <@AnnoDomini> | How do I determine the parent of a process? |
16:22 | <@McMartin> | Depends on your OS |
16:23 | <@McMartin> | Not all of them have process trees per se |
16:23 | < Namegduf> | Context, McMartin |
16:23 | < Namegduf> | AnnoDomini is debugging an issue on his Linux system. |
16:23 | < jerith> | Debian, IINM. |
16:23 | <@AnnoDomini> | Debian 5. |
16:23 | <@McMartin> | On POSIX I think the parent has to tell the child who it is. |
16:24 | <@McMartin> | Zombies can sometimes be stopped with kill -SIGCONT and then -SIGHUP or -9. |
16:25 | <@McMartin> | If there are two layers of this; if the parent has finished and its finishing sent a SIGTERM that was ignored - the zombie ends up reassigned to init and then you are hosed. |
16:25 | < gnolam> | AnnoDomini: Any reason you're using pure Debian instead of something a bit more... user friendly? |
16:26 | < jerith> | Because Debian's awesome? :-) |
16:26 | <@AnnoDomini> | Because I used it for a class project and had the netinst CD lying around? |
16:27 | < jerith> | "User friendly" doesn't encourage learning. |
16:27 | <@McMartin> | It does give you the common baseline, though |
16:29 | <@AnnoDomini> | McMartin: The 'kill -SIGCONt' solution didn't work. |
16:29 | <@AnnoDomini> | Next? |
16:30 | | Tarinaky [Tarinaky@Nightstar-f087ff12.adsl.virginmedia.net] has quit [Connection reset by peer] |
16:31 | <@McMartin> | AnnoDomini: Kill all your terminals. |
16:31 | <@McMartin> | Next after that, reboot. |
16:32 | <@AnnoDomini> | I'll do that later, then. These processes aren't doing anything except cluttering up my task bar. |
16:33 | <@McMartin> | Oh, in that case, there's a "kill and restart X" between "kill all terminals" and "reboot". |
16:34 | <@AnnoDomini> | Will irssi survive? |
16:34 | < jerith> | If it's in a screen session, it should survive bouncing X. |
16:34 | | Serah [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds] |
16:35 | < jerith> | But not a reboot, for obvious reasons. :-) |
16:36 | <@AnnoDomini> | Okay, how do I kill and restart X? |
16:36 | < Namegduf> | /etc/init.d/gdm stop |
16:37 | < jerith> | alt+ctrl+backspace should kill it. |
16:37 | < Namegduf> | And that. |
16:37 | < jerith> | Then gdm or whatever will restart it. |
16:37 | <@AnnoDomini> | Alright. |
16:37 | < Namegduf> | Using the init script will avoid gdm being running on a VT |
16:37 | < Namegduf> | Ctrl+Alt+Backspace might not kill GDM, though. |
16:37 | < Namegduf> | GDM might just restart X and keep going. |
16:38 | < Namegduf> | You'd be able to tell, though. |
16:38 | < jerith> | Leaving gdm should be fine. |
16:38 | < jerith> | It'll restart X, which is what we're after. |
16:38 | < Namegduf> | Yeah. |
16:40 | <@AnnoDomini> | SUCCESS. |
16:40 | < jerith> | \o/ |
16:46 | | Tarinaky [Tarinaky@Nightstar-e7a8474e.adsl.virginmedia.net] has joined #code |
17:15 | < PinkFreud> | I've also seen ctrl-alt-backspace kill gdm entirely. |
17:15 | | Serah [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code |
17:15 | < PinkFreud> | er, requiring a manual restart from the console |
17:16 | < PinkFreud> | if you're going to do that anyway... |
17:16 | <@McMartin> | Depends on who started gdm, IIRC. |
17:16 | < PinkFreud> | root, of course, though gdm drops privs. |
17:16 | <@McMartin> | Er, sorry. What. =) |
17:17 | <@McMartin> | If some console started it, I think it kills everything. |
17:17 | <@McMartin> | If rc.init started it, I think it doesn't. |
17:17 | <@McMartin> | Or whatever Debian's equivalent to that is. |
17:17 | < PinkFreud> | in general, it's better to leave ctrl-alt-backspace for an emergency |
17:17 | <@McMartin> | Yeah, the "log out" button is the controlled shutdown. |
17:18 | < PinkFreud> | it's actually possible to restart gdm from within an X session, if you use screen. if you try to restart it from within X without screen, it'll never come back up, due to the terminal disappearing before it has a chance to restart the daemon |
17:18 | <@McMartin> | Heh |
17:38 | < Tarinaky> | What's wrong with using Zap to restart gdm? |
17:39 | < PinkFreud> | Tarinaky: as I stated, gdm won't necessarily restart |
17:39 | < PinkFreud> | it's usually better to just restart the service directly. |
17:40 | | Alek [omegaboot@Nightstar-7ff8f4eb.il.comcast.net] has quit [Ping timeout: 121 seconds] |
17:40 | < Tarinaky> | Ahhh. There's your problem. |
17:40 | < Tarinaky> | I use init's 'respawn' function. |
17:40 | | Alek [omegaboot@Nightstar-7ff8f4eb.il.comcast.net] has joined #code |
17:41 | < PinkFreud> | most distributions don't run gdm from inittab |
17:41 | < Tarinaky> | They should. |
17:41 | < PinkFreud> | that's a matter of opinion. |
17:41 | < PinkFreud> | and one which has no bearing on reality. :) |
17:41 | < Tarinaky> | It makes it trivial to start it up without gdm if something goes wrong with an update or config file. |
17:41 | < Tarinaky> | True. |
17:41 | | * TheWatcher uses startx from a text prompt, as God Intended >.> |
17:42 | < PinkFreud> | actually, Debian runs gdm as a daemon, and yet it manages to handle the case where gdm fails to start just fine. :) |
17:42 | < PinkFreud> | TheWatcher: lol |
17:42 | < Tarinaky> | How's that then? |
17:42 | < Tarinaky> | Baring in mind I've had X kill the system to the point that nothing works |
17:43 | < Tarinaky> | Not even REISUB |
17:43 | < PinkFreud> | Tarinaky: the init script watches the daemon. if it restarts > $x number of times in a given period, the script halts the restart, throws a message (via dialog, optionally allowing you to examine log files), and lets you know you should restart it manually when you've resolved the issue. |
17:44 | < Tarinaky> | Yeah. That only helps if there's a malformed config file. |
17:44 | < PinkFreud> | Tarinaky: I just had that happen last night. broken intel video driver in squeeze. |
17:44 | < PinkFreud> | 13:40 <Tarinaky> It makes it trivial to start it up without gdm if something |
17:44 | < PinkFreud> | goes wrong with an update or config file. |
17:44 | < Tarinaky> | Yeah. Drivers. |
17:44 | < PinkFreud> | Tarinaky: precisely your use case :) |
17:44 | < Tarinaky> | "update" |
17:45 | < PinkFreud> | update works as well. |
17:45 | < Tarinaky> | Drivers update. |
17:45 | < PinkFreud> | sure. it detects when there's an issue with gdm starting, period. |
17:45 | < PinkFreud> | if gdm fails to start, it throws the error. |
17:45 | < Tarinaky> | Umm... My understanding is that if REISUB doesn't work the Kernel has stopped. |
17:46 | < Tarinaky> | Or, at the least, it's visually apparent that X is still loaded even if the system has frozen. |
17:46 | < PinkFreud> | I was referring to 'update' |
17:46 | < PinkFreud> | if REISUB doesn't work, either the kernel has quit working, or the console is sufficiently hosed. |
17:46 | < Tarinaky> | Yeah. That script detects neither case. |
17:46 | < Tarinaky> | And both can be caused by a system update. |
17:47 | < PinkFreud> | if you can log in manually, you can always do a reboot, or you can send the sysrq sequence to the kernel directly via the proc interface |
17:47 | < Tarinaky> | Log in manually? |
17:47 | < PinkFreud> | er, log in remotely. |
17:47 | < PinkFreud> | brain on autopilot. |
17:47 | < Tarinaky> | That assumes I'm running an ssh server. |
17:47 | < PinkFreud> | indeed it does. |
17:47 | < PinkFreud> | hence the 'if you can' |
17:47 | < PinkFreud> | :) |
17:48 | < Tarinaky> | Big 'if'. |
17:48 | < PinkFreud> | sure. the system may be sufficiently hosed to the point where even running an sshd won't help you |
17:48 | < Tarinaky> | Or I might not even have an sshd running to begin with. |
17:49 | < PinkFreud> | however, I *have* had cases where I could log into a system remotely despite a completely borked console and issue the sysrq commands manually. |
17:49 | < PinkFreud> | so, just because you may not have a use for it doesn't mean it's not valid :) |
17:49 | < Tarinaky> | Yeah. But my original argument was using init to start X provided another way to fix the problem. |
17:50 | < PinkFreud> | in any case, this goes back to the start of the argument - running gdm as a daemon is just as useful as running it via inittab. It all depends on how it's set up. |
17:50 | < Tarinaky> | You just boot into runlevel 3 rather than 5. |
17:50 | < PinkFreud> | I used to run xdm via inittab in slackware, and eventually moved to having it run as a daemon under debian. I don't have a particular problem with either method. |
17:51 | < PinkFreud> | Tarinaky: your initial argument assumed the entire world was using init to run gdm. |
17:51 | < Tarinaky> | That wasn't an argument. That was just a mis-assumption. |
17:51 | < PinkFreud> | :) |
17:51 | < Tarinaky> | Because I honestly -did- think the entire world was using init to run gdm. |
17:52 | | * PinkFreud nods |
17:53 | < Tarinaky> | ALso - on the subject of using startx from vtty: I require gdm to illuminate my keyboard. |
17:53 | < Tarinaky> | :p |
17:53 | < Tarinaky> | Can't type in the dark. |
17:53 | | * gnolam refrains from making a basement dweller joke. |
17:53 | < Tarinaky> | I'll have you know I live in an attic. |
17:53 | | * Tarinaky kids. |
17:54 | < PinkFreud> | lol |
17:54 | | * Tarinaky lives in a flat with a girl. |
17:54 | < Tarinaky> | (And by girl I don't mean my mother) |
17:55 | < PinkFreud> | your aunt? *duck* |
17:57 | < Tarinaky> | No. One of my best friends. |
18:04 | | * TheWatcher sets PF's duck on fire, as required by law and Ancient Prophesy. |
18:07 | < Tarinaky> | Prophesy? |
18:08 | < PinkFreud> | Tarinaky: ancient spelling thereof. :P |
18:08 | < Tarinaky> | I meant more what prophesy. |
18:08 | < PinkFreud> | lol |
18:09 | < PinkFreud> | there's always a flaming duck associated with me. don't ask. |
18:09 | < PinkFreud> | it's better not to. |
18:10 | < Tarinaky> | Why? Does the flaming duck (fl-uck? f-uck?) have tentacles? Many eyes on many hands lolling out on many tongues from its many mouths? |
18:12 | < PinkFreud> | no, it's merely a duck. on fire. |
18:13 | < Tarinaky> | I am distinctly unimpressed with these eldritch horrors. |
18:16 | < PinkFreud> | as I said, don't ask. :P |
18:22 | | Orthia [orthianz@Nightstar-9fd293ed.xnet.co.nz] has quit [Ping timeout: 121 seconds] |
18:29 | < jerith> | MON CANARD EST EN FEU! |
18:29 | | * jerith blames PinkFreud. |
18:43 | | * PinkFreud does, too |
20:11 | | Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection reset by peer] |
20:15 | | Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
20:16 | | Syloqs_AFH is now known as Syloqs-AFH |
20:21 | | Vornicus-Latens is now known as Vornicus |
20:23 | | * Vornicus gets home, pokes vaguely at gnolam. |
20:24 | | * gnolam is vaguely poked. |
20:27 | <@Vornicus> | I'm having trouble with Source. |
20:27 | <@Vornicus> | It appears that certain polygons that are underwater will only appear when 1. you're close enough vertically to the water plane, 2. you're in the right piece of zone. |
20:28 | < gnolam> | Hmm. |
20:28 | < gnolam> | Still doing level overviews I guess? |
20:28 | <@Vornicus> | This is spectacularly unoptimal for the airboat segments in HL2, which I'm now working on. |
20:30 | <@Vornicus> | Yes, this is map... d1_canals_08, if I'm reading this right. |
20:31 | < gnolam> | 1) could be either simple Z fighting or Culling Gone Wrong, but I don't know. Also, what do you mean by "in the right piece of zone"? |
20:31 | <@Vornicus> | Well, for instance. |
20:32 | <@Vornicus> | There's the section before the floodgates, and if I'm in that area, I can see the underwater polys there. But I can't see /anything at all/ of the other sections, like the hairpin turn. |
20:33 | < gnolam> | Source normally does PVS, so if it does that in the overviews as well that could cause both problems I guess. |
20:33 | <@Vornicus> | If, on the other hand, I'm in the hairpin turn, I can see /only/ the hairpin turn's polys. |
20:33 | <@Vornicus> | PVS? |
20:33 | < gnolam> | Potentially Visible Set. |
20:33 | <@Vornicus> | All right. |
20:33 | < gnolam> | Basically, you take snapshots at various places in the map and determine what polygons could possibly be seen from there. |
20:34 | < gnolam> | So you only render that set in the proximity of that snapshot. |
20:35 | <@Vornicus> | On the other hand - if I'm far enough away that it doesn't cull out-of-subzone polys, it automatically culls many underwater polys and turns off the water. It will even do that when water rendering is turned off. |
20:36 | < gnolam> | (PVS is one of those things that are both incredibly easy (the actual take-snapshot-and-calculate-visible-polygons) and ridiculously hard at the same time (transitioning between different sets, and picking just the right level of culling aggression)) |
20:36 | < gnolam> | (As an aside) |
20:38 | <@Vornicus> | (I can imagine.) |
20:38 | < gnolam> | IIRC, you can even place direct hints in Hammer for occlusion. |
20:39 | <@Vornicus> | I did see an "occluded" wall or two while trying to convince Hammer to do this job for me. |
20:39 | < gnolam> | Alas, I don't know if you can force rendering of occluded sectors. Never had to do that, myself. :) |
20:40 | <@Vornicus> | there's an occlusion flag in there but it didn't help. |
20:40 | < gnolam> | Hmm. |
20:40 | < gnolam> | r_occlusion ? |
20:40 | < gnolam> | Try r_PortalTestEnts as well. |
20:41 | < gnolam> | And r_portalsopenall |
20:43 | <@Vornicus> | No luck on either of those. |
20:43 | < gnolam> | The first two should be false and the third true, BTW. |
20:44 | < gnolam> | They've got so many different culling systems in play at the same time it's hard to get an overview... |
20:46 | <@Vornicus> | Yeah, trying various things. mat_showwatertextures isn't it, that's a debug hack |
20:50 | <@Vornicus> | cl_detaildist... nope. |
20:51 | <@Vornicus> | Does not in fact appear to change anything useful, setting it to 5000. |
20:57 | | * Vornicus hunts around. |
21:24 | | * ToxicFrog weeps |
21:25 | <@ToxicFrog> | Some well-meaning but horribly misguided TA has apparently been teaching students to while((var = malloc(...)) == NULL); |
21:26 | <@ToxicFrog> | Some students have apparently not understood why or what this does, because now they're working on an assignment that requires fork. |
21:27 | <@ToxicFrog> | So we're seeing code like while((pid = fork()) == 0); |
21:27 | < Namegduf> | That's horrible. |
21:27 | <@ToxicFrog> | Yes. |
21:28 | <@ToxicFrog> | It is. |
21:28 | <@McMartin> | KILL THE WABBIT, KILL THE WABBIT |
21:28 | <@ToxicFrog> | And while ulimit catches it eventually, that doesn't help for those few minutes in which one of the undergrad servers is brought to its knees. |
21:28 | <@ToxicFrog> | Also, the cooling in the server room is badly in need of replacement! |
21:31 | < PinkFreud> | I dunno. I found someone who likes it warm. |
21:31 | < PinkFreud> | http://pinkfreud.mirkwood.net/coolpix/s3is/.priv/murray/img_102-4649.html |
21:35 | <@AnnoDomini> | Fat cat. |
21:36 | < PinkFreud> | he's a little chubby - but he's *big*. |
21:38 | <@AnnoDomini> | http://pinkfreud.mirkwood.net/coolpix/s3is/.priv/murray/img_100-9778.html <- These pics are highly disturbing. |
21:38 | < PinkFreud> | lol |
21:38 | < PinkFreud> | long exposure |
22:30 | | Orthia [orthianz@Nightstar-04ecdbee.xnet.co.nz] has joined #code |
22:31 | | celticminstrel [celticminstre@1AB00B.855209.A256BB.B16D09] has joined #code |
22:36 | < celticminstrel> | Ugh. Why is this just giving me a blank page? |
22:36 | < celticminstrel> | (PHP here.) |
22:50 | | AnnoDomini [annodomini@Nightstar-688fac12.adsl.tpnet.pl] has quit [[NS] Quit: Spa?.] |
23:14 | <@ToxicFrog> | What is "this"? |
23:14 | | celticminstrel [celticminstre@1AB00B.855209.A256BB.B16D09] has quit [Ping timeout: 121 seconds] |
23:21 | | celticminstrel [celticminstre@1AB00B.855209.A256BB.B16D09] has joined #code |
23:44 | | You're now known as TheWatcher[T-2 |
23:44 | | You're now known as TheWatcher[T-2] |
23:48 | | You're now known as TheWatcher[zZzZ] |
23:54 | | PinkFreud is now known as REGIS_mark_V |
23:59 | | celticminstrel [celticminstre@1AB00B.855209.A256BB.B16D09] has quit [Client exited] |
--- Log closed Tue Mar 23 00:00:42 2010 |