*** Logfile started *** on Tue Jan 18 12:51:47 2011 [Tuesday, January 18, 2011] [12:51:47 pm] Join You have joined the channel #parpg-code (~george@112.112-113-64.ftth.swbr.surewest.net). [Tuesday, January 18, 2011] [12:51:47 pm] Mode Channel modes: no messages from outside, secret [Tuesday, January 18, 2011] [12:51:47 pm] Created This channel was created on 01/18/11 12:51 pm. [Tuesday, January 18, 2011] [12:51:49 pm] Join aspidites has joined this channel (~edwin@173-16-246-144.client.mchsi.com). [Tuesday, January 18, 2011] [12:52:04 pm] ha, creaetd 4 min. ago [Tuesday, January 18, 2011] [12:52:11 pm] I guess we'll post a summary later? [Tuesday, January 18, 2011] [12:54:47 pm] Nick You are now known as Technomage|AFK. [Tuesday, January 18, 2011] [12:56:56 pm] well this conversation took off [Tuesday, January 18, 2011] [12:58:28 pm] Technomage|AFK: ok, aspidites: yep [Tuesday, January 18, 2011] [12:58:33 pm] Totally. [Tuesday, January 18, 2011] [12:59:04 pm] KB1PKL: are you a programmer too? [Tuesday, January 18, 2011] [12:59:28 pm] I'd like to repropose my implementation again: http://parpg.pastebin.com/TZaYtkza [Tuesday, January 18, 2011] [12:59:30 pm] Taldor: are you just going to port whatever statistics module you made for your game here? [Tuesday, January 18, 2011] [12:59:57 pm] Taldor: its documented already in the wiki, but incomplete [Tuesday, January 18, 2011] [01:00:16 pm] Yep. [Tuesday, January 18, 2011] [01:00:33 pm] http://wiki.parpg.net/Programming:Idea_dump#Statistics [Tuesday, January 18, 2011] [01:00:46 pm] Programmer/graphics hybrid, OK at both, good at neither ;-) [Tuesday, January 18, 2011] [01:00:59 pm] Though I'm getting there with programming, just need more experience [Tuesday, January 18, 2011] [01:01:05 pm] doesn't work though [Tuesday, January 18, 2011] [01:01:28 pm] http://radakan.svn.sourceforge.net/viewvc/radakan/trunk/client/core/skills/ [Tuesday, January 18, 2011] [01:01:34 pm] Nick You are now known as Technomage. [Tuesday, January 18, 2011] [01:02:00 pm] perhaps that should be added to the wiki Taldor . i'm reading right now, myself [Tuesday, January 18, 2011] [01:02:25 pm] aspidites: it's not 100% suited for parpg [Tuesday, January 18, 2011] [01:02:28 pm] Taldor: I guess I want to see what the api is going to be like, a full example [Tuesday, January 18, 2011] [01:02:47 pm] Not sure I fully understand the function of the STatisticsLevel class [Tuesday, January 18, 2011] [01:03:05 pm] Technomage: you could svn his code and grep for "from skill" [Tuesday, January 18, 2011] [01:03:22 pm] would be great if he could paste bin a full usecase though :) [Tuesday, January 18, 2011] [01:03:41 pm] Here's what I understand from our converstation: [Tuesday, January 18, 2011] [01:03:49 pm] From what I could tell, it was so that you could implement things like temporary stat boosts easily. [Tuesday, January 18, 2011] [01:04:15 pm] As well as the XP bonuses, but I don't know. [Tuesday, January 18, 2011] [01:04:17 pm] yeah. seemed to be operator overloading. eg str += modifier. [Tuesday, January 18, 2011] [01:04:23 pm] The Statistics calss will be a general factory for objects that store global state related to a particular statistic [Tuesday, January 18, 2011] [01:04:25 pm] statisticslevel is a class that represents the level of one of the skills of an character [Tuesday, January 18, 2011] [01:05:03 pm] it mimicks a number (the skill value), but has additional methods for experience and temporary buffers [Tuesday, January 18, 2011] [01:05:44 pm] So "experience" is the progress towards the next level? Sorry I haven't read all of zenbitz's ideas on the subject. [Tuesday, January 18, 2011] [01:05:56 pm] I know zenbit doesn't want to have varialbe main statistics, but this way we can use the same classes for both primary and secondary stats [Tuesday, January 18, 2011] [01:06:34 pm] My undertsanding was that secondary stats are derived from primary stats, so therefore they wouldn't be variable either [Tuesday, January 18, 2011] [01:07:09 pm] Technomage: i thought those secondary stats would initially be derived from the primary stats [Tuesday, January 18, 2011] [01:08:08 pm] I think we might be having a miscommunication problem here. I thnk that there is a difference between "skills" and "stats", based on reading http://wiki.parpg.net/Character_generation_and_stats. [Tuesday, January 18, 2011] [01:08:52 pm] ok, whenever I said skill, I mean stat [Tuesday, January 18, 2011] [01:09:10 pm] skills have their initial value based on the character stats, but skills raise over time though experience, right? - that is correct Taldor [Tuesday, January 18, 2011] [01:09:46 pm] Okay, I get you now. But then your class should really be called "SkillLevel", not "StatisticsLevel" [Tuesday, January 18, 2011] [01:10:17 pm] But you're thinking that you could use the class for both skills and stats? [Tuesday, January 18, 2011] [01:10:46 pm] Technomage: they can be used for primary stats, secondary stats and skills [Tuesday, January 18, 2011] [01:11:21 pm] what's the difference between secondary stats and skills? :-S [Tuesday, January 18, 2011] [01:11:37 pm] Hmm, I'm thinking that a class hierarchy would be a better approach instead of a generalized class [Tuesday, January 18, 2011] [01:11:53 pm] Technomage: agreed [Tuesday, January 18, 2011] [01:12:05 pm] generalizations have me thinking of isinstance etc...yuck [Tuesday, January 18, 2011] [01:12:31 pm] I believe secondary stats are immutable, like primary stats, but their level depends upon the level of primary stats [Tuesday, January 18, 2011] [01:12:42 pm] neither class hierarchies, nor isinstance operators are necessary [Tuesday, January 18, 2011] [01:12:46 pm] zenbitz just confirmed that. [Tuesday, January 18, 2011] [01:12:58 pm] skills are trainable and depend on both primary and secondary stats [Tuesday, January 18, 2011] [01:13:01 pm] i do like the idea of a custom number type with overloaded operators and specific methods is clever [Tuesday, January 18, 2011] [01:13:39 pm] Maybe, but too much magic might obscure things [Tuesday, January 18, 2011] [01:14:01 pm] I do like your general approach though Taldor [Tuesday, January 18, 2011] [01:15:19 pm] hmm [Tuesday, January 18, 2011] [01:15:23 pm] So maybe something like this: CharacterAttribute is an abstract base class, CharacterStatistic derives from CharacterAttribute, as does CharacterSkill [Tuesday, January 18, 2011] [01:15:39 pm] Technomage: why do you want to use inheritance here? [Tuesday, January 18, 2011] [01:15:48 pm] Then specialize CharacterStatistic into Primary and Secondary [Tuesday, January 18, 2011] [01:15:58 pm] Because I'm an inheritance junky :p [Tuesday, January 18, 2011] [01:16:08 pm] Technomage: it's a bad habit [Tuesday, January 18, 2011] [01:16:10 pm] really :-p [Tuesday, January 18, 2011] [01:16:21 pm] Haha, well alright what's your proposal? [Tuesday, January 18, 2011] [01:16:24 pm] so is abiguity [Tuesday, January 18, 2011] [01:17:46 pm] Technomage: we make a stat attribute, which has methods for temporary modifiers - if temporary modifiers are not necessary we could use plain numbers [Tuesday, January 18, 2011] [01:18:27 pm] ambiguity* [Tuesday, January 18, 2011] [01:18:38 pm] As in: add a statistics attribute to the character class? [Tuesday, January 18, 2011] [01:18:55 pm] yes [Tuesday, January 18, 2011] [01:19:28 pm] we make a Skill and SkillLevel class and base those on SkillLevel on Stat, when we need temporary modifiers [Tuesday, January 18, 2011] [01:20:10 pm] Lets get a pastebin running so that we can put some code down [Tuesday, January 18, 2011] [01:20:18 pm] sorry for messing up the terminology earlier, I was still confudes by the different terminology from my previous project [Tuesday, January 18, 2011] [01:20:44 pm] Yup, its understandable [Tuesday, January 18, 2011] [01:20:47 pm] Quit aspidites has left this server (Quit: WeeChat 0.3.4). [Tuesday, January 18, 2011] [01:21:57 pm] But how do we deal with statistics then? Skills and statistics are only generally related, at least in my mind [Tuesday, January 18, 2011] [01:22:28 pm] Technomage: I need to know first if we need temporary modifiers [Tuesday, January 18, 2011] [01:22:49 pm] I think we should keep it as flexible as possible at this point [Tuesday, January 18, 2011] [01:23:34 pm] Yep. [Tuesday, January 18, 2011] [01:24:24 pm] zenbitz: can primary and/or secondary stats and/or skills get temporary modifiers? - zenbitz: can primary and/or secondary stats and/or skills get temporary modifiers? [Tuesday, January 18, 2011] [01:25:25 pm] absolutley - see "wounding and damage" for example [Tuesday, January 18, 2011] [01:27:38 pm] now I think of it, to keep track of names and explanation, there's no difference between skills and stats, so we could use one class for them... [Tuesday, January 18, 2011] [01:27:39 pm] lemme draw an uml-like diagram [Tuesday, January 18, 2011] [01:32:28 pm] http://imagebin.org/133299 [Tuesday, January 18, 2011] [01:33:38 pm] Cool, I'll look it over [Tuesday, January 18, 2011] [01:33:46 pm] Here's what I was thinking of: http://parpg.pastebin.com/iWKXQdmQ [Tuesday, January 18, 2011] [01:35:55 pm] Hmm, I'm just not sure that stats and skills are closely related enough to be involed in inheritance [Tuesday, January 18, 2011] [01:36:48 pm] Technomage: they are both character describing variables [Tuesday, January 18, 2011] [01:37:18 pm] That is true, but that describes a common ancestor, not direct inheritance [Tuesday, January 18, 2011] [01:37:50 pm] For instance, skills have a concept of experience, stats do not [Tuesday, January 18, 2011] [01:37:54 pm] to me a skill looks like a stat with experience [Tuesday, January 18, 2011] [01:38:06 pm] That's possible [Tuesday, January 18, 2011] [01:38:31 pm] Yes, I see what you mean [Tuesday, January 18, 2011] [01:38:54 pm] So the question is: do stats have anything that skills do not? [Tuesday, January 18, 2011] [01:39:34 pm] certainly primary stats do not [Tuesday, January 18, 2011] [01:40:09 pm] I can't think of anything either. So I guess it makes sense to derive skills from primary stats [Tuesday, January 18, 2011] [01:40:41 pm] So would secondary stats be a sibling to skills then? [Tuesday, January 18, 2011] [01:41:17 pm] your approach to derive secondary statistics is interesting, but I'm not sure will be usefull, compared to calculating each secondary stat durig character creation [Tuesday, January 18, 2011] [01:41:51 pm] So have the secondary statistics calculatations seperate from the class? [Tuesday, January 18, 2011] [01:42:02 pm] yes [Tuesday, January 18, 2011] [01:42:33 pm] I'd keep a separate list for calculating secondary stats [Tuesday, January 18, 2011] [01:42:47 pm] I can see that working. We can factor that funcitonality into the character class, or even a seperate StatisticsManager class [Tuesday, January 18, 2011] [01:42:47 pm] * secondary stat levels [Tuesday, January 18, 2011] [01:43:15 pm] Technomage: shouldn't it be part of the character creation module? [Tuesday, January 18, 2011] [01:43:47 pm] Well for flexibility I'd like to keep all statistics-related functionality in its own module. [Tuesday, January 18, 2011] [01:43:52 pm] ok [Tuesday, January 18, 2011] [01:44:15 pm] Who knows. The scripting system might need to mess with secondary stats [Tuesday, January 18, 2011] [01:44:26 pm] it shouldn't [Tuesday, January 18, 2011] [01:44:38 pm] and I think our system is flexible enough not to need it [Tuesday, January 18, 2011] [01:44:41 pm] You haven't known zenbitz very long have you? :) [Tuesday, January 18, 2011] [01:44:55 pm] no, haven't [Tuesday, January 18, 2011] [01:45:07 pm] Expect the unexpected! [Tuesday, January 18, 2011] [01:45:12 pm] something I should know about him? (this is will be logged ;-) ) [Tuesday, January 18, 2011] [01:45:14 pm] lol [Tuesday, January 18, 2011] [01:45:15 pm] ok [Tuesday, January 18, 2011] [01:46:04 pm] I'll upload the stat uml image on the wiki, ok? [Tuesday, January 18, 2011] [01:46:17 pm] Alright, want me to write up some quick code that integrates your previous prototype? [Tuesday, January 18, 2011] [01:46:19 pm] Sure [Tuesday, January 18, 2011] [01:46:34 pm] Technomage: that's perfect [Tuesday, January 18, 2011] [01:46:42 pm] http://wiki.parpg.net/Primary_character_stats_implementation [Tuesday, January 18, 2011] [01:47:15 pm] err: http://wiki.parpg.net/Primary_stats_implementation [Tuesday, January 18, 2011] [01:47:49 pm] Technomage: shouldn't we move it to Stats_implementation ? [Tuesday, January 18, 2011] [01:48:36 pm] That's a good point. Originally we wanted to focus on primary stats only for techdemo2, but they are so closely related that I don't think that's reasonable [Tuesday, January 18, 2011] [01:48:48 pm] yeah [Tuesday, January 18, 2011] [01:51:31 pm] zenbitz: should the stats and skill only use whole numbers in the gui, or also in the calculations? (I favor the former) - you may use floating point [Tuesday, January 18, 2011] [01:52:22 pm] We so round the skill/stat level? [Tuesday, January 18, 2011] [01:52:35 pm] So we rather [Tuesday, January 18, 2011] [01:52:44 pm] Ceiling or the floor... [Tuesday, January 18, 2011] [01:52:52 pm] round() ! [Tuesday, January 18, 2011] [01:52:53 pm] Floor, of course. [Tuesday, January 18, 2011] [01:53:07 pm] 0.499 down, 0.5 up [Tuesday, January 18, 2011] [01:53:17 pm] I like round() as well, though this is a question for zenbitz [Tuesday, January 18, 2011] [01:53:29 pm] If round() is used, then they might think they have a skill of 80 to to this task, when they actually only have 79.6 [Tuesday, January 18, 2011] [01:53:59 pm] Maybe we don't want to use integers for representation then. [Tuesday, January 18, 2011] [01:54:10 pm] Just round to the nearest tenth [Tuesday, January 18, 2011] [01:54:14 pm] KB1PKL: I think we shouldn't display the necessary skill [Tuesday, January 18, 2011] [01:54:37 pm] Elaborate? [Tuesday, January 18, 2011] [01:54:54 pm] so skill level should only be displayed in the stats-screen [Tuesday, January 18, 2011] [01:55:37 pm] Not like Fallout-style "have/needed" skill? [Tuesday, January 18, 2011] [01:55:38 pm] Oh i see. So experience keeps track of in-between levels, and levels are displayed seperately as floor(experience) [Tuesday, January 18, 2011] [01:55:49 pm] ? [Tuesday, January 18, 2011] [01:57:19 pm] I like that idea. [Tuesday, January 18, 2011] [01:57:26 pm] well the rounding mode is an implementation detail imo [Tuesday, January 18, 2011] [01:57:36 pm] we should check with zenbit [Tuesday, January 18, 2011] [01:57:41 pm] z [Tuesday, January 18, 2011] [01:57:44 pm] brb [Tuesday, January 18, 2011] [01:57:49 pm] Yup, just trying to understand the division between experience and level [Tuesday, January 18, 2011] [02:00:04 pm] Technomage: experience can become infinite, but level cannot [Tuesday, January 18, 2011] [02:00:17 pm] a skill level can't be higher than 100 [Tuesday, January 18, 2011] [02:01:08 pm] Ok, but I take it that level is porportional to experience (up to 100)? [Tuesday, January 18, 2011] [02:02:08 pm] it's not proportional, for every skill level, the required additional experience is higher [Tuesday, January 18, 2011] [02:02:30 pm] Yep. [Tuesday, January 18, 2011] [02:02:41 pm] reaching average skill is easy (little experience required) [Tuesday, January 18, 2011] [02:02:51 pm] Ah I see, that's your algorithm in __float__ [Tuesday, January 18, 2011] [02:02:52 pm] level 1 takes 10 exp, 2 takes 20, 3 takes 30, etc. [Tuesday, January 18, 2011] [02:03:05 pm] Or however zenbitz decides it to be. [Tuesday, January 18, 2011] [02:03:24 pm] Yup, think I'll factor that out into its own method for easy adjustment [Tuesday, January 18, 2011] [02:04:48 pm] http://www.wolframalpha.com/input/?i=plot+y+%3D+100+%2F+%281+%2B+1+%2F+x%29%2C+x%3D0..7 [Tuesday, January 18, 2011] [02:04:56 pm] x = experience, y = level [Tuesday, January 18, 2011] [02:13:46 pm] Alright, how does this look: http://parpg.pastebin.com/XLQbk27j ? [Tuesday, January 18, 2011] [02:14:32 pm] I refactored the min, max and experience_modifier into the Skill and Statistic classes, since I would assume that the min and max would be the same for all characters. [Tuesday, January 18, 2011] [02:15:18 pm] Could allow an override of these static constants in the StatisticLevel and SkillLevel classes [Tuesday, January 18, 2011] [02:15:30 pm] Technomage: the experience modifier is 1 for all skills [Tuesday, January 18, 2011] [02:15:42 pm] it's meant for a game with multiple races [Tuesday, January 18, 2011] [02:16:07 pm] Taldor: You don't know that ;-) We're still very early in mechanics. [Tuesday, January 18, 2011] [02:16:23 pm] Sorry, I think I renamed your experience_gain class variable [Tuesday, January 18, 2011] [02:16:50 pm] I thought experience_modifier was more descriptive, did I misinterpret its intent? [Tuesday, January 18, 2011] [02:17:31 pm] Technomage: it was meant as the basis unit of additional experience [Tuesday, January 18, 2011] [02:18:06 pm] i.e. how much exp a character would gain when doing something minimal training [Tuesday, January 18, 2011] [02:18:10 pm] Ok, that's what I thought. I think zenbitz discussed having some skills harder to train than others [Tuesday, January 18, 2011] [02:18:20 pm] ok [Tuesday, January 18, 2011] [02:18:31 pm] I'll change the default to 1.0 though [Tuesday, January 18, 2011] [02:18:51 pm] Technomage: it should be about 0.01 [Tuesday, January 18, 2011] [02:19:02 pm] Now I'm confused :/ [Tuesday, January 18, 2011] [02:19:12 pm] e.g. 100 small experiences would bring you to the average experience [Tuesday, January 18, 2011] [02:19:48 pm] Hmm, but why rescale it like that? [Tuesday, January 18, 2011] [02:19:53 pm] the average skill is 50, but the average experience is 1 (to make all calculations easy) [Tuesday, January 18, 2011] [02:20:25 pm] Ok, lets develop a use case. [Tuesday, January 18, 2011] [02:21:05 pm] Say we're training crossbow shooting skill, which starts at level 0. [Tuesday, January 18, 2011] [02:21:23 pm] (0 since most people won't know how to fire a crossbow) [Tuesday, January 18, 2011] [02:22:08 pm] Each time the player fires the crossbow we'll give them 1 experience point [Tuesday, January 18, 2011] [02:23:22 pm] If the experience modifier is 0.01, then the player actually gets 1/100 of an experience point if I understand correctly. [Tuesday, January 18, 2011] [02:23:44 pm] yes [Tuesday, January 18, 2011] [02:24:11 pm] what I wanted to do (just different naming): [Tuesday, January 18, 2011] [02:24:24 pm] Hmm, wouldn't this scaling be better reflected in the level calculations instead? [Tuesday, January 18, 2011] [02:24:36 pm] Each time the player fires the crossbow we'll give them the basic experience gain (0.01) [Tuesday, January 18, 2011] [02:25:23 pm] Technomage: it's choosing between two slightly complicated calculations, or one very complicated calculation [Tuesday, January 18, 2011] [02:26:25 pm] I see the experience_modifier as reflecting the difficulty to the skill in question to train, or perhaps how natural the skills is to a particular character [Tuesday, January 18, 2011] [02:27:02 pm] So 1.0 would be average, 0.5 would be a really hard skill, 1.5 would be a really easy skill [Tuesday, January 18, 2011] [02:27:21 pm] that's very artificial imo [Tuesday, January 18, 2011] [02:27:30 pm] Hmm, why? [Tuesday, January 18, 2011] [02:27:35 pm] because all skills have different learning opportunites [Tuesday, January 18, 2011] [02:27:48 pm] not all skills can be trained at the same frequency [Tuesday, January 18, 2011] [02:28:13 pm] Well, presumably zenbitiz would take that into account. We may not even use the modifier, I'm just putting it in because zenbitz said that he might need it [Tuesday, January 18, 2011] [02:28:31 pm] I wouldn't use it until we're certain [Tuesday, January 18, 2011] [02:28:58 pm] The scaling is a different issue [Tuesday, January 18, 2011] [02:29:25 pm] yes [Tuesday, January 18, 2011] [02:30:22 pm] When I call add_experience(1), I would expect 1 experience point to be applied. What you're suggesting, if I'm not mistaken, is that it actually adds 0.01 expierence. Wouldn't add_experience(0.01) be more intutive? [Tuesday, January 18, 2011] [02:31:17 pm] Sorry this is getting really abstract, let me edit the code to show you what I mean [Tuesday, January 18, 2011] [02:31:39 pm] Technomage: no, because the user of the skilllevel class shouldn't worry about how much experience is added precisely, but rather much much experience is added, compared to an average experience gain [Tuesday, January 18, 2011] [02:31:55 pm] it's not abstract for me :-p [Tuesday, January 18, 2011] [02:32:25 pm] Ok, I'm starting to understand what you're saying [Tuesday, January 18, 2011] [02:32:57 pm] So add_experience(1.0) is essentially saying "add an average amount of experience for this skill" [Tuesday, January 18, 2011] [02:33:03 pm] yes [Tuesday, January 18, 2011] [02:33:06 pm] precisely [Tuesday, January 18, 2011] [02:34:27 pm] Hmm, that's an interesting system. I'm thinking in terms of the "traditional" PnP RPG, where you get 1 experience point per kill or something like that [Tuesday, January 18, 2011] [02:34:49 pm] How much exp you get depends on _what_ you kill. [Tuesday, January 18, 2011] [02:35:01 pm] But yeah, close enough ;-) [Tuesday, January 18, 2011] [02:35:18 pm] Well okay, but the point is that there are these imaginary numbers poping up like coins in Mario [Tuesday, January 18, 2011] [02:35:22 pm] PnP use whole numbers because they often use real dices [Tuesday, January 18, 2011] [02:35:45 pm] Heh, well said Technomage. [Tuesday, January 18, 2011] [02:36:23 pm] Technomage: imaginary numbers, where? :-S [Tuesday, January 18, 2011] [02:36:57 pm] Taldor: do you think you could write up/document the system and how it is supposed to work, and how it differs from traditional RPG systems? [Tuesday, January 18, 2011] [02:37:16 pm] I could do that, yes [Tuesday, January 18, 2011] [02:37:28 pm] I'd be rather minimalistic though [Tuesday, January 18, 2011] [02:37:35 pm] Alright, cool. Just want to make sure we're all on the same page [Tuesday, January 18, 2011] [02:37:40 pm] :-) [Tuesday, January 18, 2011] [02:37:52 pm] You can add it to the code proposal [Tuesday, January 18, 2011] [02:38:06 pm] afk for a few minutes [Tuesday, January 18, 2011] [02:38:10 pm] Nick You are now known as Technomage|AFK. [Tuesday, January 18, 2011] [02:48:50 pm] Join barra_home has joined this channel (barra@f055173189.adsl.alicedsl.de). [Tuesday, January 18, 2011] [02:49:09 pm] now I know why I missed the whole discussion :-) [Tuesday, January 18, 2011] [02:49:20 pm] Heh. [Tuesday, January 18, 2011] [02:50:09 pm] I can't grab the log, someone else will have to get it for you. [Tuesday, January 18, 2011] [02:50:14 pm] Let me try somethings... [Tuesday, January 18, 2011] [02:59:32 pm] Nick You are now known as Technomage. [Tuesday, January 18, 2011] [03:00:08 pm] Yeah, not happening. [Tuesday, January 18, 2011] [03:01:18 pm] Let me see if I can grab the logs [Tuesday, January 18, 2011] [03:01:50 pm] got it, where do you want them? [Tuesday, January 18, 2011] [03:02:28 pm] Maybe I'll post them to the idea_dump article [Tuesday, January 18, 2011] [03:05:21 pm] any kind of pastebin will work for me Technomage