<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6698425</id><updated>2011-09-22T20:49:22.034-05:00</updated><category term='Ruby'/><title type='text'>Observation and Comment</title><subtitle type='html'>Perspectives of a professional computer programmer.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6698425.post-8916344979187036813</id><published>2011-09-20T18:55:00.002-05:00</published><updated>2011-09-20T18:56:01.987-05:00</updated><title type='text'>My thoughts about taxes for the rich.</title><summary type='text'>Democrats say that the rich need to pay their fair share, but when I look at the income tax rates, I see that the more you earn, you pay not only the same percentage, but an increasing percentage.  That's a progressive scale already.  Do they want to make higher earners pay an even more disproportionate part of their fair share?  That cannot be right because it would lack intellectual integrity.</summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/8916344979187036813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=8916344979187036813' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8916344979187036813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8916344979187036813'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2011/09/my-thoughts-about-taxes-for-rich.html' title='My thoughts about taxes for the rich.'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-1120499862347081142</id><published>2011-01-20T12:06:00.002-06:00</published><updated>2011-01-20T12:07:36.577-06:00</updated><title type='text'>Oath of Non-Allegiance</title><summary type='text'></summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/1120499862347081142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=1120499862347081142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1120499862347081142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1120499862347081142'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2011/01/blog-post.html' title='Oath of Non-Allegiance'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-6584796452259065809</id><published>2010-08-02T07:17:00.000-05:00</published><updated>2010-08-02T07:18:56.795-05:00</updated><title type='text'>Introduction to Hudson Plugin Development</title><summary type='text'>FYI My latest article, Introduction to Hudson Plugin Development was published today. Hope folks find it informative!</summary><link rel='related' href='http://jnb.ociweb.com/jnb/jnbAug2010.html' title='Introduction to Hudson Plugin Development'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/6584796452259065809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=6584796452259065809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/6584796452259065809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/6584796452259065809'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2010/08/introduction-to-hudson-plugin.html' title='Introduction to Hudson Plugin Development'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-8136252578582432592</id><published>2010-04-01T14:56:00.001-05:00</published><updated>2010-04-01T14:58:19.001-05:00</updated><title type='text'>Exploring Google Guava</title><summary type='text'>FYI My latest article, Exploring Google Guava was published today.  Hope folks find it informative!</summary><link rel='related' href='http://jnb.ociweb.com/jnb/jnbApr2010.html' title='Exploring Google Guava'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/8136252578582432592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=8136252578582432592' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8136252578582432592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8136252578582432592'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2010/04/exploring-google-guava.html' title='Exploring Google Guava'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-5822745352320289751</id><published>2010-02-08T07:47:00.006-06:00</published><updated>2010-02-08T08:25:25.376-06:00</updated><title type='text'>Save the CPU's from the Dumpster</title><summary type='text'>In the last month I have upgraded various relatives' computers' cpu's with parts from ebay:desktop 1.7 celeron to 3.06 p4 $30desktop 2.53p4 -&gt; 3.06p4 $30laptop sempron si-42 to turion x2 rm-70 $35laptop athlon tf-20 to turion x2 tl-58 $30These prices include tax and shipping.If you have an older computer, and you don't have the fastest CPU your motherboard will support, then go get it on ebay.  </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/5822745352320289751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=5822745352320289751' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/5822745352320289751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/5822745352320289751'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2010/02/save-cpus-from-dumpster.html' title='Save the CPU&apos;s from the Dumpster'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-3042354619858261637</id><published>2009-07-12T19:55:00.006-05:00</published><updated>2009-07-13T08:24:07.440-05:00</updated><title type='text'>First Dyno Run Stock G8 GT 87 Octane</title><summary type='text'>OK, normally this is a computer programming related blog, but I have a weak spot for V8-powered muscle cars.  In this case, our family sedan, with which I have a complicated love/hate relationship. If you are one of my prius-driving friends (Lance, Paul, I'm looking at you!) you can safely ignore the rest of this post and pass judgement.  If you are one of my carbon-spewing muscle car driving </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/3042354619858261637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=3042354619858261637' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3042354619858261637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3042354619858261637'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2009/07/first-dyno-run-stock-g8-gt-87-octane.html' title='First Dyno Run Stock G8 GT 87 Octane'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_KCozNOqALH8/SlqGgH-XIWI/AAAAAAAAELY/4LU5vtSAEmk/s72-c/G8Dyno.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-8774968597076504051</id><published>2009-04-03T09:35:00.009-05:00</published><updated>2009-04-08T10:37:58.715-05:00</updated><title type='text'>Top 10 64-bit Java Excuses</title><summary type='text'>Q: Why doesn't my Java app work on a 64-bit JVM?10. Use a 32-bit JVM, 64-bit JVM is overkill.9. Use a 32-bit JVM, AND a 32-bit OS.  64-bit anything is overkill.8. We will never use more than ~1200 MB of memory, so 64-bit is overkill, use 32-bit JVM.7. We bundle our own 32-bit JVM, use it.6. We use a native launcher that we refuse to compile for 64-bit.5. We use a native launcher that we don't </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/8774968597076504051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=8774968597076504051' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8774968597076504051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8774968597076504051'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2009/04/top-10-64-bit-java-excuses.html' title='Top 10 64-bit Java Excuses'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-8830346346559869661</id><published>2009-02-25T08:25:00.002-06:00</published><updated>2009-02-25T08:34:36.228-06:00</updated><title type='text'>The Cookie Misnomer</title><summary type='text'>The NetBeans term "Cookie" is a misnomer.  Furthermore, in the description (found here http://is.gd/kObi) , the author of the Netbeans Cookie documentation fails because "opaque callback object" is an opaque description of the commonly accepted definition.  And it's not a "sometimes used" definition, it's a universally understood definition.  Google for cookie.FTFA (From the ------- article):"</summary><link rel='related' href='http://is.gd/kObi' title='The Cookie Misnomer'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/8830346346559869661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=8830346346559869661' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8830346346559869661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/8830346346559869661'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2009/02/cookie-misnomer.html' title='The Cookie Misnomer'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-1042548538351779354</id><published>2009-02-02T11:08:00.002-06:00</published><updated>2009-02-02T11:10:40.300-06:00</updated><title type='text'>Google Collections, Part 2</title><summary type='text'>FYI My latest article, Google Collections, Part 2 was published yesterday.  Hope folks find it informative!</summary><link rel='related' href='http://www.ociweb.com/jnb/jnbFeb2009.html' title='Google Collections, Part 2'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/1042548538351779354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=1042548538351779354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1042548538351779354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1042548538351779354'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2009/02/google-collections-part-2.html' title='Google Collections, Part 2'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-3468782969972780797</id><published>2008-12-18T07:48:00.002-06:00</published><updated>2008-12-18T07:55:47.937-06:00</updated><title type='text'>Java Source Jars in Ruby (Reprise)</title><summary type='text'>I made a couple minor improvements to my srcjar.rb script.  If you recall this script builds Java source jars suitable for IDE source attachments.  The diffs are highlighted in red bold below.  The improvements are in the usage line that is presented to the user if they don't provide arguments, and also it looks for package statements that might not be in the first column of the Java source </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/3468782969972780797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=3468782969972780797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3468782969972780797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3468782969972780797'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/12/java-source-jars-in-ruby-reprise.html' title='Java Source Jars in Ruby (Reprise)'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-922337472875108753</id><published>2008-12-17T10:21:00.005-06:00</published><updated>2008-12-18T07:44:56.053-06:00</updated><title type='text'>iPhone 3G vs Google G1 phone (Round 1)</title><summary type='text'>My coworker (call him Andrew to preserve his anonymity) just purchased an unlocked G1, and I just purchased an iPhone 3G.iPhone Pros:I have it and Andrew doesn't.Navigating around on a web page is easier with double tapping and intelligent zooming vs G1 + and - buttons.Zooming photos is intuitive using multi-touch pinch gestures.G1 Pros:G1 lets you choose an arbitrary swipe pattern to unlock your</summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/922337472875108753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=922337472875108753' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/922337472875108753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/922337472875108753'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/12/iphone-3g-vs-google-g1-phone-round-1.html' title='iPhone 3G vs Google G1 phone (Round 1)'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-760870054134056395</id><published>2008-09-16T06:19:00.002-05:00</published><updated>2008-09-16T06:22:21.968-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Tuesday Morning Ruby Challenge</title><summary type='text'>Help me find the duplicate elements!arr = [1,1,2,2,3,3,4,5]# want to know which items are duplicated# answer should be [1,2,3]Extra credit if solution doesn't contain nested loops.</summary><link rel='related' href='http://pastie.org/pastes/272859' title='Tuesday Morning Ruby Challenge'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/760870054134056395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=760870054134056395' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/760870054134056395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/760870054134056395'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/09/tuesday-morning-ruby-challenge.html' title='Tuesday Morning Ruby Challenge'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-9050638364235713491</id><published>2008-08-26T12:13:00.003-05:00</published><updated>2008-08-26T14:51:28.361-05:00</updated><title type='text'>Java Source Jars in Ruby</title><summary type='text'>I like to be able to view source code to 3rd party libraries from within my IDE.  Unfortunately, some 3rd parties don't make a source jar available, or if they do, the source code is not organized in a way that your IDE understands.  This Ruby script will search a directory tree, find all Java source files, and make a jar file of them with java files organized by package.  This allows IDEs to </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/9050638364235713491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=9050638364235713491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/9050638364235713491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/9050638364235713491'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/08/java-source-jars-in-ruby.html' title='Java Source Jars in Ruby'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-4964373693278477388</id><published>2008-07-22T13:31:00.003-05:00</published><updated>2008-07-22T13:48:24.292-05:00</updated><title type='text'>REST with Jersey</title><summary type='text'>The examples that come with 0.8 and 0.9 of Jersey depend upon either Glassfish, Netbeans, or both.  All you really need to get started are:JerseyA Web Server (e.g. Jetty, Tomcat, etc.)AntDownload http://drl7.com/HelloWorldWebApp.zip and edit build.properties.  You will need to provide values for:jersey.lib.dir e.g. C:\jersey-0.8-ea\libdeploy.dir e.g. C:\jetty-6.1.11\webappsNow, run ant and then </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/4964373693278477388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=4964373693278477388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/4964373693278477388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/4964373693278477388'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/07/rest-with-jersey.html' title='REST with Jersey'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-4950131870944745130</id><published>2008-04-10T21:31:00.003-05:00</published><updated>2008-04-10T21:53:36.180-05:00</updated><title type='text'>Pileated Woodpecker</title><summary type='text'>This Pileated Woodpecker landed on our feeder on April 9, 2008.  The apex of the feeder "roof" is 15.5" across, and total height of the feeder is 9.5".  How big is it?  What is the gender?  Let me know what you think!  For conparison, an American Crow is 16-20 inches long.     </summary><link rel='related' href='http://www.youtube.com/watch?v=vSVOkOFh5Ow' title='Pileated Woodpecker'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/4950131870944745130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=4950131870944745130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/4950131870944745130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/4950131870944745130'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/04/pileated-woodpecker.html' title='Pileated Woodpecker'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-405687583614402781</id><published>2008-04-07T21:16:00.009-05:00</published><updated>2008-04-07T23:26:32.940-05:00</updated><title type='text'>Firing My Own Volley</title><summary type='text'>dangertree techblog has a series entitled "Groovy vs. Google Collections".  In Round #1, chief provocateur Matt Taylor sent a devastating salvo of Groovy goodness in my general direction. The problem was to create combinations (dancing pairs) of girls and boys, and then group the dancers by boy and later by girl.  I was able to meet the challenge with the help of Multimaps.inverseHashMultimap.  I</summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/405687583614402781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=405687583614402781' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/405687583614402781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/405687583614402781'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/04/firing-my-own-volley.html' title='Firing My Own Volley'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-1860301835901793436</id><published>2008-04-07T14:52:00.003-05:00</published><updated>2008-04-07T14:57:32.854-05:00</updated><title type='text'>Google Collections Java News Brief</title><summary type='text'>Google Collections is my new article published as the April, 2008 OCI Java News Brief.My previous article for the July, 2004 edition was Improve Java Apps on Windows with a Native Launcher.</summary><link rel='related' href='http://www.ociweb.com/jnb/jnbApr2008.html' title='Google Collections Java News Brief'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/1860301835901793436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=1860301835901793436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1860301835901793436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1860301835901793436'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/04/google-collections-java-news-brief.html' title='Google Collections Java News Brief'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-3113790268928490251</id><published>2008-04-05T06:34:00.021-05:00</published><updated>2008-04-05T10:27:44.636-05:00</updated><title type='text'>Groovy vs. Google Collections, Round 1</title><summary type='text'>In response to my comment, Matt Taylor challenged me to a "code-off" between Groovy and Google Collections.Here is my response to his first challenge.1. Create a set of boys and girls.Set&lt;String&gt; boys = Sets.newHashSet("Paco", "Sven", "Roger", "Emelio");Set&lt;String&gt; girls = Sets.newHashSet("Julia", "Prudence", "Lucy");2. Discover every combination of them.Multimap&lt;String, String&gt; pairs = </summary><link rel='related' href='http://weblog.dangertree.net/2008/04/04/groovy-vs-google-collections-round-1/' title='Groovy vs. Google Collections, Round 1'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/3113790268928490251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=3113790268928490251' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3113790268928490251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3113790268928490251'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2008/04/groovy-vs-google-collections-round-1.html' title='Groovy vs. Google Collections, Round 1'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-2925376440840837176</id><published>2007-11-16T07:27:00.000-06:00</published><updated>2007-11-16T07:32:11.538-06:00</updated><title type='text'>IntelliJ + SVN Integration</title><summary type='text'>I don't know if this image does it justice, but at the top of the editor, just below the tabs, IntelliJ will put up a yellow strip (reminiscent of Internet Explorer 7) if the file you are working on is out of date, and will display the SVN commit message.  It gives you the option to view the diff or update.Another puck buried in the back of the net for IntelliJ.Dan</summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/2925376440840837176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=2925376440840837176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/2925376440840837176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/2925376440840837176'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2007/11/intellij-svn-integration.html' title='IntelliJ + SVN Integration'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_KCozNOqALH8/Rz2a_0vA4JI/AAAAAAAAAEM/U-crWYQufTQ/s72-c/noway.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-3075437598870803773</id><published>2007-11-14T08:27:00.000-06:00</published><updated>2007-11-14T08:40:14.209-06:00</updated><title type='text'>IntelliJ IDEA 7.0 Run/Debug Environment Variables</title><summary type='text'>As I mentioned in my previous post, IntelliJ IDEA 7.0 adds support for environment variables in the run/debug dialog:You put in name=value pairs, separated by the platform path separator.  This is good.  If you click the ellipsis, you get the following dialog:Added since M2 is the ability to include the parent environment.  This is good!  What still doesn't work is the ability to reference the </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/3075437598870803773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=3075437598870803773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3075437598870803773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/3075437598870803773'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2007/11/intellij-idea-70-rundebug-environment.html' title='IntelliJ IDEA 7.0 Run/Debug Environment Variables'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_KCozNOqALH8/RzsGrZ7atcI/AAAAAAAAAD0/dFKH2HXBsZU/s72-c/idea_screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-917491082827788767</id><published>2007-09-24T09:32:00.000-05:00</published><updated>2007-09-24T09:34:30.451-05:00</updated><title type='text'>Eclipse advantages over IntelliJ</title><summary type='text'>Eclipse gives you the capability to set system environment variables, while IntelliJ 6.0.5 does not.  It is worth noting that IntelliJ 7M2 does provide that feature, however I've had difficulties being able to override the Path variable by appending to it.</summary><link rel='related' href='http://danlewis.us/blog/2007/02/from-intellij-idea-to-eclipse.html' title='Eclipse advantages over IntelliJ'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/917491082827788767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=917491082827788767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/917491082827788767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/917491082827788767'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2007/09/eclipse-advantages-over-intellij.html' title='Eclipse advantages over IntelliJ'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-325538457725558799</id><published>2007-09-24T09:20:00.000-05:00</published><updated>2007-09-24T09:24:27.902-05:00</updated><title type='text'>Headbutts and High-Fives</title><summary type='text'>Saturday I ran 22:49 in a local 5K.  Thatsmoked last year's time of 24:07.  5K PB is 20:33, but that was a muchflatter course and it was 2002 and I only weighed 160.Of course my wife ran a 22:18 and won 1st female overall, six monthsafter giving birth.</summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/325538457725558799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=325538457725558799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/325538457725558799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/325538457725558799'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2007/09/headbutts-and-high-fives.html' title='Headbutts and High-Fives'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-6638758637450187734</id><published>2007-02-28T11:19:00.000-06:00</published><updated>2007-02-28T11:33:09.323-06:00</updated><title type='text'>From IntelliJ IDEA to Eclipse</title><summary type='text'>I am switching from IntelliJ IDEA 6.0.4 to Eclipse 3.2.2.  Both on Windows XP pro.Here are some of the things I haven't figured out how to do with Eclipse 3.2.2 out of the box.Tail a log file in a window when running a Java application.Edit a file using column mode.  e.g. select vertical lines of text and edit them.Format an XML file.Here are some things I like about Eclipse:OSGi-based plug-in </summary><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/6638758637450187734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=6638758637450187734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/6638758637450187734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/6638758637450187734'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2007/02/from-intellij-idea-to-eclipse.html' title='From IntelliJ IDEA to Eclipse'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-1590758515442131379</id><published>2007-01-05T11:32:00.000-06:00</published><updated>2007-01-05T11:33:46.766-06:00</updated><title type='text'>Improve Java Apps on Windows with a Native Launcher</title><summary type='text'>This is an article I wrote for the July, 2004 OCI Java News Brief.</summary><link rel='related' href='http://www.ociweb.com/jnb/jnbJul2004.html' title='Improve Java Apps on Windows with a Native Launcher'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/1590758515442131379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=1590758515442131379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1590758515442131379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/1590758515442131379'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2007/01/improve-java-apps-on-windows-with.html' title='Improve Java Apps on Windows with a Native Launcher'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6698425.post-114064530195869983</id><published>2006-02-22T15:53:00.000-06:00</published><updated>2007-01-05T11:34:50.224-06:00</updated><title type='text'>Getters are "Evil"?</title><summary type='text'>Martin Fowler has a nice discussion on the subject.</summary><link rel='related' href='http://martinfowler.com/bliki/GetterEradicator.html' title='Getters are &quot;Evil&quot;?'/><link rel='replies' type='application/atom+xml' href='http://observationandcomment.blogspot.com/feeds/114064530195869983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6698425&amp;postID=114064530195869983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/114064530195869983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6698425/posts/default/114064530195869983'/><link rel='alternate' type='text/html' href='http://observationandcomment.blogspot.com/2006/02/getters-are-evil.html' title='Getters are &quot;Evil&quot;?'/><author><name>Dan Lewis</name><uri>http://www.blogger.com/profile/12285657385076466136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://4.bp.blogspot.com/_KCozNOqALH8/S0y1oXIoaYI/AAAAAAAAELk/4_qJYLbyW14/S220/dangoofy.png'/></author><thr:total>0</thr:total></entry></feed>
