Re: [jug-discussion] How can I get the PID of a process started by ant java fork=true ...?
Replying to an Ant question, yikes, . Lots of goodies here http://ant.markmail.org/search/?q=exec+pid Looks like the short answer is you can't really do it easily, but I'd go with what Steve says here with jps: http://markmail.org/message/73byck4whqbgtqyq But personally, this looks like a problem solved best by using Lucene or Solr ;) Erik On Sep 10, 2008, at 12:07 PM, Chad Woolley wrote: Hey, I have a java question :) I have an Ant target (the Jsunit start_server target, actually) which starts a java process using the java fork=true ... Ant target. How can I grab the PID for this process, or of the parent Ant process? Is the PID hidden by the JVM sandbox security, and my only option is to grep the output of ps from the process invoking Ant? Thanks, -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Fwd: [jug-discussion] Hi guys.... Crank Crud Intro... JPA/JSF Crud tool
Venkat on ultrasound visualization... Begin forwarded message: From: Venkat Subramaniam [EMAIL PROTECTED] Date: August 11, 2007 7:57:27 AM EDT To: 'Erik Hatcher' [EMAIL PROTECTED] Subject: RE: [jug-discussion] Hi guys Crank Crud Intro... JPA/ JSF Crud tool Reply-To: [EMAIL PROTECTED] Erik, Oh, I was saying that Grails is not done yet, it is currently under active development so I consider it an ultrasound version (like the ultrasound we eagerly look while getting ready for a baby). Regards, Venkat -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Saturday, August 11, 2007 4:46 AM To: Venkat Subramaniam Subject: Fwd: [jug-discussion] Hi guys Crank Crud Intro... JPA/ JSF Crud tool ultrasound visualization?can you elaborate? Begin forwarded message: From: Andrew Lenards [EMAIL PROTECTED] Date: August 11, 2007 2:47:50 AM EDT To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Hi guys Crank Crud Intro... JPA/ JSF Crud tool Reply-To: jug-discussion@tucson-jug.org I found my notes - Venkat was talking about code synthesis vs code generation... then I have ultrasound vision written next that. For the life of me - I don't know why. I've searched around for these terms and RoR to no avail. I considered not even replying. Andy On 8/10/07, William H. Mitchell [EMAIL PROTECTED] wrote: I can't recall the name of the Rails adjunct that provided Grails-like scaffolding. I have to say that I like Grails' class-first approach better than Rails' table-first approach but it'll be interesting to see what the Grails guys come up with for migrations. (At NFJS Jeff Brown said they're working on it...) A little OT...I've been working through Groovy in Action and hardly a session with Groovy goes by without an unpleasant surprise or two. When learning Ruby there were numerous times when my intuition was correct about how two pieces would fit together. With Groovy it seems like I'm constantly out of step. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Hi guys.... Crank Crud Intro... JPA/JSF Crud tool
LOL! chad said what i was thinking. (though it'd be more like a streamlined comparison, not stupid ol' scaffolding). no offense rick, but geez, get with the (j/ruby) program! ;) On Aug 10, 2007, at 3:08 PM, Chad Woolley wrote: Or, in Rails: ruby script/generate scaffold Employee :) On 8/10/07, Rick Hightower [EMAIL PROTECTED] wrote: Please check out... http://www.jroller.com/RickHigh/entry/crank_crud_intro - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] build tools...
On Dec 26, 2006, at 11:15 AM, Art Gramlich wrote: Where's Hatcher to plug ant? :-) These days I mostly am dealing with Rake, but thus far at a Ruby newbie user level. I will be getting fancier with Rake very shortly though. Where do I stand with Maven? Never even really used it other than to build early Maven1 stuff, and didn't like it then. I hear its gotten a lot better, and I'd certainly recommend new projects that have straightforward needs give it a try. As for an older project now not building - that's scary. Setting up a local repo with locked in stable and tested dependencies is a must for any decent sized project. I also hear good things about Ivy, though not tried it myself. Erik For us, ant has worked well and pretty much stayed out of the way (like a build tool should). Additionally, because of the widespread use, almost every tool has an ant task (e.g. sablecc). It looks like there are several scripting tasks now available for the rare cases where normal usage doesn't work. On Dec 25, 2006, at 11:56 PM, Thomas Hicks wrote: I just ran across an innocative, upcoming tool for Ant that might make your life a great deal easier. It's called Virtual Ant: http://www.placidsystems.com/virtualant/Default.aspx regards, -tom At 09:54 PM 12/23/2006, you wrote: Without starting a flame-war... ;) I'm about to embark on updating a very brittle build process. It's currently based on a combination of relying on the IDE + a bit of ant In all honesty, I know make better than I know any other build tool, but I'd rather not do this build in make. So, I'm looking for some input into what build tool(s) you use, and why? Thanks! Robert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Web Framework debates online
On Jun 28, 2006, at 6:00 PM, Rick Hightower wrote: OS2 rules! NT sucks! Former OS2 user group member circa 1994... Dude... Open VMS is the shizzit! Never ever dis VMS in my presence. Dems fightin' werds! Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
On Jun 24, 2006, at 10:02 PM, josh zeidner wrote: Why is it that every Ruby expert that I run into has absolutely nothing to show? I've never claimed to be a Ruby expert, and it'll be quite a while before I could claim even being close. I barely claim expertise in Java, and in that realm my expertise is not across the entire spectrum but rather focused on the web tier and 3rd party libraries and frameworks. I've had two applications online in RoR, one was a railsplayground.com hosted one that is currently down - it was my first RoR app. It scraped our local MLS site, looked up lat/long coordinates with geocoder.us and plotted homes on Google Maps. After seeing communitywalk, its not worth seeing, but it worked just fine and dandy and several realtors saw it and thought it would make a nice product. If I was passionate about that domain, I'd have pursued it, but I'd rather play with words in academia. My current project does have one incantation of the RoR front-end online, but Kowari often crashes (though my custom search server stays up and running no problem). I could point you to that incarnation, but its not fast enough to be impressive. The new system will be up in a week or so when our sysadmin/project manager gets back from vacation. And it is impressive, and looks gorgeous. I haven't put up, or shut up, yet, eh? Ha! :) but here is my word of advice to potential IT buyers: INVEST IN PEOPLE NOT TECHNOLOGY. No doubt. My job title is java programmer but my role is really to use whatever technologies are the best fit to get the job done. And RoR just happens to be that for the front-end currently. here is a movie where a NASA employee compares Ruby EJB, and a few other technologies: http://oodt.jpl.nasa.gov/better-web-app.mov rapid turn around, scripting languages are best for the UI, not compiled languages. I'm still watching, but its a good presentation so far. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
On Jun 24, 2006, at 5:15 PM, josh zeidner wrote: After having worked with countless web frameworks and dozens of languages I will say this: What you gain in development effort and 'syntactic sugar' you lose in performance. But Ruby is not just a sugar coating of syntax. As all these sites prop up I just give it a year or two before people start marketing themselves as experts in 'optimizing' RoR, so they can sell the solutions to the performance problems that the 'peace and contentment' caused. Perhaps. There will certainly be the need for skilled folks in the RoR space in terms of deployment. You asked what sites I've deployed. At this point I don't have anything visible in production, primarily because I'm in a small academic group that has little sysadmin skills and servers to push what I've developed out. We do have a previous version online using RoR interacting with Kowari and a custom XML-RPC Lucene search server. We'll be putting the new and improved version with Solr replacing both the other two pieces shortly. Once that is up, I'll be announcing it. I run the system locally in development mode and it's doing quite well with no RoR caching, but we will certainly be enabling the caching facilities that RoR slickly offers as we need it. Very similar with EJB and CMP. EJB offered a simplistic layer of abstaction that made data management simpler Uh, you must have used a different EJB than I did. I don't have any happy experiences with EJB in practice or even in theory. But then again, I'm not even fond of relational databases in practice no matter how they are accessed... but ActiveRecord has made me smile a lot lately. Having witnessed the Web 2.0 sleaziness first hand, I do not trust anything that is associated with that world. If you want to deliver something really good to your client, give them standards that are unencumbered by licenscing constraints( where it is affordable of course ). I'm not following what you mean here... how does the Web 2.0 world relate to licensing constraints? I still do respect Java as a language because the semantics are well established I'm quite happy with Java as well, and I do more coding in it than in Ruby still. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
On Jun 21, 2006, at 9:08 PM, josh zeidner wrote: RoR: Why? because its Web 2.0( see CMP Media scandal ). The whole Web 2.0 thing( which RoR is invariably linked to ) has turned out to be a very stupid multi-level marketing scheme starring Tim O'Reilly. RoR offers no technological advantages over existing scripting languages, despite the magical claims of its proponents. My good (virtual) friend, Brent Ashley told me recently if Jesse James Garret is the father of AJAX, then you and I are the mailmen that all the kids look like. Back in the Tucson days, between getting .bombed by Running Start and starting at eBlox I wrote an article about Remote Scripting for developerWorks which was my first foray into technical writing. No technological advantage? I disagree. The brevity and readability... let's just say succintness most definitely is advantageous. For example, to wire up a Google-Suggest-like drop- down box I put this in my template: %= text_field_with_auto_complete :agent, :name, :size = 20 % And there is a controller method that generates the ul that gets rendered. There is a lot of convention, over configuration, and sometimes that is a bit too magical even for my tastes. But I can confidently say that RoR will be my preferred front-end technology for the foreseeable future and with loosely coupled back- end technologies, such as Solr, it's trivial to tie the best of breed pieces together, Java (or otherwise). Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
On Jun 22, 2006, at 12:44 PM, Chad Woolley wrote: Can't you feel the peace and contentment in this block of code? Ruby is the language Buddha would have programmed in. Yeah, being pragmatic, Buddha probably would be using RoR. The more idealistic of us would likely be doing Smalltalk. After reading several thousand blogs which argue the pros and cons of RoR and seeing it used in a real shop, I think the benefit does largely come down to the Ruby language itself. Bingo. Rails is only good *because* of Ruby. The dynamic magic that can be pulled to create very elegant looking DSLs (domain- specific languages) is the secret sauce that makes Rails what is. Sure, you can do wacky reflective stuff in Java and get close, but the natures of those languages are different at a core layer. Of course there's still big cons compared to Java - my main gripes are lack of a real refactoring, intelligent code-completing IDE Many gripe about this. Personally I have had great success being interactive and using IRB tab completion to explore and learn an API. In Rails, script/console is amazing - your entire Rails environment immediately accessible live. , and lack of something as nice as Maven to automatically manage your external and cross-project dependencies. RubyGems manages 3rd party library dependencies nicely, and with Rails you can freeze it to a particular project. There is also Capistrano (formerly Switchtower) for project automation such as testing and deployment. I'm not aware of much in the way of automated deployment tools in the Java world that compares to Capistrano. Its much trickier to generically deploy a Java application because of the various ways every application server deploys. Oh, and speaking of XML parsing performance - AJAX is now officially old news. AJAJ (Async Javascript And JSON, Javascript Serialized Object Notation) is the wave of the future. We don't need no stinking XML! Sending back XML was old news almost a decade ago. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
And if you want to be wowed by what a difference a programming language makes, check out the video of DabbleDB: http://www.dabbledb.com/ Sure, you could program this same thing in Perl CGI, assembly language, C, Java, etc, but it was done using Seaside and the beauty of what is underneath shines through to the end product. Erik On Jun 22, 2006, at 4:08 PM, Andrew Lenards wrote: There was a Smalltalk/Squeak web framework that got some noticed at OOPSLA 2004 called Seaside 2. I think there was a similar version done for Java called Lakeshore. On 6/22/06, Chad Woolley [EMAIL PROTECTED] wrote: On 6/22/06, Thomas Hicks [EMAIL PROTECTED] wrote: Dr. Ralph Griswold (creator or SNOBOL and Icon programming languages) used to say that there's really nothing new under the sun in CS, it's all recycled. Yep, you certainly can get a lot of mileage out of just 1's and 0's... I have to note that this statement form you admire so much comes directly from Smalltalk of 20 years ago! So why hasn't anyone come up with Smalltalk On RailS (SOReS)? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
On Jun 21, 2006, at 10:02 AM, Warner Onstine wrote: Solr looks pretty slick! Thanks for pointing this one out Erik. Any idea when it's coming out of incubator status? Solr is where it's at... hear me now, believe me later. As for the incubator... who knows? It's very mature as it is and the only thing really keeping it in the incubator is making sure we have a well rounded set of committers rather than most of them from CNET. I'm officially a committer and have made a couple of minor tweaks. There needs to be a bit of diversity for the incubator PMC to be satisfied. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] App Dev Framework choices
On Jun 21, 2006, at 12:35 PM, Chad Woolley wrote: lowercase web services? What do you use to talk XML on the RoR side? One of the Ruby SOAP implementations, something homegrown, or something else? Currently Solr returns back a custom XML layout and accepts a custom format. These are defined on the Solr wiki very nicely. I'm currently using REXML to parse the responses, and its working fine. But I think REXML's performance is not quite as quick as perhaps sending back YAML or even Ruby code to eval. Solr has a custom response handler hook so XML is not required, just the default. By lowercase web services I mean it's a service, and it's on the web, but it's not heavy SOAP. Erik, the RESTful one - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Positions in Phoenix!
On 16 Nov 2005, at 16:31, Tim Colson (tcolson) wrote: Unless everyone wants to change this, which I'm fine with, I just don't want to clutter the list with job postings. FWIW - job postings on the main list don't bother me. I follow the Northern VA JUG (NOVAJUG) and they are very strict about no job postings on the main list, only on the job list. The reason for this is a good one... many members are subscribed to the list via their current employers address and do not want job solicitations coming to them there. It seems to be a generally good idea to keep job postings separate from the main community list. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Why Jython, or Jelly, or Groovy, or Beanshell or ... instead of perl, or sh script?
On Sep 28, 2005, at 4:17 PM, Tim Colson (tcolson) wrote: So if you were doing this task, how would you approach it? What tool would you use? And more importantly, why? I'd use Ruby, personally. It'd be much more readable than the equivalent Perl variant, almost for sure. The readability factors into the maintainability too. One way would be to leverage the Net::HTTP library: http://www.ruby-doc.org/stdlib/libdoc/net/http/rdoc/ I use it to fetch a string from an HTTP response this way: # Fetch method copied from PickAxe, p. 700 def fetch(uri_str, limit=10) fail 'http redirect too deep' if limit.zero? response = Net::HTTP.get_response(URI.parse(uri_str)) case response when Net::HTTPSuccess response when Net::HTTPRedirection fetch(response['location'], limit - 1) else response.error! end end fetch(http://www.ruby-lang.org;) # for example, which would follow the redirect to /en To pull binary content, you'll have to use the API slightly differently, but it'll still be pretty trivial. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Why Jython, or Jelly, or Groovy, or Beanshell or ... instead of perl, or sh script?
On Sep 28, 2005, at 4:38 PM, Michael Oliver wrote: Its more than three lines, but tell me this, Well, it could be less code if you knew you didn't need to deal with redirects :) But, to be safe, I'd guess it'd be 10 lines of clean Ruby code to do this task... and 3 lines of Perl-esque garbage code if you wanted to obfuscate it and compress it as much as possible. Do you have to rub three times to get ruby to give you the magic? Nope, only once. Ruby is just that sweet. Erik -Original Message- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 28, 2005 1:32 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Why Jython, or Jelly, or Groovy, or Beanshell or ... instead of perl, or sh script? On Sep 28, 2005, at 4:17 PM, Tim Colson (tcolson) wrote: So if you were doing this task, how would you approach it? What tool would you use? And more importantly, why? I'd use Ruby, personally. It'd be much more readable than the equivalent Perl variant, almost for sure. The readability factors into the maintainability too. One way would be to leverage the Net::HTTP library: http://www.ruby-doc.org/stdlib/libdoc/net/http/rdoc/ I use it to fetch a string from an HTTP response this way: # Fetch method copied from PickAxe, p. 700 def fetch(uri_str, limit=10) fail 'http redirect too deep' if limit.zero? response = Net::HTTP.get_response(URI.parse(uri_str)) case response when Net::HTTPSuccess response when Net::HTTPRedirection fetch(response['location'], limit - 1) else response.error! end end fetch(http://www.ruby-lang.org;) # for example, which would follow the redirect to /en To pull binary content, you'll have to use the API slightly differently, but it'll still be pretty trivial. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Feedback for this WhitePaper
On Sep 20, 2005, at 10:43 AM, Michael Oliver wrote: I recently had a discussion with Craig McClanahan ... LOL! The guy who took the M out of MVC :) Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Current state of the art for logging
I vote for using Log4j directly in your case - its got everything (and then some) that you'd need. JDK 1.4 Logging is ok, but doesn't have all the great appenders available that Log4j has (that I know of). Erik On Jun 20, 2005, at 1:19 PM, Randolph Kahle wrote: What is the current state of the art for logging? Is it log4j or is there something better? I am working on a system that requires remote administration and changing log levels of different services at run time. Randy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] june preso?
On Jun 3, 2005, at 6:47 PM, Warner Onstine wrote: ... in seeing a Ruby on Rails demo? I might be able to whip something together *might*?! If you can't whip up something in Rails in 15 minutes then I'd be shocked :) In fact, you could come to Rails completely cold at the start of the meeting, download it, install it, learn enough Ruby to get a hello # {name} tied to a database all within an hour. Erik - who's building his current application with Rails - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Appending a new property to the end of a property file?
propertyfile uses Java's on java.util.Properties to write the file, so comments, except for a one-line header, get removed. This is a frequent annoyance that folks encounter. But, since you'll be happy with an append, you can do this: echo file=file.properties append=true prop=${val} /echo Ant expands ${} property references. You'll need to be sure that the text is appropriate for an .properties file (escaped for special characters and all). And if you need to insert new lines, use ${line.separator} (a JVM system property that Ant makes handy). Another alternative would be to use a master .properties file with @TOKENS in it and use a filtering copy to replace tokens in the copy process. Erik On Feb 27, 2005, at 2:10 AM, Chad Woolley wrote: Hi, Does anyone know how to prevent the Ant propertyfile task from randomly rearranging your property file and whacking all the comments? Or alternately, some simple ant/maven based solution that just lets you append a new property to the end of a file? I tried the replaceregexp task, but I'm not good enough with regexp to know how to append to the EOF. I know I could write a program/task/plugin to do this, but I can't believe there's nothing out there that I could make work out of the box with a little tweaking... Many thanks, Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Appending a new property to the end of a property file?
On Feb 27, 2005, at 9:28 AM, Drew Davidson wrote: Chad Woolley wrote: Does anyone know how to prevent the Ant propertyfile task from randomly rearranging your property file and whacking all the comments? rm -fr $ANT_HOME Or alternately, some simple ant/maven based solution that just lets you append a new property to the end of a file? I tried the replaceregexp task, but I'm not good enough with regexp to know how to append to the EOF. I wouldn't have been a bastard with the above reply unless I had some solution :-) Perhaps you should RTFM :)) I have an ant task that writes a property file based on a prefix. For a frequent basher of Ant, it might behoove you to know the enemy well: project name=propfile property name=hibernate.whatever value=Drew/ echoproperties destfile=hibernate.properties prefix=hibernate./ /project True that this misses the original point, as does your task, of keeping the comments intact. echoproperties also supports the propertyset's, which allow lots of control over which properties are selected, not just by prefix. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Appending a new property to the end of a property file?
On Feb 27, 2005, at 10:12 AM, Drew Davidson wrote: Erik Hatcher wrote: On Feb 27, 2005, at 9:28 AM, Drew Davidson wrote: I have an ant task that writes a property file based on a prefix. For a frequent basher of Ant, it might behoove you to know the enemy well: project name=propfile property name=hibernate.whatever value=Drew/ echoproperties destfile=hibernate.properties prefix=hibernate./ /project True that this misses the original point, as does your task, of keeping the comments intact. echoproperties also supports the propertyset's, which allow lots of control over which properties are selected, not just by prefix. Great, just try to find it in http://ant.apache.org/manual/index.html Well, I clicked on the Overview of Ant Tasks link to get to this page: http://ant.apache.org/manual/tasksoverview.html and there is a property tasks area. Echoproperties is listed there. I'm not going to defend Ant's documentation structure - I agree its horrible. For the Ant book I spent a great deal of time building an XDoclet task reference generator (it's in Ant's proposal/xdocs CVS directory). Appendix E of our book was entirely generated. In that effort, I meticulously annotated Ant's task source code with @tags to provide the necessary metadata that could not be gleaned otherwise. That effort in no way fixed the structure of the documentation. Oh, it's in Optional Tasks: what does that mean? Only with the ant optional jar? How do I know someone will have that who tries to use my build file? Why is it optional? Which Ant developer made the arbitrary decision that this echoproperties gem should be optional instead of core? All of these questions have been discussed in the Ant e-mail list. The short answer is that in Ant 1.6+, all optional stuff is included in Ant by default - nothing needs to be added unless there are 3rd party dependencies (junit.jar, for example) that don't ship with Ant but are used by some tasks. The documentation is IMPOSSIBLE TO NAVIGATE. I wish that I'd saved myself the time and effort to write this because Ant's documentation was written and organized by a 4 year old. Thanks for making me angrier. I personally feel guilty and responsible for the state of Ant's documentation. The info is actually there, it needs someone with a keen sense of how to structure it better though. I know these rhetorical comments will strike more nerves, but did you ask on the Ant list (or this list?) if there was a way to write property files from all Ant properties? Did you consider contributing your task to Ant itself since it is generic and not tied to OGNL itself? Can't we be one big happy family and get along? :) As to For a frequent basher of Ant, it might behoove you to know the enemy well I really don't want to have to grovel through a big, unorganized heap of incredibly badly written documentation to find this. The fact that I didn't find this (and I was looking) and Chad didn't find it might make you think that maybe it's the fault of the lousy documentation, not the searcher. The docs are all just a big bag of stuff with no organizations or explainations. How the hell am I supposed to know to look in Optional Tasks instead of Core Tasks??? No argument there... it's a mess. The point of the overview of tasks page was to build a bit more structure to it, though it is quite inadequate. We used to have an Ant committer on board that worked on keeping documentation up to date and started this restructuring, but unfortunately she's no longer active. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Appending a new property to the end of a property file?
On Feb 27, 2005, at 10:12 AM, Drew Davidson wrote: The documentation is IMPOSSIBLE TO NAVIGATE. I had to fiddle with the search terms to find it, but the search terms seem logical for the purpose: http://www.google.com/search? client=safarirls=enq=ant+property+file+prefixie=UTF-8oe=UTF-8 You used the attribute prefix in your task, and that is the key to get echoproperties to appear. Again, I concur with the state of Ant's documentation. Is there any project (besides OGNL :) that is documented as well as it should be? And yes, OGNL is very well documented! Kudos, Drew! Point me to the best thats out there, I'd love to have some examples to base from. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Appending a new property to the end of a property file?
On Feb 27, 2005, at 12:53 PM, Dennis Sosnoski wrote: Drew Davidson wrote: Great, just try to find it in http://ant.apache.org/manual/index.html Oh, it's in Optional Tasks: what does that mean? Only with the ant optional jar? How do I know someone will have that who tries to use my build file? Why is it optional? Which Ant developer made the arbitrary decision that this echoproperties gem should be optional instead of core? The documentation is IMPOSSIBLE TO NAVIGATE. I wish that I'd saved myself the time and effort to write this because Ant's documentation was written and organized by a 4 year old. Thanks for making me angrier. Maybe the intent is to motivate you to buy a book on Ant - the JBoss principle of making crappy documentation available for free, so that you'll get sucked in and then have to pay for something better. I think somebody wrote one on Ant a while ago... ;-) Yeah, I hear that lizard cover one from O'Reilly is where it's at! :) Maybe you folks downloading Ant over dialup will have noticed that its a pretty large download... thanks to Appendix E of JDwA being added to the distribution. JDwA is way past its prime right now, and if the Ant team wanted to simply HTMLify our book and make it the built-in documentation I'd be all for it, though it'd need a lot of updating to account for the new features. Steve is working on the 2nd edition as we speak. It's a struggle with me do I spend my time on writing a book or improving the built-in stuff. What is better for the community? Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Fwd: Video Game written in Ant 1.6 and Ant-Contrib
So my challenge to Drew... create an OGNL video game! :) Erik Begin forwarded message: From: Stefan Bodewig [EMAIL PROTECTED] Date: February 25, 2005 3:52:56 PM EST To: [EMAIL PROTECTED], user@ant.apache.org, [EMAIL PROTECTED] Subject: Video Game written in Ant 1.6 and Ant-Contrib Reply-To: Ant Users List user@ant.apache.org I simply must share that http://jonaquino.blogspot.com/2005/02/first-video-game-written-in- ant.html Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] RE: Bagging on ASF...or not
On Feb 24, 2005, at 1:11 PM, John D. Mitchell wrote: Erik == Erik Hatcher [EMAIL PROTECTED] writes: On Feb 23, 2005, at 12:48 PM, John D. Mitchell wrote: [...] But sure, I'll concede that yours really is bigger than mine if you want to play that game :) Funny how you've managed to turn it around into some kind of chest thumping thing. Naw, I expected the ironic humor to come through (because that's a kind of argument that's made all too often on the mailing lists and newsgroups). Alas. So you're now guilty of doing exactly that which you complain about. Now that is ironic! :) Even more ironic is that you brought this thread back to life with a reply of mine that was sent to you privately (yes, I did agree that it was acceptable to bring it back to the list), and brought it to a community list specific to a community that neither of us actually reside. I suppose the hard-core sociologists would have a field day with the irony of it all. Erik Mea culpa, John - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] the languages that we create....
On Feb 24, 2005, at 1:33 PM, John D. Mitchell wrote: And a lot of bad mouthing :) Indeed. Alas, you're one of the rare ones who are both tough enough to deal with that crap and still be a nice guy. And you missed my humorous poke at you on that one :) I don't recall any example you (or Drew, I assume) have provided as an evil example of open-source. You've both given me an earful about how Ant sucks, but I haven't heard it as classified as evil. Sure it is. Ant's very popularity strongly inhibits the creation of anything that's actually good. Ah, so popular simply cannot be good? Interesting. Also, since you seem to not see it, the very process that the ASF uses (strong personalities + popularity) is a huge barrier to entry of people who could actually help make things significantly better (such as Drew :-). Drew has as strong a personality as anyone I know. He has been invited on more than one occasion to affect Ant and Tapestry. Drew chooses not to - that is the only barrier to his entry. It is true, though, that the ASF has a barrier to entry - it requires learning the way a project works and how the ASF works currently to be able to effectively jump in. ASF is not static - it is what people make of it. It is a meritocracy. Nothing happens unless someone makes it happen. Changes can be made and many have been made at the highest levels of it. We all only have so much time and energy to use in our lives and trying to deal with all of the pettiness (at best :-) is totally not worth it. Life is full of pettiness. You're free to shirk it all off and go against the grain, but often the way to change things is to be an integral part of them and speak your mind and push in the directions you feel it should go. What about politics? Family interactions? Any group of more than one person requires a bit of diplomacy, compromise, and letting go. Do you agree? Or do you only do things that have no degree of pettiness to them? Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] the languages that we create....
On Feb 24, 2005, at 3:51 PM, Drew Davidson wrote: I have been invited to join the Ant work by you and you alone. My posts to the Ant lists went either (a) ignored or (b) blown off in a condescending way. In neither case did I think that my help was going to be appreciated or wanted. I have critiqued the design of Ant in the past (both publicly and privately) and the problems that are part of Ant are not going away short of starting over. The retardation is genetic and not curable without killing the organism. But I didn't post this to bash Ant (I use it every day and it works for the basic tasks that I need it to do - it's just not gotten over that hump to the point where I can write a real build system in it). My point here is that the Ant community has a view on the way that Ant should be and no one will change their minds; they will either (a) ignore or (b) blow off in a condescending way anyone who dares to question the design of Ant. I'd rather not fight uphill that way. Plus, it's their project and if I don't want to use it then I won't; or I will use it and just stop pissing into the wind trying to change things with the way it's developed. There has been some very dramatic evolution (to stick with the genetics analogy here) of Ant in the past couple of years. There were uphill battles that were fought to achieve those, but they are in and change the nature of how you write build files now. The thing that bothers me in how you and John both portray the situation as they. Them or us. Us is them, folks. You have to stick around to make changes. Dropping in to an e-mail list and firing off some complaints or even constructive advice and then disappearing in the face of adversity destines you to be ignored. If you feel strongly about change in a particular project, then stand up for it. If you feel strongly about change in your community, whatever that may be, then stand up for it. Erik, this is something that is a continuing theme with you and OSS: contribute to the project or shut up about it. I suppose that this is a reasonable, though not entirely accurate, summary. It's not quite accurate (about me) in that I welcome opinions and input. I went out of my way to solicit input from you and John about Ant before I wrote the first sentence in the Ant book. And I very much valued both of your contrary opinions about Ant. And I still do. The main point I make here is not to shut up about it, but rather face the realistic situation here. You may get lucky in that your opinions/complaints are heard and someone takes them to heart and does something with it seeing the light that you have provided. But far more realistically is that unless you actually do something about, you're complaining to yourself. This phenomenon is not because the people developing Ant don't want it to be better or that they do not see flaws, its that they are doing the best they can with what they've got and aren't nearly as smart as you to make the brilliant changes that you come up with. And they all have real jobs and real families too. There are no Ant developers that I know of that are making their living strictly off Ant. And I can tell you most definitely that book royalties don't even pay to send my kids to school. Tapestry is a different story, though. It is run by someone who is attempting to make his living off of it, and has done a reasonably good job of getting it to that point where its possible. First of all I don't have to contribute to something to have an opinion or not. I can be critical of anything, but this in no way obligates me to improve it. I completely agree with this sentiment... though see above. Secondly, my contribution may not help. Any project has people who are leaders. If those leaders don't have a vision for the acme of the project (i.e. what's the ultimate version of this product?) then it is doomed to be a dumping ground for commit whores and those without a firm grasp of the totality of where the project should go, leaving an unorganized and ambiguous mess. This changes the dynamic of our conversation. The best projects are run by a benevolent dictator, it seems. The creator of the project who keeps things focused and reviews design decisions with the totality in mind. I concur with that completely. Ant was written like that, but the creator of it ditched out instead of fighting to keep control. Tapestry and Lucene are both driven each by a single brilliant person, warts and all. Leaving stuff out is just as important as putting stuff in (probably more so). If I jumped into Ant or Tapestry with both feet I probably would not be as big a help as I would like to be because I wouldn't be doing the architecture work that would be my most significant use. You would be a huge help to Tapestry, that I can say for certain. For Ant, you'd be a trouble maker! :) The bottom line is that I only
Re: [jug-discussion] the languages that we create....
On Feb 23, 2005, at 9:53 AM, John D. Mitchell wrote: How are you seeing that manifest itself? Community is what Apache takes the most seriously. The codebase is 2nd to community. A thriving healthy community around a codebase is what the aim is. No, you (and they :-) are confusing popularity with healthy. Those are very different things. No, you are confusing what the current state of these projects is and what their _aim_ is! :) ASF aims for healthy, not necessarily popular. Whether it achieves that aim is another story, but I was speaking of the goal not necessarily the outcome, and those are often _two very different things_. Take Tapestry for instance - its has not historically been that popular, but it is an extraordinarily healthy and intelligent community. Flames do not exist there, and everyone is very helpful, kind, and most are quite brilliant. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] the languages that we create....
On Feb 23, 2005, at 10:50 AM, John D. Mitchell wrote: Erik == Erik Hatcher [EMAIL PROTECTED] writes: On Feb 23, 2005, at 9:53 AM, John D. Mitchell wrote: [...] How are you seeing that manifest itself? Community is what Apache takes the most seriously. The codebase is 2nd to community. A thriving healthy community around a codebase is what the aim is. No, you (and they :-) are confusing popularity with healthy. Those are very different things. No, you are confusing what the current state of these projects is and what their _aim_ is! :) ASF aims for healthy, not necessarily popular. Whether it achieves that aim is another story, but I was speaking of the goal not necessarily the outcome, and those are often _two very different things_. Sorry, the proof is in the pudding. I.e., you can't take a (self-)righteous position because you mean while your actions are evil. The road to hell, as it were. I know, I know, integrity is a four-letter word to the vast majority of people (who aren't merely indifferent). Sigh. I'll be the first to claim that I really have no idea what the hell John is talking about in that last paragraph. I as an individual don't speak for the ASF. All I'm quoting is the stated philosophy. Because real people are involved and many of the projects have little overlap and are islands and isolated communities, the same real life societal manifestations occur. Is the ASF a microcosm of the world, or is the world a projection of the ASF? It's all a matter of perspective and it being exactly what you want it to be :) Take Tapestry for instance - its has not historically been that popular, but it is an extraordinarily healthy and intelligent community. Flames do not exist there, and everyone is very helpful, kind, and most are quite brilliant. Ah, see, one of the issues is that you're judging Tapestry's popularity relativistically to other ASF projects rather than in real terms. That's one of the fallacies that Microsoft suffers froms. WTF? Tapestry is _not_ that popular. It's niche. There ought to be an amendment to Godwin's Law that says a thread is dead when M$ is mentioned :)) Anyways, as I stipulated, I'm willing to agree that there are some aberrant projects that aren't lame and/or evil. :-) Wouldn't evil imply intent? What open source projects (in or out of the ASF) do you feel are evil? However, please note that the focus was on the ASF as an organization and how their (lack of) leadership has failed the entire community. Your handwaving and philosophizing is fun and all, but please bring it down to something concrete. Point out something specific please. Generalities aside (let's assume that a concrete issue *is* the generality for now :) Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] RE: Bagging on ASF...or not
Tim - that is an excellent point and one I should have thought of. I've been watching your infrastructure posts recently. John is a member of this so-called community that has apparently been failed by ASF or is he? What has he done to help? Show me a list of patches or bug reports or even e-mails to the *community* he feels free to poke at from the _outside_. Being such a wise student of life, you know better than most that its all about *experiencing*. Philosophizing is bullshit. *Being* what you preach is true enlightenment. Join that which you feel is evil. Embrace it. Help it. Ya know John... patches always accepted!:) Erik On Feb 23, 2005, at 12:08 PM, Tim Colson (tcolson) wrote: However, please note that the focus was on the ASF as an organization and how their (lack of) leadership has failed the entire community. Howdy John, et. al I probably would have agreed/shared a lot of John's opinions on ASF... up until this week. I've started talking with the chaps in Apache Infrastructure to try and help understand why wiki.apache.org runs an antiquated MoinMoin install and what I can do to help. These dudes have jobs just like the rest of us, and yet they are flying in from as far away as the UK (perhaps farther) to relocate servers to a different colo facility and do some upgrades in person. And I got to thinking, Uh... yeah, it may be a mess...but what am *I* doing to help? And uh, what organization have I -EVER- been a part of that despite the best intentions, actually delivers on them? And why is that? Are they all incompetent morons? Are they eeevil? Hmm... no, probably they're [volunteer] humans... some smarter than others, some with opinions stronger than others, some who can -donate- more time than others... but in the end, a meritocracy probably is measured by popularity... and by and large ASF's end product(s) are better than a stick in the eye. I think in long rambling sentences. Normally I am not so charitable towards less than perfect organizations...but my head is softening after years of beating it against the walls. ;-) Oh...Jetspeed and Tomcat still suck. grin Cheers, Timo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] RE: Bagging on ASF...or not
On Feb 23, 2005, at 12:48 PM, John D. Mitchell wrote: Bullshit. I've been helping and contributing to free/open source projects for longer than you've been programming. Including you and yours. Really? I believe you're only like a year older than me and I started coding when I was 7 years old (1977). But sure, I'll concede that yours really is bigger than mine if you want to play that game :) Funny how you've managed to turn it around into some kind of chest thumping thing. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] the languages that we create....
On Feb 16, 2005, at 8:23 PM, John D. Mitchell wrote: Some sociologist should be studying the politics of open-source projects. I don't know of any hardcore sociologists but there's plenty of us amateur sociologists doing it. I'm going to forward this thread over to a good friend of mine and a hardcore sociologist who studies lots of internet phenomenon - http://www.csun.edu/%7Eegodard/ Looking at the forest level, the view is a bit scary. Big organizations like Apache, Red Hat, IBM, Sun, MS, SCO, etc. are all trying to control the commons. Even the so-called pure OSS organizations like Apache have done a piss poor job being stewards and otherwise exemplifying good governance and project management. Could you elaborate on Apache's failings? I'm genuinely curious. I'm an ASF member, and often feel I'm one of the lamest members there. But then again, the whole thing is run by volunteers. It's amazing that Apache has hung together like it has, and most recently the infrastructure and legal teams have really stepped up to the plate. I've recently had the Lucene codebase migrated to Subversion and moving it to the top-level, and the infrastructure folks really do a lot of underground work that make it all tick. It is difficult for me to say much about Apache as a whole because I know its made up of individuals who do not all agree and are each in it for their own personal reasons. The primary glue seems to be the license itself, and what it represents. Again, I'm curious what you feel Apache has not done that you had expected them to do. Constructive criticism always eagerly welcome! Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Spring FUD is confounded
On Jan 12, 2005, at 4:51 PM, Richard Hightower wrote: It will be in the book. :o) *sigh* - I hope you meant that in jest. Openness and sharing of the code will benefit your book more than keeping it hidden until publication, I'd almost bet on it. I've been enjoying answering questions on the Lucene list with get the LIA source code, and type 'ant Indexer'. I do applaud Rick's sharing of lots of his technical adventures on his blog. On a related note - I've been getting prodded to provide the code to the lucenebook.com site a lot lately, and am working towards cleaning it up (I had intertwined my customizations with a version of blojsom too much on my initial work, and teased it apart today making my code an overlay to blojsom). So I'm working towards at least providing code snapshots under the hood of the site - to me its more about the integration I've done than any specific technical tricks. Erik -Original Message- From: Nicholas Lesiecki [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 11, 2005 5:05 PM To: jug-discussion@tucson-jug.org Subject: Re: [jug-discussion] Spring FUD is confounded When are you going to Open source your ExpressionPropertyConfigurer? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Spring FUD is confounded
On Jan 10, 2005, at 2:36 PM, Richard Hightower wrote: As always, I am in violent agreement with you. :o) Erik and I have been in violent agreement since 2001. I love ya man: http://www.lucenebook.com/search?query=hightower+lesiecki (I had to put lesiecki in there to get my highlighter to show the full comment :) Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Spring FUD is confounded
On Jan 10, 2005, at 4:50 PM, Drew Davidson wrote: creamy OGNL goodness I love OGNL, but the thought of it being creamy has lessened it somewhat. Given that it is all of that, I think this is where some of the risk comes in. It may be too big for some situation. If you only need IoC, it's a lot to bite off. If you only need AOP, what's wrong with AspectJ? And a 13MB download for a little ol' IoC container? Good grief And that is for the version *without* dependencies. First of all, don't ask a question like what's wrong with AspectJ in my presence unless you are prepared for the answer. I'm quite prepared for whatever your response may be. Going back to my above example, I'm applying advice on my order status method only in the admin application - not the front-end application. AspectJ just wouldn't work on this example. How do you handle it with Spring? Different configuration files per application? You could certainly do something similar using AspectJ - depending on your architecture. If they are separate .class/.jar files you could instrument them separately. Or you could have a *configuration* switch (Spring loaded!) that the aspect keyed off of whether it was in admin or front-end - or perhaps the call graph differs in a way that could be aspected specifically for only the front-end? Either way, saying it wouldn't work to a community full of developers is surely asking to be shown otherwise. We're the ones that always say no problem to whatever crazy requirement comes down the pipe. Anyway, there are few apps where I wouldn't use Spring right now. Command-line filter type of applications are one of the few. Almost anything that I do that is interesting has many interacting pieces that would be better served by configuration. I certainly agree with that last sentence. And I'm pleased to see Rick wire up jython as a way to do this configuration. I'm leaning more and more towards domain-centric languages. We all have our hammers. Personally, I'd use Lucene for configuration... Hits hits = searcher.search(new TermQuery(config, bean.class)); // :)) Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Use search engine technology for object persistence
Looks like I don't need to code anything after all... http://www.javaworld.com/javaworld/jw-01-2005/jw-0103-search_p.html Though I would have crafted it a bit differently - using QueryParser for non-human-entered queries is tenuous and chock-full of weird edge cases. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Searching large object graphs
On Dec 30, 2004, at 11:58 AM, [EMAIL PROTECTED] wrote: O... Ok, that seems like fun (I know I am sick, but truth is I have time to kill at home for next week and a half) But we should also have different kinds of common data, like a few hundred complete personal records, a few books/blogs, etc. We could also see a difference between memory resident ODB structure and RDB structure. For implementation time we should also try one technology we are familiar with and one we are not; as implementation time is inversely proportional to prior knowledge of the method used to implement. Perhaps I can get more practice at Lucene. You're getting pretty carried away here! I am after simplicity - meeting what Tim's original question was about, nothing more. From what you just said, and what you say later, it sounds like you're expanding the requirements dramatically. I'm in if Tim wants to write a few unit tests that candidate implementations should turn green. Also, am I the only one who has to deal with the Trak Everything Objects? I ask because a few hundred tuples in a record is not uncommon. It is also not uncommon to have them related to a few dozen other entities each of which may have 25-50 tuples. And the users come up with wacky searches like I want to know every person who has ever been on a south phoenix construction project with Tim after he became a lead. I know there are some scary smart people on this list (I am not necessarily on of them) and I would love to see some good code. This vastly changes the landscape. This sounds like the job for an RDF engine (Kowari is the one I hear the most about). I'm not interested in building a mega catch-all kinda in-memory object store. Tim had one concrete example, and I said Lucene looked perfect for it. Lucene is awesome, but its not the end solution for every conceivable scenario. If Tim's use cases are along the lines of the example he provided then I'm up for making whatever unit tests he comes up with pass with a Lucene implementation under the covers. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Searching large object graphs
Lucene The query would be this name:olson OR email:olson if you indexed that information into separate fields. A common technique is to index all data you want queryable also into an aggregate field in which case the query could simply be olson. The full source code to Lucene in Action is at http://www.manning.com/hatcher2 - the ebook is available. The physical book is shipping from the printers as we speak (UPS tracking says I should have gotten my batch yesterday, but it'll be today it seems). http://www.lucenebook.com will go live within the week searching *inside* the book as well as a blog system I'm setting up. Erik On Dec 22, 2004, at 10:27 PM, Tim Colson wrote: So just assume for a moment that RAM is cheap and you decided to load 100K objects into memory. Assume those objects were Employees... you can imagine the fields would be the usual suspects. Assume each employee is associated with a profile that is another object, which is composed of a bunch of other data objects. What would you use to find/select objects like Name or email foo matches *olson* ? Some possibilities: http://jakarta.apache.org/commons/jxpath/ Some of the stuff inside Commons: http://jakarta.apache.org/commons/collections/ Lucene indexes http://jakarta.apache.org/lucene/docs/ Others? Tim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Speaker next week
On Nov 30, 2004, at 11:06 PM, Todd Ellermann wrote: Hey fellow tucsonians The PHXJUG has a sponsor for next wednesday, but the sponsor has no speaker. Any of you author types from down there want to come speak about something interesting? Promote your book etc... If I was still in Tucson, I would be happy to come up. But I'm not local, sorry. In the future, if you're interested and can fund (or a find a sponsor to do so) a plane ticket, I'd come out. Which brings me to the next point BTW GO CATS! This is unlike me since I could really not care less about college (or professional) sports, but those Cats came to my stomping grounds the other day and got stomped on: http://virginiasports.collegesports.com/sports/m-baskbl/recaps/ 112104aaa.html :) I did take my youngest son to a UVa football game and the oldest one to a basketball game this season though. And may go to the (chilly) NCAA soccer game this weekend if one or both of them are up for an evening game. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Help with uuencode
Looks like there are bits built into Java itself: sun.misc.UUEncoder It would be nice if a clean wrapper for it was part of Jakarta Commons Codec though. Erik On Nov 2, 2004, at 7:59 PM, Thomas Hicks wrote: There's got to be something like this already out there. I need to uuencode (not Base64) a data file (or stream or byte array). Someone out there HAS to have written a public-domain Java class/method to do this already but all I can find are commercial ones. Is this buried somewhere in the Java APIs or somewhere in all the mail/internet code of some Jakarta project? Any help appreciated. -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Tucson JavaOners?
Who's going to JavaOne? I'll be there Saturday morning through Wednesday morning. Scheduling is tight, as always, but would be good to catch up. Also, if you haven't signed up for the Phoenix No Fluff, Just Stuff symposium why not?! These symposiums are awesome (and that is my unbiased opinion). Come on, I know how hot it is in mid-July... so why not spend it in an air-conditioned hotel for a weekend? http://www.nofluffjuststuff.com/2004-07-phoenix/index.jsp Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Tucson JavaOners?
On Jun 23, 2004, at 3:37 PM, [EMAIL PROTECTED] wrote: As a starving student, it could be the fact that the registration fee for NF/JS is more then my rent. No matter how good they are it can not be worth the price, even if they gave away gold plated java beans emblazoned with MS Access JDBC driver code I still could not afford it. At least that is why I haven't signed up yet ;) Quite understandable in your situation. NFJS is not targeted at students, generally speaking. It is obviously aimed at professionals that would have the fee paid by their employer. As for cost, though, it's a tremendous bargain compared to any other source of top quality Java technical information. JavaOne costs 4x as much just to register, not including cost of travel to SF and expenses for lodging and food, for example. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Re: Maven
Here are a few relevant mails hot off the Ant user e-mail list Begin forwarded message: From: Jens Riboe [EMAIL PROTECTED] Date: April 12, 2004 2:52:47 PM EDT To: [EMAIL PROTECTED] Subject: Embedded Maven or Maven Light??? Reply-To: Ant Users List [EMAIL PROTECTED] Hi, I have started to messing around with maven. The repository idea is brilliant and the site generation with all these reports are very healthy for the ego. However, every time I try something new, I found my self browsing around chasing some non-existent or partial documentation, wasting hour after hour. In addition, I don't really buy the 'one artifact per project' idea. So, I wonder if I'm alone or there are anybody out there fealing the same, that Ant should be extended with some of the Maven features. What I really would like to see is a mavenfileset, similar to the example below mavenfileset url=${maven.repo} cachedir=${maven.local} include groupid=${xyz.groupid} artifactid=${xyz.id} version=${xyz.version}/ /mavenfileset Has anybody already implemented something like this? Comments? Kind regards, Jens Riboe Begin forwarded message: From: Stirling, Scott [EMAIL PROTECTED] Date: April 12, 2004 3:20:39 PM EDT To: Ant Users List [EMAIL PROTECTED] Subject: RE: Embedded Maven or Maven Light??? Reply-To: Ant Users List [EMAIL PROTECTED] From: Jens Riboe [mailto:[EMAIL PROTECTED] [snip] So, I wonder if I'm alone or there are anybody out there fealing the same, that Ant should be extended with some of the Maven features. Nh. I liked Maven too at first, but ran into the same problems you did. The worst was the dependency checking between project components, which didn't work. A lot of Maven stuff only works right if you're faithful and diligent on the maven email list. After a while I decided the whole thing had miles to go before it could be useful on anything other than Jakarta projects (and other one-offs, like sourceforge projects where 1 jar per project is the norm). What I really would like to see is a mavenfileset, similar to the example below mavenfileset url=${maven.repo} cachedir=${maven.local} include groupid=${xyz.groupid} artifactid=${xyz.id} version=${xyz.version}/ /mavenfileset The whole repo idea is pretty useless in my environment. We just check the needed jars for a project into the source control structure for the project and update them there as needed. We depend on stability for internal and external libraries, and have no need to be downloading the nightly build of every jakarta commons project (which seems to be the sweet spot of the REPO idea), or forcing upgrades of our own libraries onto other teams. We toyed with the idea of an intranet Maven REPO, but that quickly seemed stupid since once everyone's downloaded the jars in the REPO (which happens the first two hours of use), it won't get used again until you update a jar. And you can just as easily do that with your source control system without Maven. I think the best idea Maven has going for it is the Project Object Model concept. Last I looked (about a year ago) it needed a lot of work to be robust enough (and extensible) to support professional enterprise projects. IMO, that's what Maven can and should capitalize on and run with. On a related note, I guess that's an area where Ant could incorporate the ideas of Maven by beefing up the build.xml with some more structure, at least as an alternative for those who want it. YMMV. Best, Scott Stirling Workscape, Inc. *** This message is intended only for the use of the intended recipient and may contain information that is PRIVILEGED and/or CONFIDENTIAL. If you are not the intended recipient, you are hereby notified that any use, dissemination, disclosure or copying of this communication is strictly prohibited. If you have received this communication in error, please destroy all copies of this message and its attachments and notify us immediately. *** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Begin forwarded message: From: Stefan Bodewig [EMAIL PROTECTED] Date: April 13, 2004 2:48:10 AM EDT To: [EMAIL PROTECTED] Subject: Re: Embedded Maven or Maven Light??? Reply-To: Ant Users List [EMAIL PROTECTED] On Mon, 12 Apr 2004, Jens Riboe [EMAIL PROTECTED] wrote: So, I wonder if I'm alone or there are anybody out there fealing the same, that Ant should be extended with some of the Maven features. Since you are asking for the repository stuff specifically. There is a project inside the Apache Incubator[1] named Depot[2] that defines a repository specification (which is based on but goes beyond Maven AFAIU) as well as tools that build upon this. Part of the tool-chain is a set of Ant tasks. I've
Re: [jug-discussion] OGNL and JSRs
On Mar 17, 2004, at 11:06 AM, Drew Davidson wrote: When the idea of an OGNL JSR was brought up to Sun's Rob Gingell I got a negative response (almost condescending actually - Rob shook his head and chuckled a no to me). In light of this JSR I'd like to know why OGNL is not worthy of a JSR and Groovy is. Maybe I just don't understand OGNL well enough, but from what I know, it and Groovy are not at all comparable. OGNL is more comparable in the JCP-sense to the JSTL EL. So, in a sense Java already has a standard expression language. OGNL is not a scripting language. Groovy is actually quite...err... groovy! Do you see OGNL filling the same shoes? Does anyone have any idea why Sun and Apache are so negative toward OGNL? I have not sensed negativity at Apache, even at Struts. Just an indifference. Struts is, as we both know, an inferior framework all the way around. No insult to the developers of it, but they simply don't want something more sophisticated it seems. What they have works. Also, consider the licensing issues at the moment the ASF is taking 3rd party code licensed under non-ASL licenses very seriously and disallowing anything that is not compatible. In fact, Tapestry pulled the OGNL JAR out of CVS and folds it in during the build process by downloading it from your site. If you really feel strongly about getting OGNL more in with Apache, have you considered donating it to Jakarta under the ASL 2.0 license? That would get other projects there use it, I'm sure. I've struggled with this for years and I just can't figure it out. I forwarded the idea of a binding language for Struts, Ant, etc. till I was blue in the face but no one wanted to hear about it. Well, keep in mind that Apache works as a meritocracy. The way to get in at Apache is to submit patches (and then nag), not just e-mail ideas. Whether this is as it should be or not is a different debate, but I got my foot in the door with Ant by posting fixes/enhancements to the junitreport task and nagged for weeks until someone applied them. Then I kept digging under the covers and submitting documentation and code fixes until they got tired of applying my patches and made me a committer. I did the same with Lucene and Tapestry. I don't recall a lot of your messages on the Ant list... but Ant does have a pluggable expression language for properties. Is there an OGNL patch waiting in the queue that I've missed?! :) Then JSP 2.0 comes out with EL and these same people are gung-ho on the idea, even though EL is inferior to OGNL in many ways. I just don't get it. EL is way inferior to OGNL, no question. Did you push to get in on the JSR? Maybe that one was not quite open but the new JCP 2.6 process is vastly more open than ever before... you could get in on the Groovy JSR more than likely if you are so inclined. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] OGNL presentation on Tuesday
On Mar 7, 2004, at 6:58 PM, Tim Colson wrote: Also curious about : + TypeConverter (converting between different types) I really wish I could be there for Drew's presentation... I'm sure there are parts of OGNL that I'm clueless on but would come in quite handy. I've toyed with TypeConverter a fair bit... it is like the BeanUtils Converter capabilities, except more powerful. It sits in between an expression and the corresponding setter and morphs types if needed. And this might be completely off topic... not sure... but how are OGNL expressions used in a Tapestry template? It's actually trivial. Since most folks are familiar with Struts, it is like the property path expressions you use on the html:* tags. Except on steroids. If your page exposes a Customer object named customer, you would use this to display the customers name: span jwcid=@Insert value=ognl:customer.name/ You could use that exact same expression on a text field: input type=text jwcid=@TextField value=ognl:customer.name/ And it binds in both directions to pre-populate the text box for rendering, and to set the customer name property on form submission. The ognl: prefix is only needed when doing the implicit syntax in the HTML templates. The @Insert and @TextField can be moved to the specification file and the expressions done separately also. I'm just showing the lazy (more fun) way - but being more rigorous with the separation has great merit too. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Webapp frameworks
On Mar 6, 2004, at 2:34 AM, Robert Zeigler wrote: Tapestry is definitely looking promising for me. I've spent the day looking it over, and I'm liking it a lot... the templating system really is quite neat. Still... I like working with velocity templates, myself... ;) I like Velocity myself. We use it for snippets, big chunks of text on a page like legalese and instructions. Clients like to have control over that stuff on the fly. So we have snippets in a database table. And an @Snippet Tapestry component to render them similar to how message resources work in Tapestry. So you can really have your cake and eat it too! There are a few warts with Tapestry: - J2EE security - doing declarative path-based security doesn't really work. There are some hacks, but nothing that I'm satisfied with. I'm going to explore using servlet filters to work around it more elegantly soon. - Unit testing - well you're coming from Struts, so you probably didn't unit test actions either :) - Lifecycle - it is tricky to wrap your head around how the lifecycle of components work and the event order that is fired. I still don't quite get it. - Some awkward conventions that take some experience to get used to. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Fwd: [jug-discussion] timely find
did i send this from the right address to make it through? retrying Begin forwarded message: From: Erik Hatcher [EMAIL PROTECTED] Date: March 5, 2004 5:12:53 AM EST To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] timely find On Mar 4, 2004, at 8:21 PM, Drew Davidson wrote: NIH. I've found the Jakarta people to be the most snobbish, political bunch around. They have a technocracy that pays lip service to Open Source but they only want *their* open source. I was semi-joking with Howard Lewis Ship the other day about getting his HiveMind project adopted by Jakarta and wondering if one of the acceptance criteria is that you must link to at least 25 jakarta project jars. Ha ha only serious. I would really, really like to hear a straight answer or opinion from one of these Jakarta people about OGNL. I honestly cannot figure it out. BTW, I'm *not* trying to phrase this nicely :-) Well, I'm one of those Jakarta people, and my opinion of OGNL is that it rocks. I mentioned it on the struts-dev list ages ago and it went ignored and they invented their own lame expression syntax for validation. Tapestry uses OGNL full-on and its a Jakarta project. You most definitely are a god in that community. Actions speak louder than words here. The projects at Jakarta where I'm deeply involved currently are Tapestry and Lucene. These are the gems at Jakarta. Jakarta itself is struggling with its identity. It is an umbrella of many sub-projects, each with their own community, mostly non-overlapping. It has evolved that way and the multi-project umbrella just doesn't seem to work well. So generalizing to Jakarta is not really appropriate. OGNL rocks the Tapestry world. The very confused Struts devotees don't see the light. Their loss. Putting OGNL into an inferior web framework isn't going to make OGNL look good, so who really cares anyway? Maybe if you provide the JSTL hooks to plug in OGNL you could convert more folks to it. Many Jakarta projects are contemplating migrating up to top-level Apache status, like Ant did. The community is the real focus, and what Apache and Jakarta were founded upon. Jakarta has just taken on too much and is not a cohesive community. Ant (not at Jakarta anymore) is on my backburner. In fact, most of my personal work (the Lucene book, my non-Ant presentations) do not use Ant as I'm strictly working within IDEA to code/build/deploy. I've got my demo Tapestry apps set up to compile right into WEB-INF/classes and hot deploy into Tomcat 5, and caching turned off so I can change templates and specifications on the fly. Speaking of OGNL and Ant the property handling in Ant is pluggable. Have you written an OGNL hook for it?! :) That would be slick. Many of the complaints Drew and John have laid out about Ant *are* being addressed in some form or another. Before writing the Ant book both Drew and John beat the hell out of me with more of the same that you've seen here about Ant's deficiencies/short-comings. Drew wanted a recursive ant... there is now subant that does what he asked for. import allows for OO-like builds with abstract targets and overriding targets. Antlib addresses a lot of classpath issues. macrodef addresses expressiveness quite nicely. scriptdef allows for burying scripty stuff under a nicely expressed familiar task syntax. So, I encourage those critics of Ant to come up to speed intimately with the features in Ant 1.6.x and then formulate new and improved complaints based on the current state of it, not an older version. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] timely find
On Mar 5, 2004, at 11:19 AM, Drew Davidson wrote: I should have said most of the Jakarta people. Tapestry was not originally a Jakarta project and the people involved in it did not bring those biases with them. Of course I exclude you from my criticism (sorry if you took offense); No offense taken whatsoever. The fact that OGNL has been around for over 5 years is a testament to the usefulness of OGNL. The Struts people have known about it since its inception but my queries have always fallen on deaf ears. So what do they do? They build their own inferior expression language just because OGNL is not Jakarta. At least that's my view of it. But that view is only Struts-centric, not Jakarta-wide. OGNL is in use in Jakarta. At this point, screw Struts anyway. JSF deprecates pretty much anyway. Maybe if you provide the JSTL hooks to plug in OGNL you could convert more folks to it. Many Jakarta projects are contemplating migrating up to top-level Apache status, like Ant did. The community is the real focus, and what Apache and Jakarta were founded upon. Jakarta has just taken on too much and is not a cohesive community. I seem to recall someone already doing this, or something similar. There was a posting on the ognl-interest mailing list about it last week. A guy I chatted with at the Atlanta NFJS symposium last fall had done it. He was an OGNL fanatic. I probably have his business card laying in my stack somewhere if you want me to dig it up. Excellent. BTW WebOGNL does not have a non-caching mode. It has a more sophisticated resource-handling facility than Tapestry that can do more abstract timestamp checks on any resource, templates included, so that it can maintain cache coherency. So you can even hot-deploy templates into a production application. Very cool. Tapestry's caching is not fine grained enough to accommodate hot deploy nicely. It throws everything away at the end of a request when caching is disabled. It could certainly take a lesson from what you have done. I've found that some tasks are really slick with Ant because they fit the Ant model; other tasks are not applicable where they would be useful - like the condition task, which can only be used in a target - why? Because it's an action in a target. Oh, did I mention all tasks in Ant 1.6 can live outside of targets. In fact, you can have a target-less build file if you like. A redesigned Ant would allow for a more object-oriented approach to build files. I look forward to your contributions to such tool! I'm +1 on Drew as committer, in fact :) Not to be too argumentative here but the problem with Ant is not fixable with the current implementation. The additions you mention are useful, but incremental. The problem is the core design of the way Ant does its work. Trying to fix the current code base is like trying to turn a log cabin into a skyscraper by piling it higher with logs. The heavy question here is can a codebase evolve to where it should be? Or does it have to be thrown away and rewritten from scratch? Ant 1.6 is in many ways dramatically different under the covers. And not to be argumentative here either, as we all know it is very easy to complain about something (and sure, complaints are valuable too), but I encourage those that complain to do so constructively. Help make Ant (or whatever project it is) better... even if that involves throwing a lot away or even starting from scratch. Or get momentum behind something perhaps superior like Rake. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Meeting Topic for March?
You folks are amazing! I have to beat people to present. Every other month we are having a social meeting at a restaurant - folks actually come out of the woodwork for that. I'm very impressed with all the folks volunteering. I might just have to become a snowbird so I can get my fill of mexican food and Tucson JUG meetings :) On Feb 26, 2004, at 12:00 AM, Ollie wrote: I would ike to do Jakarta slide for April mini -Original Message- From: Simon Ritchie [EMAIL PROTECTED] Date: Wed, 25 Feb 2004 21:43:50 To:[EMAIL PROTECTED] Subject: Re: [jug-discussion] Meeting Topic for March? Drew, I think we have March all organized for speakers. As Warner mentioned, Rob Gingel will be doing the 15min topic on the latest hapennings with the JCP and Warner/Cia will be doing their Usability presentation. April is available, though. And since there seems to be plenty of interest, consider yourself signed up. Now if we can just find a speaker for the April 15min time slot Simon. Drew Davidson wrote: Ollie wrote: I am up for OGNL too +1 If you want me for a mini-topic for March I can do a quick overview of the brand new OGNL 3. Now with SuperFastExpressions(tm) using Javassist code generation, and an actual Architecture (tm). I can also do a full topic in April if you want, also on OGNL. As you can imagine I can talk for as long as you are capable of sitting still. - Drew - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Sent using my BlackBerry 6510 from Nextel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Jar slimming tools?
On Feb 25, 2004, at 5:15 PM, Lesiecki Nicholas wrote: Hey, I rememeber a discussion on this list about tools for JAR slimming: ditching all the classes in a JAR than can be proved by static analysis to be unused by your code. Does anyone else remember this and can they tell me what the tools were that accomplished this feat? Ant's own classfileset can do this using BCEL: http://ant.apache.org/manual/OptionalTypes/classfileset.html And so does GenJar: http://genjar.sourceforge.net/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] How kids learn to program - Squeak
Darn, I can't hide! On Feb 13, 2004, at 2:59 PM, Thomas Hicks wrote: Additional info on this topic from our own (we'll claim him this time) Erik Hatcher's blog: * We created a session on technology education for children which was fun, but slightly depressing. The focus seemed to be on the sad state of educational software, although a few gems were mentioned: http://www.warrenrobinett.com/rockysboots/Rocky's Boots, http://www.amazon.com/exec/obidos/ASIN/B5LBVULogical Journey of the Zoombinies, http://education.mit.edu/starlogo/StarLogo, and http://www.squeak.org/Squeak. -tom - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Ant Question
On Jan 27, 2004, at 6:45 PM, Chad Woolley wrote: I'm looking for a simple way to allow these differences to be configurable, but still have defaults. Specifically, I'd like the default to come from the Ant properties file, but be overridden by environment variables, if they exist. This way, if people use the default, they don't have to make any env vars, but if they insist on being different, all they need to do is set the appropriate env var. We store the properties file in CVS, so it gets overwritten with a full checkout from CVS, so modifying the properties file isn't a good option. I currently do it by making a dependency target for each property, like this: !-- Get the wl.home property from either the environment or properties file -- target name=get.wl.home condition property=wl.home value=${env.WL_HOME} isset property=env.WL_HOME / /condition condition property=wl.home value=${properties.wl.home} isset property=properties.wl.home / /condition echo message=WL_HOME property = ${wl.home}/ /target However, this is a pain because I have to make a custom target like this for each different property. Is there a more elegant way to approach this problem, preferably in a way that doesn't require a custom task for each different property? Yes, there is a more elegant way. Keep in mind that properties in Ant are immutable. This really helps with this type of configuration, in fact. Have a look at how I structured the build file for JavaDevWithAnt: http://www.ehatchersolutions.com/JavaDevWithAnt - there are several properties files loaded and also environment variables. You never need to use condition to do these kinds of tricks. I actually prefer to put defaults directly into the build file and use properties files to override them on a per-user/-environment basis. Like this: Just use wl.home in your .properties files. And do this: property file=${user.home}/.build.properties/ property name=wl.home location=some default value/ If you want to use environment variables for overrides, it can be a little trickier. See the JavaDevWithAnt build file for lots to do with Ant properties. Again, I rarely (almost never) use condition. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Hello, I am sort of new to the list
On Jan 17, 2004, at 12:55 AM, Richard Hightower wrote: Hello, I am new to this list. I have been a member in the past, but that was several email addresses ago. Who the heck is this poser?! Who let him on this list? Geez! :)) I use to work at eBlox with Andy B., Paul V., Warner O., Nick L., Drew D., Erik H., Randy K., etc. a while back. Sure, like dropping names makes you cool and stuff. Erik p.s. Rock on Rick! http://www.blogscene.org/erik/Computers/arcmind.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] ANT question
On Jan 7, 2004, at 1:12 PM, Thomas Hicks wrote: I've got an ANT question that I hope may be of interest to readers of this forum. If you can't get an Ant question answered on the tucson-jug list then you're in big big trouble! but be able to specify the optional argument, something like: ant -Dquiet runMyProg you cannot do just -Dquiet, though. You'll need to say -Dmode=quiet or something like that. The problem is...there seems to be no way to exclude an arg based on a property or its value. Well, not without a little trickery at least... If I set a property property name=quiet value= / and then use it in arg java arg value=quiet / You mean ${quiet} here, I suppose. /java? then my program receives an empty string argument. (Of course, I could write all my programs to filter out empty string arguments but) Anyone ever figure out a way to do this? You could do what you've done here, although using my ${mode} example instead... arg line=${mode}/ Use the 'line' variant and build up the entire line instead of doing 'value'. In the build file, do this: property name=mode value=/ And -Dmode=quiet to enable that switch. This is a hack, of course, but hopefully will work for you. There probably are some other options that I'm not thinking of at the moment. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JMeter?
On Thursday, November 13, 2003, at 11:32 AM, Tim Colson wrote: Anybody here tried/used this load test tool? http://jakarta.apache.org/jmeter/ I think a few locals have used it: http://www.amazon.com/exec/obidos/tg/detail/-/047120708X :) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] struts book
If you don't know Struts but want to learn it, get Sue Speilman's book (Morgan Kaufman) - its the best intro to Struts available. I'm not a fan of either the Manning one (shhh, don't tell Manning!), or the Sam's one. I have not seen enough of the O'Reilly one to comment on it, but its probably the better of those three as it'll be more neutral and just present the raw facts. Struts is one of those frameworks where everyone has their own way of doing things and my way of doing things differs greatly from Husted's and Turner/Bedell's approaches, and their approaches differ from each other too. But the question is, why Struts? Use WebWork2, Tapestry, or WebOGNL instead! :) (all of which use OGNL under the covers, keeping it close to home!). Erik p.s. Hightower is working on a new Struts (or Struts-related?) book - I'm not quite sure the title, but I've reviewed several chapters of it for him and it'll give you the matter-of-fact scoop too. On Monday, August 11, 2003, at 12:20 PM, Warner Onstine wrote: I am contemplating picking up a Struts book. Two come to mind off the bat, The O'Reilly one and The one from Ted Husted (from Manning). After reading the reviews on Amazon, I'm leaning towards the O'Reilly one, but wanted to get others' opinions first. -warner - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Daemons and ANT?
On Wednesday, July 9, 2003, at 05:27 PM, Tim Colson wrote: All the pieces work, but I'm having problems with the db and tomcat startup/shutdown because they are persistent processes, not short-lived tasks. Its a known issue with Ant and firing up processes that live longer than the Ant process itself. Several folks have submitted patches to allow for it, and there is likely a Bugzilla issue out there with the code. I'm offline at PDX at the moment on my way back home from OSCON, so I can't look it up right now. I haven't read the entire Eric (Hatcher) Ant book - but I did look and did not find what I needed, but I might have easily missed it. The bulk of exec/java coverage is in chapter 5, but since Ant couldn't not (as of version 1.5.x) launch processes that persisted beyond its life we didn't have any coverage of that. Like I said, though, it can be patched to allow for this. I am not sure if the CVS codebase of Ant (1.6alpha) has had this patch applied or not - so check Bugzilla and see what turns up. Let me know if you need further assistance with this and I'd be happy to dig into it a bit further. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Fun with ANT - classpath debug xml with javac task
On Tuesday, May 27, 2003, at 03:40 PM, Tim Colson wrote: Other docs advise to never touch the hbm file by human hands - let xdoclet do it. I'm in this camp. Although there can be a couple of happy mediums here with XDoclet: - merge points - I don't know how Hibernate templates use them (or if they do at all), but its possible to have static stuff placed into the generated artifact that doesn't exist in the @tags or other implicit metadata. - Ant property substitution - you can use ${prop.name} syntax in XDoclet @tag attribute values and they will be automatically expanded during generation. This can really help when you have different profiles (clients, sites, whatever term you want to use) that might need different information folded in. The generated artifacts from XDoclet should not, in the Hibernate case, be tweaked after the fact and should be *active* generation (see the Pragmatic Programmer book for a great discussion of passive versus active generation). If there are areas where you are having to tweak things because the XDoclet/Hibernate combination is not sufficient, then its surely an issue that should be brought up on the xdoclet-user/-devel lists. As I write this, I am realizing that xdoclet isn't really the same as autogenerated since the xdoclet uses my hand-written comments in the src and is mostly 'transcribing' them to xml. It does a bit more than that - it uses all the implicit metadata (classnames, package structure, method names, method parameters/types) as well, as well as Ant property substitution and merge files. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Re: More Fun with ANT
Sheesh... here we go again! :)) You're telling me this - http://ant.apache.org/manual/CoreTasks/javac.html - is not documented well? debug=true is what you're after here. I presume you mean a stack trace from your application, not from the run of your build. Erik On Wednesday, May 28, 2003, at 01:29 PM, Thomas Hicks wrote: As long as we're doing an Ant clinic...I have a problem which is bugging me...when I use Ant to build and then get an exception with a stack trace (yes, it happens), the location of the error (for code compiled with Ant) cannot be determined. This seems to be some Javac task flag that Ant is setting which turns off this debugging information. Long ago, I checked the docs for the Javac task and there were several flags one could set (albeit very poorly documented) but none of them seemed to solve this problem. Any help appreciated. -tom At 03:20 PM 5/27/2003 -0400, you wrote: On Tuesday, May 27, 2003, at 03:11 PM, Drew Davidson wrote: Erik, it took you 26 minutes to reply to this. You're slipping :-) I was too busy with the *ant-user* list, sorry! :)) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Fun with ANT - classpath debug xml with javac task
On Tuesday, May 27, 2003, at 03:11 PM, Drew Davidson wrote: Erik, it took you 26 minutes to reply to this. You're slipping :-) I was too busy with the *ant-user* list, sorry! :)) Plug, plug. I've got Erik's book on my desk right now because I'm building a build system with Ant. Erik, there IS a Definitive Guide (from O'Reilly), so don't confuse people! They should be buying YOUR book! Precisely why I put definitive guide in quotes and specified Manning as the publisher. property name=path.string refid=the.path/ echo message=path = ${path.string}/ Not pathconvert? That seems more reliable for path. I only use the property refid variant when I'm getting a fileset. More reliable? Nah. Path implements toString (which as Drew pointed out, is all the refid thing does). The goal Tim wanted was to print out a path. The refid does that fine every time, or it should at least (send me an example of it failing if it does). The refid property thing does a toString() on the target of the reference. If the reference does not exist you will get a string value of [EMAIL PROTECTED], not an undefined property as you might hope for (and expect). So test the hell out of this when you use it. Well, I assume the reference exists, of course. A fair assumption in Tim's case, I think. Are these hibernate files actually becoming part of the source (i.e. you build then modify the files) or are they build artifacts (i.e. you generate them every time you build)? I'm not big on generating ANYTHING to the source directory; that should remain pristine. I usually make a staging area in ${env.TEMP} or somesuch for my builds. The OGNL build, for example, uses JavaCC to build it's parser; the AST* files are artifacts of the build that I've modified. I have a parser-generated directory where these modified files go. They are copied to ${output.root}/javacc/generated and put into the source path for the javac. Javacc then runs and generates more files into ${output.root}/javacc/generated (for classes I didn't modify). So I never, ever, generate code into my source directory. I cannot agree more! Keep generated stuff completely separate from true *source* code. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Web frameworks (was: Re: [jug-discussion] January Presentation)
On Thursday, January 9, 2003, at 01:03 PM, Drew Davidson wrote: Erik Hatcher wrote: On Thursday, January 9, 2003, at 02:01 AM, Tim Colson wrote: Plus... I don't use JSP anymore, just Velocity templates + Struts. So the view in my webapp wouldn't be this: %= request.getSession().getAttribute(count) % And (and I think I e-mailed Drew this a while back too), a seasoned Struts developer wouldn't use scriptlets anyway. I would do this: bean:write name=count/ instead. Yes, this is true. What you have done demonstrates a couple of other bad things about JSP and Struts. Where is count? It is in the search path of { request, page, session, context} of course! It's up to you to guess, of course, if you are reading someone else's code. Or you can grovel all the source code that may have forwarded to this page and see where it sticks it, or you could rely on your organization's conventions about where this should be placed...well I hope you get the point. We use conventions. Just to be petty, the order is {page, request, session, application} (page and request were reversed in Drew's comment). But yup, right. And my hyperlink would be: html:link page=/count.doincrement/html:link Or it could be even cleaner expressed as: html:link forward=countincrement/html:link So you have had to (1) come up with a name for an action AND a forward, uniquely across ALL applications running in this context : All applications? Well, the Struts Way would be to only have a single application within a WAR, at least that is how I do it. Struts 1.1 now had the concept of modules where you can have multiple configuration files and paths in there are relative to the module and aren't global per se. Ugly, yes. I don't use modules - use multiple WAR's for different applications - that separates J2EE security too, and allows deployment to different application servers. (3) figure out the ONE location that this count will be allowed to forward to - whatever the mapping is of the success forward. You cannot just allow it to redisplay the same page (does returning null do this? I don't know) Returning null indicates the Action has completely handled the response (i.e. it could server up an image or binary file). So returning null generally would return a blank page if you haven't written anything in that action. An Action can forward to any number of forwards, and they could be defined dynamically. You have to return an ActionForward instance, but that could point to any URL (if its a redirect) or any context URL if its a server-side forward. (4) Write the struts-config.xml entries for your count.do action and the action mapping, plus figure out where the forwards go. Again, XDoclet to the rescue. XDoclet generates my JSP pages from a form bean definition. So I write a form bean, generate the starter JSP, and then XDoclet generates my form bean definitions. We currently code the action mappings by hand, but thats because I think putting them in @tags is lame. By this time, in WebOGNL, I have written: ognl:hyperlink action=[:[ session.count = session.count + 1 ]]click me/ognl:hyperlink ...and moved on to more stimulating things than writing what amounts to (conservatively) 30 lines of code to INCREMENT A COUNTER, when 1 expression would do. Excellent example Drew. I really appreciate you taking the time to carefully explain this with code. This is very helpful in my understanding. How would you do it without putting ognl:* tags in the template, and put the code in Java? Of course WebOGNL is much more like WebObjects, which I *love*! So WebOGNL has a big architectural jump on the hacked thing we call Struts (I'm allowed to say its a hack because I'm intimate with it, but I use it exclusively at my day job). I'm allowed to say it's a hack because IT IS A HACK :-) No argument from me here, not at all. I'll put WebOGNL up against any other framework. Name the problem and I guarantee I can do it in WO (a) faster, (b) clearer and (c) with less code. I love it! Throwing down the gauntlet! I want to know in what ways WebOGNL is better than Tapestry. Thats the main information I'm after. + WO component templates can be loaded from anywhere, including the filesystem, across the web or from a database. This is where its at. Big +1 here. - Struts/JSP component communication is through ad-hoc methods: either use jsp:include with nested jsp:param and live with String parameters only or use request/session/page/context attributes to communicate - God help you sort out the conventions you will have to invent to keep all of this manageable and straight in your head, not to mention maintainable by anyone. Request scoped stuff is no big deal... no conventions needed here since they are short-lived and the action/JSP can be kept in tight synchronization. Session variables we have a WebConstants interface where we define them
Re: [jug-discussion] FYI: dom4j
Small world, Dennis! For everyone elses information, Dennis was a speaker at the symposiums where Rick and I also spoke. I attended a couple of his presentations and was incredibly impressed with the ease at which Dennis can discuss all things XML and web services related. Erik Dennis Sosnoski wrote: (BTW, I don't have search bots constantly scanning mailing lists for reference to my articles so I can jump in on the discussion. :-) I've been on the Tucson list for a while since I get down your way fairly often and wanted to find out about projects in the area. I'll be down this next Saturday; hope to make it for your JUG meeting one of these trips.) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Open Source HTTP Servers
Jetty http://jetty.mortbay.org/jetty/index.html I'm sure you'll hear a ditto from Warner :) I've only ever heard glowing reviews of it, and its the preferred HTTP server embedded in JBoss. Erik Anthony Steckman wrote: I'm thinking of trying to write an http server as an exercise to get myself coding again. Any suggestions as to a solid open source server coded in Java that I could look at as I get started? I've got some basic samples but would like to look at something more complex. Will probably Google for it later but thought the Listserv was worth a shot while sorting through emails. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Jar application on OS X
It launched fine on my PowerBook (Mac OS X 10.1.5) and told me the time... cool! Guy McArthur wrote: On Fri, 6 Dec 2002, Tim Colson wrote: What's the manifest/file structure look like? Probably wrong, but could it be case sensitivity in the manifest file Main Class attrib? Here's the manifest (META-INF/MANIFEST.MF): -- Manifest-Version: 1.0 Created-By: 1.4.1 (Blackdown Java-Linux Team) Main-Class: com.guymcarthur.apps.tclock.TClock0 -- There is that extra blank line ... ? The Jar file is at http://guymcarthur.com/projects/java/apps/tclock.jar All it does is say the current time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] FYI: Articles on Jakarta Digester
Digester is cool if, as you noted, only wanted a read-only model of data. Its great for configuration files or just sucking some XML into an object graph. For a more sophisticated approach, I highly recommend Castor. Erik Tim Colson wrote: I found these two articles to be interesting reads on a simple way to unmarshal data from XML into java objects using the Jakarta Digester. Seems a little bit like a lightweight one-way read-only JAXB. :-) Cheers, Timo --- http://www.onjava.com/lpt/a/2746 Learning and Using Jakarta Digester by Philipp K. Janert, Ph.D. 10/23/2002 Turning an XML document into a corresponding hierarchy of Java bean objects is a fairly common task. In a previous article, I described how to accomplish this using the standard SAX and DOM APIs. Although powerful and flexible, both APIs are, in effect, too low-level for the specific task at hand. Furthermore, the unmarshalling procedure itself requires a fair amount of coding: a parse-stack must be maintained when using SAX, and the DOM-tree must be navigated when using DOM. This is where the Apache Jakarta Commons Digester framework comes in. ... http://www.javaworld.com/javaworld/jw-10-2002/jw-1025-opensourceprofile. html Simplify XML file processing with the Jakarta Commons Digester How to use Digester to parse XML configuration files Summary The Jakarta Commons Digester is a popular open source utility that facilitates XML file processing. This article provides an overview of Digester, followed by an example that uses Digester to parse an XML configuration file. (1,200 words; October 25, 2002) By Erik Swenson - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Eclipse Stupidity Continues!
Nope. But it rocks! Mike Oliver wrote: Is IntelliJ as modular and extensible as Eclipse? O At 11:02 AM 7/18/2002 -0700, you wrote: Why not just save yourselves the trouble, and get a license for IDEA IntelliJ! :) It's latest greatest version (I'm running their Early Access Preview version, not the 2.6 one) and it does XML/DTD completion and I've found it much more pleasant than WSAD. Although, I have not given Eclipse a fair shake, admittedly. And certainly Eclipse's price is nice! :) But I just convinced my team to standardize on IntelliJ. Erik Lesiecki Nicholas wrote: Yep, it was just a matter of getting the folder in the right place. Thanks everyone! Cheers, Nick P.S. While you're waiting for a good XML plugin for Eclipse, use jEdit and it's XML plugin. DtD based code-completion. Nuff said! --- Art Gramlich [EMAIL PROTECTED] wrote: The trick is to get the correct things into the eclipse/plug-ins directory. I've noticed that some archives already have the plug-ins directory and others don't. Just open the zip and take a look. Also make sure that you follow any instructions as some plug-ins aren't immediately visible. Hope this helps. Art -Original Message- From: J t [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 17, 2002 7:28 PM To: [EMAIL PROTECTED] Subject: Re: [jug-discussion] Eclipse Stupidity Continues! On 7/17/02 6:34 PM, Lesiecki Nicholas [EMAIL PROTECTED] wrote: If its an archive and the root directory is plugins then extract it to /eclipse and it will probably work. This has been my experience. Peace out. Jt. Hello, sorry to bother the group with newbie questions, but the Eclipse help seems to primarily be designed for Eclipse developers. Ok, so I'm trying to install the solareclipse plugin, and I've tried tossing it in the root of the eclipse install and also the plugins folder, no success. So I tried using the update manager which instructs me to type in a web address to search for plugins on. The sourceforge page for solareclipse (http://sourceforge.net/projects/solareclipse/) did not turn up new plugins. The eclipse doccos all concern themselves with what to do after finding an update site, so if someone could point me at the exact URL I need from solareclipse to make the IDE happy I'd appreciate it. Cheers, Nick __ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Michael Oliver Chief Technology Officer AppsAsPeers.com 7391 S. Bullrider Ave. Tucson, AZ 85747 520.574.1150 Voice 520.844.1036 Fax - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] open source projects people are looking at
- Original Message - From: Randolph S. Kahle [EMAIL PROTECTED] On the whole, I am not impressed with the architectural design of the jakarta projects. Even through my obvious (Ant committer) bias, I agree. Although there are a few shining stars within the Jakarta ranks: - Lucene (way way cool search engine API) - Cocoon and other Avalon-based stuff (this is hearsay, but these apparently are quite well done architecturally using Inversion of Control design) - BCEL (instrumenting Java classes is quite important for coverage analysis) - Log4j (can't live without logging) - ORO (can't live without good regular expression tools) - Cactus (using Aspects) Notice I did *not* mention Ant. While it does have some slick functionality with respect to introspection, there is nothing super-elegant or architecturally beautiful about it. Ant2 is being prototyped with a couple of different proposals and one of the proposals is using the Avalon framework to build a service-based infrastructure allowing lots of very slick capabilities. If the group is looking for an open source project to join, why not look at Eclipse? Isn't this sort of backwards? Typically folks don't seek out open-source projects to join, they have an itch to scratch and join them based on a need. A note about Eclipse - I use WebSphere Application Developer (WSAD) at work and its based on an older version of Eclipse. It makes me ill to use because its performance is terrible. While the newer versions of Eclipse are much better, the UI reminds me so much of my painful WSAD experiences that I can't stomach to be in Eclipse. My favorite IDE currently is IDEA IntelliJ. Does everything *very* nicely. Its not free (although they gave all Ant committers a free license to use it for non-commercial development), but I've yet to see anything better. Its probably not as extensible with plugins as Eclipse, but I don't need al that I just need refactoring, and lots of snazzy features to navigate around my Java API. Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] cvs tools
Or, launch Ant to do it! :) Many folks do this kind of thing. Scarab, Anthill, and CruiseControl all have code to steal that launches Ant from Java. I've seen talk of a CVS repository hook for Slide being developed or considered, but I've not seen any reports of it being done. That would be slick though. And of course, Subversion will be where its at in the future. Erik - Original Message - From: Warner Onstine [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, June 21, 2002 11:04 AM Subject: [jug-discussion] cvs tools Hi all, I was wondering if anyone knew of any java cvs tools. What I would like to be able to do is to check-in and check-out files via a Servlet or server side technology. I have thought of using Slide, but I don't know how hard it would be to write a CVS repository module to it. The other option is possibly subversion (subversion.tigris.org) a replacement for CVS, which also uses webdav as its protocol. Other ideas? -warner +warner onstine+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] XDoclet (EJBDoclet), Little Italy Re: [jug-discussion] Speakers for August: Pizza, New York, JDJEdge, XP Universe Re: [jug-discussion] EJB QL + XDoclets = more EJB on more projects
Eric says I have to step in here and correct. Correction: Its Erik with a k. *** Correct... that is why it is in parenthesis just in case someone knew it by another name. BTW There is still a task called EJBDoclet see link... http://xdoclet.sourceforge.net/ejbdoclet_toc.html Well, you got me there. :) But its unlikely any of us every used the product called EJBDoclet. EJB's is XDoclet's roots, but its merely a fraction of its capabilities. *** No problem. I am no good as a copy editor. It is a lot easier to find other peoples mistakes all of my stuff looks good to me... until I read it later (much later) :( I know the feeling brother. BTW Did you move from Tucson? This is the Tucson JUG... no one from West Virginia allowed Look for WVJUG not TJUG... just kidding :) Correction: I'm in Virginia, not West Virginia. And I'm a member of the local JUG here. And I'm speaking at the next meeting, even. On Continuous Integration techniques using Ant and CruiseControl, and such. But I'm also on the NoVAJUG e-mail list (Northern VA) and the TriJUG list (Research Triangle Park). I like to keep in touch, and of course pick on, my ol' pal Rick. And besides, I'll be in Tucson for a few days (July 18 - 23) on my way to OSCON. Going back into hiding now, since I'm being ousted. :)) Erik - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]