00:12:59 talilee (~root@xcdfddb76.ip.ggn.net) has joined #openacs 00:16:04 it would seem to me that hookups are needed: deleting a bboard msg deletes its attachments, deleting a bboard forum deletes its messages, deleting a bboard package instance deletes its forums, deleting bboard package deletes its package instances 00:17:01 it doesn't make sense to keep data around unless it can be referred to and accessed 00:17:13 not to me, anyway :) 00:17:59 but additionally, not only should deleting hookups be placed, backup hookups should also 00:18:29 ok. still should apm_package.delete delete the content itself or ask the package to delete it? 00:18:31 but that's a whole separate project, and backing up of all data in a site on a daily basis seems sufficient 00:18:37 right. 00:18:49 should ask the package to do it 00:19:28 if you want to follow the oop idiom, then a package should be completely capable of handling its own business 00:19:55 (using other packages as necessary of course) 00:22:40 dunno about the following, but the package might be given a veto power, perhaps by returning false it could say "don't want to delete data" 00:23:05 ah. 00:23:12 we could the acs-service-contract 00:23:18 except that doesn't give an automatic way of recovering... the assumption is the admin wants it toast 00:23:19 that is what it is for 00:23:48 or just add a row to the pacakge table that is the name of a tcl proc that will handle it. 00:24:33 for now, you probably have to allow for the possibility that a package won't provide a hook 00:25:07 better, pl/sql proc 00:25:53 but another possibility exists here... 00:26:29 it could be that acs_object__delete() already deletes things that are its children? 00:26:39 no, that it does not. 00:27:08 content_item__delete does. but all apm_package.dellete does is delete the apm_package object for that isntance. 00:27:08 so that makes an acs_object an appendage 00:27:48 * davb is not sure what that means 00:28:01 also my 3 year old is trying to install windows 98 on his computer... 00:28:10 heh 00:28:14 really? 00:28:30 well he doesn't know what he's doing he said "can I fix my computer myself..." 00:29:48 i showed him the Next button and said keep clicking on this... 00:32:17 unless this should be doing the deleting: PERFORM site_node__delete(cur_val.node_id); 00:32:25 whoa 00:32:32 you got your 3 year old hacking OACS too? 00:32:40 good work davb! 00:32:47 maybe when he's 3.5 :) 00:32:51 rbm, are you noting davb's work? you're kid is next 00:33:23 now's the time to start teaching him SICP :) 00:33:36 bbias 00:33:37 heh, he will probably finish it before I do 00:33:40 f 00:33:55 well, at his age he doesnt' care about girls anyway 00:33:59 so he could make a good hacker 00:36:07 nope. site node delete does not delete anythign except the actual site node object. 00:48:33 djg_ (~dirk@212.84.246.68) has joined #openacs 00:51:42 talilee has quit ("using sirc version 2.211+KSIRC/1.1") 00:58:12 back 01:10:58 davb: ok, I see a coupla options... 01:11:21 one of them is really vague, the other is status quo, pretty much 01:12:06 the vague one says: save the data if it was not explicitly deleted, such that it could be either backed up or reattached to a package instance 01:12:31 (policy here being: if admin didn't delete the data, you -save- it) 01:15:15 the status quo one is a package instance being deleted takes all data associated with it... either package provides a "delete instance data" pl/sql func, or if it doesn't, (another vague piece follows:) instance deleter tries to delete all data by trying to find associated data in some manner and deleting it 01:16:46 if instance deleter tries to delete associated data itself, should be enclosed in a transaction 01:17:06 if transaction rolls back, it's sorry charlie :) 01:17:20 right. 01:17:55 that is easy I think to write the query that selects all the objects using the tree_sortkey. just select them in the right order and delete them all. 01:18:33 but... for example, the content-repository has its own delete function. wp has its own function built on top of the cr function etc... 01:19:05 another possibility is to be closer to status quo: if package doesn't provide instance deleter hook, then can't delete instance? 01:19:30 ok, then those packages provide a null func 01:19:45 or no 01:20:20 those packages provide a hook that calls the existing deleter (since instance deleting presently only deletes an apm stub) 01:21:04 jim: the isntance delete should check to see if a package has any child objects, if it does, don't delete? 01:21:20 maybe we need a core acs hacker to make an executive decision :) 01:21:48 yeah, we're definitely at a point where we have a buncha ideas 01:22:40 we could still try stuff, I guess... 01:23:08 but an executive decision of sorts was made yesterday wrt the coming beta release 01:23:34 which is: don't clean up delete scripts now 01:25:34 talli has quit (Read error: 104 (Connection reset by peer)) 01:25:34 ah. 01:25:40 good point. 01:33:55 ok, I just found apm_application.delete 01:36:41 that's the thing that deletes an instance 01:36:47 oooh that sounds good 02:09:17 but its not... :( 02:12:55 talli (~talli@lti-4.dialup.access.net) has joined #openacs 02:13:21 I wonder how to get all the objects under another object using tree_sortkey... 02:14:12 what is tree_sortkey and why does everyone talk about it? 02:14:39 we'll have to come up with a few alternitave proposals for package instance deletion 02:15:27 rafa (rafa@ebt.ee.usyd.edu.au) has joined #openacs 02:15:35 hey rafa 02:15:45 hi Talli, guys 02:16:02 ok, I'm out for about 4 hours 02:16:03 hi 02:16:39 jim: right. first I want to try the delete all content associates with this package_id approach, but I need a query to select all those items :) 02:18:47 I was also going to ask about updated status and the release of a formal 4x distro 02:19:00 beta this weekend hopefully 02:19:19 daveb: oacs 4x? 02:19:26 rafa yes. 02:19:59 maybe sloan/openforce could open a user acc for testing? 02:20:10 even if we do not see the code... 02:20:19 I would much rather see the code. 02:20:44 I know, me too , but that would give as an idea of how thing are going 02:21:27 "personal implementation" means that it is not vapor-ware... a huge diff 02:22:19 ah good point. 02:28:06 can I put a subselect in a function call like so: tree_right(Select somthing to pass to function) 02:40:13 davb, what do you think should be done about etp? 02:40:26 Well it depends on what you think it should be for. 02:40:32 as a nice simple CMS, it works great. 02:40:56 I am leaning towards using it as the super-package that can be customized to collect any sort of data. 02:41:05 i think that's a good idea 02:41:14 right now the interface does not scale for many extended attributes. 02:41:16 but that's separate from what jun did with modetp 02:41:33 I am collecting names and addresses and other very specific types of data in it. 02:41:36 talli: yes. 02:41:55 i was thinking that perhaps mod_etp should be made a branch of ETP while ETP is extended to not only have a better interface but keep all the powerful attribute extensions 02:42:20 mod_etp is a nice fast page generator and is enough for most sites. 02:42:47 by adding workflow, developers can create custom screens for each custom etp application. 02:43:29 and then you can have any kind of worklfow, post, confirm, live or a moderated admin-approval or anything. 02:43:42 i agree with that 02:43:50 but can that be done with mod_etp? 02:43:55 another thing I am planning on using it for is job postings, classified ads, that kind of stuff. 02:43:55 i mean, in its current state? 02:44:01 talli: not according to luke. 02:44:01 cool! 02:44:11 that's what we need for OACS.org 02:44:36 but each of those has a different model for the data. so seperate forms would be better. 02:44:38 i don't think i'll be able to finish that email today since i have some massive things to right tonight 02:44:46 np. 02:44:58 beta was pushed back to next weekend... 02:45:11 it will all come together. 02:45:39 so if i hear you correctly, are you suggesting that ETP should not be released as 2.0 with modetp? 02:45:44 talli: have you looked at ezpublish? 02:45:54 hmmm... sounds familiar 02:46:02 talli: I won't use it for this site I am building :) 02:46:20 I need those features, so if this site gets funding, they go in anyway. 02:46:30 right 02:46:33 JUst depends if you want to call it ETP or not. 02:46:51 i think that modetp should be released as ETP 1.1 or something 02:46:54 ezpublish has good support for adding photos, etc to pages. 02:47:21 talli: maybe, or the super-pacakge can be called something else, and ETP continues in a different direction. 02:47:36 yeah, i think that's what should be done 02:47:38 of course, the super-pacakge will support a simplified app like ETP. 02:47:44 in the same way that mozilla has branch development 02:48:07 but mod ETP looks great and would be nice to get out with OpenACS 4 or right after. you can have a site up in a day! 02:48:12 or hours really. 02:48:27 i agree. but you can do that with ETP too. it's just that modetp has a nicer interface 02:48:36 someone suggested even shipping OpenACS 4 with ETP mounted at the site root. 02:48:48 and it's almost impossible to extend modetp 02:48:54 right. 02:49:12 but the other one will take to long. so get the pretty etp out there, then we add the new stuff. 02:49:27 so might as well spin modetp off as something separate as ETP is improved so that it both has good UI and has good attribues 02:49:36 it will look the same when we are done for the default application, but be powerful to customize. 02:49:41 that's true, but the extra extensions of ETP are important 02:50:09 remember, I have no software development experience, so strategy-wise, I don't know what is best :) 02:50:10 so i don't think that it's good to say that modetp is a new, improved ETP, it's just a different one with a better interface 02:50:19 right. 02:50:31 c'mon now davb. you know more about OACS4 than anyone in this channel! 02:50:33 it looks great, and you can upload arbitrary binary files into the tree. 02:50:44 3 bots and docwolf? 02:50:57 :) 02:51:02 well, that's a good point. 02:51:20 but docwolf is pretty, so that must count for something 02:51:32 anyway, I haven;t looked at the modetp code. I am doing straight graphics work on the top secret project for now. 02:51:45 cool. how's that coming along? 02:51:51 I am also on a mission with jim to clean up as much of the ickyness in Opeancs4 as we can find. 02:52:01 the guy I am working with can't make a decision. 02:52:13 with the graphics? 02:52:15 also he is too cheap to hire a professional illustrator, so he got me. but its working. 02:52:17 that's the worst part of a site 02:52:24 at least the development 02:52:40 a client has no idea what the hell the backend does, but they love to tinker with the "look and feel" 02:52:45 If I can get over this hurdle, the rest of the site will build itself. 02:52:47 it's always the part where we lose money 02:52:57 yeah, i keep asking "what do you want the site to do?" 02:53:45 I did get a degree in grapgic design then promptly switched to hacking openacs for the last two years... 02:54:07 that's the way to do it :) 02:55:46 I will have to find some more openacs hackers if he ever gets some $$$ 02:57:14 oh yeah, one more thing, the super-etp will also accept user-contributed content. 02:57:23 nice 02:57:41 ok, i need to go do some payin' work 02:57:48 talk to you guys later 02:57:49 all right. have fun! 02:57:56 thanks :( 03:21:02 I think I have a query to select all children of an object, but it doesn't select the acs_object itself. 03:21:15 or its parents. 03:21:29 I can do two seperate select/delete loops. 03:25:53 there must be an official approved way to do this :) 03:32:25 looks like I need both queries. 03:37:08 ok, it won't work just selecting all the children. depending on their type, some need content_item__delete or some other function applied to them. 03:38:06 ok, time for bed anyway. I'll think tomorrow. 03:39:31 davb has quit ("Client Exiting") 12:16:58 davb: I know you8're not on channel now... but if you read this, here is an idea: to do proper instance deleting, we start by provicing a diff off of /doc/apm-requirements.html and add the specific requirement that apm_application.delete() should be capable of deleting the actual application objects generated as a normal course of the app's use. Then, the design document should be ammended to spell out exactly what this should do: either do not 12:16:59 hing but try to delete itself (unfortunate default) or the package provides a specific call to delete an instance (in which case apm_application.delete() would call that "callback".) 12:19:10 (of course, if you have something that can make the "unfortunate default" work better, icing on the cake... but truth is, each package creates its own data structures, which it should be able to destroy) 12:19:43 (and it's easier to let packages do said destruction... and also safer) 13:26:52 talilee (~talli@lti-4.dialup.access.net) has joined #openacs 13:26:53 talli has quit (Read error: 104 (Connection reset by peer)) 15:01:01 davb (~dave@rrcs-nys-24-97-22-203.biz.rr.com) has joined #openacs 15:02:06 Hello 15:07:10 I am tasked with spiffing up the configuration on a win98 machine. I should have brought the kid to work :) 16:04:45 talilee is now known as talli 16:16:02 http://www.laputan.org/mud/mud.html 16:16:02 A: http://www.laputan.org/mud/mud.html from davb 16:16:45 ugh 16:16:54 that's a good name for bad softgware 16:17:08 i usually call it the "ad hoc software approach" with my clients 16:17:13 same idea. crap crap crap 16:23:43 A:|Big Ball of Mud 16:23:43 titled item A 16:24:37 Hey, I wonder if there should be a programming contest like junkyard wars. 16:24:53 Take a heap of code and turn it into a working program. 16:24:54 :) 16:28:21 moo 16:28:34 yo rbm 16:28:35 This software would never sell in Latin countries though. 16:28:55 latin countries are uncomfortable with mud? 16:29:01 "Laputan" is way too close to "La Puta" which translates to "The Bitch" 16:29:08 haha 16:29:29 kinda of like the Chevy Nova 16:29:38 No va ... No go... 16:29:39 "We're Offering you 'The Bitch' for your network needs" 16:29:48 talli: precisely :-) 16:30:05 well, for the mysogynists of latin america, that sounds pretty good 16:30:20 What's a mysoginist? 16:30:26 a person that hates women 16:30:28 err. mysogynist 16:30:59 i think it may even be a pathological hatred of women 16:31:04 a chauvinist 16:31:22 I don't think so. It's a macho thing remnant of centuries ago. 16:31:43 But it is cultural. 16:32:09 yeah, i agree. i was joking. although latin american countries are patriarchical bordering on mysogony. as is basically every other culture in the world... 16:32:35 in orthodox judaism, if you're a man, there's a prayer thanking god for not creaing you as a woman 16:32:46 Psychologically, men are afraid and frustrated about Women. Almost every men in the western hemisphere. This fear and frustration are higher during puberty 16:33:00 in hebrew, the term for husband "baal" translates literally to "master" 16:33:19 and the term for wife "isha" translates literally to "woman" 16:33:28 hmmm 16:33:49 hebrew is a bit of an, uhm, antiquated language 16:33:58 bbiam. 16:37:09 brb 16:37:13 davb has quit () 16:41:46 davb (~dave@rrcs-nys-24-97-22-203.biz.rr.com) has joined #openacs 17:37:13 djg_ has quit (Ping timeout: 14400 seconds) 17:46:18 http://www.sneakingsuspicions.com/a0217232002.htm#022102 17:46:18 B: http://www.sneakingsuspicions.com/a0217232002.htm#022102 from davb 17:46:28 B:|Dear Mr. Abbas Bundu: 17:46:28 titled item B 18:20:35 davb has quit () 18:37:08 djg_ (~dirk@212.84.246.68) has joined #openacs 19:07:21 davb (~dave@rrcs-nys-24-97-22-203.biz.rr.com) has joined #openacs 19:21:41 talli: have you seen lycoris linux? 19:22:06 http://www.lycoris.com/products/ 19:22:06 C: http://www.lycoris.com/products/ from davb 19:26:23 C:[review of Lycoris Desktop/LX|http://www.extremetech.com/print_article/0,3428,a=23186,00.asp] 19:26:23 commented item C 19:33:40 davb has quit () 20:53:24 davb (~dave@rrcs-nys-24-97-22-203.biz.rr.com) has joined #openacs 20:53:30 hi 20:57:14 heya davb, I can't stay... but I wanted to make sure you saw some stuff... 20:57:33 davb: I know you8're not on channel now... but if you read this, here is an idea: to do proper instance deleting, we start by provicing a diff off of /doc/apm-requirements.html and add the specific requirement that apm_application.delete() should be capable of deleting the actual application objects generated as a normal course of the app's use. Then, the design document should be ammended to spell out exactly what this should do: either do not 20:57:33 hing but try to delete itself (unfortunate default) or the package provides a specific call to delete an instance (in which case apm_application.delete() would call that "callback".) 20:58:13 not \n hing is "nothing", btw 20:58:33 (of course, if you have something that can make the "unfortunate default" work better, icing on the cake... but truth is, each package creates its own data structures, which it should be able to destroy 20:58:52 and it's easier to let packages do said destruction... and also safer) 20:59:47 comments? 21:00:23 yes. :) packages should delete their own content. its the only way. 21:00:42 we probably should come up with a tested proposal and post to the bboard. 21:00:51 right, because they define their own structure 21:01:28 agreed 21:01:55 (but note... 21:02:13 I been looking at the vision statement of the apm requirements doc... 21:02:24 and this would be right in line with it) 21:02:24 ah, I should read that :) 21:02:38 cool. 21:02:45 the whole idea is to make all that stuff easy to do 21:02:52 so basically, they just never got around to it? 21:03:10 dunno if they even identified it as a necessity 21:03:22 ah, could be they didn't even think about it. 21:03:39 especially because the CR grew out of the seperately developed CMS. 21:04:00 I looked at the design document, and lack of commentary on the apm_application package would seem to support that 21:04:07 and if a pacakge has content that is not an acs_object, the apm wouldn't even notice. 21:04:30 right, leak leak leak :) 21:04:51 heh. well the package is responsible to take care of its own content :) 21:05:12 like you said, that's the only way to go... 21:05:21 I like adding a service contract to abstract out the process of asking a package to delete its own content. 21:05:42 or I like the concept anyway. Not sure if it will work or if it needs to be less abstract. 21:06:22 once this thing is in place in the kernel, it behaves the same as before until packages are altered to use the feature 21:06:27 probably should just make it work, then get fancy later. 21:06:34 right. either way the packages need to be updated. 21:06:46 I forgot to read up on service contract... 21:06:55 its one page :) 21:07:14 but the sample code is very informative. 21:07:24 I used it to make static-pages searchable. 21:08:38 kind of like the gestalt() call in the macos 21:08:45 could be :) 21:09:12 lemme ask this: 21:09:23 yes. (I goggled) 21:09:36 (googled that is) 21:10:36 what if a package doesn't use service contract at all? what if then, you ask it "can you fulfil the contract of being able to delete instances?"? 21:13:12 ok, I see... but it's tcl; could be a problem in the delete script 21:13:23 yeah. 21:13:56 acs-sc is tcl only so far. hopefully will add pl/[pg]sql implementations one day. 21:14:45 maybe today (mroeorless) is that day? 21:15:33 sc seems simple enuf... 21:16:18 I have to head over to school pretty soon, but I'd be happy to look it over to see if that's possible, and how it might be done 21:16:19 sure. contact neophytos if you have an idea how to do it. 21:16:39 I know he has already thought about it. 21:16:54 he has? maybe not so simple... 21:17:08 still, I'll look after shower/coffee 21:17:14 also that is needed to convert the oracle SWS to use acs-sc to get data frm packages ( I think) 21:17:16 np. 21:17:34 SWS? 21:17:39 I didn't think it was that hard, just a little beyond my skills. 21:17:41 site wide search 21:17:45 yes. 21:17:50 intermedia is a super PITA 21:18:13 but SWS uses acs-interface which is a really bad implementation of the concepts in acs-sc 21:18:52 jim, more coffeee???? 21:19:46 I have one cup a day :) 21:19:48 hey, its another dat 21:19:51 almost never more :) 21:20:18 how big is the cup jim? 21:20:27 but if I make it, it's usually super rocket fuel :) 21:20:34 pretty big 21:21:15 talli: hiya, btw 21:21:21 hi 21:21:37 ok, gotta go start all that if I'm gonna be able to look at that before 3 21:21:54 otherwise after 6 21:22:05 and it's about 1:15 my time now 21:22:43 bb 21:22:50 http://www.skippingdot.net/2002/02/18 21:22:50 D: http://www.skippingdot.net/2002/02/18 from davb 21:22:55 D:|Open Source Works 21:22:55 titled item D 21:23:03 D: more from SkippingDot.Net 21:23:03 commented item D 21:23:22 D: a real developr explains how he benefitted from having access to source 21:23:22 commented item D 21:25:31 D: too bad he's using Zope :) 21:25:31 commented item D 21:25:56 I must now depart. I shall return! :) 21:26:00 davb has quit () 22:27:32 the_docwolf (~docwolf@adsl-34-207-203.bct.bellsouth.net) has joined #openacs 22:27:54 the_docwolf has left #openacs 22:28:23 date 22:28:25 hazmat (~ender@adsl-66-123-57-58.dsl.lsan03.pacbell.net) has joined #openacs 22:34:16 paje: status? 22:34:16 Since Sat Feb 23 00:11:09 2002, there have been 2 modifications and 7 questions. I have been awake for 3 days, 15 hours, 25 minutes, 3 seconds this session, and currently reference 177 factoids. Addressing is in require mode. 22:34:29 paje: Thank you 22:34:29 rbm: de rien 22:56:45 davb (dave@alb-24-58-162-46.nycap.rr.com) has joined #openacs 22:56:53 davb is now known as davb-in-and-out 23:16:10 denshi (~chatzilla@adsl-216-62-223-193.dsl.rcsntx.swbell.net) has joined #openacs 23:16:31 paje: status? 23:16:32 Since Sat Feb 23 00:11:09 2002, there have been 2 modifications and 8 questions. I have been awake for 3 days, 16 hours, 7 minutes, 18 seconds this session, and currently reference 177 factoids. Addressing is in require mode. 23:16:44 paje: hungry? 23:16:44 wish i knew, denshi 23:17:03 paje: I have some fine cheesecake you might enjoy. 23:17:03 denshi: excuse me? 23:17:38 paje: what? You some kind of militant vegan? No worries, mate. Have a Guinness. 23:17:38 denshi: i'm not following you... 23:18:03 hey denshi 23:18:24 hey father-to-be 23:18:28 :) 23:19:04 have you started saving for h[is|er] college tuition? 23:19:25 denshi: I'm trying to pay for my own college before I can save for somebody else's :) 23:22:31 I encourage you to save early. Intelligent kids who have no financial support often turn to escoteric crime to support their differential equations habit. 23:22:49 not that I would know anything about that. 23:22:49 hi denshi 23:23:00 hey davb 23:23:33 denshi: I will, but I'm not in a position to save right now. Heck, I make US$ 9.5/hr. 23:24:31 * rbm wishes for a scanner 23:25:38 rbm: buy one and write it off on your taxes. 23:26:03 thats what I do. 23:29:16 s/de/the/ 23:30:59 I allegedly develop web sites. 23:32:06 :) 23:32:28 davb-in-and-out: Yes, but I can't work off-campus unless in an internship, like the one I took with Openforce in 2000. 23:32:41 ah. tricky 23:32:42 I'm starting to think the most powerful weapon in the world is a good accountant. 23:33:03 with a shredder? 23:33:12 I usually get almost nothing in tax return because the "tax cuts" don't apply to "aliens" 23:33:20 * davb-in-and-out reads the User Group HOWTO 23:33:24 sneaky! 23:33:54 In summary, we are required to pay all the taxes as non-aliens, but we don't get any tax cuts. 23:34:29 The first time a government official called me an "alien" I was offended 23:34:55 are you on permanent resident status or what? 23:35:00 that is icky. 23:35:02 denshi: nope. student status. 23:35:22 what about your wife? 23:35:25 Permanent residents are not considered "aliens" anymore. 23:35:34 My wife is a student as well. She's also from Brazil. 23:37:46 tricky.. 23:42:06 do people still actually think that there's polygamy in Utah? 23:43:58 3 things: 23:44:25 1. Even though it's illegal, it still exists in rural areas in southern utah. 23:44:54 2. many people looking in won't bother to perceive the difference. 23:45:02 I meant if people still think that there's _widespread_ polygamy in Utah. 23:45:27 There's people with several wives/husbands everywhere in the world. Heck, JFK had 11 affairs. 23:45:29 3. Aside from the above, polygamy will be a running joke about mormonism forever. 23:45:44 mostly it's just #3 that's important. 23:45:50 I guess so. 23:47:20 http://www.opennms.com/ <-- "an open-source project dedicated to the creation of an enterprise grade network management platform" 23:47:20 E: http://www.opennms.com/ from rbm 23:47:28 life lesson: avoid anything that can become a running joke. 23:47:36 E:| an open-source project dedicated to the creation of an enterprise grade network management platform 23:47:36 titled item E 23:50:15 speaking of running jokes, I busted one of my foot tendons running last week. 23:50:48 this is vastly increasing the number of hours I log on my computer. 23:51:42 http://keepersoflists.org/?lid=848 23:51:42 F: http://keepersoflists.org/?lid=848 from denshi 23:51:53 F: Elmo knows where you live! 23:51:53 commented item F 23:53:23 paje: go find talli. 23:53:23 denshi: sorry... 23:53:33 paje: what's it going to cost me? 23:53:33 denshi: no idea 23:53:41 rbm, smack your bot. 23:55:57 denshi: :) 23:56:26 paje: smack denshi 23:56:26 rbm: i'm not following you... 23:56:32 paje: smack? 23:56:33 rbm: smack yourself !@#$%!$^!! 23:56:45 paje: kick a man while he's down. 23:56:45 denshi: huh? 23:56:59 paje: your mother was abot. 23:56:59 denshi: i'm not following you... 23:57:09 paje: insult paje. 23:57:10 paje. is nothing but a dizzy-eyed thimbleful of thick bat toenails. 23:57:21 * rbm goes out in search of a scanner 23:57:35 recommendations?