Sun Aug 23 16:47:53 2009
[dgd]
Quixadhal@Bloodlines: Yes, that goes back to an old discussion I had ages ago, trying to convince people that all objects in the game universe could be done as containers -- the world, zones, rooms, even tail objects like swords or npc's (they just usually contain nothing).
Sun Aug 23 16:48:33 2009
[dgd]
Aidil@Way of the Force: Way of the force quite uses that.. but then.. it emulates lpmud's everything is a container behavior :)
Sun Aug 23 16:48:57 2009
[dgd]
Quixadhal@Bloodlines: So, if that were true, you could do cute things like allow builders to "get" a room and move it, or have a "soul jar" spell that really does put you inside an object.
Sun Aug 23 16:49:01 2009
[dgd]
Aidil@Way of the Force: but here, the universe is an object. (/obj/space/universe.c)
Sun Aug 23 16:49:51 2009
[dgd]
Aidil@Way of the Force: gurbalib doesn't emulate that behavior, you need to explicitly inherit a container class.
Sun Aug 23 16:50:48 2009
[dgd]
Sorressean@Falcon: aidil: why does fudge and spud's workroom ship in the lib? I just deleted them from my copy, but...
Sun Aug 23 16:51:20 2009
[dgd]
Aidil@Way of the Force: because they were part of the original 0.40 distribution :)
Sun Aug 23 16:51:31 2009
[dgd]
Quixadhal@Bloodlines: You'd just have to make sure that "normal" objects have a very small inventory volume, so people don't try to build apples that can hold boats.
Sun Aug 23 16:52:26 2009
[dgd]
Quixadhal@Bloodlines: Although as long as weight works properly, trying to lift an apple with a boat in it might be its own limiting factor. :)
Sun Aug 23 16:52:42 2009
[dgd]
Aidil@Way of the Force: re: fudge and spud's workrooms, I should at least move them into proper directories :)
Sun Aug 23 16:53:21 2009
[dgd]
Quixadhal@Bloodlines: I think you had an error there Kalinash. some kind of compatibility problem with /std/sexy.c?
Sun Aug 23 16:54:13 2009
[dgd]
Aidil@Way of the Force: one introducing some random noise onto the channel every so often.
Sun Aug 23 16:54:44 2009
[dgd]
Sorressean@Falcon: well, if you want barebones... shipping people's rooms isn't all that barebones. :p I just tossed them cause I didn't see any use in keeping them around.
Sun Aug 23 16:55:13 2009
[dgd]
Quixadhal@Bloodlines: They're handy for examples... gotta have at least one clever workroom somewhere.
Sun Aug 23 16:55:35 2009
[dgd]
Aidil@Way of the Force: It might be nice to model a default workroom after one of those for new wizards.
Sun Aug 23 16:58:08 2009
[dgd]
Quixadhal@Bloodlines: Hmmmm, so I was reading a job posting, and WTF is "whitebox" testing, as opposed to "blackbox" testing? You have your test routine spit out random "I'm doing this" messages vs.... not? I hate buzzwords.
Sun Aug 23 17:02:39 2009
[dgd]
Aidil@Way of the Force: hmm, tried to update 3 copies of gurbalib to the last version from svn but didn't see any issues with warmboot.
Sun Aug 23 17:04:33 2009
[dgd]
Silenus@Dead Souls Dev: for does that have something to do with colors?
Sun Aug 23 17:05:08 2009
[dgd]
Quixadhal@Bloodlines: Nope, it was a QA position.. never heard that term so it's a new (to me) buzzword.
Sun Aug 23 17:05:10 2009
[dgd]
Kalinash@Fire and Ice: is that a real question? white box testing refers to knowing and having acces to the code and behaviors
Sun Aug 23 17:06:20 2009
[dgd]
Silenus@Dead Souls Dev: for a whitebox test do you have to do some form of path coverage?
Sun Aug 23 17:06:44 2009
[dgd]
Quixadhal@Bloodlines: Hmmm, ok. Every place I've worked, either we had a dedicated QA staff which did blackbox testing (since they weren't coders), or the coders did their own "whitebox" testing I guess.
Sun Aug 23 17:06:52 2009
[dgd]
Kalinash@Fire and Ice: yeah, that's usually done... we'll produce specially instrumented 'code coverage' builds
Sun Aug 23 17:07:15 2009
[dgd]
Kalinash@Fire and Ice: you run them under a tool that watches for the markers and produces a report
Sun Aug 23 17:08:10 2009
[dgd]
Kalinash@Fire and Ice: the dev team produces unit tests or regression tests
Sun Aug 23 17:08:28 2009
[dgd]
Kalinash@Fire and Ice: those are supposed to validate all the positive scenarios
Sun Aug 23 17:09:16 2009
[dgd]
Silenus@Dead Souls Dev: i guess the supposition would be that having someone independently do a white box test will weed out the rosy glasses?
Sun Aug 23 17:10:03 2009
[dgd]
Kalinash@Fire and Ice: they can dig into all the edge cases and validate all that handling
Sun Aug 23 17:10:49 2009
[dgd]
Kalinash@Fire and Ice: basically it's just a division of labor.. the devs could do all that work too, but management usually wants them to code new features and fix bugs
Sun Aug 23 17:11:14 2009
[dgd]
Quixadhal@Bloodlines: Makes sense, I still hate buzzwords though. Right up there with TLA's (Three letter acronyms). :)
Sun Aug 23 17:11:59 2009
[dgd]
Silenus@Dead Souls Dev: btw why is regression testing called regression testing?
Sun Aug 23 17:12:02 2009
[dgd]
Quixadhal@Bloodlines: ALL buzzwords. They're all designed to make you feel stupid if you aren't part of the clique that uses them. :)
Sun Aug 23 17:12:51 2009
[dgd]
Silenus@Dead Souls Dev: it would take a lot of time for ppl to express certain ideas
Sun Aug 23 17:12:53 2009
[dgd]
Kalinash@Fire and Ice: regression testing is testing FOR regressions... so when a fix is made the dev runs the automated regression suites and the qa person does more indepth testing to make sure nothing regressed with the fix :)
Sun Aug 23 17:13:16 2009
[dgd]
Silenus@Dead Souls Dev: i always think linear regression when i hear the word regression
Sun Aug 23 17:13:36 2009
[dgd]
Aidil@Way of the Force: the difference between buzzwords and jargon is that buzwords change just to keep the incrowd small.
Sun Aug 23 17:13:53 2009
[dgd]
Aidil@Way of the Force: whereas jargon is actually meant to communicate things so doesn't change needlessly.
Sun Aug 23 17:14:48 2009
[dgd]
Quixadhal@Bloodlines: True, although buzzwords don't really save any time. Either the speaker waits for the audience to finish googling, or they lose the ability to follow after a few and develop the blank nod-and-stare drool.
Sun Aug 23 17:15:51 2009
[dgd]
Aidil@Way of the Force: the 'issue' with buzzwords is that they are in many ways related to fashion, not communications.
Sun Aug 23 17:16:12 2009
[dgd]
Silenus@Dead Souls Dev: i guess whitebox is a pretty old term (maybe) so i guess some ppl might fit it into the jargon category
Sun Aug 23 17:16:33 2009
[dgd]
Aidil@Way of the Force: unless it is to communicate how much more 'uptodate' with current trends the user of said buzzwords is.
Sun Aug 23 17:18:16 2009
[dgd]
Silenus@Dead Souls Dev: which reminds me i probably need to add unit tests and do regression testing once i finialize my compiler/driver specification. :P
Sun Aug 23 17:19:04 2009
[dgd]
Silenus@Dead Souls Dev: probably handy to know when i break something
Sun Aug 23 17:19:56 2009
[dgd]
Kalinash@Fire and Ice: then there is Test Driven Development... where you design everything up front and build tests to validate the design. Then write the code to pass the tests.
Sun Aug 23 17:20:39 2009
[dgd]
Silenus@Dead Souls Dev: my unit interfaces are still a bit too unstable atm
Sun Aug 23 17:21:02 2009
[dgd]
Kalinash@Fire and Ice: yeah, i'm not sure many single person projects would ever use that methodology
Sun Aug 23 17:21:40 2009
[dgd]
Silenus@Dead Souls Dev: i dont want to update my tests as i change things.
Sun Aug 23 17:21:44 2009
[dgd]
Silenus@Dead Souls Dev: but perhaps I just dont know what I am looking at
Sun Aug 23 17:21:46 2009
[dgd]
Quixadhal@Bloodlines: But, isn't that what your playerbase is for? Oh, sorry... was thinking Microsoft for a sec there.
Sun Aug 23 17:21:54 2009
[dgd]
Quixadhal@Bloodlines: Interesting bit of intermud lag just there.....
Sun Aug 23 17:22:58 2009
[dgd]
Silenus@Dead Souls Dev: i guess you dont have as much flexibility to change things
Sun Aug 23 17:24:45 2009
[dgd]
Kalinash@Fire and Ice: I've hard there are groups that do, or have tried it
Sun Aug 23 17:25:17 2009
[dgd]
Kalinash@Fire and Ice: short milestones where you adjust plans and schedules between the milestones
Sun Aug 23 17:25:34 2009
[dgd]
Kalinash@Fire and Ice: it's one of those so-called 'agile' development processes
Sun Aug 23 17:26:04 2009
[dgd]
Kalinash@Fire and Ice: but you still end up with a crunch period before the end of the release, so...
Sun Aug 23 17:26:20 2009
[dgd]
Kalinash@Fire and Ice: that's just new jargon! and not even that new anymore
Sun Aug 23 17:26:35 2009
[dgd]
Kalinash@Fire and Ice: it works better than the cluster#$@% that was my old group :)
Sun Aug 23 17:27:40 2009
[dgd]
Aidil@Way of the Force: point of all those things is feedback loops and ways to formalize and exploit them.
Sun Aug 23 17:27:48 2009
[dgd]
Kalinash@Fire and Ice: but there are some gems in the various methods that you can cherry pick and use to some advantage over the voodoo of the 'classic' methods
Sun Aug 23 17:28:08 2009
[dgd]
Silenus@Dead Souls Dev: i guess the problem with software development methods
Sun Aug 23 17:28:13 2009
[dgd]
Kalinash@Fire and Ice: but in the end, it's still software development
Sun Aug 23 17:28:31 2009
[dgd]
Silenus@Dead Souls Dev: is that alot of ppl market various methods with alot of buzzwords marketing speak
Sun Aug 23 17:28:49 2009
[dgd]
Kalinash@Fire and Ice: and a lot of people run with those as the holy grail
Sun Aug 23 17:28:53 2009
[dgd]
Quixadhal@Bloodlines: I need to stop trying to find a job writing code, and write books about writing code. Obviously, that's where the money is, and publisher deadlines aren't nearly as demanding.
Sun Aug 23 17:28:56 2009
[dgd]
Silenus@Dead Souls Dev: and in reality it obscures which aspects of the process actually
Sun Aug 23 17:29:18 2009
[dgd]
Aidil@Way of the Force: it does show that you aren't uptodate with the latest hot trends!
Sun Aug 23 17:29:37 2009
[dgd]
Kalinash@Fire and Ice: Trendy Software Development! I'm going to market that
Sun Aug 23 17:30:10 2009
[dgd]
Quixadhal@Bloodlines copyrights the TSD acronym so Kalinash will have to pay royalties to use it!
Sun Aug 23 17:30:19 2009
[dgd]
Silenus@Dead Souls Dev: if you are thinking about doing software development professionally are there books that are consider classic
Sun Aug 23 17:30:46 2009
[dgd]
Quixadhal@Bloodlines: The Mythical Man Month is the one that stands out most in my memory.
Sun Aug 23 17:31:11 2009
[dgd]
Silenus@Dead Souls Dev: i use to have that main point something to do with
Sun Aug 23 17:32:14 2009
[dgd]
Aidil@Way of the Force: point is more to ensure you encounter various different methodologies, and regard none of them as a silver bullet
Sun Aug 23 17:32:52 2009
[dgd]
Aidil@Way of the Force: whatever job you'll have will have its own methodologies, usually inspired by whatever was hot at the time someone last bothered to change how things work.
Sun Aug 23 17:34:38 2009
[dgd]
Quixadhal@Bloodlines: Yep, we wombled back and forth over a few years between "never check anything into cvs until it's tested and working" and "always check stuff into cvs, so others can pick it up if you're sick".
Sun Aug 23 17:34:42 2009
[dgd]
Silenus@Dead Souls Dev: i guess given the forest of methodologies out there you need to learn to be flexible.
Sun Aug 23 17:35:13 2009
[dgd]
Quixadhal@Bloodlines: Two perfectly valid views, incompatible with each other. :)
Sun Aug 23 17:38:06 2009
[dgd]
Quixadhal@Bloodlines: Good name for a new MUD: The Second System. (The second system that an architect designs is the most dangerous system he will ever design since he will tend to incorporate all of the additions he originated but did not add (due to the inherent time constraints) to the first system.)
Sun Aug 23 18:23:56 2009
[dgd]
Subversion@Way of the Force: Aidil committed Gurbalib revision 321 to svn://wotf.org/gurbalib : Added 'copy' afun, added auto creation of homedir and default workroom for new wizards and admins
Sun Aug 23 18:35:16 2009
[dgd]
Subversion@Way of the Force: Aidil committed Gurbalib revision 322 to svn://wotf.org/gurbalib : added mkwizdir command, creates wizard home directory with default workroom
Sun Aug 23 18:51:38 2009
[dgd]
Subversion@Way of the Force: Aidil committed Gurbalib revision 323 to svn://wotf.org/gurbalib : Make the copy afun remove a file before writing to it, change the cp command to use the new copy afun
Sun Aug 23 19:04:45 2009
[dgd]
Aidil@Way of the Force: removal of duplicate code.. and an actual update :)
Tue Aug 25 19:25:49 2009
[dgd]
Sorressean@Falcon: I was looking at the skills daemon and was noticing that there are skills defined somewhere, mainly combat/... wasn't sure where those might be located.
Tue Aug 25 19:26:57 2009
[dgd]
Aidil@GurbaDev2: I don't understand your question. you mean where those are being used? or?
Tue Aug 25 19:27:27 2009
[dgd]
Sorressean@Falcon: where they're being added. I want to change them and set up my skills system differently
Tue Aug 25 19:27:46 2009
[dgd]
Sorressean@Falcon: and I'm not getting how skills are even used. like where would player-based skills be stored?
Tue Aug 25 19:29:16 2009
[dgd]
Aidil@GurbaDev2: the skill_d only defines which skills exist, adding/removing skills there is a matter of using the addskill command I suppose.
Tue Aug 25 19:30:18 2009
[dgd]
Sorressean@Falcon: werd. thanks. I'm confused on some of the organization I guess.
Tue Aug 25 19:32:57 2009
[dgd]
Aidil@GurbaDev2: from what I know, the skills system is rather simple, and may need some work :)
Tue Aug 25 19:34:47 2009
[dgd]
Aidil@GurbaDev2: I'd personally want a much more complex system, but, I don't think that would be fitting for this little lib :)
Tue Aug 25 19:35:21 2009
[dgd]
Sorressean@Falcon: yeah. lets people set it up the way they want, anyway
Tue Aug 25 19:38:01 2009
[dgd]
Aidil@GurbaDev2: on way of the force, I use a system with skill groups, where each skill can appear in more then one group. Groups put a limit on the average of all the skills in a group, this limit is lower then the limit for each individual skill. Skill group limits are class determined, but a player has a fair amount of freedom to specialize in things outside their class at the expense of other things.
Tue Aug 25 19:40:00 2009
[dgd]
Aidil@GurbaDev2: ie, a class that isn't good in combat can still specialize in say fencing, but they will end up being very bad in all other forms of combat because the skill group limit will force all other combat related skills to stay way below average.
Tue Aug 25 19:41:12 2009
[dgd]
Sorressean@Falcon: I'm not seeing where the combat/blunt and all that is added. :(
Tue Aug 25 19:41:32 2009
[dgd]
Aidil@GurbaDev2: additionally, classes are not a strict choice, but something you develop with time.
Tue Aug 25 19:42:18 2009
[dgd]
Aidil@GurbaDev2: hmm. the basic skills are defined in the .o file for the skills_d, no idea where the initial skills for a player are being set, but I'd suspect somewhere in the new player procedure.
Tue Aug 25 19:43:34 2009
[dgd]
Aidil@GurbaDev2: but the way to modify them is using the add/remove_skill functions in skill_d, or the addskill command.
Tue Aug 25 19:44:08 2009
[dgd]
Sorressean@Falcon: addskill is broken btw. I'll send a patch later today
Tue Aug 25 19:44:17 2009
[dgd]
Aidil@GurbaDev2: its extremely easy to mess them up since the format is rather strict and not meant for humans to manipulate.
Tue Aug 25 19:55:28 2009
[dgd]
Kalinash@Fire and Ice: the grammar doesn't support it because Dworkin doesn't like it
Tue Aug 25 19:57:19 2009
[dgd]
Sorressean@Falcon: that's almost like american politics... but not quite.
Tue Aug 25 19:57:43 2009
[dgd]
Kalinash@Fire and Ice: when you write a driver you can support c++ style comments :)
Tue Aug 25 19:58:02 2009
[dgd]
Kalinash@Fire and Ice: OR, you can produce a diff to the grammar that supports them
Tue Aug 25 19:58:29 2009
[dgd]
Sorressean@Falcon: I would have no idea how to alter the grammer in something like dgd. I know c/c++, but that's beyond me
Tue Aug 25 19:58:34 2009
[dgd]
Cratylus@Dead Souls Dev: the tragedy here is that some people can't be satisfied with anything
Tue Aug 25 19:58:55 2009
[dgd]
Cratylus@Dead Souls Dev: so dropping one codebase in favor of another does nothing but antagonize the people using the new codebase
Tue Aug 25 19:59:15 2009
[dgd]
Sorressean@Falcon: crat, what are you complaining about? I'm confused.
Tue Aug 25 19:59:31 2009
[dgd]
Sorressean@Falcon: and :nods... I'll have to look at it and see how easy the change would be
Tue Aug 25 20:00:04 2009
[dgd]
Kalinash@Fire and Ice: i should have said lex... the comment stripping happens in the lexer
Tue Aug 25 20:04:25 2009
[dgd]
Aidil@GurbaDev2: heh. Dworkin builds dgd, so if he likes something or not is relevant, regardless of how much we agree or disagree :)
Tue Aug 25 20:04:50 2009
[dgd]
Aidil@GurbaDev2: I think Quixadhal has a patch to the driver around that adds support for c++ style (//) comments.
Tue Aug 25 20:05:06 2009
[dgd]
Aidil@GurbaDev2: I think Dworkin's site even has an older patch around that should still work.
Tue Aug 25 20:05:43 2009
[dgd]
Aidil@GurbaDev2: no time for that now, but maybe I'll look into adding it to the gurba distribution later as an optional thing.
Tue Aug 25 20:06:20 2009
[dgd]
Aidil@GurbaDev2: gurbalib also works on a completely unpatched version of dgd, so it cannot use // comments in the lib. But what you do on your own mud is a different thing :)
Tue Aug 25 20:10:23 2009
[dgd]
Aidil@GurbaDev2: hmm. anyone interested in an increase to the max array limit? I've been playing around for a while now with a version that allows setting max array size to 2^31, which is way too large to be practical, but 256k seems quite useful, and, provided you don't do some silly things, the performance impact isn't that huge.
Tue Aug 25 20:14:57 2009
[dgd]
Sorressean@Falcon nods, that's cool with the comment thing. I'll see if I can hunt down the patch. I have a quick question if someone wouldn't mind: Is there a way to do a partial match on a string with dgd? for example, if someone types skills combat/offensive I want to show combat/offensive and all skills under that.
Tue Aug 25 20:15:56 2009
[dgd]
Aidil@GurbaDev2: if it doesn't, there is a much more complex beast called parse_string
Tue Aug 25 20:19:13 2009
[dgd]
Sorressean@Falcon: I'm not seeing how this helps. if I send combat/ as my str, and the other strings as my arg like combat/offensive it doesn't match
Tue Aug 25 20:21:54 2009
[dgd]
Sorressean@Falcon: still doesn't look like you can match. I always used scanf to get input.
Tue Aug 25 20:23:40 2009
[dgd]
Aidil@GurbaDev2: which can do regexp matching, but requires you to write a grammar. Not really difficult once you get your head around it, but somewhat intimidating at first for sure.
Tue Aug 25 20:24:01 2009
[dgd]
Aidil@GurbaDev2: from the root of your gurbalib install, look in doc/parser
Tue Aug 25 20:24:26 2009
[dgd]
Sorressean@Falcon: will do, thanks. I got the syntax for the scanf thing, took me a bit. ends up looking like
Tue Aug 25 20:24:34 2009
[dgd]
Aidil@GurbaDev2: an example of a command using it is the 'color' command.
Tue Aug 25 20:25:29 2009
[dgd]
Sorressean@Falcon: awesome. I'll add that to my notes. I'll probably need it eventually
Tue Aug 25 20:25:48 2009
[dgd]
Aidil@GurbaDev2: btw, you might someday want to look at modifying the whole color/ansi stuff to be able to send things to a screenreader that it can trigger on.
Tue Aug 25 20:26:19 2009
[dgd]
Sorressean@Falcon: reader won't read colors. if someone wants to do that they can write color-recognizing triggers or something from their client.
Tue Aug 25 20:26:28 2009
[dgd]
Aidil@GurbaDev2: well, most screenreaders have a buffer because they can receive text much faster then they can speak it.
Tue Aug 25 20:26:38 2009
[dgd]
Sorressean@Falcon: set the colors, then write the trigs to parse the text and trigger on color too.
Tue Aug 25 20:26:53 2009
[dgd]
Aidil@GurbaDev2: colors are used to indicate specific things, such as descriptions, or combat messages.
Tue Aug 25 20:26:54 2009
[dgd]
Sorressean@Falcon: well, yeah. depending on the rate of speed. mine goes at 95, it's no speedreader, but I keep up easily enough
Tue Aug 25 20:27:42 2009
[dgd]
Aidil@GurbaDev2: in time constrained things like combat, making your screenreader discard its buffer on important combat messages may prove useful.
Tue Aug 25 20:28:07 2009
[dgd]
Sorressean@Falcon: you'd do that from the client. it's a matter of writing gags.
Tue Aug 25 20:28:27 2009
[dgd]
Aidil@GurbaDev2: at least, I know that blind players on way of the force use this (together with a special object that allows creating the proper triggers)
Tue Aug 25 20:29:04 2009
[dgd]
Aidil@GurbaDev2: that will make that you won't see the text. What this does is have the mud help your client knowing which messages are more important
Tue Aug 25 20:29:51 2009
[dgd]
Aidil@GurbaDev2: it is a way to ensure the client knows how to respond beyond triggering on more or less random text that might be changed at the admins wim.
Tue Aug 25 20:30:29 2009
[dgd]
Sorressean@Falcon: I kind of see what your saying, but it doesn't make sense. If they trigger on color and message they can easily gag out messages that aren't needed, no?
Tue Aug 25 20:31:24 2009
[dgd]
Aidil@GurbaDev2: the point is, colors are generated based on specific in-game facts, such as: the current message is the description of an object. You can use that exact same system to send other things then colors. Things specifically meant for a client to trigger on.
Tue Aug 25 20:32:05 2009
[dgd]
Sorressean@Falcon: so you could send like [desc]blabla[/desc] so they could match or gag things out.
Tue Aug 25 20:32:14 2009
[dgd]
Aidil@GurbaDev2: the 'color' system is just the vehicle you'd use for that. colors themselves obviously are not meaningful, but the way the system decides on using them is very generic, and can be used something else.
Tue Aug 25 20:32:16 2009
[dgd]
Sorressean@Falcon: then you could change messages as you felt was needed.
Tue Aug 25 20:33:29 2009
[dgd]
Sorressean@Falcon: thanks. I'll implament that at some point in the future when I start getting everything defined.
Tue Aug 25 20:40:50 2009
[dgd]
Sorressean@Falcon: ok. so I have skills full showing all skills in game and other args showing filters on the player skills. how would one go about doing something like figuring out if the player used skills full combat/offensive?
Tue Aug 25 20:43:15 2009
[dgd]
Aidil@GurbaDev2: skill isn't the same as abbility, ie, there isn't a specific command the player gives to use a skill. rather, an item like a sword requires the player to have certain skills, and will make use of them.
Tue Aug 25 20:44:07 2009
[dgd]
Sorressean@Falcon: I'm just trying to make the output more user friendly. Was trying to figure out how to parse out "full" from the filter if they wanted to do something like skills full combat/offensive to see what all combat/offensive skills are
Tue Aug 25 20:44:54 2009
[dgd]
Aidil@GurbaDev2: ah. well, you'd probably write a seperate sscanf expresion for that..
Tue Aug 25 20:45:14 2009
[dgd]
Sorressean@Falcon: but you'd need to somehow separate full from the filter, no?
Tue Aug 25 20:47:07 2009
[dgd]
Aidil@GurbaDev2: I'd say something like if( sscanf( str, "full %s", what ) == 1 ) woud do the trick, and lets you know what they typed after 'full' (it is put in the 'what' variable)
Tue Aug 25 20:48:23 2009
[dgd]
Sorressean@Falcon: ooo. baller. I really need more coffee, that should've been obvious. :( thanks
Tue Aug 25 20:50:57 2009
[dgd]
Sorressean@Falcon: hahaha. yeah. I'm half out of it today, maybe it'd wake me up
Tue Aug 25 20:51:59 2009
[dgd]
Sorressean@Falcon: ewahahahaha. ok. I'm sending you patches they might be helpful/add to the lib. got that to work, but I figure others might want something similar to what I wrote.
Tue Aug 25 20:52:50 2009
[dgd]
Aidil@GurbaDev2: who knows :) will look at them when I have time. I'll be rather busy till thursday evening however.
Tue Aug 25 20:53:24 2009
[dgd]
Sorressean@Falcon: werd, no rush. just sending in the hope that they might be helpfull.
Tue Aug 25 20:59:27 2009
[dgd]
Sorressean@Falcon: I'd sit down and write it, but I don't thin kthere's a menu/input thing and you can't just make the changes to the object, would require altering the file as far as I can tell.
Tue Aug 25 20:59:29 2009
[dgd]
Aidil@GurbaDev2: no inmediate plans, but once we have a virtual room/grid system, it is a logical extension.
Tue Aug 25 21:00:14 2009
[dgd]
Aidil@GurbaDev2: yep, it would require altering the file. This is not as difficult as it seems, but isn't trivial either, and hard to make somewhat foolproof.
Tue Aug 25 21:01:22 2009
[dgd]
Aidil@GurbaDev2: in the lpc section on http://wotf.org/downloads there is an example of an object that can parse lpc code into lpc data that you can then modify and convert back into code.
Tue Aug 25 21:01:51 2009
[dgd]
Aidil@GurbaDev2: it is an example of how one can implement function pointer support on dgd without modifying dgd itself.
Tue Aug 25 21:02:46 2009
[dgd]
Aidil@GurbaDev2: it basicly rewrites the lpc code it is fed. but anyway, imho the way to implement an olc system is with virtual rooms and metadata.
Tue Aug 25 21:03:24 2009
[dgd]
Kalinash@Fire and Ice: objects that can modify their own byte code would be awesome!
Tue Aug 25 21:03:26 2009
[dgd]
Sorressean@Falcon: werd. the whole modifying it then modifying it back sounds easy enough. do we have some sort of input reading thing, or a menu or something?
Tue Aug 25 21:03:48 2009
[dgd]
Aidil@GurbaDev2: nope, no menu. there is a way to direct input to your own functions tho.
Tue Aug 25 21:04:20 2009
[dgd]
Aidil@GurbaDev2: look in /std/lib/user.c at the code used for setting up a new character for example.
Tue Aug 25 21:04:31 2009
[dgd]
Sorressean@Falcon: werd. the whole modifying it then modifying it back sounds easy enough. do e have some sort of input reading thing, or a menu or something?
Tue Aug 25 21:04:39 2009
[dgd]
Sorressean@Falcon: well, you'd have to direct and then um, remove that direct, but I think that'd work. that the same thing that's used in user.c?
Tue Aug 25 21:04:59 2009
[dgd]
Sorressean@Falcon: oops, not sure what happened there. sorry for the late echo, and nods. that's what I was looking for: thanks.
Tue Aug 25 21:05:36 2009
[dgd]
Aidil@GurbaDev2: I believe Quixadhal is pondering my earlier challange to write one.. :)
Tue Aug 25 21:05:49 2009
[dgd]
Sorressean@Falcon: yeah. either that or just redit oedit medit or something then you could do like medit mob health and supply health as an arg or for medit mob long you could get input. hey, I might start work on olc
Tue Aug 25 21:06:07 2009
[dgd]
Aidil@GurbaDev2: for now, I'm not very concerned with such things, because there is a lot of low level work for me to do still.
Tue Aug 25 21:06:44 2009
[dgd]
Aidil@GurbaDev2: there are some issues in the networking and security code that need to be solved.
Tue Aug 25 21:07:00 2009
[dgd]
Aidil@GurbaDev2: domain membership doesn't work yet, which needs to be coded :)
Tue Aug 25 21:08:16 2009
[dgd]
Sorressean@Falcon: not sure what that was. I just asked to see if there was something I could play with and possibly help out with by coding.
Tue Aug 25 21:09:10 2009
[dgd]
Aidil@GurbaDev2: and last but not least, currently the lib scales to something in the order of 16384 'programs'. That may sound like a lot, and for many small to medium sized muds it is probably enough, but with my own experiments I'm already running into that limit, and I'd rather want to remove it.
Tue Aug 25 21:09:53 2009
[dgd]
Sorressean@Falcon: hahaha. so it's a limit? that'd be a driver thing wouldn't it?
Tue Aug 25 21:10:20 2009
[dgd]
Aidil@GurbaDev2: it has to do with some code in /kernel/daemons/compiler_d
Tue Aug 25 21:10:47 2009
[dgd]
Aidil@GurbaDev2: it is possible to change the limit by changing the max array size of the driver, but, that doesn't remove the limit :)
Tue Aug 25 21:11:08 2009
[dgd]
Aidil@GurbaDev2: and also, beyond something like 128k, it becomes rather inefficient.
Tue Aug 25 21:11:59 2009
[dgd]
Aidil@GurbaDev2: in terms of how it interacts with dgd's memory management.
Tue Aug 25 21:12:17 2009
[dgd]
Aidil@GurbaDev2: generally, dgd prefers many small objects over a few large ones.
Tue Aug 25 21:12:34 2009
[dgd]
Sorressean@Falcon: nods. makes sense, too. seems like an array table that big would be rather cpu consuming for lookup operations too.
Tue Aug 25 21:13:10 2009
[dgd]
Aidil@GurbaDev2: an array would be, but it uses a mapping, which internally is a hash table.
Tue Aug 25 21:13:35 2009
[dgd]
Aidil@GurbaDev2: so the lookups aren't the main worry. reallocation for size changes however becomes somewhat expensive.
Tue Aug 25 21:14:09 2009
[dgd]
Sorressean@Falcon: yeah. would run in to a lot of thrashing eventually.
Tue Aug 25 21:15:08 2009
[dgd]
Aidil@GurbaDev2: hence, distributing this over multiple smaller mappings, preferably stored in their own objects, makes the thing behave better.
Tue Aug 25 21:15:50 2009
[dgd]
Sorressean@Falcon: sounds rather repedative to me. you'd still have to keep track of what was in what object for referencing it later, or reference every mapping to find it.
Tue Aug 25 21:16:17 2009
[dgd]
Aidil@GurbaDev2: on my 'large' server, it isn't much of a concern, dgd can get plenty of memory and cpu to deal with even larger arrays.
Tue Aug 25 21:16:43 2009
[dgd]
Aidil@GurbaDev2: yep, you would have to keep track of that, or use some deterministic way to know what is where.
Tue Aug 25 21:16:59 2009
[dgd]
Sorressean@Falcon: yeah. this is running off a 64-bit system, and it's the only real server running, so I'm good, but it would be hard for people using shared hosting or something.
Tue Aug 25 21:17:18 2009
[dgd]
Aidil@GurbaDev2: searching them all is also an option, but not when things get really large.
Tue Aug 25 21:17:31 2009
[dgd]
Sorressean@Falcon: guess you could use object ids and then just do like 1-x in one object, etc etc. so there would always be a range of ids up to say like 50 per object or something.
Tue Aug 25 21:17:40 2009
[dgd]
Aidil@GurbaDev2: this copy runs on a 500mhz arm9 cpu with 128mb memory :)
Tue Aug 25 21:28:36 2009
[dgd]
Aidil@GurbaDev2: btw, quick peek at your patches suggests they'd be a good thing to add :)
Tue Aug 25 21:32:30 2009
[dgd]
Sorressean@Falcon: was refering to aidil's comment about using two :: and a peak at my patches.
Tue Aug 25 21:42:56 2009
[dgd]
Aidil@GurbaDev2: I got your mail and took a quick look. seems useful to add :)
Tue Aug 25 21:47:25 2009
[dgd]
Sorressean@Falcon: skills code is kinda messy, but I wasn't able to find another way to do it, so...
Tue Aug 25 21:48:41 2009
[dgd]
Aidil@GurbaDev2: I'll take a closer look and probably make a few changes, but the functionality is nice to have :)
Wed Aug 26 02:34:18 2009
[dgd]
Tricky@Rock the Halo: Looks like mainland Europe has been hit by a nuke. (here's hoping)
Wed Aug 26 09:23:49 2009
[dgd]
Quixadhal@Bloodlines: Heh, no mention of a nuclear launch against Europe on google news. But then again, it would only be France and some other countries I don't hate enough to remember...
Wed Aug 26 21:11:34 2009
[dgd]
Subversion@Way of the Force: Aidil committed Gurbalib revision 324 to svn://wotf.org/gurbalib : Fixed the addskill command, added rmskill command, improved the skills command (patches by Sorressean with some modifications by Aidil)
Wed Aug 26 21:28:19 2009
[dgd]
Aidil@GurbaDev2: my modifications are mostly making the identation and use of whitespace consistent with the rest of the lib (so purely formatting related) in the add/rmskill commands. I somewhat rewrote your skills.c, think you may want to look at that one.
Thu Aug 27 18:53:16 2009
[dgd]
Raudhrskal@Dead Souls Dev: I wonder when i'll crash face-forward on the keyboard.
Thu Aug 27 19:14:22 2009
[dgd]
Aidil@Way of the Force: better don't do that. it leaves such a funny inprint on your forehead.
Thu Aug 27 19:24:47 2009
[dgd]
Quixadhal@Bloodlines: I used to stay up for long periods of time, back when I was young and stupid. I also used to drive down the highway with the windows rolled down, in February, when it was 9 degrees Farenheit out.
Thu Aug 27 19:26:52 2009
[dgd]
Raudhrskal@Dead Souls Dev: I am young and stupid. But I have nothing to drive.
Thu Aug 27 19:26:56 2009
[dgd]
Quixadhal@Bloodlines: I'll leave it as an exercise to the reader to figure out the wind chill when driving down the road at 60 miles per hour. *grin*
Thu Aug 27 19:29:36 2009
[dgd]
Raudhrskal@Dead Souls Dev: How much would that be in km/h, for us foreigners?
Thu Aug 27 19:33:45 2009
[dgd]
Aidil@Way of the Force: hmm. could you convert that to AU/decade pls? more in line with the universe I live in.
Thu Aug 27 19:40:15 2009
[dgd]
Quixadhal@Bloodlines: Sure! 1 mile = 1.07577909 x 10^-8 Astronomical Units, and there's about 87500 hours per decade
Thu Aug 27 19:41:54 2009
[dgd]
Quixadhal@Bloodlines: So that makes it about 7.38 x 10^-11 au/decade?
Thu Aug 27 19:42:32 2009
[dgd]
Quixadhal@Bloodlines: Note... wind chill factors may vary based on distance from sun.
Thu Aug 27 19:59:26 2009
[dgd]
Subversion@Way of the Force: Aidil committed Gurbalib revision 325 to svn://wotf.org/gurbalib : Removed some duplicate code from skills command, added a bunch of comments to explain what it is doing
Thu Aug 27 20:00:50 2009
[dgd]
Aidil@Way of the Force: hmm, and I'm toying with a small database engine written in lpc. its inspired by a similar thing I wrote for kobramud about a decade ago, but a fair bit closer to a rdbm.
Thu Aug 27 20:01:09 2009
[dgd]
Aidil@Way of the Force: gonna see how well it keeps up with a somewhat substantial dataset.
Thu Aug 27 20:01:39 2009
[dgd]
Aidil@Way of the Force: tho making a parser for a subset of sql would probably not be very difficult.
Thu Aug 27 20:02:20 2009
[dgd]
Aidil@Way of the Force: but some may want to due to familiarity with it.
Thu Aug 27 20:02:34 2009
[dgd]
Silenus@Dead Souls Dev: dgd just use relational algebra + some means of filtering tuple sets
Thu Aug 27 20:03:53 2009
[dgd]
Aidil@Way of the Force: point was never to create a full rdbm, was mostly toying with alternatives for the player/user data storage in gurbalib :)
Thu Aug 27 20:06:41 2009
[dgd]
Aidil@Way of the Force: it just so happened that with 1 1/2 hours of toying with that, I ended up implementing tables, rows, unique keys, indices, and 'virtual tables' (join) and some basic functionality to do selections, inserts and updates.
Thu Aug 27 20:08:19 2009
[dgd]
Aidil@Way of the Force: and I bet that unconsiously, that had been developing itself in my mind for the last decade :)
Thu Aug 27 20:10:41 2009
[dgd]
Aidil@Way of the Force: the real question is how well it scales. I've just been toying with very small datasets, I wonder how it would do with something spanning a few 100k or millions of records.
Thu Aug 27 22:43:07 2009
[dgd]
Quixadhal@Bloodlines: Well, build a random room generator and go populate a "world" that's 5K * 5K large, scatter a few thousand "prey" NPC's and a few hundred "hunter" NPC's, and see what happens when the hunters start tracking and fighting the prey. :)
Thu Aug 27 22:44:13 2009
[dgd]
Quixadhal@Bloodlines: For testing purposes, I'm sure descriptions like "Desert #48723. There is sand here." would be adequate.
Fri Aug 28 00:01:35 2009
[dgd]
Aidil@GurbaDev2: meh, then I'd have to write a virtual room system first, someone else is supposed to do that :)
Fri Aug 28 00:03:12 2009
[dgd]
Aidil@GurbaDev2: yep. hmm. porting this to wotf.. thats another idea.. and another distraction.
Fri Aug 28 00:04:42 2009
[dgd]
Aidil@GurbaDev2: have a good whatever time of day it is for you wherever you are :)
Fri Aug 28 00:05:17 2009
[dgd]
Aidil@GurbaDev2: toying and fiddling with stuff usually serves something..
Fri Aug 28 00:06:11 2009
[dgd]
Silenus@Dead Souls Dev: looking at certain parts of the code and seeing if the algorithms can be improved
Fri Aug 28 00:06:24 2009
[dgd]
Silenus@Dead Souls Dev: not too interesting but maybe a worthwhile exercise
Fri Aug 28 00:06:39 2009
[dgd]
Aidil@GurbaDev2: wotf's universe is a nice example of that. somewhere in the mid 90s I had been pondering how the universe and space stuff on kobra should be done, while fixing and experimenting with the 2 concurrent systems there (don't ask)
Fri Aug 28 00:07:51 2009
[dgd]
Aidil@GurbaDev2: then in the early 2000s I suddenly needed a universe and space travel system, which I wrote over the span of a weekend while also spending time with my then girlfriend.
Fri Aug 28 00:09:14 2009
[dgd]
Raudhrskal@Dead Souls Dev: That line would make a lot of fun out of context.
Fri Aug 28 02:16:15 2009
[dgd]
Quixadhal@Bloodlines: Well, you don't actually NEED virtual rooms. A small perl script that generates a few millions /d/foo/room_xx_yy.c files would work. It would also show how your filesystem handles directory inodes that are insanely large.
Sat Aug 29 16:46:15 2009
[dgd]
Sorressean@Falcon: I'm updating sword.c. update doesn't fail nor compile, it just shows my prompt. no error messages. I can't clone sword.c, so it's not compiling.
Sat Aug 29 16:46:47 2009
[dgd]
Aidil@Way of the Force: hmm. did you modify sword.c? or is it the one from /domains/gurba ?
Sat Aug 29 16:47:35 2009
[dgd]
Aidil@Way of the Force: Please, specify a full filename when reporting bugs :) first of all because the path can be a major part of the issue, and second, no way to tell what you are talking about otherwise.
Sat Aug 29 16:48:04 2009
[dgd]
Aidil@Way of the Force: also, see if dgd sends any output to the console.
Sat Aug 29 16:49:38 2009
[dgd]
Aidil@Way of the Force: when update completes succesfully, it will explicitly say so :)
Sat Aug 29 16:50:31 2009
[dgd]
Aidil@Way of the Force: anyway, please mail me how to exactly reproduce the porblem, and as mentioned, please please please use completely specified, full pathnames when reporting a bug, so also in this case, so /full/path/to/your/sword :)
Sat Aug 29 16:50:43 2009
[dgd]
Sorressean@Falcon: yeah. that's why I said it was weird that there were no errors or anything shown.
Sat Aug 29 16:51:00 2009
[dgd]
Sorressean@Falcon: um. I just run update on it. that's *exactly* how I reproduce it.
Sat Aug 29 16:51:29 2009
[dgd]
Sorressean@Falcon: and if it matters the path is /wiz/sorressean/sword.c...
Sat Aug 29 16:51:31 2009
[dgd]
Aidil@Way of the Force: well, I can run update on objects and it tells me it succeeds or fails.
Sat Aug 29 16:52:04 2009
[dgd]
Aidil@Way of the Force: so, you REALLY should tell me the complete full path to your object, and it may also really help to mail me a copy of the file so I can try to reproduce it.
Sat Aug 29 16:52:43 2009
[dgd]
Aidil@Way of the Force: again, I cannot stress this enough, 'I just compiled sword.c' is really not enough information. I really absolutely really must have the /full/path/to/your/file
Sat Aug 29 16:57:41 2009
[dgd]
Aidil@Way of the Force: if you wanna know why exactly the complete path is so important in cases like this, read 'man objects'
Sat Aug 29 16:57:57 2009
[dgd]
Aidil@Way of the Force: or just believe me on that it is a very important detail :)
Sat Aug 29 17:03:02 2009
[dgd]
Aidil@GurbaDev2: thanks. will take a look later today :) (about to prepare dinner)
Sat Aug 29 17:03:22 2009
[dgd]
Aidil@GurbaDev2: oh, and update not saying something at all is definitely a bug :)
Sat Aug 29 17:04:14 2009
[dgd]
Aidil@GurbaDev2: that very likely solves your problem, but this looks like a bug in update.
Sat Aug 29 17:05:01 2009
[dgd]
Aidil@GurbaDev2: as said, if it doesn't say anything, that is definitely a bug.
Sat Aug 29 17:05:25 2009
[dgd]
Aidil@GurbaDev2: will check why. it should complain about that not being a valid object or something.
Sat Aug 29 17:09:33 2009
[dgd]
Aidil@GurbaDev2: heh. yes. actually, looks like a bug in corpse.c, anyway, food first.
Sat Aug 29 17:11:11 2009
[dgd]
Sorressean@Falcon: quick question: is there a way to see what type an object is? if it's a weapon I want to show stuff based on that.
Sat Aug 29 17:12:28 2009
[dgd]
Aidil@GurbaDev2: well, 2 ways to go about it.. check if it inherits /std/weapon, or use a 'query_weapon()' kinda thing (which you'd have to add to /std/weapon.c yourself)
Sat Aug 29 17:13:09 2009
[dgd]
Aidil@GurbaDev2: to test if an object inherits (or actually, is an instance of) something, there is the <- operator
Sat Aug 29 17:13:13 2009
[dgd]
Sorressean@Falcon: werd. not sure how I'd check inherits, but query_weapon is easy enough
Sat Aug 29 17:13:53 2009
[dgd]
Aidil@GurbaDev2: so.. if(obj<-WEAPON) will test if obj is an instance of WEAPON (which is defined somewhere in /kernel/include/std.h)
Sat Aug 29 17:49:09 2009
[dgd]
Subversion@Way of the Force: Aidil committed Gurbalib revision 326 to svn://wotf.org/gurbalib : Improved handling of empty/non existent inventories in the get command, added informational message to the update command when trying to compile things that are neither object or inheritable
Sat Aug 29 17:50:06 2009
[dgd]
Aidil@Way of the Force: will have to take a closer look at the corpse code, its not doing what it should I think. :)
Sat Aug 29 17:51:20 2009
[dgd]
Sorressean@Falcon: haha. cool cool. I can take a look later. bout ready to go cook some stuff atm.
Sat Aug 29 17:52:04 2009
[dgd]
Aidil@Way of the Force: well, probably its a matter of replacing 'inherit OBJECT' by 'inherit CONTAINER' :)
Mon Aug 31 13:27:21 2009
[dgd]
Aidil@Way of the Force: happy is a big word, but I just finished registering all working hours for last month.
Mon Aug 31 13:36:42 2009
[dgd]
Cratylus@Dead Souls Dev: i'd rather work a week of 18 hour days than have to tally up the expenses thereof
Tue Sep 1 04:27:37 2009
[dgd]
Sorressean@Falcon: aerg. this lib is starting to bug me. why is input checking so minimal. :(
Go to the top | Channel Index

