Re: [jug-discussion] September 8 meeting -- Taking the Plunge with IntelliJ
William started it! Gmail made it worse by threading it in. I'd say go ahead and turn off this list (with an autoresponder rejection email pointing to the new one if you can), people are gonna keep posting to it by accident... On Mon, Aug 31, 2009 at 10:42 AM, Warner Onstine wrote: > this list is no longer in use. please use tucson-...@googlegroups.com > > On Mon, Aug 31, 2009 at 10:27 AM, nlesiecki wrote: > > Wow, sorry I can't be there. VMS and EBlox luminaries in the same room. > :) > > > > Nick > > On Aug 30, 2009, at 5:30 PM, William H. Mitchell wrote: > > > >> A regular activity at No Fluff Just Stuff symposiums is a show of hands > >> poll for who's using what tools and technologies. When the topic turns > to > >> IDEs, and the moderator asks, "IntelliJ?", most of the symposium > speakers > >> raise their hands, along with a few in the audience. Then on "Eclipse?" > >> just about everybody in the audience raises their hand. Then somebody > >> shouts, "Who'd pay for Eclipse?", and just about every hand goes down! > >> > >> Some liken the Eclipse vs. IntelliJ question to frontier vs. walled > >> garden. Things are very nice inside the garden but sometimes you find > >> yourself peeking over the wall at interesting new things that the > gardener > >> hasn't had time for yet. Others liken choosing a tool just because it's > >> free to being in an arranged marriage. Or maybe the proposition is > >> benevolent dictatorship vs. anarchy. > >> > >> Andy Barton has spent a lot of time on the J2EE frontier but recently > >> decided to experience life in the IntelliJ garden. In this talk, Andy > will > >> demonstrate moving an Eclipse project to IntelliJ Idea and will discuss > the > >> productivity benefits IntelliJ offers over Eclipse. > >> > >> About the speaker: > >> Andrew Barton is the technical director of eBlox, Inc. He has been > >> developing web application solutions in Java for more than 10 years. > >> > >> When and Where: > >> > >> Tuesday, September 8, at the offices of Video Monitoring Services (VMS), > >> 5151 E. Broadway Blvd Suite 450, Tucson, AZ. (Be sure to sign in at the > >> desk on the first floor.) > >> > >> Meet and greet at 6:30; the presentation starts at 7:00pm. Drinks of > all > >> sorts at On the Border (5205 E. Broadway) at 8:45 or so. > >> > >> - > >> To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org > >> For additional commands, e-mail: jug-discussion-h...@tucson-jug.org > >> > > > > > > - > > To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org > > For additional commands, e-mail: jug-discussion-h...@tucson-jug.org > > > > > > - > To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org > For additional commands, e-mail: jug-discussion-h...@tucson-jug.org > >
Re: [jug-discussion] September 8 meeting -- Taking the Plunge with IntelliJ
Here's a post I wrote recently comparing IntelliJ and Eclipse (RadRails) for Ruby development: http://pivotallabs.com/users/chad/blog/articles/933-the-great-ruby-ide-smackdown-of-09 On Mon, Aug 31, 2009 at 10:27 AM, nlesiecki wrote: > Wow, sorry I can't be there. VMS and EBlox luminaries in the same room. :) > > Nick > > On Aug 30, 2009, at 5:30 PM, William H. Mitchell wrote: > > A regular activity at No Fluff Just Stuff symposiums is a show of hands >> poll for who's using what tools and technologies. When the topic turns to >> IDEs, and the moderator asks, "IntelliJ?", most of the symposium speakers >> raise their hands, along with a few in the audience. Then on "Eclipse?" >> just about everybody in the audience raises their hand. Then somebody >> shouts, "Who'd pay for Eclipse?", and just about every hand goes down! >> >> Some liken the Eclipse vs. IntelliJ question to frontier vs. walled >> garden. Things are very nice inside the garden but sometimes you find >> yourself peeking over the wall at interesting new things that the gardener >> hasn't had time for yet. Others liken choosing a tool just because it's >> free to being in an arranged marriage. Or maybe the proposition is >> benevolent dictatorship vs. anarchy. >> >> Andy Barton has spent a lot of time on the J2EE frontier but recently >> decided to experience life in the IntelliJ garden. In this talk, Andy will >> demonstrate moving an Eclipse project to IntelliJ Idea and will discuss the >> productivity benefits IntelliJ offers over Eclipse. >> >> About the speaker: >> Andrew Barton is the technical director of eBlox, Inc. He has been >> developing web application solutions in Java for more than 10 years. >> >> When and Where: >> >> Tuesday, September 8, at the offices of Video Monitoring Services (VMS), >> 5151 E. Broadway Blvd Suite 450, Tucson, AZ. (Be sure to sign in at the >> desk on the first floor.) >> >> Meet and greet at 6:30; the presentation starts at 7:00pm. Drinks of all >> sorts at On the Border (5205 E. Broadway) at 8:45 or so. >> >> - >> To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org >> For additional commands, e-mail: jug-discussion-h...@tucson-jug.org >> >> > > - > To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org > For additional commands, e-mail: jug-discussion-h...@tucson-jug.org > >
Re: [jug-discussion] friendly reminder
On Sat, Aug 8, 2009 at 3:22 PM, Warner Onstine wrote: > I'm pulling the plug on the site (and this list) in a little over a > week, please sign up over at > http://groups.google.com/group/tucson-jug. Please join (if you want to > keep up with all the goings on and meetings here in town). Can we set up an autoresponder or something which contains a reference to the new list? Doesn't google groups or google sites let you set up address/domain aliases? -- Chad - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
[jug-discussion] Ruby vs. Groovy
An objective comparison of Ruby vs. Groovy: http://yehudakatz.com/2009/06/04/the-importance-of-executable-class-bodies/ Comments are welcome from Groovy aficionados on the list - if they are good, you should post them directly on Yehuda's blog :) -- Chad - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] 502 status
On Tue, Jun 2, 2009 at 11:12 AM, Andrew Lenards wrote: >> In other news I want to move the JUG site from Confluence. We have two >> options: >> 1) I can create a quick and dirty WordPress site for it on my new box >> 2) We can just bite the bullet and move it to a Google Group and add >> pages there with a redirect from tucson-jug.org to there > > Whichever is easier - personally. I think that would mean #2 Yep, Google Groups aren't perfect but they are pretty close to zero maintenance and provide list/forum/web space/file uploads. I run/admin several groups. Usually it is fine to just trust anyone who is known/interested/responsible help with admin/maintenence. Spammers show up eventually, then you just turn on moderate first post, other than that pretty much no hassles for the mailing list. - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Hudson?
On Wed, May 20, 2009 at 6:14 PM, Chad Woolley wrote: > On Wed, May 20, 2009 at 5:41 PM, Todd Ellermann wrote: >> Contact me off list if you want a linux service start/stop script for hudson. > > Yep, that's a must in my book for any real CI tool. Here's the one we > wrote for CCRB: > > http://github.com/thoughtworks/cruisecontrol.rb/tree/master/daemon Hey, out of curiosity, how does hudson and/or your init script handle killing all the builder's child and descendent processes (e.g. from servers that were spawned by the build, such as an app instance and servers for integration testing via selenium and jsunit, or solr/lucene, etc...)? As you can see from my link above, it was a pain for me, I had to do a lot of shelling out and hacking to find the process group and make sure everything was killed. And the real test - how does it handle killing process trees on windows as well as posix? I just saw that Shucker said this is a also pain on continuum. CCRB doesn't even handle this natively, but the stop param to my init script does, so that's what I use to kill everything... - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Hudson?
On Wed, May 20, 2009 at 5:41 PM, Todd Ellermann wrote: > Contact me off list if you want a linux service start/stop script for hudson. Yep, that's a must in my book for any real CI tool. Here's the one we wrote for CCRB: http://github.com/thoughtworks/cruisecontrol.rb/tree/master/daemon > We haven't gotten to the point where we need to distibute builds across a > farm of build servers but that also seems amazing straight forward to setup. Yeah, that's one feature of hudson that seems really sweet. - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Hudson?
On Wed, May 20, 2009 at 4:31 PM, Todd Ellermann wrote: > After spending a week fighting with cruisecontrol I switched to hudson and > haven't looked back. Just to be clear, you mean CruiseControl JAVA, not CruiseControl.rb (in ruby), correct? If so, I agree with you, CC java sucks big ones... - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Hudson?
On Wed, May 20, 2009 at 3:57 PM, Andrew Lenards wrote: > Is anyone using Hudson (it's an extensible continuous integration engine)? > Has anyone played with it? I've heard people like it, but I personally prefer something more lightweight and easily hackable, and in my preferred language - so I use CruiseControl.rb. However, Hudson is mature, open source and has a lot of plugin support, so it is probably a good choice, especially for a java shop. I'll also use this opportunity to prompte my project which lets you easily set up a new CI box (using ccrb, of course) by running only two simple scripts: http://github.com/thewoolleyman/cinabox I even made a screencast :) http://s3.amazonaws.com/assets.pivotallabs.com/99/original/cinabox_screencast.mov -- Chad - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
[jug-discussion] A Brief, Incomplete, and Mostly Wrong History of Programming Languages
This is really funny: http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html -- Chad - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] If you started a web project on the JVM today...
On Fri, May 1, 2009 at 12:37 PM, Richard Hightower wrote: > This is very nascent and I have not deployed an real world app yet. But if I > was working on a green field app. This would be something I would consider. Well, if we're opening it up to "stuff I haven't used yet": Ruby on Google App Engine http://blog.bigcurl.de/2009/04/running-sinatra-apps-on-google.html -- Chad - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] next month - preso on what's new in groovy 1.6?
I might be able to make this one. I'll have to get my JRuby heckling ready... On Thu, Mar 5, 2009 at 5:34 PM, William H. Mitchell wrote: > Sounds great! Count me in. > > > - > To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org > For additional commands, e-mail: jug-discussion-h...@tucson-jug.org > > - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Next meeting, Feb 10
http://www.dbunit.org/ "DbUnit is a JUnit extension (also usable with Ant) targeted at database-driven projects that, among other things, puts your database into a known state between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent tests to fail or exacerbate the damage." This sounds very similar to Rails fixtures (part of ActiveRecord). Before every test, it truncates all the tables and uses YAML files to load specific scenarios into the database. Usually you leverage transactions so that everything runs in a single transaction, and you just roll back the transaction to place the DB back in the original (empty) state and ready for the next test. Many people use Ruby to test apps written in other languages - I wonder if this would be another useful situation for this - use Ruby/Rspec/Fixtures to drive high-level functional tests of stored-procedure logic. Also, Fixtures (which is the general pattern used by dbunit - specify scenario data in XML/YAML) have gotten a bad reputation in the Rails community - because they are a huge pain in the ass to maintain over time as your schema changes. Many people prefer to go with an Object-Mother pattern, where you define a domain-specific Object Mother which has a simple Domain Specific Language to easily create test objects/data and load them into the database (again, DSL's like this are very clean and easy to write in Ruby by leveraging blocks/lambdas). E.g.: include ObjectMother create_widget(:name => 'foo) do create_subwidget(:size => 10) do create_subsubwidget # no block, uses default values end end # now these records and data (including default values for non-specified fields) exist in your database in tables widget, subwidget, and subsubwidget Way prettier and more maintainable than XML or even YAML Also, keep in mind we also leverage ActiveRecord migrations, so we never have to manually manage the DDL/schema - just run "rake db:migrate" and all pending schema changes are automatically applied - and can be rolled back to any specified version as well (although this obviously takes much more care and attention for destructive rollbacks). Also, there are Oracle adapters for ActiveRecord... Finally, sorry I can't make this preso, I've got other commitments :( Good luck Rene... -- Chad On Mon, Feb 9, 2009 at 10:14 AM, TR wrote: > All > > Rene will be presenting on using dbUnit testing with stored procedures. The > presentation goes through several examples and an interactive exercise. > > > - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Unsolicited - Re: help me
Yes. You know what happens if you don't keep your Chias DRY: http://commons.wikimedia.org/wiki/File:Chia_pet.jpg On Wed, Jan 28, 2009 at 6:11 PM, Kit Plummer wrote: > Apply DRY principles first. > > On Jan 28, 2009, at 4:46 PM, Christopher Sharp wrote: > >> Out of the blue and completely unsolicited from a person I have never >> heard of before, I received the following request below. >> >> I don't at the moment have the time to answer, but if anybody else has, I >> would be grateful to know. >> >> Christopher >> >> -Original Message- >> From: chinh nguyen >> To: cmshar...@aol.com >> Sent: Tue, 27 Jan 2009 6:33 pm >> Subject: help me >> >> i'm doing my work about "find X element in N random element" >> i have the code. >> private void chia1() >>{ >>Random rand = new Random(); >>for (i = 0; i < cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox1.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia2() >>{ >>Random rand = new Random(); >>for (i = cl.n / 100; i < 20 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox3.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia3() >>{ >>Random rand = new Random(); >>for (i = 20 * cl.n / 100; i < 30 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox5.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia4() >>{ >>Random rand = new Random(); >>for (i = 30 * cl.n / 100; i < 40 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox6.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia5() >>{ >>Random rand = new Random(); >>for (i = 40 * cl.n / 100; i < 50 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox7.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia6() >>{ >>Random rand = new Random(); >>for (i = 50 * cl.n / 100; i < 60 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox8.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia7() >>{ >>Random rand = new Random(); >>for (i = 60 * cl.n / 100; i < 70 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox9.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia8() >>{ >>Random rand = new Random(); >>for (i = 70 * cl.n / 100; i < 80 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox10.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia9() >>{ >>Random rand = new Random(); >>for (i = 80 * cl.n / 100; i < 90 * cl.n / 100; i++) >>{ >>m[i] = rand.Next(99); >>textBox11.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >>private void chia10() >>{ >>Random rand = new Random(); >>for (i = 90 * cl.n / 100; i < cl.n; i++) >>{ >>m[i] = rand.Next(99); >>textBox12.Text += "" + m[i].ToString(); >>cl.m1[i] = m[i]; >>} >>} >> >> can you help me optimize it. >> thanks. >> >> A Good Credit Score is 700 or Above. See yours in just 2 easy steps! > > > - > To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org > For additional commands, e-mail: jug-discussion-h...@tucson-jug.org > > - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Meeting tonight, Command line tools Programmers should know.
I'm in SF this week, but if you have any materials I'd love to see them posted. This sounds like a great presentation. On Tue, Jan 13, 2009 at 7:45 AM, TR wrote: > All > > See you tonight! > > TR > - To unsubscribe, e-mail: jug-discussion-unsubscr...@tucson-jug.org For additional commands, e-mail: jug-discussion-h...@tucson-jug.org
Re: [jug-discussion] Java is dead... Here we go again....
On Wed, Dec 10, 2008 at 12:12 PM, Kit Plummer <[EMAIL PROTECTED]> wrote: > Like the sheep we are! No, the goats. And I'm the troll under the bridge. And you, Kit, were rather gruff. Ba-da-bum! Thanks, I'll be here all week... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
On Wed, Dec 10, 2008 at 11:18 AM, Richard Hightower <[EMAIL PROTECTED]> wrote: > Just not such a big fan of the Java is dead stuff. Yes, but that part was essential to my goal of getting an interesting thread going on this mailing list ;) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JRuby vs. Groovy (was: Any News on the Holiday Party?)
On Wed, Dec 10, 2008 at 10:51 AM, Hollamon, Andrew <[EMAIL PROTECTED]> wrote: > This attitude worries me when I see it amongst professional developers. > > Not depending on the internal implementation details of something is such a > fundamental OO and CS tenant, that I cant believe people just accept it as > okay. > > You should _never_ write code that depends on the deep dark details of that > particular version's implementation if at all possible to avoid it. That's > just bad. > > It results in tightly coupled code that will break with minor version > upgrades or bug fixes in the platform. > > A language/framework should publish a contract (whether that be interfaces, > documentation, or whatever) that users can adhere to, without having to worry > about how its implemented, which could change from minor version to minor > version. True, but software development is still a (very imprecise) art. The 'right' way to do things doesn't exist, and probably never will. Hacking and bending something to your will is fine - if it's 90% of the way there, and you can make it 100%, go for it. If your language of choice makes that easy and natural, all the better. You can extend a library to make it do something you want without violating encapsulation at all. In Rails, we usually do this by having a "foo_extensions.rb" under the lib folder, or perhaps a folder with multiple files. Or, if you are really disciplined and cool, you can fork the gem, patch it, automatically generate a gem, and use your forked version until your patches are rolled back in to the main release. Github makes this really easy, it's really a paradigm shift compared to the releative difficulty to fork, hack, package, release, and deploy Jars. Maven helps some, but it is not standardized like the RubyGems spec, and requires a lot more investment (all github needs to autobuild and publich a gem is a single valid gemspec file). Having said that, I totally agree that fundamental OO principles should not be violated in the pursuit of that goal. See my comments on Nick's dependency injection thread. I think Rubyists result to monkey patching far too often, and often structure their code in ways that are not amenable extension through good OO practices. Merb is a good example of folks who are getting this right. After a false start, they are now VERY explicit about what is a public API, and what is a private API, and have strict deprecation procedures, versioning rules, etc. I'd say Rails is an example of the first implementation breaking really good ground in a bold way, but not getting it quite right ;) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
On Wed, Dec 10, 2008 at 10:47 AM, Kit Plummer <[EMAIL PROTECTED]> wrote: > It has been my overwhelming experience that software > engineers are very bad (for whatever reasons) at recognizing the hammer they > are holding isn't the right one. I'd rather have a Golden Hammer than a Golden Salami... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Feast at what time?
On Wed, Dec 10, 2008 at 8:53 AM, <[EMAIL PROTECTED]> wrote: > So what time do we meet at Feast on Tuesday? Unfortunately, I'll miss this. I'll be in San Francisco, writing Ruby ;) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
On Tue, Dec 9, 2008 at 10:45 PM, Richard Hightower <[EMAIL PROTECTED]> wrote: > JRuby is cool. If I were going to use Ruby, it would most likely be Jruby. You've [still] conveniently ignored my point about JRuby being able to take advantage of both the Java and Ruby ecosystems [as opposed to Groovy]. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
On Tue, Dec 9, 2008 at 11:22 PM, Richard Hightower <[EMAIL PROTECTED]> wrote: > Ha. I am no troll. This is a Java list after all. I am quite un-trollish in > saying that Java is not dead on a Java list and using evidence to support my > assertion of the un-deadness of Java. Even though the list and group is still a "JUG", there have been (at least a couple I remember) of in-person meetings where people have (unofficially?) agreed that non-Java stuff was fair game. Plus, JRuby, as a Sun-developed dynamic language for the Java Virtual Machine, is very on topic for a Java group. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JRuby vs. Groovy (was: Any News on the Holiday Party?)
On Tue, Dec 9, 2008 at 10:45 PM, Hollamon, Andrew <[EMAIL PROTECTED]> wrote: > Documentation is freaking terrible. Most of the good documentation is in > video clips, which just makes me sad. True, but depends what you mean by "good". The Rails rdoc is ok, and there's several other sites, or you can just google the method name (often what I do). But, as Kit said, this isn't usually a big deal. A lot of the more well-written stuff is intuitive, simple, and follows the principle of least surprise. Also, Ruby tends to be so clean that you can often see what is going on just by digging a short way into the library. Agreed, for many people (Java developers) would be aghast at (code is the documentation), and consider it a drawback of Ruby, but I think that is one of the differences in the cultures. In dynamic languages (won't even exclude Groovy), it's so easy to reopen classes and hack what you want, you spend a lot more time digging in, understanding, changing, and extending the libraries you use. > > Tools are freaking terrible. > Agreed. But, as Kit said, this is getting better. IntelliJ is what my shop uses primarily (and now RubyMine). It it getting some decent support. Personally, I have been getting more and more attached to lightweight but powerful editors like TextMate, without all the chrome and startup time of a full-blown IDE - especially for open source hacking where I may work on 3 different projects in an hour on a plane or before I take my son somewhere. Losing 3 minutes having to configure each project for the IDE is just a pain. > Deployment can be downright painful until you get used to the 6000 little > quirks of the platform. True. This is painful, and twiddling mongrels and monit scripts makes me feel like I'm in the dark ages. That's why I think Jruby's ability to leverage all the java deployment infrastructure and scalability tools is a big plus. > All that being said its amazingly fast (to develop in) and productive. > The code tends to be quite compact and beautiful. Yes. That is why it makes people happy :) > I do miss my interfaces, documentation, and tools from the Java world though. > Oh to be able to do an F3 or CTRL-T in my Rails code and just follow the > references. Check out IntelliJ Idea/RubyMine. They are making some decent progress on this - as well as kickass support for Javascript and other stuff. Idea is a nice IDE, if you want to use an IDE. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Java is dead... Here we go again....
On Tue, Dec 9, 2008 at 8:29 PM, Richard Hightower <[EMAIL PROTECTED]> wrote: > For now I will stick to Java and Groovy with glee in my heart that I can get > paid for something that I love to do. Damn, didn't mean for the trollfest to turn ugly. But it's fun to watch. Anyway, Rick, a few points: 1. I get paid to write Ruby, and I enjoy it more than I ever enjoyed writing Java. But, as Kit said, I also work with a lot of really cool, REALLY smart people. I worked with some really cool smart people when I was doing Java, but just a few of them, not a LOT of them. Smartness was the exception rather than the rule in standard java developers, in my experience. In Ruby it seems to be the opposite. I'm a biased troll, though... 2. I could care less what most developers in the world write (mostly outsourced/offshore/corporate maintenance drones I bet, but I can't back this up...). This is the nature of the adoption curve. 3. You've conveniently ignored my point about JRuby being able to take advantage of both the Java and Ruby ecosystems. Ruby has tons of sweet, cutting-edge, actively maintained, frequently-released, supremely hackable open source tools, libraries, and frameworks, which is facilitated by things like RubyGems and widespread GitHub adoption. When those don't work for you for some reason, JRuby lets you plug in any proven, performant, scalable Java library. As I said, language preference and market share aside, don't you agree this is a compelling advantage of JRuby? Remember, I love you all. I just love to troll too :) -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Since Chad Mentioned Guice
There was a talk by Jamis Buck (a big java DI guy) at RubyConf where he claimed DI was unnecessary in Ruby or other dynamic languages. That's me heckling him at the end. Essence of my comments: I agree that DI *frameworks* are unnecessary, but I still think the Registry pattern is a good way to architect any application. It drives loose coupling and high cohesion - which is a good thing, especially for developers who don't know what those are or why they are good. I think many Rubyists overuse mixins and underuse basic OO, which leads to more complex and more confusing code in general, and more monkeypatching and brittleness than necessary. A bunch of small dead simple objects is easier to understand, debug, extend, and fix. -- Chad On Tue, Dec 9, 2008 at 2:32 PM, nlesiecki <[EMAIL PROTECTED]> wrote: > (Or did he?) > > My article on Google's Guice, the latest, greatest* DI framework: > > http://www.ibm.com/developerworks/library/j-guice.html > > (* your view may vary.) > > - > 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] JRuby vs. Groovy (was: Any News on the Holiday Party?)
It was mentioned in the previous thread that this is not a web app. As for JRuby vs. pure Ruby. However, this is the JUG list, and the question on JRuby performance was my chance to be a troll with a point, especially since there's been Groovy vs. Ruby debates on here before ;) Depending on the target deployment environment (windows? lots of users? Intranet?) JRuby might still be a better choice, since the JVM is ubiquitous (and native Ruby on Windows still sucks). -- Chad PS: Don't forget the JOrganic JJelly with a side of JJuice... On Tue, Dec 9, 2008 at 1:59 PM, nlesiecki <[EMAIL PROTECTED]> wrote: > If I was from-scratching a website, I'd definitely look at JRuby on JRails. > With JPeanut sauce on my JTofu. > > Nick > > On Dec 9, 2008, at 12:04 PM, Chad Woolley wrote: > >> Here's the latest performance numbers on JRuby: >> >> >> http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/ >> >> Summary - JRuby is doing very well; came in second after Ruby 1.9; and >> compatibility is good and getting better all the time. >> >> Ok, troll time: >> >> My opinion - definitely try JRuby over Groovy. You get all the >> benefits of the Java ecosystem: native calls to java libraries, JVM >> execution, JIT compilation, packaging, war/ear-based deployment, etc, >> etc. Most importantly, however, you get a language that was designed >> to "make people happy". Most Rubyists - especially those with >> experience in other languages - agree it achieves this goal well. >> >> As for Groovy, I still say it is an attempt to make a static language >> (Java) appear dynamic. They've done a decent job, but when you really >> compare it to using native Ruby, the warts and sharp edges poke >> through. >> >> The only argument I see in favor of Groovy is integration with the >> Java ecosystem, which JRuby effectively negates. Conversely, all >> language or syntax preference or prejudice aside, the Ruby ecosystem >> is also very rich (rubygems and github), and you cannot take advantage >> of this with Groovy. Why not be able to choose from the best of both >> worlds? >> >> Java is dead, long live the JVM. JRuby FTW in the enterprise. >> >> -- Chad >> >> On Mon, Dec 8, 2008 at 3:45 PM, Todd Ellermann <[EMAIL PROTECTED]> wrote: >>> >>> One more side note. JRuby runs on the JVM as well, and for a while was >>> out >>> performing the native Ruby interpreters. Not sure if that is still true. >> >> - >> 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]
[jug-discussion] JRuby vs. Groovy (was: Any News on the Holiday Party?)
Here's the latest performance numbers on JRuby: http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/ Summary - JRuby is doing very well; came in second after Ruby 1.9; and compatibility is good and getting better all the time. Ok, troll time: My opinion - definitely try JRuby over Groovy. You get all the benefits of the Java ecosystem: native calls to java libraries, JVM execution, JIT compilation, packaging, war/ear-based deployment, etc, etc. Most importantly, however, you get a language that was designed to "make people happy". Most Rubyists - especially those with experience in other languages - agree it achieves this goal well. As for Groovy, I still say it is an attempt to make a static language (Java) appear dynamic. They've done a decent job, but when you really compare it to using native Ruby, the warts and sharp edges poke through. The only argument I see in favor of Groovy is integration with the Java ecosystem, which JRuby effectively negates. Conversely, all language or syntax preference or prejudice aside, the Ruby ecosystem is also very rich (rubygems and github), and you cannot take advantage of this with Groovy. Why not be able to choose from the best of both worlds? Java is dead, long live the JVM. JRuby FTW in the enterprise. -- Chad On Mon, Dec 8, 2008 at 3:45 PM, Todd Ellermann <[EMAIL PROTECTED]> wrote: > One more side note. JRuby runs on the JVM as well, and for a while was out > performing the native Ruby interpreters. Not sure if that is still true. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Spam
On Fri, Nov 21, 2008 at 10:04 AM, Christopher Sharp <[EMAIL PROTECTED]>wrote: > I opened what I thought was a message from this group, and found instead > spam on Viagra and other similar products. It was in the form of an image. > I didn't get it. Do you use Gmail? If not, consider it...
Re: [jug-discussion] Early Bird Discount ends October 31st...SpringAmericas 2008 returns December 1-4th to Hollywood, FL (JUG Discount Available...)
On Tue, Oct 21, 2008 at 4:08 PM, Kit Plummer <[EMAIL PROTECTED]> wrote: > The latest OSGi spin Spring is spinning is a little gross. Why do I need > to "buy" their 8x8 block when I can go down the street to Apache and get a > Felix 2x2 block? But, anyway... > Why use a DI "Framework" at all when you can probably get everything you need (at least in the early iterations) with a homegrown Registry pattern in a single file? Like this, for example: http://geminstaller.rubyforge.org/svn/trunk/lib/geminstaller/registry.rb Yeah, hackish and primitive, but definitely the simplest thing that worked - and allowed me to avoid a DI "framework' and have NO library dependencies in this utility. -- Chad
Re: [jug-discussion] Next week's meeting
On Thu, Oct 9, 2008 at 4:32 PM, William H. Mitchell < [EMAIL PROTECTED]> wrote: > I've often thought it would be interesting to start meetings with a quick > circle around the room to give people a chance to seek real-time advice on > issues they currently face and/or pass along useful things they've recently > come across. > Yes. If you add the requirement to be standing up, hold questions until the end, and observe a time limit, you have lightning talks ;)
Re: [jug-discussion] Next week's meeting
On Wed, Oct 8, 2008 at 6:52 PM, William H. Mitchell < [EMAIL PROTECTED]> wrote: > I don't know if anything is lining up for next week's meeting but if not > I've got an idea for a low-effort plan B: "Destination Unknown Hack Night". > > The idea is pretty simple -- show up, possibly with your laptop, and in the > span of two hours (or is it 90 minutes?), we quickly settle on something of > sufficient mutual interest and try to make some progress with it. Maybe > it's a tool you've been meaning to try out, maybe it's an open source > library that's getting some buzz, maybe it's an interesting little > programming problem. > > I'd say to timebox the topic selection to fifteen minutes, and be a good > sport if the topic settled on isn't your favorite. Obviously, it'd be > important to come with an open mind and a "Why not?" attitude. > > I'd also say to not limit the scope to Java. For example, if an > interesting programming problem were to turn up, it could be attacked in > whatever language one chose. Also, there are lots of tools that are useful > across many platforms and/or languages. > > 'Just a thought... > Could be interesting, but it would suck if the topic ended up being something lame. I mean, something that doesn't interest me. Especially since I'd have to give up a prior standing commitment to make it. We could also do the lightning talk thing - strict 5 or 10 minute limit, and people can go twice or more if they want, but on a different topic. Do we actually have enough people with interest, motivation, and chops to do a lightning talk session? Maybe not this time, but another. If not, well... that's sad. On a related note, here is Zed Shaw's latest endeavor: http://freehackersunion.org/ -- Chad
Re: [jug-discussion] No longer at Weymouth Design
Great, thanks William. If it were a Google Group, I'd volunteer to co-own, but anything else is above my threshold of time/effort investment. Don't want to know any more passwords ;) On Mon, Oct 6, 2008 at 4:42 PM, William H. Mitchell < [EMAIL PROTECTED]> wrote: > A while back Warner mentioned passing along the duties he's been so good to > do for so many years. I'd be happy to pick up with mailing list > maintenance. > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
Re: [jug-discussion] No longer at Weymouth Design
can we remove this address from the list, then? On Mon, Oct 6, 2008 at 11:18 AM, Mark at Weymouth < [EMAIL PROTECTED]> wrote: > To whom it may concern, > > Mark is no longer with Weymouth Design. Please contact Tom Kraft at > [EMAIL PROTECTED] if you need assistance. > > Thank you. > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
[jug-discussion] Re: How can I get the PID of a process started by ant ?
On Wed, Sep 10, 2008 at 9:07 AM, Chad Woolley <[EMAIL PROTECTED]> wrote: > 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? Hmm, here is a hack which works on unix shell, which is probably good enough for me, even though I'll probably have to figure out the inheritence: http://forums.sun.com/thread.jspa?messageID=1536884 $$ ftw... Thx, -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] How can I get the PID of a process started by ant ?
Hey, I have a java question :) I have an Ant target (the Jsunit start_server target, actually) which starts a java process using the 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]
Re: [jug-discussion] Radio Buttons
On Mon, Sep 1, 2008 at 12:01 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > I count Tom as a good friend and valued colleague but I've got to > respectfully disagree with him on this point. I don't see a charter on the > JUG website but for History, I see this: The Tucson Java Users Group was > established to provide information about Java and Java related technologies > to its members, to facilitate contacts between its members and to promote > the use of Java technology in Tucson, Arizona. That seems to allow questions > from students, whether on homework assignments or not, or very basic > questions from anybody. Perhaps Tim's instructor and TA (if any) are > off-line for this holiday weekend, and Tim wants to keep moving. I agree, with conditions. You can post for help to the list, if you follow these rules of etiquette: 1. Make an effort to google and find a solution yourself, and provide links to what you found, and a reasoned explanation of what you have tried, and why you are still confused. This is the most important step. Often, the process of documenting why you are confused, and describing why your google results have failed you, will cause you to find the solution yourself. I can't count how many times I've done this myself. If you are still confused, and can clearly describe why you are confused, and can give examples of how google has failed you, then by all means, post and ask for help. That's a perfect use of this list, in my opinion. 2. Use a pastie solution like http://gist.github.com for your code samples - don't paste inline 3. Keep the same message subject for the entire thread (so people can use Mute in Gmail if they don't like it, or easily archive the entire thread at once) If you follow these rules, and Tom or anyone else still doesn't like these messages, then they can set up a filter in their mail program to ignore all posts from you. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Radio Buttons
On Sun, Aug 31, 2008 at 8:45 AM, Tim Worden <[EMAIL PROTECTED]> wrote: > You said that in IRC you put the code in a "paste bin and then send a link", > how do I do this or where can I find out more about this. http://gist.github.com/ This is cooler than all the other pastie solutions because you can edit and fork them. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JUG Talk Topics Ideas
On Sat, Aug 16, 2008 at 3:06 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > Well, I'd be happy to see a good demo of TextMate, too! :) Hehe. Actually, I think textmate sucks pretty hard in its own ways - such as no directory-tree-specific search (a horribly glaring omission). I'll often have to fall back to grep or Idea if I need to do some real searching to filter a lot of hits. Also, I'm a lowest-common-denominator guy, especially since I switch back and forth so much (vi on terminals, textmate on my own, usually Idea at work), and I can't remember things as well as I used to. For example, command-home shift-downarrow command-x is my preferred way of moving lines around - I don't bother with the move-block shortcut (which is useless in Textmate anyway because it LEAVES YOUR CURSOR ON THE OLD LINE!). I like to think that I think more than I edit, so it's OK if I don't know all the shortcuts ;) Anyway, maybe we can think of structuring the Nugs - gonna keep dissin' that J ;) - to allow 5 minute lightning talks like this in addition to the normal topic. Maybe do them first, and have a hard stop - 5 mins demo and 5 mins questions, then move on. That also works good for me so I don't have to stress if I commit and can't show up after all (like this month I was gonna come but I had to play drums for my church at the last minute). -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JUG Talk Topics Ideas
On Fri, Aug 15, 2008 at 11:40 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > Chad: It sounds like you may be just the person to help folks decide whether > IntelliJ Idea presents enough advantages to offset the learning curve and > the pain of migration! :) Actually, probably not. I myself prefer to use TextMate on my own, because I like the speed, lack of chrome and big easy fonts. I only use IntelliJ when I pair at work with someone who prefers it. Also, I only use it in Ruby - so I can't really speak to the Java refactoring and other Java-specific stuff - only that I've heard it is as good or superior from people who have used it. Maybe I was too strong to say it sucks, it's not any specific thing. The generic differences are mostly about the speed and "feel" of searching, SCM integration, file navigation, etc. I think the single-project focus in idea vs the multi-project eclipse approach also makes a difference in a lot of things. Most of the same functionality is in eclipse, but it just feels noticably clunky compared to Idea when I've briefly gone back to it. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JUG Talk Topics Ideas
On Thu, Aug 14, 2008 at 4:23 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > Just like last year, a lunch-time show of hands at NFJS for "Who uses > Eclipse?" seemed to raise just about every hand in the room. And, just like > last year, a follow-up from Neal Ford -- "Who'd still use Eclipse if they > had to pay $400 for it?" -- made every one of those hands disappear.(*) I use IntelliJ Idea and TextMate mainly now. I gotta say, I think eclipse sucks next to Idea. If you are into a full-blown IDE (in other words, don't like textmate/VIM/Emacs/etc), intelliJ is the best one. ANd I gotta say, if you are a software developer and cannot afford top spend $400 to get a top-of-the-line tool that you will use every day of your professional life, then you should start looking for a different job :) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] JUG meeting August 12 will be a Git-together
On Thu, Aug 7, 2008 at 1:26 PM, Andrew Lenards <[EMAIL PROTECTED]> wrote: > The JUG meeting August 12 will be a Git-together. How did this go? I had to miss due to other commitments, but it sounded like fun... -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Git question
On Tue, Aug 12, 2008 at 12:42 PM, Andrew Lenards <[EMAIL PROTECTED]> wrote: > There is a hook for doing stuff after a `git-pull` - btw... a `git-pull` is > really just a `git-fetch` + `git-merge`. So the post-merge Great, thanks for researching this. I wonder what is the best approach to try. Ideally, I'd like to do it with git submodules, which would be pure-git, no external libs required. However, I'm not sure if there would be limitations with the post-merge + git submodules, vs. post-merge + piston/braid/etc. I'll try it out... -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Git question
Thanks Andrew. I suspected that was the case. Thanks for doing the research for me so I didn't have to do it myself. Seems like an egregious hack, an oversight in the high-level Git architecture, or lack of foresight in how it would actually be used. Here is a blog post I did recently on other other thing that is really preventing me from moving to Git for all my projects: http://pivots.pivotallabs.com/users/chad/blog/articles/479-best-practices-for-managing-external-plugins-libraries-which-live-in-git- See you Tuesday, looking forward to the Git-together... -- Chad On 8/10/08, Andrew Lenards <[EMAIL PROTECTED]> wrote: > Chad - that's totally bizarre... based on the tutorials and cheat sheet I > have, you remove a branch form a repo with the following: > > `git branch -d $branch` > > There is a pretty active git channel on irc.freenode.org - I asked about > this and here's the explanation I got. > > `git push` is the only command that can make changes to a remote repository. > > It creates and updates branches - and it has been overloaded to delete > branches (since it's the only outgoing communication command). > > Apparently the key to that github link is the colon. If you know that `git > push origin foo` is really shorthand for `git push origin foo:foo` (because > usually the local branch and remote branch have the same name). So when you > say: > > git push origin :somebranch > > You're pushing nothing to somebranch. > > > Below is the transcipt of the answer I got from spearce: > > > [21:43] question - how do you remove a remote branch? Is this > github link wrong: > http://github.com/guides/remove-a-remote-branch > [21:43] lenards: that link is actually correct > [21:45] spearce: I don't understand why it works... why would `git > push` be how you remove a remote branch? > [21:45] lenards: git push is the only command that can make > changes to a remote repository. it can create branches, update branches, > and it was overloaded to delete branches, since its the only outgoing > communication command. > [21:47] spearce: thank you... okay - but the syntax shown looks > like the same way I'd push changes to that remote branch > [21:49] lenards: if you look carefully at the syntax the source > side of the argument is empty (the stuff before the :). we are technically > pushing _nothing_ to the remote branch to cause its deletion. > [21:51] spearce: hmmm... okay so if I was pushing to a remote > branch to update it... how would it look? `git push origin > localbranch:remotebranch` ? > [21:51] lenards: correct > [21:51] and its common for localbranch and remotebranch to be the > same name, so "git push origin A" is an shorthand for "git push origin A:A" > > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Git question
Here is the GitHub guide on how to delete a remote branch: http://github.com/guides/remove-a-remote-branch That guide, and the man page for git push, give me absolutely no clue on why or how this syntax works. Can someone explain or give me a link? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] stepping back from the JUG
On Thu, Aug 7, 2008 at 1:26 PM, Warner Onstine <[EMAIL PROTECTED]> wrote: > I've given this a lot of thought and as much as I hate it I think I have to > step all the way out of the JUG stuff. I just don't have the time or energy > right now to devote to it. Thanks for all your hard work and dedication over the years... > Over the next month or so I will be upgrading my box to a new OS and do some > house-cleaning. This has been brought up periodically before and I'll bring > it up now. If the JUG decides to move off of my box I have no issues with > that, and now would be a good time to do it (to save me from creating that > whole directory and whatnot on the new hard drive). I personally don't have the time or motivation to do much either, especially not as long as the group still has the J-word in the title... But seriously, we live in the era of hosted services. If not for the mailing list address, I'd recommend scrapping the whole manual Atlassian install and switching to a Google group. It has mailing list, wiki, etc. Unfortunately, that would change the group address, screw up peoples filters, etc. The admin could manually invite everyone to the new list (but only a few every few days, because of Google Groups spam protection). If we stick with Atlassian, I would think we should move it to some cheap virtual host and get a sponsor (VMS) or paypal collection to pay for it yearly. However, this still requires a lot more hands-on admin time and dealing with OS sysadmin, unlike the Google Groups solution... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Thanks for the presentation Brian!
On Fri, Jul 11, 2008 at 4:06 PM, Bashar Abdul <[EMAIL PROTECTED]> wrote: > class Person { > String name > def hasMany = [articles:Article] > } > > You can use Hibernate's Criteria Builder: > > def c = Person.createCriteria() > def results = c.list{ > articles{ > like('content','Paris Hilton') > } > } OK. If I understand, "def c" would be "def articles_about_paris_hilton"? This is still not as nice as ActiveRecord, I think. You are having to create custom helper methods directly on the Model. For example, bob.articles_about_paris_hilton vs the (more OO and messagey) bob.articles.about_paris_hilton which leverages the (nicely decoupled and Demeterish) Article.about_paris_hilton? However, Brian's points about the maturity and stability of Hibernate vs. ActiveRecord are well taken. I think it all depends on your project. For Agile startup social networking projects, the flexibility, readability, and speed of ActiveRecord trumps. For a project where you really care about database integrity or ACID, you would probably want to think about using some DSL on top of hibernate, like GORM. I still think the GORM syntax looks like poop compared to Ruby and ActiveRecord, though :) -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Thanks for the presentation Brian!
On Fri, Jul 11, 2008 at 3:16 PM, Bashar Abdul <[EMAIL PROTECTED]> wrote: > If I got your questions right: > > Suppose you have this class: > > class Article{ > String author > boolean published > } > > To get all the articles published by Bob: > > def articles = Article.findAllByAuthor("Bob")AndPublished("True") Not really. I still want all bob.articles to return ALL of bob's articles, but "bob.articles.published" should return only his published articles. And, to take it a step further than a simple property and illustrate ActiveRecord's ability to define any method, I would also like a about_paris_hilton method defined on the articles association, so I could say "bob.articles.about_paris_hilton" In ActiveRecord, this would look something like this (simple and probably somewhat inaccurate, I'm no ActiveRecord guru): class Person < ActiveRecord::Base has_many articles do def published ... end def about_paris_hilton proxy_target.select { |article| article.about_paris_hilton? } end end end With the new named_scope feature (contributed to Rails by one of my colleagues), this is even easier: http://railscasts.com/episodes/108 Anyway, the point is that the associations themselves are objects which you can extend with methods and functionality. You don't have to implement these helper methods directly on the model class. This allows you to make a very expressive and english-like API for your model layer. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Google's Wire Format Goes Open Source
On Fri, Jul 11, 2008 at 1:08 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > I took a look at that link but the documentation seems incomplete -- I > didn't see anything about specifying the number of stop bits. What was it Brian said about Java being the new Assembly? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Google's Wire Format Goes Open Source
These kids and their new-fangled protocols. XML was good enough for my grandfather, and it's good enough for me! Why, we had to make our angle brackets out of two sticks and baling wire... On Thu, Jul 10, 2008 at 9:45 PM, Warner Onstine <[EMAIL PROTECTED]> wrote: > Very cool Nick, thanks for sharing! > > -warner > > On Jul 10, 2008, at 3:15 PM, nlesiecki wrote: > >> This is pretty cool: >> >> >> http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html >> >> Protocol buffers are *the* lingua franca for RPCs, structured data >> storage, and just about any data sharing you can think of at Google. If >> you're building a distributed system and want to pass around messages in >> something other (faster) than Xml, you should check out protocol buffers. >> >> Nick >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > Warner Onstine - Programmer/Author > New book on Tapestry 4! > Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html > [EMAIL PROTECTED] > http://warneronstine.com/blog > > > > > - > 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] IntelliJ Idea (was: Some thoughts on Scala)
On Thu, Jul 10, 2008 at 11:31 AM, Thomas Hicks <[EMAIL PROTECTED]> wrote: > http://www.artima.com/lejava/articles/javaone_2008_dmitry_jemerov.html I have to admit, Idea is a very nice IDE, especially for Java. I think it blows away Eclipse/NetBeans in most areas, except price (it isn't free). At Pivotal, most of our Ruby developers use it. The Ruby support is as good as any other IDE, and any shortcomings in Ruby support vs other IDEs are outweighed by the overall maturity of Idea. However, I am finding myself less and less tolerant of huge, slow, chrome-heavy IDEs, especially since they have little or no refactoring support in dynamic languages like Ruby. Lately, I tend to use TextMate. It sucks in many ways and has numerous shortcomings, but it is FAST, has minimal chrome, allows you to easily change font sizes, and almost never freezes or crashes (unless you are doing project-wide search in a huge project). On the other hand, big IDEs take forever to start up, and frequently freeze up or crash. Sometimes, I will code in TextMate, and only pull out Idea if I need to do a power search or replace. I would like to become a VIM power user, because it is a decent, powerful, and truly cross-platform editor. However, that is a big learning curve, and I would miss my tabs and scrollwheel... -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Thanks for the presentation Brian!
On Wed, Jul 9, 2008 at 9:16 AM, Warner Onstine <[EMAIL PROTECTED]> wrote: > I just wanted to send out a quick note to everyone (and Brian) thanking him > for the presentation last night. Yes, I enjoyed it. Regardless of which flavor we prefer, I think that having all this momentum behind dynamic languages on the JVM is a great thing. Also, does anyone have links/examples of extending association proxies in GORM? Brian said this was possible, and I'd really like to see how it is implemented as compared to ActiveRecord. Does DataMapper have this, too? As a reminder, I mean something like defining a custom "published" method on the articles association, so that bob.articles.published results an array of only bob's published articles. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] git, mercurial or bazaar?
On Tue, Jul 8, 2008 at 8:55 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > (Executive summary of his presentation: If you're not using git, you're an > idiot, even if Google hired you. Any questions?) hehe, yeah that is a funny preso. However, Linus did put a lot of thought and effort into making Git do what he wants, and do it FAST. It's nice... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] git, mercurial or bazaar?
On Mon, Jul 7, 2008 at 11:09 AM, Andrew Lenards <[EMAIL PROTECTED]> wrote: > If you're forced to stay with an SVN repository - I know there is a git-svn > bridge that is bi-directional. So you can pull in an svn repo, branch, > work, and merge within git - then export the result back to svn. I've got > links for that somewhere, but I think most of the interesting stuff will pop > up in a google search. I've used git-svn some, it works. sudo aptitude install git-core git-svn. I installed via ports on mac, and I think git-core came with git-svn? Here's my delicious tags I've got so far, some stuff on git-svn there: http://del.icio.us/thewoolleyman/git Also, the peepcode video is a good intro. svn:externals seems to be the one thing that Git can't do as well as SVN. I researched it (links on delicious also, but haven't played with it). I agree with Kit, no reason to stick with SVN, I'm switching everything over as I get time. I like GitHub, and have been recommending it, but they seem to have some disturbing uptime issues (like right now)... -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Scott Segal Presentation
Which one did you finally pick, Scott? On Wed, Jun 18, 2008 at 8:26 AM, Warner Onstine <[EMAIL PROTECTED]> wrote: > Hi Tom, The presentation is now available for download from the JUG Web site > (front page). > > -warner > > On Jun 13, 2008, at 6:32 AM, Tom Michaud wrote: > >> Hi Scott, >> >> I don't remember if you mentioned this in the meeting. Will the >> presentation will be made available for all on the TJUG wiki? >> >> Thanks, >> Tom >> > > Warner Onstine - Programmer/Author > New book on Tapestry 4! > Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html > [EMAIL PROTECTED] > http://warneronstine.com/blog > > > > > - > 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] Groovy and JRuby
On Sun, Jun 8, 2008 at 11:55 AM, Kit Plummer <[EMAIL PROTECTED]> wrote: > I do believe there are upsides to JRuby, or just Ruby that should influence > people to take a look. Like the fact that there is Ruby without the J. > IronRuby, Rubinius, and the like are intriguing in that Ruby is closer to > the write once, run anywhere than the original attempt, Java. Profound statement. Especially coupled with the (admittedly unproven-by-me) ability of JRuby to call existing Java libraries. As I said in the other thread, I've found the open source culture in ruby to be more fun, prolific, and productive than I ever found Java's to be. I think this is partially because of the community, and partially because of the language itself. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Groovy and JRuby
On Sun, Jun 8, 2008 at 11:43 AM, Thomas Hicks <[EMAIL PROTECTED]> wrote: > One thing that has turned me off from Ruby in the past is the fanatical > and proselytizing behavior of the community members. Instead of > just setting up strawmen and snidely knocking them down, why don't you > put down the Kool-aid and educate us. Hmm, other people say that Ruby has an especially nice community. I think the Ruby open source community is interesting, especially projects like Rubunius that are turning the whole "ego based" open source paradigm on it's head. In Rubinius for example, one accepted patch gets you full commit rights. I wrote more about this here [1]. > 1) Have you actually used JRuby for any real world applications? Nope. I think JRuby is still getting the kinks worked out, but coming along very well (Runs Rails now, so I hear). The closest I got was that I tried to convert an existing production app to run on JRuby. I ran into a couple of bugs. Patched one, and reported the other one (which was fixed in the next release). After that I lost interest (or rather focused on more interesting non-Jruby stuff). So, I'm not qualified, nor motivated, to find the answers to the following questions. All I had time for at this point was to give Groovy a (probably unfair) chance with the above test (what operations are available on an array?). As I said, that experience did not make me want to explore further, and definitely didn't entice me in the least to stop programming in Ruby. So, anyone else (or nobody else) is welcome to answer these. I was just stirring things up, didn't want to actually do any work, other than possibly making some Old Pueblo Developers consider looking into Ruby and the world of Kool-Aid Flavored Happiness that awaits. You know I love you all :) > 2) What is it best at? What is it worst at? > 3) How well does it integrate with Java? > (Groovy and Java are highly integrated in several different ways. > At a minimum, Groovy classes can extend Groovy and Java classes > and interfaces. Java classes can also extend Groovy classes and interfaces. > The Groovy MOP protocol adds even more power to the integration). > 4) How does JRuby resolve the conflict between Java and Ruby data types? > 4a) Does it support coercion? Autoboxing and unboxing? > 5) How faithful is it to the Ruby language? > 6) Does it implement all of Ruby? > 7) Can JRuby use Ruby libraries? > 8) Is JRuby up-to-date with mainline Ruby development? > 9) How fast is it? > 10) How good is the tool support (IDEs and so on)? > > I look forward to learning more about JRuby. > cheers, > -tom > > [1] http://pivots.pivotallabs.com/users/chad/blog/articles/430-evan-phoenix-at-mountain-west-ruby-conf - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Groovy and JRuby
On Sat, Jun 7, 2008 at 10:26 PM, Thomas Hicks <[EMAIL PROTECTED]> wrote: > To partially answer your original question: I use Groovy because it is > built on top of a mature and immense language platform, so I don't > have to reinvent the wheel every time I sit down to code. How does JRuby not meet this requirement? It can call Java classes, and using a different (superior in my opinion) interpreted/dynamic language is not reinventing the wheel, plus Ruby predates Groovy anyway, by quite a while [1] :) -- Chad [1] http://www.levenez.com/lang/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Groovy and JRuby
On Sat, Jun 7, 2008 at 10:26 PM, Thomas Hicks <[EMAIL PROTECTED]> wrote: > Really? It's pretty similar in Groovy: > > groovy> [].class.methods*.name.toList() > ===> [get, add, add, indexOf, clone, clear, lastIndexOf, contains, addAll, OK, that seems to work. Can't say that would have been my first guess though. Whats up with the "*"? It still not pretty, nor intuitive. For example, look at the following train wreck resulting from playing around in groovysh. The best part is that I end with the original, working, expression... NOT WORKING ANYMORE! I don't even know what groovysh is trying to tell me with the error "No signature of method: [Ljava.lang.reflect.Method;.multiply() is applicable for argument types: (java.util.ArrayList) ". Whaa? This does not meet the Principle of Least Surprise for me. I remain - unconvinced. chadmac:groovy-1.6-beta-1 woolley$ bin/groovysh Groovy Shell (1.6-beta-1, JVM: 1.5.0_13) Type 'help' or '\h' for help. --- groovy:000> [].class.methods*.name.toList() ===> [get, add, add, indexOf, clone, clear, lastIndexOf, contains, addAll, addAll, size, toArray, toArray, set, remove, remove, isEmpty, trimToSize, ensureCapacity, hashCode, equals, iterator, subList, listIterator, listIterator, toString, containsAll, removeAll, retainAll, getClass, wait, wait, wait, notify, notifyAll] groovy:000> [] ===> [] groovy:000> [].methods ===> [] groovy:000> [].class.methods ===> [Ljava.lang.reflect.Method;@1bcd49 groovy:000> [].class.methods* groovy:001> [].class.methods*.name ERROR groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.reflect.Method;.multiply() is applicable for argument types: (java.util.ArrayList) values: {[get, add, add, indexOf, clone, clear, lastIndexOf, contains, addAll, addAll, size, toArray, toArray, set, remove, remove, isEmpty, trimToSize, ensureCapacity, hashCode, equals, iterator, subList, listIterator, listIterator, toString, containsAll, removeAll, retainAll, getClass, wait, wait, wait, notify, notifyAll]} at groovysh_evaluate.run (groovysh_evaluate:2) ... groovy:001> [].class.methods*.name.toList ERROR groovy.lang.MissingPropertyException: Exception evaluating property 'toList' for java.util.ArrayList, Reason: groovy.lang.MissingPropertyException: No such property: toList for class: java.lang.String at groovysh_evaluate.run (groovysh_evaluate:2) ... groovy:001> [].class.methods*.name.toList() ERROR groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.reflect.Method;.multiply() is applicable for argument types: (java.util.ArrayList) values: {[get, add, add, indexOf, clone, clear, lastIndexOf, contains, addAll, addAll, size, toArray, toArray, set, remove, remove, isEmpty, trimToSize, ensureCapacity, hashCode, equals, iterator, subList, listIterator, listIterator, toString, containsAll, removeAll, retainAll, getClass, wait, wait, wait, notify, notifyAll]} at groovysh_evaluate.run (groovysh_evaluate:3) ... groovy:001> [].class.methods*.name.toList() ERROR groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.reflect.Method;.multiply() is applicable for argument types: (java.util.ArrayList) values: {[get, add, add, indexOf, clone, clear, lastIndexOf, contains, addAll, addAll, size, toArray, toArray, set, remove, remove, isEmpty, trimToSize, ensureCapacity, hashCode, equals, iterator, subList, listIterator, listIterator, toString, containsAll, removeAll, retainAll, getClass, wait, wait, wait, notify, notifyAll]} at groovysh_evaluate.run (groovysh_evaluate:3) ... groovy:001> ahhh let me out of here! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Groovy and JRuby (was Re: [jug-discussion] next month's meeting)
On Fri, Jun 6, 2008 at 4:14 PM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > As I've mentioned before, I liked Groovy from a distance but I found it to > be frustrating to use. My experience with Ruby was the opposite -- blah at > first, but I quickly came to love it. Thanks William. I was waiting for someone who agreed with me to chime in before I responded on the thread. I've been using Ruby full-time, professionally for over two years now, and a hobbyist for a while before that. I used Java for several years before that, some of them with Scott and crew. To sum it up, Ruby makes me happy. I enjoy programming Ruby more than any other language. Many other people who work with Ruby say the same thing. This is not surprising, because Matz had this goal in mind when he created Ruby. Here's some quotes from him: "Does the world need another language? In theory, no. We just need the Turing machine to solve all of our problems, in theory. Humans require more sophisticated tools to program. It's a matter of human need. As long as some people feel happy using Ruby, that's enough of a reason for another language for me." [1] ""For me the purpose of life is partly to have joy. Programmers often feel joy when they can concentrate on the creative side of programming, So Ruby is designed to make programmers happy." [2] So, philosophy is fine, but lets see some code to prove this example. Here's an example. Say I'm on a plane, and I am playing with (J)Ruby and Groovy to compare them (which I was). No interenets or reference books, just the interactive interpreters. The challenge is "show me all the operations you can perform on an Array". Here's how you do it in (J)Ruby: chadmac:~ woolley$ jruby --command irb irb> [].class => Array irb> [].methods => ["frozen?", "sort", ...] irb> [].methods.sort => ["&", "*", "+", "-", "<<", "<=>", "==", "===", "=~", ...] # almost, but still has the methods from Object irb> [].methods.sort - Object.methods => ["&", "*", "+", "-", "<<", "[]", "[]=", "all?", "any?", ...] # Ah, just the methods from Array This is a beautiful experience which follows the Principle Of Least Surprise. For example: * Everything just prints out through the magic of duck typing, no class cast exceptions * [] IS an instance of an array * If I want the class or methods of this Array instance, I just ask it * If I want to sort the resulting array, I just call #sort * The "-" (subtract) operator does the logical thing, which is subtract the elements of one array from another. So, [].methods.sort - Object.methods gives me just the methods for Arrays Now, I tried to do this same thing in Groovy (with groovysh), and I failed frustratingly and miserably. I could get to the point of println'ing the methods of an Array (which is really an ArrayList in lipstick), but could see no way to do the nifty array subtraction to get rid of Object's methods. Not to mention the numerous exceptions when groovysh evaluates something that is not a string, and I have to println to get anything shown. Overall, confusion and NOT happiness. As a challenge, why don't the Groovy fans attempt this same thing and post it? I'll wager you write a lot more (ugly) code, and as William says, this is because Groovy is just too close to Java. Now for the unsubstantiated uninformed rant (couldn't get by without one of those): As for Grails, why use a substandard Rails clone built on a substandard Ruby clone? Check out Merb, that's the latest shiznit in Web Frameworks, and it is pretty sweet: http://merbivore.com/ It is similar to Rails, except they are doing all the things right that Rails does wrong. And for the ORM fans, check out DataMapper from the same crew: http://datamapper.org/ Sorry I'll miss the meeting, but I'll make it to another one soon to wax pedantic and give you Java guys grief ;) -- Chad [1] http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html [2] http://www.artima.com/intv/rubyP.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next month's meeting
On Thu, Jun 5, 2008 at 1:58 PM, Warner Onstine <[EMAIL PROTECTED]> wrote: > In preparation for the upcoming No Fluff Just Stuff Jay Zimmerman has > graciously offered us a speaker, Brian Sam-Bodden. He has volunteered to > speak on either "Groovy Metaprogramming" talk or "JRuby DSLs for Java APIs". > > I thought I would do an informal poll and see who was interested in either > one of these. I'd vote for JRuby if I were going to be there. But I'm not :( -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Startup Drinks - Tucson
On Tue, May 6, 2008 at 10:28 AM, Andrew Lenards <[EMAIL PROTECTED]> wrote: > P.S. - I didn't know if I should pass this along to the jug-announce list or > what, so if this is seen as "unwanted" mail I'll offer my apologies here. Personally, I am fine with announcing new (but not necessarily ongoing) Tucson geek-oriented social groups here. It is good for the community, regardless of whether is it Java or not. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Scala thoughts
On Wed, Apr 9, 2008 at 12:56 PM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > I think the problem with adding static typing rules is one of diminishing > returns. Abstractly speaking, imagine that a body of rules that can be > described in one page of text eliminates 50% of common errors. Ten more > pages of rules eliminate the next 25% of common errors. How many pages of > rules would it take to get to 90%? Would you choose to use a language that > eliminates 99.9% of errors if its static typing mechanisms took 500 pages to > describe? A good testing framework can eliminate 90%+ of programming errors, and only takes a couple dozen pages of API docs to describe. Plus, you don't have to use a compiler if you are writing in an interpreted language ;) -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] [4/8] Introduction to Scala
On Thu, Apr 3, 2008 at 11:02 AM, Warner Onstine <[EMAIL PROTECTED]> wrote: > This coming Tuesday Tom Hicks and Randy Kahle will be presenting on the new > JVM language Scala. Sorry, will be at work in San Francisco. Codin' Ruby ;) I really think it is a great goal to learn new languages frequently, but at this point in my life, it's not happening for me. Spare time is spent hacking open source in a language I already know and like (Ruby). I'm going to have enough trouble learning all the other things besides my language that change on a daily basis (like the SVN to Git paradigm shift for open source). Hope the talk goes well! -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Meeting tomorrow [tonight!]
On Tue, Mar 11, 2008 at 11:36 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > I'm game for this but how about a quick show of hands -- who's > planning on coming? Sorry, couldn't make it this week (and obviously behind on email too). I'll try for next month, if I'm in town. Did anybody show, and do lightning talks? If so, how did it go? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Time-wise binary search of repository for when something got broken
On Fri, Mar 7, 2008 at 9:03 AM, William H. Mitchell <[EMAIL PROTECTED]> wrote: > Every once in a while I encounter a situation where a code change or > a library change breaks something in a system but the problem isn't > noticed until long after the critical change. This is one case where I like to pull out a good IDE. Integrated viewing of svn blame, logs, and commit sets can help you pinpoint the cause of the bug. Eclipse has nice SVN integration, IntelliJ is good too. You should have continuous integration too, ideally the research approach is only required for bugs that got past your build. I'm not sure of the value of retroactively running tests, better to just fix the bug and look at it as a learning opportunity: review your test coverage and unit vs. functional vs. integration coverage (and metrics, if you have them), and see how the bug got past. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Great Meeting
On Feb 13, 2008 10:29 AM, Thomas Hicks <[EMAIL PROTECTED]> wrote: > I also would love to hear stuff on Python/Ruby as well, they are > welcome to join us, present, whatever. > I'd like to hear a little of this but, for several reasons, I would > be much more interested in hearing about things which are > more closely connected to Java and would allow us to build on > our huge investment in Java; such as Groovy, GRAILS, or Scala. > Perhaps Chad could tell us about JRuby instead? Well, I remember that we decided (and semi-formally voted, if I recall) a while back that introducing a non-exclusively-java focus to the group would be accepted, and even productive. And, to be honest, I am going to be prone to proselytizing, because I am enjoying Ruby much more than I ever did Java. I also like Tucson, and would like to help build the Ruby community here, and find/convert people. As for jRuby, I did try it last week. I don't think it's quite ready for prime time (hacking and patches required to get one of our projects to work on it, and still not done). However, I think it is very promising, especially with Sun's commitment to running non-Java languages on the JVM, with JIT compilation and other improvements. The JIT stuff, of which they've just released some really cool sounding stuff recently, is huge IMHO. Java is dead, long live the JVM! Here's a some relevant blog posts to this thread and the meeting. First, here's Zed's rant that we were discussing at the meeting: http://www.zedshaw.com/rants/rails_is_a_ghetto.html Here is Rick's response to Zed's rant. It's clear he's not a Ruby convert. I don't really agree - even though I'm not an MIT CS language bigot type, I have worked with a lot of different stuff from JCL and COBOL on up, and I like Ruby a lot :) http://www.jroller.com/RickHigh/entry/thanks_zed_btw_syntax_matters And, here is a post from one of my co-workers at Pivotal, a very experienced developer with many years of Java under his belt, who is working with Java after being on Ruby projects for a couple of years. http://pivots.pivotallabs.com/users/alex/blog/articles/402-java-stink Anyway, good to see you guys again, and I'm hoping to keep it up. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Great Meeting
Good to see you all there. Thanks for the preso Warner, I enjoyed having a discussion with everyone about the flash world and related topics. And greetings to our first time guest - if you are on the list. Sorry, I'm terrible with names. Hey - what do you all think about trying Pecha Kucha [1] or Lightning Talk [2] format for an upcoming meeting? It can be anything - , a few bullet points or slides with a minute or so each, just show something cool you worked with recently. You do have something like that, right?!? Also, I've made a couple of Ruby/Python friends here in Tucson, and we were talking about starting a get together. Haven't asked them, but they might want to show some stuff and take advantage of the primo VMS digs ;) We also are planning to hit the Ruby/Rails group in Phoenix next month, I'm going to try out my rubyconf preso. Let me know what you think. Thanks, -- Chad [1] http://en.wikipedia.org/wiki/Pecha_Kucha [2] http://en.wikipedia.org/wiki/Lightning_Talk - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] Thanks for the dinner TR!
sorry I missed. I was in San Francisco for work, or I would have been there. -- Chad On Dec 12, 2007 8:20 AM, Warner Onstine <[EMAIL PROTECTED]> wrote: > Hi TR, > Thanks again for setting up our little holiday dinner, as always I > enjoy Feast :-). > > -warner > > Warner Onstine - Programmer/Author > New book on Tapestry 4! > Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html > [EMAIL PROTECTED] > http://warneronstine.com/blog > > > > > - > 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] grails gets wrong
On Dec 12, 2007 8:19 AM, Warner Onstine <[EMAIL PROTECTED]> wrote: > Ok, following up on my comments from last night about what I see > missing from Grails. Here's the biggest one so far that I've seen. > There is still too much configuration that you need to do. Rails is > so simple configuration-wise. You're up and running in no time. I > know with Grails you still have generators. But with Rails you have a > lot less to generate (especially for your models). I'm not saying > don't have properties in your models (I like that) but get rid of the > stupid mapping files! :-P. I rarely use the rails generators. I usually just code them from scratch or copy an existing file as a template. If you do have a simple crud scaffold, you can use generators, but that doesn't happen a lot, especially if you are doing TDD. The rspec scaffold generator is pretty nice, and actually generates some decent tests (as opposed to the default Rails scaffold-generated tests, which are worse than nothing). As for activerecord, there's a TON of cool stuff in activerecord. It's not just has_many and belongs_to. Callbacks and relationships are very advanced, and extensible (and still buggy in some places). It would be a huge task to re-implement everything that ActiveRecord does. Check out some of the posts by my colleague Nick Kallen on pivotalblabs.com for examples of this advanced stuff (but it may be down, we are about to switch from Typo to our own homegrown rails blog app. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[jug-discussion] Podcast on Ruby, jRuby, Groovy, and Polyglot Programming
http://www.javaworld.com/podcasts/jtech/2007/112007jtech006.html This great podcast covers a lot of topics: * Why Ruby is more fun * Why Ruby is going to keep gaining ground in the enterprise (because of jRuby) * The differences between jRuby and Groovy * Why Groovy, cool though it is, will always be hobbled by its Java legacy (JavaBeans) * Why Ruby won't be (it's not Java, it's Ruby) * The futility of hiring mediocre programmers * How the JVM platform lets you use the right language for the right job (and never have tell the Ops team that it isn't all Java) -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] meeting next tue
I don't think I can make it, unfortunately. On 10/6/07, Warner Onstine <[EMAIL PROTECTED]> wrote: > Hi all, if I don't here anything by monday then I'm going to cancel > so we can free up the space. > > -warner > > On Oct 4, 2007, at 6:44 AM, Warner Onstine wrote: > > > Ok, I've just been slammed and won't have time to properly prepare > > the Laszlo presentation for next Tue so I would like to propose a > > couple of alternatives. I have enough material on these two > > possible subjects: > > 1) More on meta-programming with groovy > > 2) Using Antlr (www.antlr.org) - a parser/lexer generator for > > languages > > > > We currently have a presentation lined up for Nov from Bill > > Mitchell and Andy (more on that later) so I can slide in Laszlo for > > Dec. (I'll add it to the calendar on the site as we do have the > > space for Dec even though we have not normally done a meeting > > then). Let me know what you guys think, > > > > So, here's the possibles: > > Oct. - Groovy or Antlr > > Nov - Bill and Andy's presentation > > Dec - Laszlo or no presentation as usual > > Jan - move Laszlo here > > > > Sorry about this, but school and the book have taken over my spare > > time completely (stupid Linear Algebra homework is eating me alive!). > > > > -warner > > > > Warner Onstine - Programmer/Author > > New book on Tapestry 4! > > Tapestry 101 available at http://sourcebeat.com/books/ > > tapestrylive.html > > [EMAIL PROTECTED] > > http://warneronstine.com/blog > > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > Warner Onstine - Programmer/Author > New book on Tapestry 4! > Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html > [EMAIL PROTECTED] > http://warneronstine.com/blog > > > > > - > 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] Re: Delivery Status Notification(Failure)
Does everyone else get this when responding to messages? If so, can whoever is responsible kill this subscription? On 8/24/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > has not been delivered to the recipient's BlackBerry Handheld. > The returned error status is > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] professional degree programs
Don't blame him. He didn't send it from his iPhone... On 8/24/07, Aaron Rubin <[EMAIL PROTECTED]> wrote: > you like to use question mark statements.? > > :P > > - Aaron.? > > --- Steve Shucker <[EMAIL PROTECTED]> wrote: > > > - > I agree with Jon and Rob that a degree is not a > prerequisite to asuccessful career and doesn't say as > much about your abilities as yourexperience.� The
Re: [jug-discussion] professional degree programs
Man I haven't seen this many big responses on the list in a long time :) My .02 - many of the smartest developers I've worked with in recent years have had non-tech degrees like English, Sociology, etc. On a related note: IMHO, quality companies who "get it" with regards to quality programmers don't care too much about degrees if you have street cred. For example, my company's interview process involves pair-programming with the CEO technical lead, and pairing on real-live projects. I think suggesting this approach to potential employees is a great way to distinguish yourself, and find out a lot about the company in the process. -- Chad On 8/23/07, Craig Barber <[EMAIL PROTECTED]> wrote: > Hey All, > > I'm going on the 3rd year of my full-time career in software > development now. Probably not unlike many others out there I was > enticed away from completing my undergraduate degree for full-time > work at a software development startup, and now Im looking into > finishing up my degree. Unfortunately I've discovered that the UofA's > CS program isn't really practical for professionals such as myself, > as most of their CS courses are only offered during core business > hours. I was wondering if any of you out there have experience and/or > opinions on the quality of some of the programs out there tailored > for professionals. For example, I've been researching the University > of Phoenix. They have an online program which offers a BS tailored > for software engineering: http://www.phoenix.edu/ > online_and_campus_programs/degree_programs/ > degree_programs_description.aspx?progversion=5&locationid=-1 > > For you employers and/or educators out there: Which programs do you > consider reputable and of good quality? Which programs would you > recommend staying away from? How do you measure up a potential > employee who has a degree from a program like this compared to a > traditional university? Any feedback is welcome. > > -Craig Barber > > - > 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
On 8/13/07, Rick Hightower <[EMAIL PROTECTED]> wrote: > I feel > the productivety gain while using dynamic langauges is not as good as the > productivty gain by using a good Java IDE. I'd rather have a good IDE then > less lines of code. I realize that this may put me in the minority on this > list but I am use to it. The lack of a ruby refactoring IDE does really suck, but you learn to deal with it :) They are working on it, though - Jruby+netbeans, and Ruby in Steel [1] on Visual Studio are two that I keep hearing about. Also, some lightweight editors like TextMate do pretty well with the idiom- and code-completion stuff. I actually prefer TextMate nowadays, which is a big conversion for a prior Eclipse devotee. Less chrome is nice :) I'd switch in a second though if something could give me foolproof project-wide method/Class renaming and such. -- Chad [1] http://www.sapphiresteel.com/spip.php?page=feature-list - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] [8/14] Part 1 of Flex/Laszlo smackdown
I'm unable to attend because I'm at Agile 2007 [1], but I'll be there in spirit... -- Chad [1] - http://agile2007.com/agile2007/index.php?page=sub/&id=610 On 8/13/07, Warner Onstine <[EMAIL PROTECTED]> wrote: > This tuesday James Smith will be presenting part 1 of the Adobe Flex/ > OpenLaszlo smackdown. In this presentation he will cover: > 1) Communication between Java and Flex > 2) How to build a simple Flex application that does event posting > > Warner will be presenting the Laszlo side of this next month (Sept. > 11th). > > Starting this month we are going to be in a new location at the > UofA's Student Union, the Tubac Room. > > The Tubac room is on the 4th (top) floor of the Student Union: > http://www.union.arizona.edu/infodesk/maps/sumc_maps.php?level=level4 > > There is plenty of parking near to the Student Union all Lot 1s are > free to park in after 5 pm. You can also park in the second street > garage for $2. The parking lot that we have been parking at is not > that far from the union if you still want to park there. > > All parking can be found on the UofA's Web site here: > http://iiewww.ccit.arizona.edu//uamap/staticLarge/17.html > > Once the Web site is back up I'll add all of this to it. > > As usual we will start the meet and greet at 6:30, with the > presentation at 7. > > -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] Hi guys.... Crank Crud Intro... JPA/JSF Crud tool
More OT-ness, sorry Rick... I also find many (but far from all) things in Ruby/Rails follow the Principle of Least Surprise. As for Scaffolding, I actually don't use it a lot. Since we do Test-Driven Development, I often just start from scratch. Unless you are doing straight-up CRUD or REST scaffolds, there often isn't a lot of useful stuff in the scaffold; you end up deleting more than you use. The standard-generated tests certainly suck, and are worse than none at all in some cases, IMHO, because they give people the idea that minimal, cookie-cutter tests are OK. Maybe that's what Venkat was talking about. Rails still has a lot of warts, and is downright buggy in a lot of areas, but the power of Ruby lets you fix these fairly elegantly [1] in many cases. Warts aside, Rails got a lot of things right. Migrations is one of these, as well as Capistrano. The ActiveRecord implementation is another - it's very powerful, flexible, and succinct, as illustrated here: [2]. I'm not sure what Grails is doing different that is "class-first", or why AR would be considered "table-first" in contrast? Do you have to explicitly define all columns in Grails model classes? I'd consider that a downside. Regardless, once you start "getting" ActiveRecord and Embrace the Conventions, it feels nice and cohesive. There are numerious gotchas of course, but once you know your way around (which I'm still working on), you can quickly, easily, and elegantly do all sorts of useful stuff in your Model layer. You even start doing crazy things like pushing everything you can down into your Model [3]. It works out well, especially in RESTful architectures. As a pre-emptive strike against the performance naysayers, I can point to real world evidence [4] that with creative caching [5], you can make the interpreted-language slowness a relative non-issue for many sites. Rails isn't for anyone, it would be nice if it didn't have warts, and I can't conceive of attempting to write real Rails apps without a disciplined and sophisticated testing approach, but I certainly like it. YMMV. -- Chad [1] http://viewvc.rubyforge.mmmultiworks.com/cgi/viewvc.cgi/desert/trunk/lib/desert/rails/?root=pivotalrb [2] http://www.pivotalblabs.com/articles/2007/08/08/advanced-proxy-usage-part-i [3] http://www.pivotalblabs.com/articles/2007/07/26/access-control-permissions-in-rails-access-control-permissions-in-rails [4] http://www.pivotalblabs.com/articles/2007/06/27/rails-slashdotted-no-problem [5] http://www.pivotalblabs.com/articles/2007/08/08/cacheable-flash 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
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 > > >
Re: [jug-discussion] next language to learn?
On 6/20/07, eric biesterfeld <[EMAIL PROTECTED]> wrote: I'm putting in a second for Erlang. I looked at it a bit back, but I'm still waiting for a time to take it further. (I really want a proof of concept on something at work, but I think I'll wait for a few more months to present it...) Just rewrite your PBX. Didn't you see the video? It's easy! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
Since processors will be multiplying instead of speeding up in the future, I think erlang or something similar has got a lot of potential. Having the language handle multithreading for you is huge, given how hard it is in other languages. On 6/19/07, Thomas Hicks <[EMAIL PROTECTED]> wrote: At 10:08 AM 6/19/2007, you wrote: >On 6/19/07, Art Gramlich <[EMAIL PROTECTED]> wrote: >>Erlang - You should at least work through the tutorial for it (and if >>you haven't seen it watch the video where they do live updates to the >>system). > >I think you mean this: > >http://video.google.com/videoplay?docid=-5830318882717959520 > >It's hilarious - like programming meets Monty Python. Oh, my gawd!this has got to be a deliberate jokeit couldn't be this bad by accidentcould it? The production values are atrocious; the dialog is horrible; everyone is speaking in slow motion, stuttering, screwing up their lines; but, worst of all, you learn next-to-nothing about Erlang! It's not a collision with Monty Pythonit's a collision with those "educational" filmstripes from the 50's. -t - 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] next language to learn?
On 6/19/07, Art Gramlich <[EMAIL PROTECTED]> wrote: Erlang - You should at least work through the tutorial for it (and if you haven't seen it watch the video where they do live updates to the system). I think you mean this: http://video.google.com/videoplay?docid=-5830318882717959520 It's hilarious - like programming meets Monty Python. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] next language to learn?
If your goal is to get a marketable skill, I'd say Ruby/Rails. Lots of Rails jobs out there, and more every day - especially if you want to move to the Bay Area :) On 6/17/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Hi all, I've posted up a little thing on my blog about what should be my next language, feel free to chime in (there or here). http://www.warneronstine.com/blog/articles/2007/06/17/next-language- to-learn -warner Warner Onstine - Programmer/Author New book on Tapestry 4! Tapestry 101 available at http://sourcebeat.com/books/tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] Google Gears - in case you hadn't seen it elsewhere
It's Arial. You can't get much more generic than that, can you? I think my problem is that I'm using the Takahashi presentation method, and I have huge fonts. They are just slightly huger on Linux. I'm sure it's just an edge case that never got tested somewhere, fonts or not. This is the type of thing that a browser-based platform solves. Javascript under Firefox works pretty much the same on all platforms. -- Chad On 6/3/07, Dennis Sosnoski <[EMAIL PROTECTED]> wrote: Chad Woolley wrote: > > I can't wait until they get Google docs offline. I don't care about > features, all I want is a consistent cross-platform office suite. NO, > OpenOffice is not it, I just created a presentation on my Mac, > standard fonts, text only, no background, and it formats like crap on > Linux. I suspect your problem is fonts. I've never tried Mac, but OpenOffice certainly does a very good job on keeping presentations compatible across Linux and Windows providing you only use fonts which are available on both. Which pretty much makes sense - it can't magically create fonts that aren't present on the platform, so it just uses whatever is available of the same general type. Ironically, this generally means staying with the Windows "core" fonts which were accidentally released for unrestricted use back in the '90s. They're available for Linux distributions, so I assume they're also available on Mac. - Dennis - 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] Google Gears - in case you hadn't seen it elsewhere
On 5/31/07, Warner Onstine <[EMAIL PROTECTED]> wrote: This I think is pretty slick, offline Web apps through a browser plugin (firefox, IE, windows, mac, and linux). I think it's slick too. http://gears.google.com They provide an API that lets you run your Web application in offline mode. Now some people don't get this: http://www.37signals.com/svn/posts/347-youre-not-on-a-fucking-plane- and-if-you-are-it-doesnt-matter Yeah, some people don't get it. I'm sure he has a cellphone dongle thingy for his Macbook, but not everyone is the D to the H H.I sure don't have one... If the world makes One Laptop Per Child widespread, then I'm positive that everyone won't have one. Where does everyone see this thing going? I can't wait until they get Google docs offline. I don't care about features, all I want is a consistent cross-platform office suite. NO, OpenOffice is not it, I just created a presentation on my Mac, standard fonts, text only, no background, and it formats like crap on Linux. -- Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] tasks that developers do when learning a new language?
Hmm. That sort of seems like a mixin, in a hackish way, but you can almost feel the strain of a statically-typed language being bent to behave in this way. Also, they mention this, which seems like a real drawback if you want to write clean OO code: "...Note though that you can't add methods to classes, pass them to Java code, and expect the Java code to be able to call them. Since most people use statically typed Java with little reflection I doubt this case would come up much anyway." Ruby mixins are much cleaner: http://www.rubycentral.com/book/tut_modules.html Contrast this with a Ruby mixin, in which the "include" keyword results in a real live instance method that is identical to all the other pre-existing instance methods: module Foo def fooit(a) a + "foo" end end class Bar include Foo end p Bar.instance_methods.sort # <- fooit is an instance method p Bar.new.fooit('bar') # -> 'barfoo' On 4/25/07, Warner Onstine <[EMAIL PROTECTED]> wrote: I'm not that familiar with Ruby and mixins, but I believe that Categories are the rough equivalent in Groovy. http://docs.codehaus.org/display/GROOVY/Groovy+Categories http://groovy.codehaus.org/Expandos,+Classes,+and+Categories You'll have to look and let me know (but a quick web search *seems* to validate this). -warner On Apr 25, 2007, at 6:34 PM, Chad Woolley wrote: > I've heard Groovy doesn't do Mixins. Is this true? I think this > makes it inferior to ruby (although I guess you could run AspectJ > against Groovy bytecode, right?) > > On 4/25/07, William H. Mitchell > <[EMAIL PROTECTED]> wrote: >> I started out on a list of things to see if/how a new language has, >> but I suppose I've ended up with more of a wish list: >> >> Operator overloading, with arbitrary operators >> Support for functions as values >> Curried functions >> Anonymous functions >> Function composition >> Tuples >> Infinite-precision integers, with auto-transitioning >> Labeling of data structures via pattern matching >> Variable length argument lists >> Metadata support, like Java's annotations >> Run-time compilation of code >> Preprocessor, just like C >> Complete mutability--be able to augment/redefine integer >> addition, for example >> >> Implementation issues: >> A good debugger (I like TDD but hands off my debugger! This >> means you!) >> Fast compilation >> Ability to produce a standalone binary >> >> It's interesting to note that things like object-orientation, garbage >> collection, and exception handling have become so common that I'd >> mostly finished my list before they crossed my mind. >> >> Python does pretty well on the above list but for some reason I have >> trouble getting excited about it. For years I'd admired Python from >> a distance but after spending an afternoon with it, I was left with a >> ho-hum feeling. >> >> My experience with Ruby was the opposite from Python -- I didn't like >> what I first saw with Ruby but the more I learned, the more I liked >> it. Now I love it! I don't think that Ruby comes close to Icon's >> elegance and cohesiveness but Ruby has largely replaced Icon in my >> toolbox. (We'll see if Ruby rules for 24 years, like Icon did, if I >> live that long...) >> >> Now I'm reading through Groovy in Action. I have to say that Groovy >> looks pretty good so far. Groovy's very close integration with Java >> allows interesting mix-and-match with Java and a low hurdle for Java >> programmers. In some ways the Java/Groovy relationship is like >> C/C++. Lots of programmers (like me!) got interested in C++ because >> it allowed them to move to OOP but still use C libraries. Groovy >> opens the door for dynamic typing and great expressiveness without >> losing the investment in Java libraries. >> >> >> - >> 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] > > Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] tasks that developers do when learning a new language?
I've heard Groovy doesn't do Mixins. Is this true? I think this makes it inferior to ruby (although I guess you could run AspectJ against Groovy bytecode, right?) On 4/25/07, William H. Mitchell <[EMAIL PROTECTED]> wrote: I started out on a list of things to see if/how a new language has, but I suppose I've ended up with more of a wish list: Operator overloading, with arbitrary operators Support for functions as values Curried functions Anonymous functions Function composition Tuples Infinite-precision integers, with auto-transitioning Labeling of data structures via pattern matching Variable length argument lists Metadata support, like Java's annotations Run-time compilation of code Preprocessor, just like C Complete mutability--be able to augment/redefine integer addition, for example Implementation issues: A good debugger (I like TDD but hands off my debugger! This means you!) Fast compilation Ability to produce a standalone binary It's interesting to note that things like object-orientation, garbage collection, and exception handling have become so common that I'd mostly finished my list before they crossed my mind. Python does pretty well on the above list but for some reason I have trouble getting excited about it. For years I'd admired Python from a distance but after spending an afternoon with it, I was left with a ho-hum feeling. My experience with Ruby was the opposite from Python -- I didn't like what I first saw with Ruby but the more I learned, the more I liked it. Now I love it! I don't think that Ruby comes close to Icon's elegance and cohesiveness but Ruby has largely replaced Icon in my toolbox. (We'll see if Ruby rules for 24 years, like Icon did, if I live that long...) Now I'm reading through Groovy in Action. I have to say that Groovy looks pretty good so far. Groovy's very close integration with Java allows interesting mix-and-match with Java and a low hurdle for Java programmers. In some ways the Java/Groovy relationship is like C/C++. Lots of programmers (like me!) got interested in C++ because it allowed them to move to OOP but still use C libraries. Groovy opens the door for dynamic typing and great expressiveness without losing the investment in Java libraries. - 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] tasks that developers do when learning a new language?
I knew there was some AOP library for Ruby but hadn't looked at it. It looks like AspectR is rather limited, I think this is the control-flow feature I'd want in order to only do something in the context of a view, but it doesn't seem to have it: "control-flow based crosscutting" Anyway, I'd be hesitant to recommend dumping something like this in a production app. Seems like it would have the possibility of being buggy and non-performant. Much of the stuff it does do you could probably design on your own with test coverage, and feel much more at ease. -- Chad On 4/23/07, Warner Onstine <[EMAIL PROTECTED]> wrote: On Apr 23, 2007, at 6:58 PM, Chad Woolley wrote: > How "OO" is it? In Ruby, for better or for worse, everything is an > object. Even classes themselves are objects. This makes it possible > (if not prudent) to do pretty much anything. > > How does it support cross-cutting concerns? Lately, I have been > missing the ability to do Aspect-oriented programming in Ruby. For > example, I want to HTML-escape the return value of any model getter > which is in the call stack of a view. We ended up doing it manually, > for every field in every view. When I started rambling about how you > could do that sort of thing with 5 lines in AspectJ (and never have to > worry about forgetting it for future fields), I just got blank > stares... What about AspectR? Or metaprogramming? I'll be honest I haven't looked too much at Ruby's metaprogramming model, but the HigherOrderMessaging stuff I posted a while ago looked like it might be able to handle something like that. -warner > > -- Chad > > On 4/21/07, Warner Onstine <[EMAIL PROTECTED]> wrote: >> Hi all, >> I was just curious, when you start learning a new language, what do >> try and do first? >> >> Here are some of the ones that I look at: >> - looping (how do I do a for loop) >> - if, then, else >> - switches (do they exist?) >> - object and array creation (what types are there and how do I do it) >> >> In a sense this goes beyond just syntax and assumes that you (the >> developer) already have some knowledge of how to program and are >> familiar with OO. >> >> -warner >> >> Warner Onstine - Programmer/Author >> New book! Tapestry 101 available at http://sourcebeat.com/books/ >> tapestrylive.html >> [EMAIL PROTECTED] >> http://warneronstine.com/blog >> >> >> >> >> - >> 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] > > Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] tasks that developers do when learning a new language?
How "OO" is it? In Ruby, for better or for worse, everything is an object. Even classes themselves are objects. This makes it possible (if not prudent) to do pretty much anything. How does it support cross-cutting concerns? Lately, I have been missing the ability to do Aspect-oriented programming in Ruby. For example, I want to HTML-escape the return value of any model getter which is in the call stack of a view. We ended up doing it manually, for every field in every view. When I started rambling about how you could do that sort of thing with 5 lines in AspectJ (and never have to worry about forgetting it for future fields), I just got blank stares... -- Chad On 4/21/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Hi all, I was just curious, when you start learning a new language, what do try and do first? Here are some of the ones that I look at: - looping (how do I do a for loop) - if, then, else - switches (do they exist?) - object and array creation (what types are there and how do I do it) In a sense this goes beyond just syntax and assumes that you (the developer) already have some knowledge of how to program and are familiar with OO. -warner Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] OFF-TOPIC: Great Sysadmin?
Sorry if this breaks the no-job-offer taboo, but it's not like I'm a headhunter, I just want to stop doing so much sysadmin at work :) Does anyone know a GREAT senior unix sysadmin type? By GREAT, I mean mature, organized, experienced, responsible, hardworking, detail-oriented, and *open-minded* - someone you would personally vouch for. This would be for remote work w/travel or relocation to the Bay Area. You can respond off-line to [EMAIL PROTECTED] Thanks, Chad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] more DSL/Groovy fun
How does their classmock work? A quick search of their docs for classmock turns up nothing. This is the trickiest part of a tdd/bdd/mock/stub framework in a statically typed language like java, and one of the best things about using it in a dynamic language like ruby. -- Chad On 4/11/07, Bashar Abdul <[EMAIL PROTECTED]> wrote: For those interested, JBehave: http://jbehave.org/ is a java BDD framewor, its already at version 1.0.1 Bashar - Original Message From: Warner Onstine <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Sent: Wednesday, April 11, 2007 8:33:06 AM Subject: [jug-discussion] more DSL/Groovy fun This was sent out to the Groovy list this morning, an implementation of Behavior Driven Development, inspired by RSpec (http:// rspec.rubyforge.org/), This one is of course called GSpec. http://codeforfun.wordpress.com/2007/04/09/gspec-for-java-bdd/ Here's the code example he sent to the list: > GSpec is still very alpha as I need to rework the method and property > interception, however I'm putting it out there in an attempt to > draw some > interest (more so in the practice rather than the project). Honestly I > should be spending more time developing and fixing the kinks in > GSpec than I > spend writing about it. Currently I'm working on using Groovy MOP for > interception and I'm also now working on a term definition feature. > The idea > behind term definition is a means of allowing users to extend GSpec by > defining additional grammar at runtime. Here's what it wold look like: > > the.context("A music store order entry system") { > definitions { > define 'accepted' { the.orderRepository.contains(it) } > } > > initially { > the.orderRepository = new OrderRepositoryImpl() > the.orderProcessor = new OrderProcessorImpl() > } > > specify("An order posted without items should NOT be accepted") { > def order = the.orderProcessor.createOrder() > order.submit() > order.should_not_be_accepted > } > > specify("An order posted with items SHOULD be accepted") { > def order = the.orderProcessor.createOrder() > order.add new LineItem("MC Hammer's greatest hits Double CD", > 21.99) > order.submit() > order.should_be_accepted > } > > inConclusion { the.orderRepository.deleteAllOrders() } > } > > Here's what happens. Any term behind the magic properties (i.e. > should_be, > should_not_be) is considered as a boolean bean property. If the > property is > undefined on the calling object then a list of "terms" supplied by > the user > in the definition section will be considered to resolve the call. I > think > it's pretty slick stuff. You probably think I'm crazy, but it might > work > out. Drop me a line if you have any other ideas to throw into the pot. Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] more DSL/Groovy fun
This is great news. RSpec is the bomb. I'm using it extensively at work and in my personal work. One of the committers is my co-worker, and we met the original author (Steven Baker) at the last RubyConf. Here's a video interview with him and Dave Astels (the guy who wrote the book on TDD and came up with the concept for BDD): http://www.infoq.com/news/2007/04/announce-astels-baker-interview It'll be interesting to see how far they can get with this in Java/Groovy. RSpec relies heavily on Ruby magic for it's coolness and ease-of-use. -- Chad On 4/11/07, Warner Onstine <[EMAIL PROTECTED]> wrote: This was sent out to the Groovy list this morning, an implementation of Behavior Driven Development, inspired by RSpec (http:// rspec.rubyforge.org/), This one is of course called GSpec. http://codeforfun.wordpress.com/2007/04/09/gspec-for-java-bdd/ Here's the code example he sent to the list: > GSpec is still very alpha as I need to rework the method and property > interception, however I'm putting it out there in an attempt to > draw some > interest (more so in the practice rather than the project). Honestly I > should be spending more time developing and fixing the kinks in > GSpec than I > spend writing about it. Currently I'm working on using Groovy MOP for > interception and I'm also now working on a term definition feature. > The idea > behind term definition is a means of allowing users to extend GSpec by > defining additional grammar at runtime. Here's what it wold look like: > > the.context("A music store order entry system") { > definitions { > define 'accepted' { the.orderRepository.contains(it) } > } > > initially { > the.orderRepository = new OrderRepositoryImpl() > the.orderProcessor = new OrderProcessorImpl() > } > > specify("An order posted without items should NOT be accepted") { > def order = the.orderProcessor.createOrder() > order.submit() > order.should_not_be_accepted > } > > specify("An order posted with items SHOULD be accepted") { > def order = the.orderProcessor.createOrder() > order.add new LineItem("MC Hammer's greatest hits Double CD", > 21.99) > order.submit() > order.should_be_accepted > } > > inConclusion { the.orderRepository.deleteAllOrders() } > } > > Here's what happens. Any term behind the magic properties (i.e. > should_be, > should_not_be) is considered as a boolean bean property. If the > property is > undefined on the calling object then a list of "terms" supplied by > the user > in the definition section will be considered to resolve the call. I > think > it's pretty slick stuff. You probably think I'm crazy, but it might > work > out. Drop me a line if you have any other ideas to throw into the pot. Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] presenter for next week?
I will be working on a presentation about using Continuous Integration in a "Web 2.0" environment - unit testing, jsunit, and selenium. I could do a special preview for the TJUG in the next few months or so. -- Chad On 4/2/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Is anyone up for doing a presentation next week (or know someone who is)? If not we could have an informal get together to chat about DSLs (since that seemed to bring up some good questions last time) or we could chat about other things. -warner Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] Javascript Hijacking
What are the details of this exploit? They are light on details other than usage stats for "Web 2.0". I guess they want you to buy their software to find out more... If we are talking about http (vs https), if you log in your user normally and use session cookies to maintain a session, I don't see how an Ajax/Ajaj app would be more vulnerable than a regular app. If somebody sniffs or steals your session cookie, you are compromised, doesn't matter whether it's sent via an XMLHttpRequest or a regular request. Than again, I'm no security expert. What am I missing, other than a link with more details than this article? -- Chad On 4/5/07, William H. Mitchell <[EMAIL PROTECTED]> wrote: In case you haven't heard... http://www.fortify.com/news-events/releases/2007/2007-04-02.jsp - 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] [2/13] Andrew Petro and Duffy Gillman on Single Sign-On Solutions
Thanks! On 3/19/07, Andrew William Petro <[EMAIL PROTECTED]> wrote: Quite belatedly, I have the CAS presentation materials posted in the wiki. Andrew Chad, I hope it was good. I'll have materials and links into the wiki this week but probably not today. Andrew - 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] [3/13] Warner Onstine presents on DSLs in Java and Groovy
I'll be in San Francisco again for this one, bummer. Guitar Tablature is my favorite non-computer example of a DSL. Someone (I think the guy who wrote rake) pointed this out as a DSL example in a talk on DSL's at RubyConf 2005. Guitar tab is instantly recognizable and understandable to anyone who is familiar with it, and you can even hear the chords and notes in your head just by looking at it. It's gibberish to a non-guitar player. Very simple, very tied to the domain (the fretboard), very effective at communicating domain-specific information (where to put your fingers). A great DSL! :) -- Chad On 3/7/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Next Tuesday Warner Onstine will be presenting on creating Domain Specific Languages in Java and Groovy at the Tucson JUG. Domain Specific Languages have gotten some press in the past few years, this talk will focus on what DSLs are and the techniques that you can use to create a DSL in Java and Groovy with a few examples of existing DSLs (that you may not have known were actually DSLs). As usual meet and greet starts at 6:30 with the meeting itself starting at 7. Directions and parking locations are here - http://tucson-jug.org/ display/TJUG/Meetings Also, if you have a Job to post you can now add this to our Jobs page! - http://www.tucson-jug.org/display/TJUG/Jobs These will be updated regularly (say every month or so), however if you do post something and you fill the job please remove it. Also, still looking for people to help with the Wiki, it only takes a few seconds to create an account and only requires an hour or less each week to help keep this content fresh and relevant. -warner Warner Onstine - Programmer/Author New book! Tapestry 101 available at http://sourcebeat.com/books/ tapestrylive.html [EMAIL PROTECTED] http://warneronstine.com/blog - 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] [2/13] Andrew Petro and Duffy Gillman on Single Sign-On Solutions
I couldn't make this one, unfortunately. Was it good? Any materials to put on the wiki? On 2/10/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Join us this coming Tuesday for Andrew Petro and Duffy Gillman who will be presenting on SSO. Specifically CAS (for SSO management) and Shibboleth (Federated SSO with authorization, and multiple authentication providers). As usual meet and greet starts at 6:30 at our normal meeting spot (please note that we are not in the Gould Simpson building, but in CCIT). Meeting begins promptly at 7. I have also moved our web-page to point at the confluence site - http://tucson-jug.org/display/TJUG/Home Directions to our meeting can be found here - http://tucson-jug.org/ display/TJUG/Meetings I added everyone who put their names in the hat for the last meeting so if you find that you don't want to be subscribed to this list you can follow the directions here for unsubscribing - http://tucson- jug.org/display/TJUG/Mailing+Lists Unfortunately I will be out of town this week so I will not be in attendance. -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] [2/13] Andrew Petro and Duffy Gillman on Single Sign-On Solutions
Thanks for getting the homepage updated and moved, Warner... On 2/10/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Join us this coming Tuesday for Andrew Petro and Duffy Gillman who will be presenting on SSO. Specifically CAS (for SSO management) and Shibboleth (Federated SSO with authorization, and multiple authentication providers). As usual meet and greet starts at 6:30 at our normal meeting spot (please note that we are not in the Gould Simpson building, but in CCIT). Meeting begins promptly at 7. I have also moved our web-page to point at the confluence site - http://tucson-jug.org/display/TJUG/Home Directions to our meeting can be found here - http://tucson-jug.org/ display/TJUG/Meetings I added everyone who put their names in the hat for the last meeting so if you find that you don't want to be subscribed to this list you can follow the directions here for unsubscribing - http://tucson- jug.org/display/TJUG/Mailing+Lists Unfortunately I will be out of town this week so I will not be in attendance. -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] Is AspectJ in my future?
AspectJ is fun. I'll take the opportunity to hijack this thread and spew some brief non-java pontification. I've been working with Ruby, and it's interesting to contrast what you can and can't do in ruby compared to Java + aspectJ. Mixins: You can do whatever you want with include keyword in ruby. Really cool. Throw it in a module and use it wherever you want. Pointcuts/Joinpoints: Not there in ruby, and I don't know of any equivalent (does anyone else?). I really miss being able to say "do this before this method and after that method". Incredibly long parsing/precompiling times for aspectj-ified java projects, especially in IDEs: Don't miss it at all. Ruby's interpreted. Edit and refresh baby! :) -- Chad On 1/10/07, William H. Mitchell <[EMAIL PROTECTED]> wrote: At 05:20 PM 1/10/2007, Tom wrote: >I'd like to have it, if you're giving it away. Done! I'll post to the list again if any more copies arrive. (None today...) - 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] [1/9] Tucson JUG - Google presenting on CSS and Web standards
I'll be out of town. Sorry to miss it! On 1/5/07, Warner Onstine <[EMAIL PROTECTED]> wrote: Please join us this coming Tuesday for a presentation from the Google offices in Phoenix. We will be in a larger location for this so make sure you go to the right spot! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [jug-discussion] build tools...
ANT: If you want to be like most every over Java project in the world, use Ant. It works fine. Just be sure to always remember: PROPERTIES ARE IMMUTABLE. MAVEN: If you want to get a lot of extra bells and and whistles, such as having all your dependencies automatically downloaded, versioned, and shared outside of source control, and tons of built-in automated reports and metrics, use Maven. Be prepared for a big learning curve, though. As other posters mentioned, make sure you use Maven 2. I used to be a big fan of Maven 1, and used it a lot. I even wrote an open source plugins for it (for Emma). However, I then stopped doing Java for a while, and during that time Maven 2 came out. Then, a few weeks ago, I pulled my Maven 1 project off the shelf. i couldn't even get the stupid thing to build. External dependencies that used to be there in the "central Maven repository" weren't. They vanished off the face of the earth, because they changed the organization of the repository for Maven 2. Even though I found some in individually hosted Maven 1 repositories, they didn't have everything that the old central repository used to have, and I was still missing enough stuff to be in dependency hell. It looks like the Maven folks were so impressed with themselves for releasing Maven 2, they didn't even care about backward compatibility for Maven 1. Maybe this is a one time occurrence, but I've lost a lot of faith in the product team because of this experience. RAKE: If you want to be ultracool cutting edge, use Rake. It's a Ruby-based build tool, and has all of the scriptable object-oriented goodness that Ruby implies. Also, with the popularity explosion of Ruby (mainly due to Rails and David Hannemier-Hooha) you probably have as much 3rd-party library support (RubyGems) as you do for Ant/Java. There's even some tool called "Raven" that supposedly makes it easier to use Rake for Java projects, but I've never played with it. MAKE: Well, it works. Pretty much exactly the same as it did 15-20+ years ago (or how much more?). If that makes you feel comfortable and safe, then go for it :) -- Chad On 12/23/06, Robert Zeigler <[EMAIL PROTECTED]> 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]