--- Log opened Wed Jan 14 00:00:07 2009 |
--- Day changed Wed Jan 14 2009 |
00:00 | | AnnoDomini [~farkoff@Nightstar-29721.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
00:49 | | You're now known as TheWatcher[T-2] |
00:51 | | Derakon[AFK] is now known as Derakon |
00:53 | | You're now known as TheWatcher[zZzZ] |
01:39 | | Vornicus [~vorn@Admin.Nightstar.Net] has quit [Connection reset by peer] |
02:14 | | Vornicus [~vorn@Admin.Nightstar.Net] has joined #code |
02:14 | | mode/#code [+o Vornicus] by ChanServ |
02:23 | | * Derakon adds the current iteration in the <repeat> tag as an available keyword, implements one of the pattern ideas he had while at work. |
02:23 | <@Derakon> | It's...too hard. :\ |
02:24 | <@McMartin> | Heh |
02:25 | <@Derakon> | Or rather, it's either impossible or easy, depending on if you've positioned yourself properly before it starts. |
02:26 | <+simontwo> | are labeled breaks bad style in Java, I wonder? |
02:29 | <@McMartin> | They're one of the Good Gotos, so I don't mind 'em. |
02:30 | | crem_ [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
02:31 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
02:34 | <@Derakon> | What d'y'all think of giving the player the ability to pull bullets towards him? |
02:35 | <@McMartin> | Is there a reason he'd want that? |
02:35 | <@McMartin> | I can think of an aesthetic reason, I suppose... |
02:35 | <@Derakon> | To pull them out of alignment so he can dodge around? |
02:35 | <@McMartin> | If you do, I'd suggest a modification to the Bomb mechanic, too. |
02:35 | <@McMartin> | Making it a violent deflection instead of an annihilation. |
02:35 | | * Derakon nods. |
02:35 | <@McMartin> | (Then it can be a fully pacifist shooter hero!) |
02:36 | <@Derakon> | Hee. |
02:36 | <@Derakon> | There's still the megabomb, mind. |
02:36 | <@McMartin> | I thought the megabomb was you getting your ass kicked~ |
02:36 | <@Derakon> | Yes. |
02:36 | <@Derakon> | But how would it manifest if explosions are out? |
02:36 | <@McMartin> | I didn't say the *game* was pacifist. |
02:36 | <@McMartin> | Just that the hero would be. |
02:36 | <@Derakon> | Ahh, righto. |
02:36 | <@McMartin> | He's not now, because bomb. |
02:37 | <@Derakon> | So, pacifist hero in a ship that explodes violently if it gets dinged too many times. |
02:37 | <@Derakon> | Ooh, say -- using the "draw bullets in" could get you more bombs, maybe. |
02:38 | <@Derakon> | So the better you are at dodging bullets that really want to hit you, the more times you can survive actually getting hit~ |
02:39 | <@Derakon> | I'm thinking strength of the gravity well decays with the square of distance; the degree to which you deflect bullets adds to a charge meter, which when full, gives you an additional "bomb". |
02:39 | <@Derakon> | Only problem with this is that it adds another distance calculation for every bomb onscreen as long as the player holds down the deflect button. |
02:44 | <+simontwo> | Derakon, are you making a first-person shooter? |
02:44 | <@Derakon> | Ah, no. http://derakon.dyndns.org/~chriswei/temp/bulletmlanim1.gif |
02:46 | | GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Quit: Praise "BOB"!] |
02:53 | <@McMartin> | Bullet Purgatory! |
02:53 | <@McMartin> | (Excuse for Bombs #2: Reactive, Ablative Armor) |
02:54 | | * Derakon snerks. |
02:54 | <@Derakon> | Peizoelectric cells on the ship's skin that create a large electromagnetic shockwave on impact! |
02:55 | <@Derakon> | Is there a faster way to combine radial vectors than converting them to Cartesian coordinates first? |
02:56 | <@Derakon> | Er. Polar, not radial. |
02:56 | <@McMartin> | Adding Polar is hard. Multiplying Polar is easy. |
02:56 | <@McMartin> | You might be able to get *fewer* trig ops in, though. Let's see here... |
02:57 | <@McMartin> | Especially since IIRC you want radial at the end too, right? |
02:57 | <@Derakon> | Yeah. |
02:57 | <@Derakon> | Bullets track speed and direction. |
02:57 | <@Derakon> | Not vx, vy. |
02:57 | | GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code |
02:57 | | mode/#code [+o GeekSoldier] by ChanServ |
02:58 | <@Derakon> | I can use one atan2 to get the direction from the bullet to the player, and the distance gives me the speed addition. The trick is figuring out how that modifies the bullet's existing direction and speed. |
02:58 | <@Vornicus> | Adding polar: use the law of cosines. |
02:59 | <@Vornicus> | well, that gets you the magnitude anyway |
03:01 | <@Derakon> | Imagine that 't' is a theta. Then I have r1t1 and r2t2, which i Cartesian are (r1cos(t1), r1sin(t1)), (r2cos(t2), r2sin(t2)), adding for (r1cos(t1)+r2cos(t2), r1sin(t1)+r2sin(t2)). Right? |
03:01 | <@Derakon> | Just, y'know, making certain I haven't descended into raving lunacy. |
03:03 | | * Derakon ponders maybe leaving speed alone and just deflecting direction. |
03:04 | <@McMartin> | You have indeed not descended into raving lunacy |
03:04 | <@McMartin> | Also, making them rotate is probably easier. |
03:04 | <@McMartin> | I'd only modify speed for violent deflection, and I'd make the speed something absurd like 30 px/sec to make sure it goes away fast. |
03:04 | <@Derakon> | Right. |
03:04 | <@Derakon> | ...WTF, Pygame doesn't support the "'" key? |
03:04 | <@Derakon> | http://www.pygame.org/docs/ref/key.html |
03:05 | <@Derakon> | That was going to be my deflector key! |
03:05 | <@Derakon> | Or maybe it's hiding under K_QUOTEDBL |
03:08 | <@McMartin> | That's probably unshifted 2 on French kbds |
03:09 | <@McMartin> | K_QUOTE doesn't work? |
03:09 | <@Vornicus> | I had a thing floating around that would list off events from Pygame. |
03:10 | <@Derakon> | McM: ahh, it does...to the extent that it now tries to run my deflector code and crashes. Danke. |
03:13 | <@Derakon> | Okay, this is unrelated to the whole deflector business, but I appear to have broken my parametering code. Any ideas? http://paste.ubuntu.com/104658/ |
03:14 | <@Derakon> | Nevermind, found it. |
03:14 | <@Derakon> | Python shouldn't let you iterate over a dictionary if you don't know what you're doing. ¬.¬ |
03:14 | <@Vornicus> | Heh |
03:15 | <@ToxicFrog> | Pfft |
03:15 | <@Derakon> | (Line 9 of that paste should have been "for key, value in self.evaledParams.items():") |
03:15 | <@Vornicus> | Yeah, dictionaries iterate over keys, not items |
03:15 | <@Vornicus> | and in python 2 use iteritems instead of items unless you're planning to do violence. |
03:15 | <@Derakon> | Does violence include writing to the dict, like in line 11? |
03:16 | <@Derakon> | Or just removing elements? |
03:16 | <@Vornicus> | ...actually i don't know |
03:16 | | * McMartin always plans for violence! |
03:18 | <@Derakon> | In any event, these dictionaries are pretty small. |
03:19 | <@Derakon> | If you have more than 5 items in them, you're doing something really complicated. |
03:20 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out] |
03:22 | <@Derakon> | Two notes: one, '<' and '>' have different meanings, and two, an attractor turns into a deflector if you don't limit the amount of change in direction allowed. |
03:23 | | ToxicFrog [~ToxicFrog@67.212.7.ns-3924] has joined #code |
03:23 | | mode/#code [+o ToxicFrog] by ChanServ |
03:23 | <@McMartin> | Heh |
03:25 | <@Derakon> | NameError: global name 'dullet' is not defined. |
03:25 | | * Derakon sighs. |
03:46 | <+simontwo> | heh |
03:49 | <@Derakon> | I think I'd better affect both speed and direction on bullets. |
03:50 | <@Derakon> | Otherwise you get free charging off of slow-moving bullets. |
04:07 | <@Derakon> | Does atan2 break down when the x term is near-zero? |
04:08 | <@Vornicus> | It probably does it in a numerically stable way. |
04:08 | <@Derakon> | Well, I'm getting weird behavior: http://paste.ubuntu.com/104679/ |
04:08 | <@Derakon> | Judging from my logs, I'm getting reasonable Cartesian vectors. |
04:09 | <@Vornicus> | O.o |
04:09 | <@Derakon> | But when I convert to polar... |
04:09 | <@Vornicus> | That number there is pi/4; |
04:09 | <@Vornicus> | you shouldn't be getting that at all. |
04:10 | <@Derakon> | print math.atan2(-.017+10, 0) |
04:10 | <@Derakon> | 1.57079632679 |
04:11 | <@Derakon> | >>> print math.atan2(-0.0173010380623+10.0,1.05934805694e-18+6.12303176911e-16) |
04:11 | <@Derakon> | 1.57079632679 |
04:12 | <@Derakon> | ...OH! |
04:12 | <@Derakon> | Duh! |
04:12 | <@Derakon> | Dumbass! |
04:12 | <@Derakon> | ax+by? |
04:19 | | * Derakon gets himself into a lot of trouble with his new deflector. |
04:24 | <@McMartin> | Oog |
04:24 | <@McMartin> | Although it does let you skip most of the traffic, I cannot recommend leaving work at 8 PM. |
04:26 | | * Vornicus used to work til 7. WHich was nice because it meant getting up at 9:30 instead of 7:30, but a pain because it meant it was usually dark. |
04:27 | <@McMartin> | We occasionally have to coordinate with teams in India. |
04:27 | <@McMartin> | Our engineer hours are... not standard. |
04:38 | | C_tiger_remote [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has quit [Ping Timeout] |
05:14 | <@Derakon> | ...okay, two things. |
05:15 | <@Derakon> | The change in parametering logic has broken the doomcircle pattern, whose circles are no longer of fixed diameter. |
05:15 | <@Derakon> | And the deflector totally changes how players can approach the doomcircle. |
05:24 | <+simontwo> | I've got an object-oriented design I'd like some feedback on |
05:26 | <+simontwo> | say I've got an interface Piece (as in chess piece) and an AbstractPiece. AbstractPiece gives a standard implementation of the methods color(), location(), type(), moveTo() and validSquares(). |
05:27 | <+simontwo> | so concrete chess pieces extend the AbstractPiece and implement the Piece interface, and all they have to do is supply a function canMoveTo() (which the AbstractPiece#validSquares() function uses.) |
05:27 | <+simontwo> | this is all really smart |
05:27 | <+simontwo> | but I thought of doing it one up |
05:28 | <+simontwo> | since I'd like to add the feature of being able to scale the board size and have the pieces' logic extend to that (i.e. the rook, bishop and queen should be able to move arbitrarily far) |
05:29 | <+simontwo> | (sorry, this is a huge build-up to my actual question) |
05:29 | <+simontwo> | (I'll get to it now) |
05:30 | <+simontwo> | I thought of adding an optional internal interface to concrete pieces that extend AbstractPiece so all they have to define is an int[][] suggesting which directions they go in |
05:30 | <@ToxicFrog> | How is this an improvement on validSquares()? |
05:31 | <+simontwo> | e.g. for the rook, an int[][] { {1,0,Square.MAX_FILE}, {-1,0,Square.MAX_FILE}, {0,1,Square.MAX_RANK}, {0,-1,Square.MAX_RANK} } |
05:31 | <+simontwo> | ToxicFrog, it's not an improvement. validSquares() simply uses canMoveTo(). what my improvement involves is being able to move canMoveTo() into the AbstractPiece as well. |
05:31 | <@ToxicFrog> | Hmm. |
05:31 | <+simontwo> | ToxicFrog, some pieces would have to overwrite this functionality by simply overwriting this canMoveTo() function |
05:32 | <@ToxicFrog> | Aah |
05:32 | <@ToxicFrog> | Ok |
05:32 | <@Derakon> | I don't think codifying the queen/bishop/rook movement patterns in AbstractPiece is really a significant improvement given the complexity you're adding. |
05:32 | <+simontwo> | because they don't really operate in terms of moving arbitrarily long in one directions (pawn, e.g.) |
05:32 | <@Derakon> | It's expected that each piece type would include its own movement rules. |
05:32 | <+simontwo> | yup |
05:32 | <+simontwo> | and instead of expressing their movement rules in terms of the canMoveTo() method, I want to express it in terms of an array |
05:33 | <+simontwo> | now |
05:33 | <@ToxicFrog> | Yeah, actually. If you want this kind of thing, it would probably make more sense to have something like: |
05:33 | <@ToxicFrog> | AbstractPiece -> LinearMovement Piece |
05:33 | <@jerith> | Perhaps add some utility methods that let you easily specify straight lines to the end of the board. |
05:33 | <@ToxicFrog> | LinearMovementPiece -> (Queen, Rook, Bishop) |
05:33 | <+simontwo> | ToxicFrog, that makes really good sense. |
05:34 | <+simontwo> | but I still have a java-specific question related to the 'protected' keyword. |
05:35 | | * jerith always uses protected in preference to private. |
05:35 | <@ToxicFrog> | Don't ask to ask; just ask |
05:36 | <+simontwo> | I made AbstractPiece#canMoveTo() depend on a call to directions() which returns the int[][]. I initially made this a private method, and I thought in my Queen, Rook, Bishop I would be able to @Override it and return a different final static int[][] specific to the piece type. |
05:36 | <@jerith> | No, private isn't visible to subclasses. |
05:36 | <+simontwo> | I thought that this ought to be a protected method, since its child classes should be able to access/overwrite it, but Eclipse made an error on that. |
05:37 | <@jerith> | Protected is, but isn't visible outside. |
05:38 | <@ToxicFrog> | What jerith said. |
05:38 | <@ToxicFrog> | private: this class only |
05:38 | <@ToxicFrog> | protected: this class, its subclasses and friends |
05:38 | <@ToxicFrog> | package: all classes in the enclosing package |
05:38 | <@ToxicFrog> | public: everything |
05:38 | <+simontwo> | right. |
05:38 | <+simontwo> | I forgot the correct combination of @Override and protected. |
05:39 | | * simontwo should probably extend this kind of functionality into a LinearMovementPiece because suddenly this piece isn't so abstract any more. :) |
05:39 | | * jerith hatehateHATEs private stuff unless there's a *really* good reason for it. |
05:41 | <+simontwo> | jerith, I think there's at least one place where I should use protected instead of private, now when I think about it. (instead, I've used getters internally) |
05:41 | <@jerith> | I've had to reimplement the world too many times because the two-line method I want to override is private. |
05:42 | <@jerith> | Then again, I'm a strong believer in Python's "consenting adults" visibility model. |
05:42 | <@Derakon> | As in, everything's public? |
05:43 | <@jerith> | Yes. |
05:43 | <@Derakon> | That's not really what I'd call a "model". |
05:43 | <@jerith> | And you document your stable interfaces as such. |
05:43 | <@jerith> | But let people use your internals at their own risk. |
05:45 | <@jerith> | However, I need to get out of bed now. |
05:45 | | * Derakon facepalms. |
05:46 | <@jerith> | Derakon: In every language I've used with private methods, I've had to jump through hoops and reimplement stuff because the bit I wanted to replace was private. |
05:47 | <@Derakon> | Aren't there tricks you can use to turn "private" into "public"? |
05:47 | <@Derakon> | Or is that just for protected? |
05:47 | <+simontwo> | Derakon, only trick I know is by declaring a public getter. |
05:49 | | * Derakon mutters, has trouble coming up with a graphic for the deflector. |
05:50 | <@jerith> | Derakon: private stuff can't be accessed in subclasses. |
05:51 | <@jerith> | So there's no way short of modifying the original code. |
05:51 | <@Derakon> | Mm. I must've been misremembering then. |
06:03 | <+simontwo> | is it not possible to have an abstract static property? |
06:04 | <+simontwo> | i.e. require subclasses to redefine some class property. |
06:07 | <+simontwo> | what I thought about doing is, in my LinearMovementPiece (thanks for the name, by the way), to declare a protected abstract int[][] directions(); but I thought perhaps it's possible without this kind of a getter. but apparently static properties can't also be abstract. can properties even be abstract in general? |
06:08 | | * simontwo RTFMs. |
06:08 | | * simontwo likes that the topic mentions that monologues are permitted. :-) |
06:33 | | Derakon is now known as Derakon[AFK] |
06:40 | <@jerith> | simontwo: If we prohibited them, this place would be a lot quieter. ;-)\ |
06:45 | | C_tiger_remote [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has joined #code |
06:45 | | mode/#code [+o C_tiger_remote] by ChanServ |
06:45 | | C_tiger_remote is now known as C_tiger |
06:46 | | gnolam [~lenin@Nightstar-1310.dialup.nmt.net] has joined #Code |
06:47 | | gnolam is now known as NSGuest-1065 |
06:48 | | NSGuest-1065 is now known as gnolam |
07:08 | | gnolam [~lenin@Nightstar-1310.dialup.nmt.net] has quit [Ping Timeout] |
07:46 | | Reiv [ReivTop@Nightstar-21340.ipnet.xnet.co.nz] has joined #Code |
07:58 | | gnolam [~lenin@Nightstar-1296.dialup.nmt.net] has joined #Code |
08:08 | | gnolam [~lenin@Nightstar-1296.dialup.nmt.net] has quit [Ping Timeout] |
08:13 | | gnolam [~lenin@Nightstar-1613.dialup.nmt.net] has joined #Code |
08:14 | | gnolam is now known as NSGuest-1068 |
08:16 | | simontwo [~simon@78.129.201.ns-20686] has quit [Ping Timeout] |
08:16 | | NSGuest-1068 is now known as gnolam |
08:31 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
08:31 | | mode/#code [+o Attilla] by ChanServ |
08:38 | | gnolam [~lenin@Nightstar-1613.dialup.nmt.net] has quit [Ping Timeout] |
08:42 | | KarmaBot [AnnoDomini@Nightstar-29721.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
08:55 | | KBot [AnnoDomini@Nightstar-29179.neoplus.adsl.tpnet.pl] has joined #Code |
08:56 | | AnnoDomini [~farkoff@Nightstar-29179.neoplus.adsl.tpnet.pl] has joined #Code |
08:56 | | mode/#code [+o AnnoDomini] by ChanServ |
08:58 | | KBot is now known as KarmaBot |
09:06 | | You're now known as TheWatcher |
09:29 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Ping Timeout] |
09:30 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
09:31 | | mode/#code [+o Attilla] by ChanServ |
09:48 | | simontwo [~simon@78.129.201.ns-20686] has joined #code |
09:58 | | ToxicFrog [~ToxicFrog@67.212.7.ns-3924] has quit [Operation timed out] |
09:59 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
09:59 | | mode/#code [+o ToxicFrog] by ChanServ |
10:24 | | Reiv [ReivTop@Nightstar-21340.ipnet.xnet.co.nz] has left #Code [] |
11:06 | | Sy [Syloq@ServicesAdmin.Nightstar.Net] has quit [Connection reset by peer] |
12:27 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
12:29 | | Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ] |
12:49 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
12:49 | | mode/#code [+o Reiver] by ChanServ |
12:51 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Ping Timeout] |
12:51 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
12:51 | | mode/#code [+o Attilla] by ChanServ |
14:14 | | * TheWatcher vaguely eyes the phpbb3 code |
14:15 | <@TheWatcher> | ... why the fuck are they going through this long, pointless, convoluted hashing process for passwords, when it uses bloody md5s anyway?! |
14:17 | <@TheWatcher> | Oh, wait, this is the phpbb developers, so they're far more likley to go and attempt to make something redundantly 'secure' while leaving gaping holes in places they are tired of working on. |
14:18 | <@EvilDarkLord> | Are md5s that bad these days? |
14:18 | <@TheWatcher> | How do you mean? Computatonally expensive? Not really |
14:19 | <@EvilDarkLord> | Er. Reversable, is that the word? |
14:19 | <@TheWatcher> | md5s are not, and never have been, reversable except in very specific, very contrived situations |
14:19 | <@TheWatcher> | they are cryptographically secure for virtually all applications. |
14:21 | <@TheWatcher> | The phpBB3 guys appear to think that that isn't secure enough, though - they calculate the md5 of a password, then pass that into md5 again with the password appended, and repeat this several times. |
14:23 | <@TheWatcher> | Quite what they expect to achieve here, I'm not sure. Maybe they think that applying md5 multiple times makes it harder to crack. Except, since they are appending the plain text password to the hash and then hashing all that, /if/ anyone could crack md5s all they'd need to do was crack it the once to work out the password. |
14:24 | <@TheWatcher> | And since there's probably a bunch of other places where a determined hacker could get in, arsing around with the password hashing is like covering your car in car-thief warning stickers while leaving your doors unlocked. |
14:24 | < simontwo> | TheWatcher, it's like being worried that your little padlock isn't gonna sustain a hard blow, so you add ten small padlocks of the same brand on top of each other. |
14:25 | < simontwo> | it's called "Security Through Silliness" |
14:26 | <@EvilDarkLord> | Wait, isn't this more like having one padlock and then supergluing nine more onto it? |
14:26 | <@TheWatcher> | Pretty much |
14:27 | <@EvilDarkLord> | Maybe they want to tell people they have several layers of security. |
14:28 | < simontwo> | EvilDarkLord, haha. |
14:28 | <@TheWatcher> | Maybe. And if someone who doesn't understand the code and what it's doing, they'd probably trust that, too |
14:29 | < simontwo> | or they simply hope that hackers will pity them and leave their software alone. |
14:29 | < simontwo> | (which isn't going to happen) |
14:37 | | Alek [~omegaboot@Nightstar-23762.dsl.emhril.sbcglobal.net] has quit [Quit: reboot] |
15:05 | <@TheWatcher> | (as an addendum to the above, there are situations where md5s can be partially reversed, but only by essentially using dictionaries. And while you can craft two strings with the same md5, working out what the string is to generate the md5 is nontrivial - basically, for a forum with the history phpbb has, md5 should be more than enough for the passwords) |
15:22 | < simontwo> | CRC cards only depict responsibilities, not neat tricks made using inheritance, right? |
15:23 | < simontwo> | I'm doing some CRC cards and find it more useful to write down the interfaces for the sets of classes that follow the interface rigoriously (i.e. don't add anything publicly themselves) |
15:30 | < simontwo> | when I do FooInterface foo = new ConcreteFoo(); in Java, is that called typecasting or something more accurate? |
15:31 | < simontwo> | I think typecasting is only when you actually convert the type of an object, whereas here I just limit myself to referring to the object through whatever its FooInterface defines. |
15:45 | < simontwo> | ah, implicit type conversion. |
15:58 | <@ToxicFrog> | CRC? Cyclic Redundancy Check? |
16:00 | <@ToxicFrog> | And typecasting is generally /explicit/ type conversion - the actual data doesn't change, but the way it's interpreted/interacted with does. |
16:01 | < simontwo> | ToxicFrog, sorry, CRC means Class-Responsibility-Collaboration cards in this context. :-P |
16:01 | < simontwo> | ToxicFrog, small post-its that list the relationships and responsibilities of each entity class. |
16:02 | <@ToxicFrog> | Aah. |
16:02 | <@ToxicFrog> | I've used those, but no longer remember how to use them properly~ |
16:02 | < simontwo> | they seem pretty straight-forward. (I'm going over a bunch of seemingly useful stuff since I'm nearing the end of my course) |
16:03 | < simontwo> | I think they become more useful if the number of classes grow beyond what I've got. |
16:30 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
16:30 | | mode/#code [+o gnolam] by ChanServ |
17:03 | < simontwo> | does mentioning interfaces usually fit into a class diagram, or are they restricted to classes alone? |
17:38 | <@Serah> | Where's Vorn? |
18:26 | | Sy [Syloq@Nightstar-10536.hsd1.or.comcast.net] has joined #code |
18:42 | <@jerith> | Evening, folks. |
19:50 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Connection reset by peer] |
19:51 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
20:20 | <@McMartin> | TW: Appending to an MD5 and re-MD5ing sounds like salting, which if done right can be a defense against dictionary attacks. |
20:24 | | Vornicus [~vorn@Admin.Nightstar.Net] has joined #code |
20:24 | | mode/#code [+o Vornicus] by ChanServ |
21:04 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout] |
21:26 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
21:26 | | mode/#code [+o gnolam] by ChanServ |
22:51 | | AnnoDomini [~farkoff@Nightstar-29179.neoplus.adsl.tpnet.pl] has quit [Quit: Oh hai. In teh beginnin Ceiling Cat maded the skiez An da Urfs, but he did not eated it.] |
23:06 | <@McMartin> | Derakon[AFK]: For the record, your bullethell runs full speed inside a Linux VM too. |
23:15 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Ping Timeout] |
23:20 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
23:20 | | mode/#code [+o Attilla] by ChanServ |
--- Log closed Thu Jan 15 00:00:27 2009 |