--- Log opened Sun Aug 09 00:00:31 2009 |
--- Day changed Sun Aug 09 2009 |
00:00 | < Rhamphoryncus> | that looks broken alright :) |
00:01 | < Rhamphoryncus> | TheWatcher: use find to locate files with a inode count of 1, sum their sizes |
00:01 | <@TheWatcher> | Still doesn't help me in this situation |
00:02 | < Rhamphoryncus> | du gives you a maximum size. That'd give you the minimum size. Do you need the exact size? |
00:03 | < McMartin> | du can be confused either way, I think, depending on internal vs. external hardlinking |
00:06 | | GeekSoldier [~Rob@Nightstar-26822.sta.embarqhsd.net] has joined #code |
00:06 | | mode/#code [+o GeekSoldier] by ChanServ |
00:09 | <@TheWatcher> | Rhamph: the directories in question are backup snapshots, backup.0 through to backup.N. Each time a snapshot is taken, backup.1 to backup.N are moved to backup.1 through backup.N+1, then I do a copy backup.0 to backup.1 using cpio to make hardlinks, and then rsync from the machine being backed up to backup.0 The problem here is that while it is trivial to limit N, but I want to limit the /amount of space/ backups occupy. I can work |
00:09 | <@TheWatcher> | out how much rsync is going to send, and if that plus some fudge factor exceeds the space avilable I need to prune back from backup.N (backup.N-1, N-2, etc) until enough space has been freed. |
00:10 | <@Derakon> | ...that animation I posted? It was buggy because I wrote "child.runTerrainCollisionDetection" instead of "child.runTerrainCollisionDetection()". |
00:11 | < Rhamphoryncus> | ahh, so you need to determine how much space is used total, then subtract the last backup from it |
00:11 | <@TheWatcher> | but I can't rely on df as I can't guarantee exclusive drive access, and du takes sodding ages over large amounts of data |
00:12 | <@TheWatcher> | The system I have at the moment works - but it takes nearly 25 minutes to do backups, when I need something closer to 10 or 15 |
00:13 | <@TheWatcher> | I am, however, vaguely pondering setting up something on the backup machine that mounts a drive image via a loop, and then I probably could use df >.> |
00:13 | < Rhamphoryncus> | hrm |
00:14 | < Rhamphoryncus> | so du watches for duplicate hardlinks by default? |
00:15 | < Rhamphoryncus> | (it has a --count-links option to do the opposite, so that must be the default) |
00:15 | < Rhamphoryncus> | That implies the performance issue is traversing the directories, getting their blocks cached into ram |
00:15 | < Rhamphoryncus> | So.. produce an index file |
00:16 | < Rhamphoryncus> | ls -isA backup.0 > backup.0.index |
00:16 | < Rhamphoryncus> | then write a script to total up the sizes |
00:18 | | * Derakon screws up an array slice, causing every object to rapidly hit itself over and over again. |
00:20 | < Rhamphoryncus> | slightly better would be to eliminate the name from that file, then sort it by inode number. Then to summarize you could simultaneously iterate all your indexes |
00:20 | < Rhamphoryncus> | Producing the index becomes O(n) space, but processing becomes O(k) space |
00:23 | <@gnolam> | O(k)? |
00:26 | < Rhamphoryncus> | k=number of backups |
00:26 | | * TheWatcher fingertappity |
00:26 | < Rhamphoryncus> | expected to be much smaller than the number of entries in each backup |
00:27 | <@TheWatcher> | (yeah, there's about a million files per backup...) |
00:27 | <@Derakon> | Amazing how those things proliferate, isn't it? |
00:28 | < Rhamphoryncus> | oh, I should point out that the worst cast for processing without the sorting is O(n*k) |
00:29 | | * TheWatcher ponders |
00:31 | <@TheWatcher> | I'm still not sure how that'd help me though: if I delete backup.N then at most some of the space is removed (files whose hard link count is 1, plus some directory overhead - files with hard link counts > 1 will not be freed, just have the link count decremented). So deleteing backup.N changes the hardlink counts on files in backup.<N, so I'd need to work out which files in backup.N-1 now have hard link count of 1 to work out how |
00:31 | <@TheWatcher> | much would be freed by deleting that, and so on, surely. |
00:32 | < Rhamphoryncus> | Your hardlink count is implied by having duplicate entries across the index files |
00:33 | <@TheWatcher> | Hm |
00:33 | < Rhamphoryncus> | So you iterate the indexes, summarizing the sizes, and ignoring duplicates |
00:34 | <@TheWatcher> | Yeha, I see where you're going now |
00:48 | | You're now known as TheWatcher[T-2] |
00:51 | | You're now known as TheWatcher[zZzZ] |
01:21 | | * TheWatcher[zZzZ] has a eureka moment while in the shower, works out how to make it all work |
01:21 | <@TheWatcher[zZzZ]> | Doesn't use your suggestion, alas, Rhamph, but thanks for the advice - thinking over it helped a lot |
01:22 | <@TheWatcher[zZzZ]> | now, slep! |
01:22 | < McMartin> | Do explain when you get the chance; I'm curious |
01:22 | < Rhamphoryncus> | yes please :) |
01:23 | < McMartin> | However, given that it's, what, 2:30 AM where you are, it can wait. |
02:16 | <@Derakon> | Okay, that seems to be working decently. |
02:47 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?] |
03:18 | | * Derakon adds a health counter to the player, which decrements when the player is hit by an enemy and causes the player to get deallocated when it runs out. |
03:18 | <@Derakon> | There's even a bit of text telling you how much health you have left! |
03:19 | < McMartin> | DEALLOCATE |
03:19 | < McMartin> | DEALLOCATE |
03:19 | <@Derakon> | Now I just need to add flinching on contact, and maybe a game over screen or something. |
03:19 | <@Derakon> | And...some Daleks? |
03:19 | < McMartin> | That said, it seems like it shouldn't be deallocation but some custom kill() code. |
03:19 | < McMartin> | Since most objects you defeat shouldn't vanish from the heap until you're through animating their explosion/modifying score/dropping minor powerups/etc. |
03:19 | <@Derakon> | Well, actually, the player doesn't get deallocated because there's a separate pointer hanging around in the "game" namespace just for them. |
03:20 | <@Derakon> | But yeah, death code's pretty basic at this point. Plenty of room to complexify it. |
03:35 | <@ToxicFrog> | "In the meantime, however, the player has been deallocated by the heap manager. The game attempts to administer justice to address 0000:0000...bringing the game to its inevitable conclusion. |
03:37 | | Thaqui [~Thaqui@121.98.166.ns-22683] has joined #code |
03:37 | | mode/#code [+o Thaqui] by ChanServ |
03:38 | < McMartin> | Old-school. |
03:39 | < McMartin> | I haven't seen sixteen-bit segmented addresses since 1993. |
03:39 | <@ToxicFrog> | This is a reference to Ultima 8. |
03:39 | <@Thaqui> | Hm? |
03:39 | < McMartin> | That would probably end up counting! |
03:39 | <@ToxicFrog> | Specifically, getting it to crash by doing something the game considers criminal, but dying before Beren can actually punish you for it. |
03:39 | < McMartin> | I thought Pagan never got the Proper Treatment, though. Link? |
03:40 | <@ToxicFrog> | http://it-he.org/ultima8.htm |
03:40 | <@ToxicFrog> | Go to "gallery of absurdities" and grep for "deallocated" |
03:41 | <@ToxicFrog> | "How to be a complete bastard in Pagan |
03:41 | <@ToxicFrog> | The original anti-walkthrough. Avoid the necromancers, sleep through the Zealan ceremony, cheat at your sorcery exams and sacrifice Santa Claus to Baal while under the influence of magic mushrooms." |
03:41 | <@Thaqui> | That's a blast from the past |
03:42 | | * McMartin writes up his tasks for Milestone 5 of his IF. |
03:43 | <@Thaqui> | Sadly Pentagram doesn't seem to have made much progress. |
04:02 | | * Derakon damage-boosts through the wall of the test level. Whups. |
04:03 | <@Derakon> | That's what I get for having a single-ply wall and a boost velocity of 2px less than the wall thickness. |
04:08 | <@Vornicus-Latens> | whups. |
04:10 | | * Consul hunts for a steel nitriding service that might consider talking to an individual. |
04:11 | <@Consul> | Nothing to do with code, I know. |
04:26 | | * Derakon successfully kicks an enemy to death. |
04:26 | <@Derakon> | Mind you, combat is in no way any fun, but it is now possible. |
05:20 | <@Consul> | http://www.youtube.com/watch?v=QOPBShTGMhU -- You know, I really don't see why I couldn't start with a stainless steel bowl from Wal-Mart or Meijer (a local equivalent) and start hammering. |
05:39 | | * McMartin tsks at himself, breaking out some Haskell programming to try to optimize strategies in an SA LP thread. |
05:39 | <@Derakon> | What ga me? |
05:39 | <@Derakon> | s/a m/am/ |
05:40 | < McMartin> | It's a Nim-like game. |
05:40 | < McMartin> | But appears to turn into an RPS-alike instead of being truly solvable. |
06:02 | | Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer] |
06:02 | < Rhamphoryncus> | Derakon: I coulda sworn I mention a concern about going through walls ;) |
06:04 | <@Derakon> | Rhamphoryncus: this has more to do with me giving an object too high of a velocity than it does with objects moving as a result of collisions. |
06:05 | < Rhamphoryncus> | meh :) |
06:05 | < Rhamphoryncus> | It's only an issue because your method of handling collisions has a speed limit |
06:05 | <@Derakon> | The proper way to fix this would be to enforce multi-stage collision detection for fast-moving objects. |
06:05 | <@Derakon> | But for now, just adding a second layer of walls is sufficient. |
06:06 | < Rhamphoryncus> | hee |
06:32 | | * Vornicus-Latens apparently awakens. |
06:32 | <@Vornicus-Latens> | I found myself wondering the other day how many distinct RPS-n games there are. |
06:32 | <@Derakon> | Um...arbitrarily many? |
06:33 | <@Vornicus-Latens> | For a given n. |
06:33 | <@Derakon> | Oh. |
06:34 | <@Derakon> | As in, each move should defeat (n-1)/2 moves and be defeated by (n-1)/2 moves, so how many different directed graphs are there that satisfy that constraint? |
06:34 | <@Vornicus-Latens> | Indeed. |
06:34 | <@Derakon> | For example, R->P->S vs. S->P->R. |
06:34 | <@Vornicus-Latens> | Except that I don't count nodes as distinguishable, so there is only one RPS-3 game. |
06:34 | <@Derakon> | So for n=3, there are 2 such. |
06:34 | | * Derakon nods. |
06:35 | <@Derakon> | Here's an n=5 graph: http://www.samkass.com/theories/RPSSL.html |
06:36 | | * Derakon snerks at the footnote there, which points out that that page has been life, basically unchanged, for eleven years now. |
06:36 | <@Vornicus-Latens> | THere is, I believe, another isonodal n=5 game, and then others that are not isonodal. |
06:37 | <@Derakon> | Isonodal? |
06:37 | <@Vornicus-Latens> | All the nodes are indistinguishable. |
06:38 | <@Vornicus-Latens> | specifically you can reverse the chirality of the star. |
06:39 | <@Vornicus-Latens> | Actually the word is Vertex-transitive. |
07:52 | | Derakon is now known as Derakon[AFK] |
08:19 | | Consul [~Consul__@Nightstar-521.dsl.sfldmi.ameritech.net] has quit [Quit: Leaving] |
09:02 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
09:02 | | mode/#code [+o gnolam] by ChanServ |
10:45 | | You're now known as TheWatcher |
11:12 | | Thaqui [~Thaqui@121.98.166.ns-22683] has quit [Client exited] |
11:27 | | Rhamphoryncus [~rhamph@Nightstar-16476.ed.shawcable.net] has quit [Quit: Rhamphoryncus] |
13:24 | | Namegduf [~namegduf@Nightstar-9056.infra.grepnet.cz] has joined #code |
16:07 | | Syloqs_AFH [~Syloq@Admin.Nightstar.Net] has joined #code |
16:08 | | Syloqs_AFH is now known as Syloqs-AFH |
16:42 | | Consul [~Consul__@Nightstar-521.dsl.sfldmi.ameritech.net] has joined #code |
16:42 | | mode/#code [+o Consul] by ChanServ |
17:22 | | Derakon[AFK] is now known as Derakon |
17:55 | | Rhamphoryncus [~rhamph@Nightstar-16476.ed.shawcable.net] has joined #code |
18:06 | | Syloqs-AFH [~Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer] |
19:01 | | Syloqs_AFH [~Syloq@Admin.Nightstar.Net] has joined #code |
19:02 | | Syloqs_AFH is now known as Syloqs-AFH |
19:36 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Connection reset by substandard wiring.] |
19:41 | | OperatorAbu [~ad@Nightstar-23477.dialup.ice.net] has joined #Code |
19:42 | | * OperatorAbu peers about for gnolams. |
19:44 | < OperatorAbu> | I have successfully infliltrated Sweden, and even now move on to the next phase of my plan. |
19:45 | < Tarinaky> | Idling on the internet? |
19:46 | < OperatorAbu> | I'm actually travelling at high speed on a highway. |
19:46 | < Tarinaky> | Constructing a crysilis(sp?) around yourself and your computer so you can complete your Apothisis into a net-troll and destroy first sweeden and then - THE WORLD! |
19:48 | < OperatorAbu> | Traveling to gnolam's house. Then, I will unload upon him the requested five litres of cheap vodka, and probably raid his fridge for something nonalcoholic to drink. |
19:48 | < OperatorAbu> | Over the space of five hours, I've drunk an ice slush, two teas, a smoothie, an orange soda and orange juice, and I'm still thirsty. |
19:48 | < OperatorAbu> | I expected Sweden to be much colder. |
19:49 | < OperatorAbu> | This is, to me, proof of global warming. |
19:49 | < OperatorAbu> | I must visit the polar icecaps next year. |
19:49 | < Tarinaky> | It is the summer. |
19:49 | < OperatorAbu> | It's still too hot. |
19:50 | < OperatorAbu> | In the refrigerated interior of this bus, it's pretty comfortable, however. |
19:51 | < OperatorAbu> | I've also found out that Pizza Hut serves chicken that tastes like real chicken. |
20:04 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
20:04 | | mode/#code [+o gnolam] by ChanServ |
20:05 | < OperatorAbu> | HELLO, MY SOON-TO-BE HOST. |
20:05 | <@gnolam> | Oh, you've showed. :) |
20:06 | <@gnolam> | Where are you now? |
20:06 | < OperatorAbu> | In a bus. |
20:07 | < OperatorAbu> | I'll be in Linkoping in some two hours. |
20:11 | < OperatorAbu> | It's amazing how far you can go with a couple of grunts and a mispronounced noun. People just fill out the blanks, and it kinda all works out. |
20:11 | < OperatorAbu> | Also, gnolam - is it just me, or is the train fare free of charge on Sundays? |
20:12 | <@gnolam> | ... it's just you. |
20:14 | < OperatorAbu> | Well, I bought the tickets, but nobody checked on the ride from Nynashamn to Stockholm C! |
20:14 | < OperatorAbu> | I still have those tickets, unspoiled. |
20:16 | | * gnolam shrugs. |
20:16 | <@gnolam> | It happens. |
20:17 | < Tarinaky> | The time you don't pay is the time you get caught. |
20:17 | < OperatorAbu> | No, no, the safe way is to keep unspoiled tickets every time. Since control doesn't happen every time, you are going at a reduced charge in the long run. |
20:18 | < OperatorAbu> | Of course, I don't know if these tickets have a best-before date. |
20:18 | < Tarinaky> | They do over here. |
20:18 | < Tarinaky> | I expect they do there. |
20:18 | < OperatorAbu> | It could be rather suspicious to have tickets from three years past for your face. |
20:18 | < OperatorAbu> | *fare |
20:19 | < Tarinaky> | And they're normally only good for a particular to/from so you need to be going in the same direction on two occasions. |
20:19 | < Tarinaky> | Which isn't terribly useful. |
20:20 | < OperatorAbu> | As a regular commute, it is useful. |
20:21 | < Tarinaky> | On a Sunday? |
20:21 | < OperatorAbu> | What has Sunday to do with this? |
20:21 | < Tarinaky> | Regular commute hours are the times when you're most likely to get checked. |
20:21 | < OperatorAbu> | Hey, people work on Sundays. |
20:22 | < Tarinaky> | I guess. |
20:22 | < Tarinaky> | But it's not terribly useful to you. |
20:22 | < Tarinaky> | From what I understand at least. |
20:25 | < OperatorAbu> | Given that I live in Sweden, no. |
20:34 | < Tarinaky> | Not Poland anymore? |
20:36 | < OperatorAbu> | +don't |
20:36 | < OperatorAbu> | I must be hungry. |
20:37 | < Tarinaky> | ah. |
20:42 | < OperatorAbu> | I am amazed at the sheer amount of, uh, ethnicities in Stockholm. |
20:43 | < OperatorAbu> | How many native Swedes actually live there, gnolam? |
20:43 | < OperatorAbu> | :> |
20:52 | < OperatorAbu> | Also, do you have non-alcoholic drinks in the house? Tea? |
20:52 | < OperatorAbu> | The Swedish heat has parched me. |
20:56 | | GeekSoldier [~Rob@Nightstar-26822.sta.embarqhsd.net] has quit [Quit: Praise "BOB"!] |
21:01 | <@gnolam> | OperatorAbu: Just wait till you get to Ryd then. :) |
21:01 | < OperatorAbu> | ;_; |
21:02 | <@gnolam> | OperatorAbu: Plain old water, tea, coffee, milk, coke. |
21:02 | | Rhamphoryncus [~rhamph@Nightstar-16476.ed.shawcable.net] has quit [Quit: Rhamphoryncus] |
21:05 | < OperatorAbu> | It'll do, I think. |
21:29 | | Derakon is now known as Derakon[AFK] |
21:29 | < OperatorAbu> | I need a new pocket knife and a new hat. |
21:34 | <@gnolam> | Do I want to know why? |
21:35 | < OperatorAbu> | Because my usual pocket knife violates Norwegian law, and I forgot my usual hat. |
21:42 | < OperatorAbu> | Well, I better get going and pack up my stuff. We've just got off the highway. |
21:42 | | OperatorAbu [~ad@Nightstar-23477.dialup.ice.net] has left #Code [] |
22:36 | | Namegduf [~namegduf@Nightstar-9056.infra.grepnet.cz] has quit [Client exited] |
23:05 | | Netsplit Blargh.CA.US.Nightstar.Net <-> Troika.TX.US.Nightstar.Net quits: @Myst, Syloqs-AFH, @Attilla, @MyCatVerbs, @Reiver, @ToxicFrog, Tarinaky, SmithKurosaki, @Derakon[AFK], @Vornicus-Latens, (+3 more, use /NETSPLIT to show all of them) |
23:22 | | Netsplit over, joins: Chalain, jerith, Reiver, MyCatVerbs, Derakon[AFK], SmithKurosaki, ToxicFrog, McMartin, Tarinaky, Vornicus-Latens (+3 more) |
23:22 | | mode/#code [+o TheWatcher] by ChanServ |
23:22 | | mode/#code [+o Consul] by ChanServ |
23:22 | | mode/#code [+o gnolam] by ChanServ |
--- Log closed Mon Aug 10 00:00:00 2009 |