<?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-8884166</id><updated>2011-10-19T11:47:57.344-05:00</updated><category term='bugfix'/><category term='calendar'/><category term='media'/><category term='reflection'/><category term='beer'/><category term='design patterns'/><category term='javascript'/><category term='news'/><category term='europa'/><category term='development'/><category term='xforms'/><category term='use case'/><category term='Apache James'/><category term='community'/><category term='annotations'/><category term='John Battelle'/><category term='adobe'/><category term='IDE'/><category term='SOA'/><category term='headphones'/><category term='audio'/><category term='travel'/><category term='Kubuntu'/><category term='agile'/><category term='Equinox'/><category term='web 2.0'/><category term='spring'/><category term='browser'/><category term='spaces'/><category term='continuing education'/><category term='rhapsody'/><category term='eclipse'/><category term='review'/><category term='safari'/><category term='code review'/><category term='salsa'/><category term='humor'/><category term='linux'/><category term='facebook'/><category term='xml'/><category term='Service Locator'/><category term='OSGi'/><category term='java'/><category term='inspiron'/><category term='section 508'/><category term='process'/><category term='patterns'/><category term='ajax'/><category term='iterative development'/><category term='TOOLS'/><category term='airlines'/><category term='xslt'/><category term='p'/><category term='install script'/><category term='developerWorks'/><category term='Spring Experience'/><category term='oracle'/><category term='flying'/><category term='Apache Felix'/><category term='bluetooth'/><category term='recipe'/><category term='java6'/><category term='dojo'/><category term='Unix theory'/><category term='Apache Derby'/><category term='Apache Tomcat'/><category term='opinion'/><category term='practices'/><category term='html'/><category term='IDD'/><category term='NTFT'/><category term='standards'/><category term='sequence diagram'/><category term='testing'/><category term='RAD'/><category term='satire'/><category term='vista'/><category term='json'/><title type='text'>willCode4Beer</title><subtitle type='html'>10^500 Worlds, 7 Dimensions, and I landed here</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>91</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8884166.post-4852821502372921618</id><published>2008-10-07T22:43:00.004-05:00</published><updated>2008-10-15T23:04:53.584-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reflection'/><category scheme='http://www.blogger.com/atom/ns#' term='beer'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Beer ....</title><summary type='text'>I was over on that site that directs people to here ... You know the one ... will something for beer dot com and I clicked on the advertiser for the beer of the month club and was reading the faqs. Let me tell you #13 really put me on the floor ...."13. Do members of the Beer of the Month Club have to be 21?Yes! Membership in the Beer-of-the-Month club is restricted to those 21 years of age or </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/4852821502372921618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=4852821502372921618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4852821502372921618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4852821502372921618'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/10/beer.html' title='Beer ....'/><author><name>doyle</name><uri>http://www.blogger.com/profile/16136799143135257820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-4132913742155395428</id><published>2008-02-18T15:46:00.001-05:00</published><updated>2008-02-18T15:47:57.197-05:00</updated><title type='text'>What's really wrong</title><summary type='text'>When you wonder what's wrong with the world,           Just remember one thing:By definition, 50% of the population has an IQ of less than 100.give 'em a break every once and a while....</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/4132913742155395428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=4132913742155395428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4132913742155395428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4132913742155395428'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/02/whats-really-wrong.html' title='What&apos;s really wrong'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8411726270978641765</id><published>2008-02-14T11:03:00.002-05:00</published><updated>2008-02-14T11:07:30.528-05:00</updated><title type='text'>Oracle Calendar 10g on Linux</title><summary type='text'>WooHoo! We got the new Oracle Calendar clients today.And, the joy of a broken "Install Anywhere" installer for Linux (or maybe Oracle just doesn't know how to use it).Get lots of errors like:nawk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directorydirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8411726270978641765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8411726270978641765' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8411726270978641765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8411726270978641765'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/02/oracle-calendar-10g-on-linux.html' title='Oracle Calendar 10g on Linux'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-622121538967378433</id><published>2008-01-11T17:09:00.000-05:00</published><updated>2008-01-11T17:23:28.579-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='rhapsody'/><title type='text'>Rhapsody on Facebook</title><summary type='text'>A few of the guys at work have been working a the Rhapsody Facebook Plugin. I'm new to Facebook but, the plugin is pretty cool. You can search for music (all the normal artist/album/song) play music right in the site, and even send recommendations to your friends.Dropping the player on somebody's wall while being simultaneously unobtrusive is pretty nice too.Since my facebook account is pretty </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/622121538967378433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=622121538967378433' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/622121538967378433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/622121538967378433'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/01/rhapsody-on-facebook.html' title='Rhapsody on Facebook'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-1231659938055259346</id><published>2008-01-10T15:12:00.000-05:00</published><updated>2008-01-10T15:14:03.862-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD'/><category scheme='http://www.blogger.com/atom/ns#' term='TOOLS'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='NTFT'/><title type='text'>Refactoring Even Faster …. with method draging in eclipse ….</title><summary type='text'>Today I was doing some refactoring in RAD (Rational Application Developer) and found my self looking over in the package explorer thinking gee I’ll have to move that method over to the class I just created to get rid of the two classes I’m factoring out. I looked over and thought I should be able to just drag it down into the other class. BAM like a champ when I grabbed that green orb it moved </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/1231659938055259346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=1231659938055259346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1231659938055259346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1231659938055259346'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/01/refactoring-even-faster-with-method.html' title='Refactoring Even Faster …. with method draging in eclipse ….'/><author><name>doyle</name><uri>http://www.blogger.com/profile/16136799143135257820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6619973424770394526</id><published>2008-01-09T22:18:00.000-05:00</published><updated>2008-01-09T22:29:46.891-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='satire'/><title type='text'>Jimmy '08</title><summary type='text'>I Got What America Needs Right Here     Sometimes I'm a little  stupid, maybe, a little slow in the head, so I'm wondering if you can help me  get something straight.....onion_embed {background: rgb(256, 256, 256) !important;border: 4px solid rgb(65, 160, 65);border-width: 4px 0 1px 0;margin: 10px 30px !important;padding: 5px;overflow: hidden !important;zoom: 1;}.onion_embed img {border: 0 !</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6619973424770394526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6619973424770394526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6619973424770394526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6619973424770394526'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/01/jimmy-08.html' title='Jimmy &apos;08'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7768009856633440744</id><published>2008-01-09T19:57:00.000-05:00</published><updated>2008-01-09T20:01:02.532-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Equinox'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Eclipse Restart on Update / Install</title><summary type='text'>I really like Eclipse but, something has been bothering me for a while. - Eclipse is build upon an OSGi framework called Equinox - OSGi is supposed to support install/remove/restart and version-ing of bundles - Eclipse plugins are OSGi bundlesSo why the heck does Eclipse need to restart after installing new plugins?Why does it need to restart when updating plugins?Isn't one of the major points of</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7768009856633440744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7768009856633440744' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7768009856633440744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7768009856633440744'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/01/eclipse-restart-on-update-install.html' title='Eclipse Restart on Update / Install'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-5229125819018160497</id><published>2008-01-07T12:09:00.001-05:00</published><updated>2008-01-09T17:53:04.659-05:00</updated><title type='text'>17 Thousand Reasons I'm not a Ruby on Rails Developer</title><summary type='text'>I'll admit, this post is a bit tongue in cheek.It's mostly inspired by the numerous Rails Community anti-Java posts. For the record, I don't see J2EE and RoR as competing. They each have different strengths and weaknesses and excel in different areas.Anyway (images from payscale.com):Median Salary by City - Skill: Ruby on Rails (United States)These are in no way comprehensive, or even accurate, </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/5229125819018160497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=5229125819018160497' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5229125819018160497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5229125819018160497'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2008/01/17-thousand-reasons-im-not-ruby-on.html' title='17 Thousand Reasons I&apos;m not a Ruby on Rails Developer'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cq_IBXOeq5g/R4JddoCcMzI/AAAAAAAAACc/osYVBwospqE/s72-c/Median-Salary-by-City---Skill-Ruby-on-Rails-United-States_USD_20071229075522.jpg' height='72' width='72'/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-542311615048105088</id><published>2007-12-27T12:28:00.000-05:00</published><updated>2007-12-27T13:00:21.005-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Locator'/><category scheme='http://www.blogger.com/atom/ns#' term='design patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='java6'/><title type='text'>ServiceLoader</title><summary type='text'>In Java 6 sun introduces the ServiceLocator class. It's an interesting implementation of the Service Locator Pattern.Before, the way to perform service look-ups usually involved creating some kind of object registry and/or used JNDI. I even created an example service locator using JNDI quite a few years ago. Though completely obsolete now, I've long since switched to the Spring Framework's </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/542311615048105088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=542311615048105088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/542311615048105088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/542311615048105088'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/serviceloader.html' title='ServiceLoader'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-2694881235774053509</id><published>2007-12-23T14:41:00.000-05:00</published><updated>2007-12-23T14:55:40.735-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Equinox'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Felix'/><title type='text'>OSGi Groups and News</title><summary type='text'>Here are the few groups on OSGi I've found for keeping upOSGi - Yahoo GroupOSGi - Google GroupsOSGi Samples - Google GroupsEclipse Equinox News GroupApache Felix Mailing ListsThe Eclipse Equinox Mailing ListOSGi BlogAny I've missed, please add a commentNow it's time for me to make an RSS agregator to collect all of this data..</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/2694881235774053509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=2694881235774053509' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2694881235774053509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2694881235774053509'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/osgi-groups-and-news.html' title='OSGi Groups and News'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6881999254901941616</id><published>2007-12-23T14:27:00.001-05:00</published><updated>2007-12-24T13:37:17.144-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Equinox'/><title type='text'>Getting Equinox Ready for Prime Time, First Steps</title><summary type='text'>I'm looking at getting Equinox ready for a server, as mentioned in a previous post.The way I see it, there are some first steps that need to be addressed.Create startup/shutdown scripts (live in /etc/init.d for safe (clean) starting and stoppingCreate a means to connect an Equinox console to a running instance, to deploy (or un-deploy) bundles, without restarting.Ensure the above can be done </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6881999254901941616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6881999254901941616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6881999254901941616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6881999254901941616'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/getting-equinox-ready-for-prime-time.html' title='Getting Equinox Ready for Prime Time, First Steps'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6954652313243351589</id><published>2007-12-21T17:30:00.000-05:00</published><updated>2007-12-21T17:34:30.530-05:00</updated><title type='text'>Cisco VPN and Linux WiFi</title><summary type='text'>I've been getting rather sporadic success using the Cisco VPN on my Linux laptop.Through a little experimenting, it appears to have something to do with the wireless daemons running.So, I've made a little VPN start-up script to reset everything.So far, it appears to work 100%, woohoo!#!bin/bashsudo /etc/init.d/waproamd stopsudo /etc/init.d/wifi-radar stopsudo /etc/init.d/wpa-ifupdown stopsudo /</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6954652313243351589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6954652313243351589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6954652313243351589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6954652313243351589'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/cisco-vpn-and-linux-wifi.html' title='Cisco VPN and Linux WiFi'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7520830983841257703</id><published>2007-12-18T15:22:00.000-05:00</published><updated>2007-12-21T13:23:09.724-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache James'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache Derby'/><title type='text'>OSGi and the Small Guy</title><summary type='text'>After seeing a few presentations on OSGi at the Spring Experience conference. I've become inspired about how this can be useful for the small guy, not just for big enterprises.Many of us use hosted web services to run small and personal sites. Generally, with a small site, there are a few major pieces of software that they all have in common (the parenthesis show what I currently use).Web Server </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7520830983841257703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7520830983841257703' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7520830983841257703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7520830983841257703'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/osgi-and-small-guy.html' title='OSGi and the Small Guy'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_cq_IBXOeq5g/R2wEfICcMyI/AAAAAAAAAB8/MZRyzcmMC3Y/s72-c/small_server_stack.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-3262569085363122669</id><published>2007-12-13T16:19:00.000-05:00</published><updated>2007-12-14T15:13:11.641-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='practices'/><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='annotations'/><title type='text'>Annotations and Spring</title><summary type='text'>At the Spring Experience, in several different sessions, there is quite a bit of coverage of different uses of annotations. I may have to update my list.One of the really interesting uses (maybe I'm just ignorant here) is to identify classes and methods to apply point cuts with AOP. This seems like the perfect use of meta-data. This one isn't necessarily a Spring thing, just cool.The use of </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/3262569085363122669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=3262569085363122669' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/3262569085363122669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/3262569085363122669'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/annotations-and-spring.html' title='Annotations and Spring'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7562998928277126657</id><published>2007-12-12T23:46:00.001-05:00</published><updated>2007-12-13T08:04:02.792-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring Experience'/><title type='text'>Spring Experience 2007 Meet and Greet</title><summary type='text'>Update for the first day at the Spring Experience. Made it through registration. It's amazing the number of people waiting in line for it to open. Something you can say about the Spring crowd, they are pretty enthusiastic, as well as pragmatic.I've met quite a few people here and even though they have great enthusiasm for working with Spring, they are pretty reserved and analytical about adopting</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7562998928277126657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7562998928277126657' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7562998928277126657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7562998928277126657'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/spring-experience-2007-meet-and-greet.html' title='Spring Experience 2007 Meet and Greet'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_cq_IBXOeq5g/R2C-P_QiYkI/AAAAAAAAAA8/s4wOHEHxJBA/s72-c/photo.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-1902431365657620210</id><published>2007-12-12T12:43:00.000-05:00</published><updated>2007-12-12T12:46:13.392-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='airlines'/><category scheme='http://www.blogger.com/atom/ns#' term='flying'/><title type='text'>Flying the Red Eye</title><summary type='text'>Brain is tired. First plane left 30 minutes after midnight. Fell asleep while the plane was still at the gate. Woke up at 20K feet and a stewardess offering bitter coffee. Drank half the cup before falling back asleep. Woke up again, preparing to land, half cup of cold bitter coffee still in hand.Seems every time I fly, the seats are smaller, and closer together. At least the airlines offset this</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/1902431365657620210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=1902431365657620210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1902431365657620210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1902431365657620210'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/flying-red-eye.html' title='Flying the Red Eye'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8454118691718311170</id><published>2007-12-11T12:56:00.000-05:00</published><updated>2007-12-14T15:11:49.379-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='practices'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='annotations'/><title type='text'>Annotations, the Good the Bad and the Ugly</title><summary type='text'>I'm a little late jumping on to the Java5/6 bandwagon. I'm one of those big strong typing / type safety advocates. It comes from spending a lot of time on big projects where tracking down trivial errors is a process unto itself.Naturally, I find the new generics to be a blessing. When you are in favor of type safety, casts always make you cringe.I must admit that I basically ignored the </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8454118691718311170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8454118691718311170' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8454118691718311170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8454118691718311170'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/annotations-good-bad-and-ugly.html' title='Annotations, the Good the Bad and the Ugly'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-5046221814211599414</id><published>2007-12-10T14:58:00.000-05:00</published><updated>2007-12-10T15:05:32.302-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><category scheme='http://www.blogger.com/atom/ns#' term='headphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Bluetooth Headphones on Kubuntu (Dell Inspiron 1520)</title><summary type='text'>A little update on the Laptop.I picked up a nice set of Bluetooth headphones (Motorola S805). I needed some phones and I'm sick of cables everywhere (the Inspiron has built-in Bluetooth).I added a post on my main site about how I configured Kubuntu to work with my Bluetooth headphones. Though a bit tricky, it wasn't too hard to get them working.Now, I need to get a Bluetooth adapter for my Sansa </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/5046221814211599414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=5046221814211599414' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5046221814211599414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5046221814211599414'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/bluetooth-headphones-on-kubuntu-dell.html' title='Bluetooth Headphones on Kubuntu (Dell Inspiron 1520)'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8465376872116153581</id><published>2007-12-10T13:24:00.000-05:00</published><updated>2007-12-10T13:47:14.705-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='continuing education'/><title type='text'>Spring Experience 2007</title><summary type='text'>It's that time of year again. I'm getting ready to attend the Spring Experience conference.Last year's was completely awesome. I learned sooo much and was completely worn out. There's nothing as good as crashing completely exhausted from learning so much.Trying to decide which sessions to attend is always the hardest part. There are so many cases where I want to attend several </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8465376872116153581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8465376872116153581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8465376872116153581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8465376872116153581'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/spring-experience-2007.html' title='Spring Experience 2007'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-289604665720890230</id><published>2007-12-06T13:52:00.000-05:00</published><updated>2007-12-06T14:20:33.746-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='practices'/><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='p'/><title type='text'>Factory Methods over Constructors</title><summary type='text'>There is a lot of talk about how singles are harmful. Many of them make very good points. However, I think one thing that is generally missing from the discussion is a small pattern that is almost universally used when implementing singletons.I mean of course, the factory pattern.Very few people provide public access to singleton variables, they are usually provided via an instance() method. The </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/289604665720890230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=289604665720890230' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/289604665720890230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/289604665720890230'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/factory-methods-over-constructors.html' title='Factory Methods over Constructors'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-4775545254910453377</id><published>2007-12-05T17:06:00.000-05:00</published><updated>2007-12-05T17:54:21.004-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>XML to JSON</title><summary type='text'>Recently, I came upon the need to provide AJAX support for a site where the XML data comes from a remote site.Security settings on the browsers prevent making a request to a non-originating server so, the solution is to create a proxy servlet.Also, parsing XML generally sucks, parsing it with javascript is worse. To deal with this, the ideal solution is to return JSON instead of XML.So, with a </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/4775545254910453377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=4775545254910453377' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4775545254910453377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4775545254910453377'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/12/xml-to-json.html' title='XML to JSON'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-715517704543283289</id><published>2007-11-26T12:01:00.001-05:00</published><updated>2007-11-26T13:23:24.556-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Upgrading from Spring 2.0 to 2.5</title><summary type='text'>I'm about mid-stream on a project built using Maven2 and using the Spring Framework to glue it together.The cool kids at Spring Source, recently announce the release of Spring 2.5. It seems best to try to upgrade now while the project is still in development than later (and deal with extra QA requirements).At first my thinking is this should be easy, go to the maven repository and see what the </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/715517704543283289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=715517704543283289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/715517704543283289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/715517704543283289'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/11/upgrading-from-spring-20-to-25.html' title='Upgrading from Spring 2.0 to 2.5'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-3818502024605764661</id><published>2007-11-21T14:42:00.000-05:00</published><updated>2007-11-21T14:51:02.711-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='install script'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='bugfix'/><title type='text'>Oracle Calendar on Kubuntu 7.10</title><summary type='text'>Gotta love the high quality work (sic) coming out of Oracle's shop.So, when you are trying to install the Oracle client and it dies complaining about not being able to find libraries (and you can find them via locate) then it's time to fix the stupid installer.Note: This could be a zerog problem instead of Oracle. I'm just used to seeing Oracle ship broken software.So, in the install directory, </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/3818502024605764661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=3818502024605764661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/3818502024605764661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/3818502024605764661'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/11/oracle-calendar-on-kubuntu-710.html' title='Oracle Calendar on Kubuntu 7.10'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8964004903577463822</id><published>2007-11-21T12:49:00.000-05:00</published><updated>2007-11-21T12:52:20.793-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inspiron'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='Kubuntu'/><title type='text'>Dell Inspiron 1520 and Kubuntu</title><summary type='text'>Well, the time spent playing with Vista has come to an end.Though it's a better OS as far as Windows goes, it is not an OS that is conducive to developer productivity.Time to install a real OS.I picked Kubuntu, because I like the KDE interface, and the apt-get package management system has, for the most part, been good to me. Most of the hardware auto-discovery stuff has been pretty decent in the</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8964004903577463822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8964004903577463822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8964004903577463822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8964004903577463822'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/11/dell-inspiron-1520-and-kubuntu.html' title='Dell Inspiron 1520 and Kubuntu'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-5743621399724847736</id><published>2007-11-21T12:21:00.000-05:00</published><updated>2007-11-21T12:23:42.402-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='inspiron'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Going Mobile (again)</title><summary type='text'>With the new job, I needed to get a new laptop. The boss said to just tell his right hand (our awesome executive assistant/manager) what I need.I asked for an Inspiron (with buckets of RAM), as it seemed this model has the best Linux support.Since my primary focus is development, I mostly need fast IO on the hard drive, and lots of fast RAM. I actually opted for a less than top-end CPU in order </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/5743621399724847736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=5743621399724847736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5743621399724847736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5743621399724847736'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/11/going-mobile-again.html' title='Going Mobile (again)'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-26136282938099905</id><published>2007-09-27T18:41:00.000-05:00</published><updated>2007-09-27T18:45:28.191-05:00</updated><title type='text'>IE VML Fun</title><summary type='text'>I'm playing the silly game today called make rounded corners in IE.I was trying to do my infamous VML trick and found the browser wouldn't render any VML. WTH? Its always worked before.Later, I discover that there is a bug in IE6/7 rendering VML when in standards compliance mode (the jokes this begs for are innumerable).Solution, add display:inline-block; to the css.So, now the basic css for VML </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/26136282938099905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=26136282938099905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/26136282938099905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/26136282938099905'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/09/ie-vml-fun.html' title='IE VML Fun'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-1307988729912358507</id><published>2007-09-21T17:00:00.000-05:00</published><updated>2007-09-21T17:18:53.060-05:00</updated><title type='text'>Handling the Eclipse EMFT Error on Update</title><summary type='text'>When updating Eclipse Europa, I found this error appearing:Unable to access "http://download.eclipse.org/technology/emft/updates/".  Unable to access site: "http://download.eclipse.org/technology/emft/updates/" [Server returned HTTP response code: "403 Forbidden" for URL: http://download.eclipse.org/technology/emft/updates/.]  Server returned HTTP response code: "403 Forbidden" for URL: http://</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/1307988729912358507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=1307988729912358507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1307988729912358507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1307988729912358507'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/09/handling-eclipse-emft-error-on-update.html' title='Handling the Eclipse EMFT Error on Update'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_cq_IBXOeq5g/RvQ_WucV05I/AAAAAAAAAA0/2_l_XhxU0LY/s72-c/eclipse_error.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-324596117219596717</id><published>2007-08-10T06:59:00.000-05:00</published><updated>2007-08-10T07:26:05.290-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='salsa'/><category scheme='http://www.blogger.com/atom/ns#' term='recipe'/><category scheme='http://www.blogger.com/atom/ns#' term='code review'/><title type='text'>Code Review Salsa</title><summary type='text'>A little update on the programming exercises post. Things are still going well. Everybody is having fun and learning.Apparently, the hit of the weekly code review is the chips and salsa. So, I guess its time to post the salsa recipe.2 cloves of garlic1/8 cup diced onion1/3 cup chopped cilantro8-10 jalapeño peppers1 whole lime1 teaspoon of salt16oz peeled, diced tomatoes (2 8oz cans will work)</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/324596117219596717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=324596117219596717' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/324596117219596717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/324596117219596717'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/08/code-review-salsa.html' title='Code Review Salsa'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-2768885191289852819</id><published>2007-08-02T14:08:00.000-05:00</published><updated>2007-08-02T15:10:54.295-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Citing with Quote and Blockquote</title><summary type='text'>There as been a lot of debate about the quote tag (&lt;q cite="http://willcode4beer.com"&gt;my quote&lt;/q&gt;). Many are upset that Internet Explorer doesn't render it correctly, others argue, "who cares". Though semantic mark-up is often at the center of the debate, often missed is, why have a quote tag in the first place.To render quote marks doesn't really make a strong argument. The rendered quote </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/2768885191289852819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=2768885191289852819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2768885191289852819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2768885191289852819'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/08/citing-with-quote-and-blockquote.html' title='Citing with Quote and Blockquote'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7882313331158961600</id><published>2007-07-20T13:52:00.001-05:00</published><updated>2009-06-12T13:55:39.596-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='practices'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='continuing education'/><title type='text'>Code Katas and Programming Exercises</title><summary type='text'>We all know that the way to become a better developer is to both study and practice our craft.The reading happens from books, blogs, news sites, and tutorials.The practice? Sure, there is the day to day coding. Sometimes, we really need something with a scope beyond the day to day. You already know that really well anyway.I have always steered junior programmers to TopCoder. The idea is that the </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7882313331158961600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7882313331158961600' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7882313331158961600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7882313331158961600'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/07/code-katas-and-programming-exercises.html' title='Code Katas and Programming Exercises'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8602228027263018282</id><published>2007-07-20T06:48:00.000-05:00</published><updated>2007-07-20T08:29:07.971-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='europa'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Upgrading to Eclipse Europa</title><summary type='text'>I've recently taken th plunge and upgraded my Eclipse environment from Callisto (3.2) to Europa (3.3).One of the first things I noticed is a significant improvement in performance. My machine isn't a lightweight by any stretch but, Eclipse 3.2 definitely used some resources. Now that I am using the newer version, things flow much faster. (One of my co-workers posted about using Europa on an older</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8602228027263018282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8602228027263018282' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8602228027263018282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8602228027263018282'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/07/upgrading-to-eclipse-europa.html' title='Upgrading to Eclipse Europa'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_cq_IBXOeq5g/RqCq0KxmHNI/AAAAAAAAAAM/Qz6RBYNo7ZM/s72-c/run_pref.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-2524946888981058276</id><published>2007-06-25T14:43:00.000-05:00</published><updated>2007-07-06T17:55:58.725-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>Adobe Photoshop Album Highjacker</title><summary type='text'>Its rare that I care to mention software that puts me in a bad mood. But, I must say, Adobe's latest as set me off.Today, Acrobat gave me a little message that it needs to be upgraded. Little did I know, it decided to bring a friend along. That friend is Adobe Photoshop Album Starter Edition. A wonderful little program that I neither want, nor asked for.The best part is, every time I plug in a </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/2524946888981058276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=2524946888981058276' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2524946888981058276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2524946888981058276'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/adobe-photoshop-album-highjacker.html' title='Adobe Photoshop Album Highjacker'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-1896186596447302833</id><published>2007-06-25T07:38:00.001-05:00</published><updated>2007-06-25T07:51:22.336-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='spaces'/><category scheme='http://www.blogger.com/atom/ns#' term='developerWorks'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='review'/><title type='text'>IBM developerWorks Spaces</title><summary type='text'>While ate the IBM/Rational conference, there was a lot of talk about the developerWorks spaces. There was also much prodding and encouragement to sign up.Well, this morning I decided to give it a go.First off, the process sucked more than expected. Why do I need the email of another "commited contributor"? Why not let me get started right away?So far, my first impression leaves me underwhelmed.If</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/1896186596447302833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=1896186596447302833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1896186596447302833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1896186596447302833'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/ibm-developerworks-spaces.html' title='IBM developerWorks Spaces'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6151934506867164897</id><published>2007-06-19T06:55:00.000-05:00</published><updated>2007-06-19T09:38:41.057-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='safari'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Safari on Windows</title><summary type='text'>I just installed the beta3 of Safari for windows. I usually just use Konqueror as a Safari stand in (they both use the KHTML rendering engine). However, using a stand in is always a bit risky but, I'm just not going to buy a Mac only to test web pages.So far, for my pages anyway, it appears to render my pages the same as Konqueror. It does appear to have some newer features (or maybe my Konq is </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6151934506867164897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6151934506867164897' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6151934506867164897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6151934506867164897'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/safari-on-windows.html' title='Safari on Windows'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-2618518401027459238</id><published>2007-06-15T18:40:00.001-05:00</published><updated>2007-06-15T18:40:31.577-05:00</updated><title type='text'>New Terms and Lingo Discovered</title><summary type='text'>During a session break I wandered into a guy and we some how got on the topic of Build Forge. I was just asking some general questions about it and he had some really good things to say. The main take away was the phrase "Blue Wash". Apparently this means a company and product(s) has been acquired and has been integrated into the Rational Suite for good or bad.I thought it was a funny term and </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/2618518401027459238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=2618518401027459238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2618518401027459238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2618518401027459238'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/new-terms-and-lingo-discovered.html' title='New Terms and Lingo Discovered'/><author><name>doyle</name><uri>http://www.blogger.com/profile/16136799143135257820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7428152831862445908</id><published>2007-06-15T08:22:00.000-05:00</published><updated>2007-06-15T08:32:11.615-05:00</updated><title type='text'>Vendor Land aka Swag Fest RSDC2007</title><summary type='text'>The vendor area was great. The IBM Developerworks area was a great surprise many many knowledgeable and committed people behind the site. They had more T'Shirts than any vendor I have ever seen.Another fantastic find was the genuitec booth. I had an opportunity to chat with the guys there. They have deep knowledge of the community and take a pragmatic approach. Not only is the myeclipseide an </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7428152831862445908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7428152831862445908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7428152831862445908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7428152831862445908'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/vendor-land-aka-swag-fest-rsdc2007.html' title='Vendor Land aka Swag Fest RSDC2007'/><author><name>doyle</name><uri>http://www.blogger.com/profile/16136799143135257820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7793669509607501273</id><published>2007-06-14T12:02:00.000-05:00</published><updated>2007-06-14T12:25:12.038-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='iterative development'/><title type='text'>Transitioning to Iterative Development</title><summary type='text'>This was presented by Ian Spence. It was a fantastic session.In his presentation on iterative development, he recommended iterations of 4-6 (preferably 4) week iterations. Each iteration runs the full scope of:Requirements -&gt; Analysis -&gt; Design -&gt; Implementation -&gt; TestingOne of the key benefits is continuous measurement. Another is team members are focussed on short term goals (and we all know </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7793669509607501273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7793669509607501273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7793669509607501273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7793669509607501273'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/transitioning-to-iterative-development.html' title='Transitioning to Iterative Development'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8205221043081738046</id><published>2007-06-14T11:37:00.000-05:00</published><updated>2007-06-14T12:26:35.780-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='John Battelle'/><category scheme='http://www.blogger.com/atom/ns#' term='media'/><title type='text'>Yesterday's Keynote</title><summary type='text'>I wasn't able to get around to posting this yesterday. It was a very busy day.The best part of the keynote was the presentation by John Battelle, best known as the founder of Wired.Great quote:"We had no idea what we were doing but, we had a great idea." (in reference to starting wired) "... like most Web 2.0 companies" (talking about the current state of things.One of the more interesting parts </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8205221043081738046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8205221043081738046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8205221043081738046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8205221043081738046'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/yesterdays-keynote.html' title='Yesterday&apos;s Keynote'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8725403968370499765</id><published>2007-06-13T13:33:00.000-05:00</published><updated>2007-06-13T14:15:54.465-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='section 508'/><category scheme='http://www.blogger.com/atom/ns#' term='dojo'/><title type='text'>AJAX + DOJO</title><summary type='text'>This morning I attended the session on AJAX and DOJO (OC10). It was beyond packed. Every available seat and place on the floor was taken. That should really be a sign of peoples interest in the subject.The session was presented well, we got to see source code, and there was a lot of information on how this can integrate with other things. They were good about pointing out the limitations of the </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8725403968370499765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8725403968370499765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8725403968370499765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8725403968370499765'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/ajax-dojo.html' title='AJAX + DOJO'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-5530776571597175070</id><published>2007-06-12T20:12:00.000-05:00</published><updated>2007-06-13T13:26:23.057-05:00</updated><title type='text'>Patterns in Development</title><summary type='text'>I've been to a few workshops now where the common theme is "patterns" in development.The thing is, they way the word is being used, they are really describing templates. The big usage is for transformations and dealing with common things. While it looks like a big time saver for architecture  and design tasks,  I don't feel so positive about using it with source code. My first thought, and </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/5530776571597175070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=5530776571597175070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5530776571597175070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/5530776571597175070'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/patterns-in-development.html' title='Patterns in Development'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6379004892662935206</id><published>2007-06-12T19:55:00.000-05:00</published><updated>2007-06-12T20:11:43.285-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xforms'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='xslt'/><title type='text'>XForms Mojo</title><summary type='text'>I visited what was probably the best presentation in a session on XForms. It was presented by Doug Tidwell, of XSLT fame. It was entertaining and informative.I was able to find my answer to what is being sent over http during a submission, HTTP PUT. But, since it is a parameter I'm sure get and post are also supported.One really interesting usage is creating a custom editor for an XML file. The </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6379004892662935206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6379004892662935206' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6379004892662935206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6379004892662935206'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/xforms-mojo.html' title='XForms Mojo'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6455243021155937477</id><published>2007-06-12T19:42:00.000-05:00</published><updated>2007-06-12T19:53:43.042-05:00</updated><title type='text'>Its Jazzy Baby!</title><summary type='text'>This morning during the keynote speech they mentioned that they would demo a new app. Jazz, it is described as, "middle-ware between developers and deployment". Which at first made me think, "what the hell is this?" Pure marketing crap for a name.Anyway, we get Eric Gamma, to give the demo. Yes, its the Gang of Four guy. Well, thinks I, it can't be too bad...Actually, it turns out to be pretty </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6455243021155937477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6455243021155937477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6455243021155937477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6455243021155937477'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/its-jazzy-baby.html' title='Its Jazzy Baby!'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-2875654153957690168</id><published>2007-06-12T13:44:00.000-05:00</published><updated>2007-06-12T13:50:56.001-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='use case'/><category scheme='http://www.blogger.com/atom/ns#' term='process'/><category scheme='http://www.blogger.com/atom/ns#' term='sequence diagram'/><title type='text'>Business Driven Development using Use Case Flow Down</title><summary type='text'>This one seemed a bit long. It basically covered a concept of design where you start with a Context Diagram. From the context diagram, we create a use case diagram. From the use case diagram, we take a segment and create a white box sequence diagram. Each node in the sequence diagram is extracted into another sequence diagram. This final process is repeated (in a nested form) until the parts of </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/2875654153957690168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=2875654153957690168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2875654153957690168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/2875654153957690168'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/business-driven-development-using-use.html' title='Business Driven Development using Use Case Flow Down'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8596922333851332115</id><published>2007-06-12T13:24:00.000-05:00</published><updated>2007-06-12T13:42:38.876-05:00</updated><title type='text'>ClearQuest and FIT</title><summary type='text'>I stopped in for a session on testing ClearQuest with FIT. I was actually planning to attend a different session but, FIT caught my eye.Although, I'm not a ClearQuest user, the info was really good. I was impressed with the way he wrote a little erl server to allow his Java processes to communicate with the ClearCase server. I think many would have written some JNI code (and suffered) instead.One</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8596922333851332115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8596922333851332115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8596922333851332115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8596922333851332115'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/clearquest-and-fit.html' title='ClearQuest and FIT'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-4375179715654519846</id><published>2007-06-11T12:33:00.000-05:00</published><updated>2007-06-11T12:36:13.748-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='IDD'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix theory'/><title type='text'>Thoughts on SOA</title><summary type='text'>In a way, when I look at SOA, I think of the old Unix model of development. This is where we have lots of little (special purpose, sed, awk, grep, etc) tools, and wire them up with shell scripts.Since each component is small, the development time is short. The method for input/output is also pretty standardized (pipes, no output when no errors, etc). This makes gluing the components together with</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/4375179715654519846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=4375179715654519846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4375179715654519846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4375179715654519846'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/thoughts-on-soa.html' title='Thoughts on SOA'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7714874678363597194</id><published>2007-06-10T16:29:00.000-05:00</published><updated>2007-06-10T16:46:29.527-05:00</updated><title type='text'>IBM Rational Conference</title><summary type='text'>Today started the IBM Rational Conference. This is my chance to expand my knowledge in the menagerie of IBM and Rational tools. Granted, most I probably won't use later but, its always good to know whats out there.Today, didn't get into too much. Mostly registration and Partner stuff.I did get into a session on IT Governance. It was pretty informative, if dry and slow. I have a bit to learn in </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7714874678363597194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7714874678363597194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7714874678363597194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7714874678363597194'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/06/ibm-rational-conference.html' title='IBM Rational Conference'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-6803764262632640735</id><published>2007-03-16T09:19:00.000-05:00</published><updated>2007-03-16T09:38:28.831-05:00</updated><title type='text'>Where Are the Issue/Defect/Bug Tracking Tutorials?</title><summary type='text'>I've been using Scarab lately, I've also use Bugzilla and GNATS. Each is wonderful and sucks, in its own special way. One thing that has come to mind recently is that I've never actually had any kind of training with any of them. I don't know anybody that has. The knowledge of issue tracking has come from the development culture.So, I am wondering, what is there that I do not know? What practices</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/6803764262632640735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=6803764262632640735' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6803764262632640735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/6803764262632640735'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/03/where-are-issuedefectbug-tracking.html' title='Where Are the Issue/Defect/Bug Tracking Tutorials?'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7841524746880053680</id><published>2007-03-01T11:46:00.000-05:00</published><updated>2007-03-01T15:23:28.325-05:00</updated><title type='text'>Maturity</title><summary type='text'>A scribbling of notes to differentiate the mature and immature developer.Developers Compared Mature DeveloperImmature DeveloperLanguagesAnalyzes the merits and the target domains of programming languages. Knows that a language is just another tool for the toolbox.Criticizes any language other than the favorite. Common statements, "java sucks...", "ruby sucks..." Often thinks that the favorite </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7841524746880053680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7841524746880053680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7841524746880053680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7841524746880053680'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/03/maturity.html' title='Maturity'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-3083432651715887576</id><published>2007-02-28T09:02:00.000-05:00</published><updated>2007-02-28T09:28:06.126-05:00</updated><title type='text'>Managing Time And Development</title><summary type='text'>After some responses to my post on becoming a better developer. I figured that I should add some time management to it. I know the list looks like a lot of stuff but it shouldn't really consume much time. Most of the tasks should result in creating more free time resulting in a greater payout as time goes by.So, lets get started.Constantly StudyThis one actually requires that you have at least a </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/3083432651715887576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=3083432651715887576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/3083432651715887576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/3083432651715887576'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/02/managing-time-and-development.html' title='Managing Time And Development'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-7595383428741481233</id><published>2007-02-27T16:45:00.000-05:00</published><updated>2007-03-05T06:50:21.206-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='practices'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='continuing education'/><title type='text'>Becoming a Better Developer</title><summary type='text'>Maybe this has been covered to death but, it still seems to be brought up.Constantly StudyStudy best practices, design patterns, refactoring techniques. Study the libraries and API's used in your development environment. Every other day I see re-implementations of methods provided in the java.util.Collections and java.util.Array classes. When you know whats available, you spend less time </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/7595383428741481233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=7595383428741481233' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7595383428741481233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/7595383428741481233'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/02/becoming-better-developer.html' title='Becoming a Better Developer'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-1175952092112594407</id><published>2007-02-21T16:11:00.000-05:00</published><updated>2007-02-26T16:09:16.110-05:00</updated><title type='text'>Rules Engines and State Machines</title><summary type='text'>Sometime we find ourselves with complex sets of requirements. All too often, this results in lots of convoluted unmaintainable code. Lets start early with the concept of using a rule engine or a state machine.A good rule engine can be great when dealing with "conflicting" requirements. You can reverse the logic and show WHY something happened.State machines really excel in event driven </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/1175952092112594407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=1175952092112594407' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1175952092112594407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/1175952092112594407'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/02/rules-engines-and-state-machines.html' title='Rules Engines and State Machines'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-8904596758741682815</id><published>2007-02-13T00:27:00.000-05:00</published><updated>2007-02-14T15:10:51.618-05:00</updated><title type='text'>Its Just Another Tool – Processes Revisited</title><summary type='text'>I just started rereading Steve McConnell's book Code Complete (yes I know, I need to get the second edition). Its one of these things I do, every few months or so, I go and re-read books in my collection of development practices.Anyway, very early on, he mentions several things about design and about keeping it in scope. You don't go about building a doghouse the same way you do a skyscraper.A </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/8904596758741682815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=8904596758741682815' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8904596758741682815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/8904596758741682815'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/02/its-just-another-tool-processes.html' title='Its Just Another Tool – Processes Revisited'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-4124787061387492608</id><published>2007-02-08T08:55:00.000-05:00</published><updated>2007-02-08T08:56:12.503-05:00</updated><title type='text'>Why all the fighting about languages?</title><summary type='text'>This keeps popping up. The latest is Java vs Ruby (it seems the last was Java vs Python). Many of the arguments come down to loose typing vs strong typing. My answer is why not both?Especially, in our brave new world of managed code. I think this is a case where Microsoft got it right with the marketing of the CLR in their .net framework. It really isn't much different than the Java Virtual </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/4124787061387492608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=4124787061387492608' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4124787061387492608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/4124787061387492608'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/02/why-all-fighting-about-languages.html' title='Why all the fighting about languages?'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-527460523022569051</id><published>2007-01-22T22:12:00.000-05:00</published><updated>2007-01-22T22:15:26.979-05:00</updated><title type='text'>Introducing the Dojo Tree Widget</title><summary type='text'>I've written an article on my site about the Dojo Tree Widget. Its a quick intro to building trees using the Dojo/HTML method and moves on to building a Tree widget pro grammatically.Feel free to leave comments.--Paul</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/527460523022569051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=527460523022569051' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/527460523022569051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/527460523022569051'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2007/01/introducing-dojo-tree-widget.html' title='Introducing the Dojo Tree Widget'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116577949058454448</id><published>2006-12-10T13:27:00.000-05:00</published><updated>2006-12-12T09:52:03.523-05:00</updated><title type='text'>Trends and Future of Java</title><summary type='text'>This one is useful for me because I am always wrong about what the next big thing is.Random notes (I'll clean this up, or delete, later):AOP vs OOPOO = nouns and verbsAO = adverbs and adjectivesGlassboxPOJO triangle:DI, Aspects, @AnnotationsCommunity returning to OO, POJO (J2EE seemed to be a swing away from OO).Domain Driven DesignMake the domain reflect real world concepts; focus on the domain.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116577949058454448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116577949058454448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116577949058454448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116577949058454448'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/trends-and-future-of-java.html' title='Trends and Future of Java'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116576635490821965</id><published>2006-12-10T10:36:00.000-05:00</published><updated>2006-12-12T09:53:31.116-05:00</updated><title type='text'>... Rule Engines ...</title><summary type='text'>Declarative Programming and rule engines are closer to the way clients think.TrueUsers know a solution when they see it. But, they don't necessarily know how to get there.GivenFacts: represent current state of the systemRules: represent knowledgeBackward chaining: can prove statements (think symbolic calculator)    - goal driven reasoning    - prove a rule is valid    - does not need facts that </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116576635490821965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116576635490821965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116576635490821965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116576635490821965'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/rule-engines.html' title='... Rule Engines ...'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116576494609208503</id><published>2006-12-10T10:33:00.000-05:00</published><updated>2006-12-10T10:35:46.106-05:00</updated><title type='text'>Bright and Early</title><summary type='text'>Covered the Spring and Eclipse RCP session.This was really more of an OSGi and Equinox kind of thing. Still, very good. I need to write down much more about this but, now its off to "Real World Rules Engines".w00t! Seems everywhere I go we have to (re)implement a new rule engine. This should be good.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116576494609208503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116576494609208503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116576494609208503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116576494609208503'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/bright-and-early.html' title='Bright and Early'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116572585424320928</id><published>2006-12-09T23:35:00.000-05:00</published><updated>2006-12-09T23:44:14.253-05:00</updated><title type='text'>Finished for the Day</title><summary type='text'>I just finished the "Rapid Fire Session" about building search with Compass.I am dead tired. Its 11:30.The session went well. I first, I'm thinking, just use Lucene and get it over with; its not that hard. But, then I saw a little more of what Shay was trying to accomplish with Compass. Its pretty cool how it can sit between the data access layer to keep the search index up to date as data </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116572585424320928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116572585424320928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116572585424320928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116572585424320928'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/finished-for-day.html' title='Finished for the Day'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116569644290619831</id><published>2006-12-09T15:13:00.000-05:00</published><updated>2006-12-12T13:27:17.413-05:00</updated><title type='text'>Myth Buster: Spring is XML Hell</title><summary type='text'>This one covers some stuff we're already doing: breaking up configs by area, using import tags, etc.Ben does cover some things I didn't know, using factory beans. He, even recommends NOT using Spring to configure domain objects and every single bean. More, he says they recommend keeping Spring usage to dependency injection.Another good technique, over-ridable default values in beans and </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116569644290619831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116569644290619831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116569644290619831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116569644290619831'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/myth-buster-spring-is-xml-hell.html' title='Myth Buster: Spring is XML Hell'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116569336933365703</id><published>2006-12-09T14:38:00.000-05:00</published><updated>2006-12-09T15:12:49.490-05:00</updated><title type='text'>The AJAX rundown</title><summary type='text'>Finished "The State of the Ajax Framework World"Pretty good session. Basically a rundown of lots (I mean muchos) of different frameworks for working with Ajax. Good descriptions, examples of most, and lots of code.The result? Which to pick?What do you get an 80 year old man for his birthday?Basically, pick something stable that matches your application. They all have strengths and weaknesses and </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116569336933365703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116569336933365703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116569336933365703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116569336933365703'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/ajax-rundown.html' title='The AJAX rundown'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116567331128783574</id><published>2006-12-09T08:56:00.000-05:00</published><updated>2006-12-09T09:20:37.820-05:00</updated><title type='text'>Hidden Gems Notes</title><summary type='text'>"classpath:" vs "classpath*:"In the first, it gets the first classpath root only.The second will check all classpath roots.Both support patterns"classpath:mypackage/*.xml""classpath*:mypackage/*.xml"I will probably avoid the wild card pattern bit because of my preference for explicit definitions. Still, good stuff for parallel classpaths and resource roots.---Advanced Resource </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116567331128783574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116567331128783574' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116567331128783574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116567331128783574'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/hidden-gems-notes.html' title='Hidden Gems Notes'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116567172036459726</id><published>2006-12-09T08:38:00.000-05:00</published><updated>2006-12-09T08:42:08.130-05:00</updated><title type='text'>Back in the Game</title><summary type='text'>What day is it now?Time to head out to see "Spring's Hidden Treasures". It claims to show some Spring things I may not be aware of. I'll bet there is a lot I'm not aware of so, it should make a good learning experience.After yesterday's sessions, I was up till 2am playing with code trying to get a better idea of the things covered yesterday. It may take me a few weeks to distill everything </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116567172036459726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116567172036459726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116567172036459726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116567172036459726'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/back-in-game.html' title='Back in the Game'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116562942396766365</id><published>2006-12-08T20:42:00.000-05:00</published><updated>2006-12-08T21:15:19.343-05:00</updated><title type='text'>BOF - LDAP</title><summary type='text'>Finished Keynote speech and dinner (surprisingly good).Mattias Arthursson and Urik Sandberg are exceptionally competent and knowledgeable.They also really know how to use the Eclipse IDE ;)The code quality, even though it's just for example, is very good as well.This really helped to fill the big hole in my knowledgespace (yes, I just made up that word) called LDAP.This is a true developer </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116562942396766365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116562942396766365' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116562942396766365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116562942396766365'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/bof-ldap.html' title='BOF - LDAP'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116561413713066385</id><published>2006-12-08T16:38:00.000-05:00</published><updated>2006-12-08T17:34:34.290-05:00</updated><title type='text'>Managing Deployments with Maven</title><summary type='text'>This one would have been better if the presenter had prepared a little more. Still, it did make a pretty good intro to Maven 2 (much better than Maven 1.0).Watching a Mac user in a bash shell is like watching a fish cutter with Parkinson's disease. It just makes you cringe.:-PAnd a shell with a translucent background sitting on top of another shell?The mice are killing me, presenters must learn </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116561413713066385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116561413713066385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116561413713066385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116561413713066385'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/managing-deployments-with-maven.html' title='Managing Deployments with Maven'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116561105231087366</id><published>2006-12-08T15:45:00.000-05:00</published><updated>2006-12-08T16:08:07.256-05:00</updated><title type='text'>Power, power</title><summary type='text'>The conference is becoming a bit of an exercise in laptop battery management now.Run lightly, suspend often, grab a couple of minutes charge when I can :)The Spring/DWR Ajax stuff was pretty good. Lots of techniques to keep the code under control.Even had some usage of script.aculo.us. It had the standard web store demo, with a finale where google maps is used to show "live" tracking of a package</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116561105231087366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116561105231087366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116561105231087366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116561105231087366'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/power-power.html' title='Power, power'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116560421581550102</id><published>2006-12-08T13:51:00.000-05:00</published><updated>2006-12-08T14:14:46.086-05:00</updated><title type='text'>Lunch is over, time for DWR and AJAX</title><summary type='text'>Who would have thought that 3 free meals could make a diet? Ok, no more bad jokes about catered food. The coffee is still pretty good, so, I'll survive.Hopefully this will be another good session, and not full of buzzwords as the title suggests.It'll be interesting to see what techniques will be shown here.I'm still tortured by the beach. Its right out the window but, I'm in the sessions.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116560421581550102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116560421581550102' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116560421581550102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116560421581550102'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/lunch-is-over-time-for-dwr-and-ajax.html' title='Lunch is over, time for DWR and AJAX'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116559995387600686</id><published>2006-12-08T12:39:00.000-05:00</published><updated>2006-12-08T12:45:53.890-05:00</updated><title type='text'>Rapid Web App Dev</title><summary type='text'>This one got started a bit late so it went very fast.It was a little disappointing. I suppose I was expecting to see an app created from scratch...Rob Harrop did cover a lot of good info though. Demonstrated integrating Maven and Jetty. He also pointed out some of the difficulties of Maven and showed a good way to get around. He also demonstrated many techniques for testing while developing.There</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116559995387600686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116559995387600686' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116559995387600686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116559995387600686'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/rapid-web-app-dev.html' title='Rapid Web App Dev'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116559371433724024</id><published>2006-12-08T10:54:00.000-05:00</published><updated>2006-12-12T13:53:02.636-05:00</updated><title type='text'>Fundamentals Downs</title><summary type='text'>Wow! Lots of great information, almost too much too fast. Almost ;)I'm going to have to do some homework from my notes.Two types of dependency injection, constructor and setter.Answer to which to use? What do you get an 80 year man for his birthday?dependsSetters have more meta-data, constructor is always guaranteed.Ben Hale suggested the hybrid approach. If you absolutely gotta have it, go with </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116559371433724024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116559371433724024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116559371433724024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116559371433724024'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/fundamentals-downs.html' title='Fundamentals Downs'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116558619297447909</id><published>2006-12-08T08:53:00.000-05:00</published><updated>2006-12-08T08:56:32.986-05:00</updated><title type='text'>Spring Experience</title><summary type='text'>Well, I'm getting started with day 2.It feels like I'm back in school, ++Lots of stuff to cover in just a few days.Last night at the Keynote, Rod showed a few of the new things with Spring2. I really like the methods for getting XML configuration files under control.Breakfast was standard, horrible, hotel stuff. Nice presentation, no flavor. At least the coffee is strong :) (and its Starbucks, </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116558619297447909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116558619297447909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116558619297447909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116558619297447909'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/spring-experience.html' title='Spring Experience'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116528815281704290</id><published>2006-12-04T22:09:00.000-05:00</published><updated>2006-12-04T22:09:31.813-05:00</updated><title type='text'>Serialization and the Collections API</title><summary type='text'>I've put a little article up on my site. Its just a discourse on how some some best practices can come into conflict when using libraries, in this case the Collections API.Its nothing against the Collections API but, food for thought when writing library code so that you can give consumers a helping hand.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116528815281704290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116528815281704290' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116528815281704290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116528815281704290'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/serialization-and-collections-api.html' title='Serialization and the Collections API'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116528500206797541</id><published>2006-12-04T21:13:00.000-05:00</published><updated>2006-12-04T21:16:42.076-05:00</updated><title type='text'>Swarm of Ideas Update</title><summary type='text'>I've posted the list of entries received so far on my site.Comming soon will be a commenting system and probably a wiki around the thing too.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116528500206797541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116528500206797541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116528500206797541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116528500206797541'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/swarm-of-ideas-update.html' title='Swarm of Ideas Update'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116500350971555602</id><published>2006-12-01T14:53:00.000-05:00</published><updated>2006-12-09T09:27:01.803-05:00</updated><title type='text'>Spring Itinerary</title><summary type='text'>Update: I've changed the schedule a little based on previous sessionsWell, here's what I've tentatively decided will be my itinerary at the Spring conference.Friday (Dec 8):Spring Fundamentals &amp; Philosophy - Ben HaleRapid Web Application Development Essentials- Rob HarropPractical Techniques to Improve the User Experience with Ajax &amp; DWR- Bram SmeetsManaging Spring Deployments with Maven- Brian </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116500350971555602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116500350971555602' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116500350971555602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116500350971555602'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/spring-itinerary.html' title='Spring Itinerary'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116498925227559596</id><published>2006-12-01T10:57:00.000-05:00</published><updated>2006-12-01T11:07:32.286-05:00</updated><title type='text'>Ideas from the Mechanical Turk</title><summary type='text'>I've recently posted a couple of questions on the mturk site.One is for ideas for programs and another for ideas on improving email.The first one returned some really good results, the second not so great. I think that for this to be effective, you really need to ask the right question, and ask carefully.I'm going to set up a site for the program ideas where others can post comments and code as </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116498925227559596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116498925227559596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116498925227559596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116498925227559596'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/12/ideas-from-mechanical-turk.html' title='Ideas from the Mechanical Turk'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116465611835661111</id><published>2006-11-27T14:15:00.000-05:00</published><updated>2006-11-27T14:48:18.236-05:00</updated><title type='text'>Imagine a Beowulf Cluster of These</title><summary type='text'>Imagine a Beowulf Cluster of These...Anyone who's been in the linux world for a while is familiar with the beowulf cluster. This is where you connect a bunch of cheap computers to act like a supercomputer by ditributing processing.I've always been facinated by the idea of cybernetics, using machines to augment our abilities. Not just physically, like with mechanics but, also intellectually. One </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116465611835661111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116465611835661111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116465611835661111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116465611835661111'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/11/imagine-beowulf-cluster-of-these.html' title='Imagine a Beowulf Cluster of These'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-116347330734772770</id><published>2006-11-13T22:00:00.000-05:00</published><updated>2006-11-13T22:01:47.356-05:00</updated><title type='text'>Extracting Images from MSWord Documents</title><summary type='text'>A new post is up about how to extract images from word docs.Comments may be left here.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/116347330734772770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=116347330734772770' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116347330734772770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/116347330734772770'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/11/extracting-images-from-msword.html' title='Extracting Images from MSWord Documents'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-115759976446176359</id><published>2006-09-06T22:26:00.000-05:00</published><updated>2006-09-26T09:20:10.166-05:00</updated><title type='text'>XML/XSL Software Schedules</title><summary type='text'>I've made a post here about building schedules in XML and using XSL transformation in the browser to render them. It even maintains the estimated completion time remaining.Comments are open for insults and suggestions.</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/115759976446176359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=115759976446176359' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/115759976446176359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/115759976446176359'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/09/xmlxsl-software-schedules.html' title='XML/XSL Software Schedules'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-115332910516611596</id><published>2006-07-19T11:47:00.002-05:00</published><updated>2006-07-20T20:31:24.183-05:00</updated><title type='text'>Hovering thumbnail affliate links</title><summary type='text'>I've added a little reading list to my site. Of course, I also made the links use the amazon affliate program.Even though I tend to keep my site rather bland, I decided to add some little mouse-over goodness to the links.In keeping with my general standard of trying to keep the html simple. I've created the following method.&lt;div style="affil"&gt;&lt;a href="amazonAffilLink"&gt;Get my book&lt;/a&gt;&lt;iframe .... </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/115332910516611596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=115332910516611596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/115332910516611596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/115332910516611596'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/07/hovering-thumbnail-affliat_115332910516611596.html' title='Hovering thumbnail affliate links'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-115171835840993770</id><published>2006-06-30T20:42:00.000-05:00</published><updated>2006-06-30T20:45:58.420-05:00</updated><title type='text'>Linux Firefox and Kaffeine</title><summary type='text'>I've made a little post here, about my experience getting windows media streams working in Firefox on Linux. I started the normal MPlayer route and ended up with Kaffeine (my fav anyway).Comments are open to insults and suggestions</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/115171835840993770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=115171835840993770' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/115171835840993770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/115171835840993770'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/06/linux-firefox-and-kaffeine.html' title='Linux Firefox and Kaffeine'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-114564753482190333</id><published>2006-04-21T13:41:00.000-05:00</published><updated>2006-06-13T11:43:17.206-05:00</updated><title type='text'>Definition Lists Revisited</title><summary type='text'>dfn { background-color: #eee; cursor: default;}div.terms dl{ display:none; position: absolute; background-color: #edf; border: solid #00f 1px; width: 20em; font-size: 0.7em; margin: 0; padding: 0;}div.terms dl dt{ display: block; float: left; width: 100%; margin-bottom: -1px; background-color: #eee; border-bottom: solid #00f 1px; border-top: solid #00f 1px; overflow: hidden;}div.terms dl dd{ </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/114564753482190333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=114564753482190333' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114564753482190333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114564753482190333'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/04/definition-lists-revisited.html' title='Definition Lists Revisited'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-114313733918295195</id><published>2006-03-23T12:58:00.000-05:00</published><updated>2006-03-23T14:05:45.110-05:00</updated><title type='text'>XHTML goodness</title><summary type='text'>Today, I was playing with a bit of DHTML with both Firefox and IE6.At some point I added an XHTML doctype to make IE observe CSS a little better.Suddenly, the script dies in Firefox.error in parsing value for property 'left'. Declaration dropped.This occures in the javascript that was reading and writing the left style property of an element.The solution was multipronged.First, everywhere I was </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/114313733918295195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=114313733918295195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114313733918295195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114313733918295195'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/03/xhtml-goodness.html' title='XHTML goodness'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-114304799070396236</id><published>2006-03-22T12:17:00.000-05:00</published><updated>2006-03-22T12:19:50.716-05:00</updated><title type='text'>Logging user activity with javascript</title><summary type='text'>I've scribbled up an old article on logging with javascript.Comments can be added here.Paul</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/114304799070396236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=114304799070396236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114304799070396236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114304799070396236'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/03/logging-user-activity-with-javascript.html' title='Logging user activity with javascript'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-114303661452460844</id><published>2006-03-22T09:05:00.000-05:00</published><updated>2006-03-22T09:13:39.213-05:00</updated><title type='text'>FTP Shell script</title><summary type='text'>This post is just to collect comments and feedback on the FTP shell script at:http://willcode4beer.com/tips.jsp?set=bashftpI notice that the majority of visitors are from Brazil, France, Germany, Italy, Romania, Tawain, and the United Kingdom. So, I am sure the first improvement will be just to translate the page.I would appreciate hearing about experiences, successes and failures.Thanks,Paul</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/114303661452460844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=114303661452460844' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114303661452460844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/114303661452460844'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/03/ftp-shell-script.html' title='FTP Shell script'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-113932400263428805</id><published>2006-02-07T09:43:00.000-05:00</published><updated>2006-02-07T09:53:22.636-05:00</updated><title type='text'>Making CVS listen on two ports</title><summary type='text'>Because of firewalls, multiple networks, and slow to respond admins, my team has been running CVS on a wierd port (the only way we could get data through). We have finally convinced them to open up port 2401 so we could run it over the standard port.In the meantime, the CVS server has been shared with several other groups.To smooth the transition, I've proposed that we just run both ports for a </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/113932400263428805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=113932400263428805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/113932400263428805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/113932400263428805'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/02/making-cvs-listen-on-two-ports.html' title='Making CVS listen on two ports'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-113932332294497653</id><published>2006-02-07T09:34:00.000-05:00</published><updated>2006-02-07T09:43:39.596-05:00</updated><title type='text'>CVS Permission denied</title><summary type='text'>or, the joy of maintaining a CVS server.So, I'm stuck maintaining the group's CVS server. After some configuration and restarting xinetd, I get a persmission denied error when connecting remotely."can't create directory /root/tmp/cvs-1234, permission denied."Seems bizzare that it would want to work in the root temp directory. Everything has always worked before.After a bit of research, I believe </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/113932332294497653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=113932332294497653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/113932332294497653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/113932332294497653'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2006/02/cvs-permission-denied.html' title='CVS Permission denied'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-112066763793143792</id><published>2005-07-06T10:56:00.000-05:00</published><updated>2005-07-06T11:33:57.970-05:00</updated><title type='text'>Compilable Configuration</title><summary type='text'>Just assembling thoughts on ways to build a system for configuring applications using code instead of text files (ini, xml, properties, etc.)The simplest immaginable would be to specify the class name in a property set at startup.java -Dconfig.class=com.willcode4beer.conf.MyConfig ....This is quick and simple but, it could get complicated when multiple configurations need to be used. It does make</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/112066763793143792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=112066763793143792' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/112066763793143792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/112066763793143792'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2005/07/compilable-configuration.html' title='Compilable Configuration'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-111518088292397950</id><published>2005-05-04T02:53:00.000-05:00</published><updated>2005-05-03T23:53:10.446-05:00</updated><title type='text'>Evil String arithmetic revisited</title><summary type='text'>So, lets take the case of a simple method like:        public void printStr(String s){                System.out.println("prefix " + s + " suffix");        }We've all been taught that you should do something like the following instead because, it will give you better performance, yada yada yada.        public void printStr2(String s){  StringBuffer buf = new StringBuffer("prefix")   .append(s)   </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/111518088292397950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=111518088292397950' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/111518088292397950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/111518088292397950'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2005/05/evil-string-arithmetic-revisited.html' title='Evil String arithmetic revisited'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-111046561983882378</id><published>2005-03-10T08:15:00.000-05:00</published><updated>2005-03-10T10:25:04.560-05:00</updated><title type='text'>Tomcat Live CD Howto</title><summary type='text'>Trying to find a way to demo a web application for a client and having unknown firewall and system configuration issues, I decided to create a "live" cd with Embedded Tomcat.An outline of the tasks for this project are:Download Embedded Tomcatbuild a wrapper/launcher for tomcatpackage my web application into a war filewrite a batch file to launch the appwrite an Autorun.inf file to auto run the </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/111046561983882378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=111046561983882378' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/111046561983882378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/111046561983882378'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2005/03/tomcat-live-cd-howto.html' title='Tomcat Live CD Howto'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-110718645009092785</id><published>2005-01-31T10:47:00.000-05:00</published><updated>2005-01-31T11:06:40.903-05:00</updated><title type='text'>Variation on Double-checked locking</title><summary type='text'>The problems with the double checked locking idom are documented here.I propose the following as a variation when it can't be refactored in other ways. I still need to investigate if this variation actually protects from pipeline optimization.public class HeavySingleton {	private static HeavySingleton instance;	private static Object lock = new Object();	/**	 * Only permit instance </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/110718645009092785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=110718645009092785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110718645009092785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110718645009092785'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2005/01/variation-on-double-checked-locking.html' title='Variation on Double-checked locking'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-110674846592011577</id><published>2005-01-26T09:07:00.000-05:00</published><updated>2005-01-26T09:08:16.760-05:00</updated><title type='text'>Java Coding Practices</title><summary type='text'>I can't believe that I haven't found this site before.Its a good collection of standard practices. Think 'Effective Java' extended.Paul</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/110674846592011577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=110674846592011577' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110674846592011577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110674846592011577'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2005/01/java-coding-practices.html' title='Java Coding Practices'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-110631604526975415</id><published>2005-01-21T09:00:00.000-05:00</published><updated>2005-01-21T09:08:53.513-05:00</updated><title type='text'>Service Locator Pattern + Dependency Inversion Principle</title><summary type='text'>The Service Locator Pattern helps to encourage modular application design. The Dependency Inversion Principle states that modules should depend upon abstractions instead of other modules. Using JNDI we can merge the design pattern and development practice.So, in places where a module needs to use the services of another module, create an interface that defines the methods required. Next add a </summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/110631604526975415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=110631604526975415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110631604526975415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110631604526975415'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2005/01/service-locator-pattern-dependency.html' title='Service Locator Pattern + Dependency Inversion Principle'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8884166.post-110260705551418570</id><published>2004-12-09T10:39:00.001-05:00</published><updated>2008-07-07T21:06:43.418-05:00</updated><title type='text'>FTP from a bash script</title><summary type='text'>I've moved this entry to my site.Here is how to ftp from a bash script.thank you</summary><link rel='replies' type='application/atom+xml' href='http://willcode4beer.blogspot.com/feeds/110260705551418570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8884166&amp;postID=110260705551418570' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110260705551418570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8884166/posts/default/110260705551418570'/><link rel='alternate' type='text/html' href='http://willcode4beer.blogspot.com/2004/12/ftp-from-bash-script.html' title='FTP from a bash script'/><author><name>willCode4Beer</name><uri>http://www.blogger.com/profile/14121976149233329281</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
