00:06:14 whazzuuuuuuup! 00:06:28 AHHH! The horror! Iostream! 00:06:38 Please, please, anything but iostream! 00:07:36 heh 00:07:46 I've got a postgres rtfm question I'm too lazy to look up 00:07:52 shoot it 00:08:23 I've compiled PG 7.2b1 for OS/X 00:08:39 I'm getting an error when starting the postbastard about semaphores 00:08:46 I can't figure out (easily) how to up my kernel to have more semaphore 00:08:53 so it says Alternatively, reduce PostgreSQL's 00:08:53 consumption of semaphores by reducing its max_connections parameter 00:08:54 (currently 32). 00:09:01 how do I set that? 00:09:07 I presume there's a config file somewhere 00:09:25 Yes. postgresql.conf 00:09:36 sweet 00:09:36 thanks 00:10:57 np 00:30:23 * markd2 asks another rtfm 00:30:31 proper way to shutdown postmaster 00:30:37 if it's been run by hand 00:34:17 never mind. createdb kills the server 00:34:20 * markd2 sighs 00:35:26 markd2: Use pg_ctl 00:35:32 Don't start it by hand. 00:35:32 thanks 00:44:34 * markd2 starts the db with -d 5 to try to find out what's wrong 00:44:57 go markd2! 00:46:00 DEBUG: BackendStartup: forked pid=6008 socket=27 00:46:00 . Which then segVs creating a database 00:52:36 ah ha 00:52:36 the shell limits where I was doing pg_start were absurdly small 00:52:36 cratedb is now chugging along happily 00:52:44 * markd2 spoke too soon 00:53:22 :( 00:54:40 but it got farther! 00:55:27 guests. gotta go! 00:55:31 later 00:55:34 markd2 has left #openacs 01:11:23 Commutophylax is now known as Homophylax 01:11:26 errr... 01:11:30 that doesnt' sound very good 01:11:34 Homophylax is now known as Psychephylax 01:15:27 i guess I missed all the fun 03:39:54 davb has joined #OpenACS 03:50:49 davb has quit 06:27:27 hazmat has joined #openacs 09:07:56 hazmat has left #openacs 13:24:35 davb has joined #OpenACS 13:56:42 heh 13:56:44 too early 13:56:49 * Psychephylax codes up some java 14:31:50 k2pts has joined #openacs 14:31:58 hi 14:32:04 :) 14:32:05 hey 14:32:17 must be early there 14:32:21 or..late 14:32:26 whatever the case might be 14:32:32 it's 1600 in the afternoon 14:32:37 ah 14:32:41 1630 actually 14:32:46 09:30 here 14:33:02 dang 14:33:04 that's explains why there is low traffic at #openacs 14:33:07 my box must have coughed up a lung 14:33:12 Sat Nov 3 09:48:58 EST 2001 14:33:16 it's 15 minutes off 14:33:46 how's your project going 14:33:54 ? 14:34:49 what does "commutophylax" means? 14:34:58 heh 14:35:08 well...it doesn't mean anything :) 14:35:15 :) 14:35:19 it's just that I was leaving work ... "Commuting home" 14:35:24 so I set it to commutophylax 14:35:27 ah ok 14:35:31 makes sense now? 14:35:36 yeap 14:35:39 cool 14:35:41 as for my project 14:35:47 it's coming along but I have weird bugs 14:35:57 i think it's the library's fault though 14:36:09 you mean nssnmp? 14:36:23 or the underlying snmp++ which is used by ns_snmp 14:36:51 For some odd reason, if I poll a modem and it returns a positive value it's returning the proper one... 3.4 for example 14:37:23 but if I poll a modem and it returns a negative value like -6.4 then I get a return that is ten times larger -64 14:37:51 The fix is easy but i don't think it's a good one 14:37:59 have you emailed the ns_snmp developers? 14:38:03 It's not something I did that's for sure 14:38:28 no not yet, I was trying to compile an SNMP++ console tool to check to see if it's SNMP++ or if it's Vlads code 14:38:40 ok 14:39:27 hi k2pts 14:39:30 hi davb 14:39:41 Sup Dave 14:40:39 my databases professor is so mean! ugh! 14:40:48 He totally redid the requirements to make them more confusing 14:42:48 Score me 1000 points for not going to college for CS :) 14:44:22 remember when I was evaluating the student's solutions? 14:46:25 yeah 14:46:57 did they all fail? 14:46:58 hahaha 14:47:23 the professor said I should be more strict (half the class got 8/10 for the second assignment, and 10/10 for the first one) 14:48:21 heh 14:48:24 You're a TA? 14:48:27 yes 14:48:30 ah 14:48:46 you're the people we love to hate as students 14:48:47 lol 14:49:49 actually, I have a good relationship (with the students) and I like that 14:49:56 well 14:50:02 there are exceptions for course 14:50:12 in general however 14:50:25 that is not the case 14:50:27 They have a midterm on Monday and we did a tutorial/recitation today. I quoted Einstein, 14:50:47 nice 14:50:49 "To me the worst thing seems to be a school principally 14:51:08 to work with methods of fear, force and artificial authority. 14:51:22 k2pts: for my keywords package I have several www/.tcl/.adp pages that do all the work. Do I need to abstract all of that into the tcl library to work with service contract. 14:51:38 k2pts: I have a professor that fits that exact description. 14:51:42 Such a treatment destroys the sound sentiments, the sincerity and the self-confidence of pupils and produces subservient subject" -- Albert Einstein 14:51:55 Wow. 14:52:02 Einstein rocks 14:52:15 Now I forgot what I was going to say :) 14:52:35 Anyway so my www pages should call the same procs that hook into the service contract? 14:53:11 the keywords should be available upon calling the datasource function 14:53:33 be back in a bit 14:53:37 bank, then starbucks 14:53:46 It would be nice if openfts could rank keywords differently as it does for title and body. 14:54:57 Unfortunately, it doesn't so we have to decide what is best: a) to index the keywords as part of the title (so that they are ranked higher) or b) as part of the body. 14:56:35 When I say "it doesn't", I mean "it doesn't (as is)". It could be modified but not an easy task at the moment. 14:56:56 graszew has joined #openacs 14:58:30 hi graszew 14:58:53 hi 14:59:09 davb: would you be able to test the wf package this weekend. I can send an updated tarball. 15:02:16 rbm has quit 15:03:29 rbm has joined #openacs 15:03:45 hi rbm 15:03:53 Woot! Lost my connection. 15:04:22 Sharp is selling its PDA for $399: http://more.sbc.co.jp/slj/linux.asp 15:06:10 rbm: do you have any good links for uml and/or rational rose? 15:08:30 k2pts: Don't use Rational Rose. 15:08:43 I use ArgoUML and Dia. 15:08:56 k2pts: You mean UML tutorials? 15:08:58 talli has joined #openacs 15:09:08 hello all 15:09:20 hi talli 15:09:25 hey neophytos 15:09:29 how's it going? 15:09:43 k2pts: Rational Rose is _huge_ (almost 1 Gb after installation), and ironically, doesn't support a bunch of the UML standard (it's made by the company owned by the guys who wrote UML) 15:09:50 rbm: neither am I. I have to give a lecture on rational rose though 15:09:59 oooh 15:10:06 my sympathies then. 15:10:14 talli: John helped a lot debugging the wf stuff 15:10:21 rbm: :) 15:10:22 killer. good to hear 15:10:51 k2pts: I forget the name of their company... rational I think? 15:11:00 http://www.rational.com 15:11:16 founded by: Grady Booch et al 15:11:36 i have a book of theirs when i was studying OOP 15:11:51 UML seems kind of neat 15:12:22 UML would be very neat if they weren't so vague in their formal definitions. 15:12:33 true enough 15:12:51 The way it is right now, it leaves too much room for weird interpretations. 15:12:53 but the concept of automatic documentation from code is cool 15:13:06 Heck, Rational Rose doesn't support a _bunch_ of it. 15:13:16 talli: eh? 15:13:21 however, i've been around enough to know that "automatic" usually means "wrong" 15:13:41 UML has nothing to do with code. It's a language for models. 15:14:03 Especifically, OOP models. 15:14:03 yes, but it can also build models from your code 15:14:11 well, pretty much only OOP models 15:14:27 No. That's you _tool_ that builds the models from your code. 15:14:41 UML has no part in that except that it's being used by your tool. 15:14:45 ah, ok 15:15:40 i guess that's where reading a book by rational makes things a bit sketchy... 15:15:53 anyway, it still seems that UML is pretty OOP specific 15:16:19 k2pts: Sure I can take another look. Oracle is already installed, thats the hard part. 15:16:49 I'll send it later 15:18:23 k2pts: Aha, i just understood your previous post. Yes a pcakage will need to query my keyword package to deliver the keywords to the serach package :) 15:19:21 right 15:19:40 oh boy 15:19:44 I'm missing a UML discussion 15:20:26 and it can create code from models 15:20:29 at least RR can 15:21:25 are there any good Linux tools for viewing AVI files? (I'm completely ignorant) 15:21:35 hmmm 15:21:44 Multimedia in Linux is not my strong side 15:23:53 thanks. brb. 15:25:18 talli has quit 15:30:48 k2pts has left #openacs 15:53:27 hi everybody 15:53:56 hi 15:54:55 looks like i'm in for a big storm. 15:55:17 this should be entertaining, if nothing else. 16:27:06 heh 17:00:54 davb has quit 17:03:11 davb has joined #OpenACS 17:10:47 stupid OpenACS question. If a pl/pgsql function returns a value can I do set foo [db_exec_plsql query_name ""] ? 17:11:20 I think so. But IIRC, there's a return switch to db_exec_plsql 17:11:32 Thanks. 17:13:40 ok, can I do db_string query_name "select content_keyword__new(stuff) into keyword_id"? 17:17:48 Shouldn't it be :keyword_id ? 17:19:03 not sure. do bind vars go in both directions? 17:19:09 time to read the docs :) 17:20:53 Aha. db_1row and db_0or1row set the variables to column names. 17:24:51 Aha. "Postgres doesn't have PL/SQL, of course, but it does have PL/pgSQL and other procedural languages. Rather than assign the result to a bind variable which is then returned to the caller, the Postgres version of OpenACS requires the caller to perform a select query that returns the value of the function. We are no longer calling db_string, which screws up the bind variable stuff otherwise because of calling environments. (ben) 17:24:51 ": 17:25:01 Reading the docs really _does_ work! 17:27:20 so set blah [db_exec_plsql query_name "select function_name(params)"] sets the result of the function to blah. 17:28:46 :) I remember reading that. 17:28:57 I've been doing so much PHP that I'm being contaminated 17:29:13 :) 17:29:22 AOLserver/OpenACS is so much better 17:34:55 Have you seen any code that actually sets the creation user or creation_ip? 17:35:48 anyone good with quotas here? 17:36:00 for Oracle? 17:36:07 no 17:36:09 for unix =) 17:36:20 oh...not me :) 17:36:20 I'm trying to set up quotas 17:36:32 haven't done that yet 17:36:38 people are starting to abuse my server by uploading cd images 17:36:49 How are they uploading? 17:36:51 I figure I'll set up 50 meg quotas 17:36:52 FTP 17:36:59 turn off FTP :) 17:37:01 There's a HOWTO on that IIRC 17:37:07 heh 17:37:11 (Quotas) 17:37:14 Well, then I won't be able to ftp in 17:37:21 Use SCP 17:37:30 use sftp 17:37:34 right 17:37:38 Roberto, I know _how_ I just don't remember the exact syntax of the quota file 17:37:48 I have problems with sftp 17:37:54 Psychephylax: what problems? 17:38:00 I can't log in 17:38:08 that _is_ a problem! 17:38:12 DO you have the sftp subsystem enables? 17:38:16 s/enables/enabled? 17:38:17 probably not 17:38:19 lol 17:38:26 let me check 17:38:32 Look in /etc/ssh/ssd_config 17:38:37 err. sshd_config 17:39:49 aha 17:39:51 it wasn't enabled 17:40:07 :-) 17:40:09 Hey cool. I have it! didn't even know it. 17:40:19 brb 17:40:26 I don't remember how to restart sshd 17:40:28 rbm: have you seen any code that sets creation_user and creation_ip? 17:40:34 BTW, you should uprade your SSHds. There was an exploit on sftp/ssh 17:40:40 Psychephylax: /etc/init.d/ssh restart 17:40:57 davb: of what? 17:41:25 I don't have an init.d 17:41:41 is this bsd? 17:41:48 whatever. in OpenACS. For example I am creating keywords. It has the params for creation_user and creation_ip. also static-pages, I know doesn't set them. 17:42:09 brb 17:42:15 Psychephylax has quit 17:42:29 You mean you don't know where to get that data from to put in the table? 17:42:43 I don't believe Psyche is going to reboot just to restart sshd 17:42:59 Well yeah :) Actually I am building a service so it will get it from whoever uses the service I guess. 17:43:05 killall -HUP sshd 17:43:18 davb: Look at the params for ad_conn 17:43:28 I think it has user_id and ip address 17:43:30 Ok. (duh) 17:43:37 :) 17:43:56 syslogd has joined #openacs 17:44:18 whoa! syslogd is visiting us! What an honor 17:44:34 Howdy 17:44:36 syslogd is now known as Spork 17:44:42 huh? 17:44:48 Spork: Did you just reboot to restart sshd? 17:44:57 I didn't reboot 17:45:10 Ah, good. I was about to twack you if you did :-) 17:45:11 I just went to single user mode 17:45:20 Spork: killall -HUP sshd 17:45:22 Works just as well as a reboot 17:45:52 whats up with /etc/ssh/sshd_not_to_be_run? I just updated to the new sshd and not thats in there. 17:46:08 Roberto 17:46:14 I still get the same error 17:46:29 "Failed to open a secure file transfer session" 17:47:09 how are you connecting to the server? 17:47:26 I connect to my computer with ssh then hit the sftp button on the toolbar 17:47:49 What client? 17:47:56 the one from ssh.com 17:48:21 I never tried that way. I just the sftp client from ssh.com (when in windows) 17:48:44 If you enabled the sftp subsystem and restarted the ssh daemon, it should work. 17:48:45 Isn't that the same thing 17:48:54 ok, then you try connecting 17:48:56 Spork: I don't know if it's the same thing. I didn't write that client. 17:48:58 neverhere.com 17:49:26 heh, it asks me for a password. 17:49:40 I can connect just fine 17:49:41 in sftp? or ssh? 17:49:45 in sftp 17:49:49 wwwweeeeeird 17:49:49 sftp (openssh from Linux) 17:49:55 roberto@brasileiro:~/documents/work/egold$ sftp rmello@neverhere.com 17:49:56 Connecting to neverhere.com... 17:49:56 The authenticity of host 'neverhere.com (24.186.169.143)' can't be established. 17:49:56 DSA key fingerprint is 85:ed:a9:b0:5b:4a:06:cc:ab:1f:b8:60:97:ae:9b:75. 17:49:56 Are you sure you want to continue connecting (yes/no)? yes 17:49:56 Warning: Permanently added 'neverhere.com,24.186.169.143' (DSA) to the list of known hosts. 17:49:58 rmello@neverhere.com's password: 17:50:09 me too. 17:50:54 nblyumbe@wysoft../home/nblyumbe>sftp neverhere.com 17:51:01 Connecting to neverhere.com... 17:51:01 The authenticity of host 'neverhere.com (24.186.169.143)' can't be established. 17:51:01 DSA key fingerprint is 85:ed:a9:b0:5b:4a:06:cc:ab:1f:b8:60:97:ae:9b:75. 17:51:01 Are you sure you want to continue connecting (yes/no)? yes 17:51:04 You have to pass a login name 17:51:24 sftp foo@bar.com 17:51:25 Failed to add the host to the list of known hosts (/home/nblyumbe/.ssh/known_hosts2). 17:51:38 nblyumbe@neverhere.com's password: 17:51:38 Request for subsystem 'sftp' failed on channel 0 17:51:38 Couldn't read packet: Undefined error: 0 17:51:38 nblyumbe@wysoft../home/nblyumbe> 17:51:49 What port does it use? 17:51:51 22 17:51:58 Is this BSD or Linux? 17:51:59 ok then 17:52:01 BSD 17:52:13 Maybe there's a separate "package" for sftp? 17:52:17 Linux is inferior to bsd in every shape form and color 17:52:23 =) 17:52:26 lemme checkj 17:52:43 Spork: I beg to difer, but I won't go down that path. 17:52:53 heh 17:52:54 =) 17:53:03 I've been down that road. I know exactly where it ends. And that's not where I want to be. 17:53:24 Can anybody catch where that line is from? 17:55:10 roberto@brasileiro:~/documents/work/egold$ ll /usr/lib/sftp-server 17:55:11 -rwxr-xr-x 1 root root 22780 Sep 13 10:36 /usr/lib/sftp-server 17:55:44 You should check if you have the subsystem pointed to by the sftp entry in your sshd_config 17:55:59 it is 17:56:08 I have a /usr/libexec/sftp-server 17:57:08 Then it's something you have to work with the BSD gods you worship. 17:57:28 I love BSD btw. 17:57:37 But I don't worship the BSD or Linux gods. 17:57:48 hmmm 17:57:53 That's fscked up 17:58:00 I'd love to get sftp to work 17:58:05 one less port I have to leave open 18:03:16 odd...very odd 18:19:36 til has joined #openacs 18:39:53 k2pts has joined #openacs 18:42:07 welcome welcome 18:43:16 I think, I've just found a paper that introduced contracts (like acs-sc) back in 1990 and I'm excited. 18:46:43 wow 18:48:22 I'm so excited. Here's a quote that is referenced in that paper: "...no object is an island. All objects stand in relationship to others on whom they rely for services and control" -- Beck & Cunningham 1989 18:48:53 The paper is "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems" by Helm et al 18:52:04 cool 18:52:05 URL? 18:53:57 I was so excited I lost the page. let me check. otherwise I'll send you the paper. 18:54:08 excellent 18:54:19 http://www.cs.rice.edu/~robby/contract-reading-list/ec900169.pdf 18:55:14 * davb looks and tries to learn something... 18:56:02 * rbm wgets for later reading 18:56:38 tks k2pts 18:57:00 np. This is great for future work on acs-service-contract. 18:59:55 I am going to post this on the forums. It's so cool. 19:20:25 davb: are you reading it? it completely describes acs-sc. I am going to use this stuff to improve the documentation and maybe write an article (like ASJ) 19:59:23 "A precursor to [Design] patterns is the work of Helm et al. 1990) on Contracts 19:59:23 which are specifications of behavioral compositions." -- Dirk Riehle, Heinz Züllighoven (Understanding and Using Patterns in Software Development, 1996) 20:22:47 jerryasher has joined #openacs 20:25:55 http://members.home.net/k2pts/ 20:30:00 jerryasher: that's not my stuff. It's a guy whose nickname in radia amateurs is k2pts. 20:30:09 s/radia/radio 20:30:28 no relation. I found out about him after years that I choose k2pts for my email address 20:30:33 I know. It's still a fun page. 20:30:38 yeap 20:31:01 I wish I had the time, money, and fun hobbies that guy has! 20:31:05 have you seen the paper, I cited above? It's very interesting and very much related to acs-sc. 20:31:30 I saw your link, but haven't had a chance to take a look at it. 20:31:51 The link itself reminded me of something from another post today, about experts constantly reinventing the wheel 20:32:13 because they are often too cloistered or not interested in learning about other's activities. 20:32:45 Today though is really "clean the office" day. 20:33:00 God I hate "clean the office" day. 20:33:07 it's incredible. I mean after we finished the acs-sc with Kapil, we found out that it was very much alike with the "Abstract Factory Pattern". My house is a mess :) 20:33:37 Is there any documentation on the acs-sc aside from that one posting I referenced? 20:33:44 (It's now six weeks later.) 20:34:11 Kapil wrote a pretty nice guide. it's in acs-service-contract/www/doc/index.html 20:34:26 Okay, thanks I'll take a look at that too. 20:34:57 the paper should help you understand the basic concept better. I intend to update the documentation now that we have some references (it will be much easier) 20:35:25 I'll have to look up the Abstract Factory Pattern once more. An underlying pattern for patterns is also the 20:35:41 experts reinvent the wheel because they don't want to learn about others stuff pattern 20:35:54 while reading it, skip the code and the window stuff. It also suggests some things that need to be improved in acs-sc. 20:35:57 or because they want a new name. 20:36:10 :) 20:36:45 We had long discussions with Kapil on whether to use the name "interface" or "contract". I wanted "contract" for my own selfish reasons, I admit it. 20:36:50 :) 20:37:03 Really? I like contract a lot. 20:37:21 Anyway, I think I need to fill up a few more boxes of crap and move them down the stairs. But I'll be lurking around 20:37:33 it will be very useful in helping you implement the RSS package stuff 20:37:42 that you were discussing on the forums the past few days 20:38:08 ok, later 20:38:32 later. 20:51:54 k2pts has left #openacs 20:57:16 hi all 20:57:37 how was the networking, jerry? ;-) 21:03:18 Hey doc! I'm just lurking here today while trying to cleanup the office.... 21:03:43 The networking was so so. At times like this it's 21:03:48 everyone just looking for jobs. 21:04:01 depressing, especially when I am one of them! 21:04:13 That of course, and talk of the homecoming game. 21:04:48 ugh 21:04:50 i know what you mean 21:04:56 it's pretty bleak 21:04:59 on the other hand... 21:05:05 I think the IRS is getting soft. 21:05:21 uh, what's that mean 21:05:22 they just informed me that i'm due for a refund -- from stuff filed 2 years ago 21:05:31 it's like pennies from heaven ;-) 21:05:39 maybe the organization really is cleaning itself up. 21:05:58 but man, getting a really think envelope from the IRS 21:06:04 is like one of the scariest moments :-) 21:06:27 it's totally weird... i guess with the repubs in power 21:06:34 Hmm. I got just such an envelope yesterday at home, it's so scary it's still sitting unopened. 21:06:39 haha 21:06:49 Maybe I should open it then.... 21:06:51 when i saw this envelope, i thought for sure: AUDIT 21:07:06 but instead, it proposed a refund, and explained why... who am i to argue? 21:07:43 Interesting comparison of risk: 21:07:49 Poll Americans: ask 21:08:08 What's more likely, what's more likely to harm you, an envelope containing 21:08:15 a message from the irs? 21:08:19 or 21:08:25 anthrax? 21:09:33 haha 21:09:42 anthrax is easier to deal with 21:10:06 that's true: you can't get rid of the irs after exposure in just 60 days 21:12:34 Well, mentioning the IRS makes me think I need to get back to cleaning the office, 21:13:06 I am cleaning the office to clear a desk to prepare the records to take to an accountant to prepare the forms to file to the irs 21:13:15 ugh 21:13:22 I died, of course. 21:22:29 any regexp experts around? 21:28:34 nm. got it. 21:49:58 abbaJ has quit 21:49:58 docwolf has quit 21:50:39 docwolf has joined #openacs 21:52:45 abbaJ has joined #openacs 22:28:21 talli has joined #openacs 22:28:30 hello all 22:30:20 hi 22:31:37 talli has quit 22:41:21 hola davb 22:43:58 hi docwolf 22:47:34 i am getting worried 22:47:38 about this hurricane issue 22:48:26 Woah. I need to pay more attention to the news. I did now know. 22:49:24 yeah. it looks a tad worrisome 22:51:38 looks like i'm within the statistical margin of error for the storm path 22:51:41 fantastic. 22:55:33 davb has quit 23:12:53 davb has joined #openacs 23:29:22 heh 23:29:27 this rocks 23:29:49 whats that? 23:30:12 * davb fixes the laptop keyboard with some mild physical persuasion 23:36:23 anyone know how to tell if a monitor screen is polarized 23:42:07 look in the manual? 23:42:20 I can't find it 23:42:21 lol 23:42:29 I wish I understood half of this computer programming stuff... 23:43:20 hmmm? 23:43:49 hazmat has joined #openacs 23:47:46 hi hazmat 23:48:07 hi davb, hows it going 23:48:18 Spork: I was reading, or rather trying to read that paper on contracts and it makes almost no sense to me :) 23:48:24 Not bad. taking it easy. 23:48:56 distracting people from the main mission on the bboard, you know, regular stuff 23:49:32 what paper on contracts? 23:50:12 i wanna check the paper out but i think there are much better intros to component oriented programming. 23:51:29 http://www.cs.rice.edu/~robby/contract-reading-list/ec900169.pdf 23:51:48 Do you mind mentioning which ones? 23:52:10 first one that comes to mind is clemens syzperski's book, hold on a sec, i'll dig it up. 23:53:08 thanks 23:53:31 I think it will still be over my head, but I'll save it for future reference :) 23:54:34 adler has joined #openacs 23:54:41 in case anyone cares 23:54:57 I picked up a 200mb cd-rw and a a few mini cd-r's and 90 minute cd-r's 23:55:44 its more of a high level overview, but it does some serious demystifying on component software, and helps get a better intuitive feel for the stuff (imo), Clemens Szyperski's Component Software http://www.amazon.com/exec/obidos/ASIN/0201178885/qid=1004831760/sr=8-2/ref=sr_8_7_2/103-4305794-8787802