<?xml version='1.0'?>
<rss version="2.0"> <channel> <title>m0smith's Planet</title> <description>A meta-blog of m0smith's blogs</description> <link>http://m0smith.cleverly.com/</link> <language>en-us</language> <webMaster>michael@cleverly.com</webMaster> <ttl>30</ttl> <skipHours> <hour>3</hour> <hour>4</hour> </skipHours> <pubDate>Mon, 08 Sep 2008 11:25:27 MDT</pubDate> <lastBuildDate>Mon, 08 Sep 2008 11:25:27 MDT</lastBuildDate>
 <item> <title>Software Ninja: cygwin makes like better</title> <description>I use cygwin a lot and emacs a lot.  As I was recovering my machine, I came across this &lt;a href="http://www-cdf.fnal.gov/~cplager/cygwin.html#tidbits"&gt;great list of useful ideas&lt;/a&gt; which includes:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Useful Tidbits&lt;br /&gt;&lt;br /&gt;   1. You may want to disable your virus checker when running the Cygwin installer. Don't forget to re-enable it when you're finished installing.&lt;br /&gt;   2. If you are planning on installing CERN's Root, I recommend going to the 3.4.4.3 version. Root 5.14 (or later?) should be immediately compatible with this release. You may have to build the earlier versions from sources.&lt;br /&gt;   3. Cygwin doesn't like it if there is a space in your Windows username. If you have a space, do the following after installing Cygwin:&lt;br /&gt;          * Edit /etc/passwd (using either emacs, vi, or even Windows Wordpad)&lt;br /&gt;          * Find your entry (it will start with your windows username)&lt;br /&gt;          * Take the space out of your username (1st entry) and your home directory (2nd to last entry).&lt;br /&gt;          * Quit all Cygwin&lt;br /&gt;          * Use Windows Explorer to rename your home directory (C:\cygwin\home\cplager in my case) &lt;br /&gt;   4. Cygwin doesn't like spaces in directories. To have access to my program files, I created a 'mount point':&lt;br /&gt;      cygwin&gt; mount -f -s -b "c:/Program Files" "/mount/programfiles"&lt;br /&gt;      You only need to run this command once.&lt;br /&gt;   5. To make access easier to my documents and the decktop, I made the following soft links in my home directory&lt;br /&gt;      cygwin&gt; ln -s 'C:/Documents and Settings/cplager/Desktop' Desktop&lt;br /&gt;      cygwin&gt; ln -s 'C:/Documents and Settings/cplager/My Documents' Documents&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I also like to use rxvt instead of the standard console.  The command line looks like this: &lt;code&gt;C:\cygwin\bin\rxvt.exe -sl 1500 -fn "Lucida Console-12" -bg black -fg grey -sr -e bash --login -i&lt;/code&gt;</description> <link>http://m0smith.freeshell.org/blog-software/2008/08/cygwin-makes-like-better.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/08/cygwin-makes-like-better.html</guid> <pubDate>Wed, 27 Aug 2008 11:52:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Put your marriage before your kids - Yahoo! News</title> <description>I ran across an article today with some good insights and advice.  Here is a bit, check out the rest of the article.

Put your marriage before your kids - Yahoo! News: "So here s the solution  To raise great kids  focus on your marriage. There are three keys to a successful marriage and family:    1  Recognize that we ve already chosen the perfect spouse. No  we would NOT choose better next time; &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/08/put-your-marriage-before-your-kids.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/08/put-your-marriage-before-your-kids.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/08/put-your-marriage-before-your-kids.html</guid> <pubDate>Tue, 26 Aug 2008 15:57:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: World's oldest joke traced back to 1900 BC - Yahoo! News</title> <description>Not much has changes in joke in 4000 years.  As Burns said ¨there are no new jokes, just new audiences¨.

World's oldest joke traced back to 1900 BC - Yahoo! News: "Something which has never occurred since time immemorial; a young woman did not fart in her husband's lap." &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/07/worlds-oldest-joke-traced-back-to-1900.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/07/worlds-oldest-joke-traced-back-to-1900.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/07/worlds-oldest-joke-traced-back-to-1900.html</guid> <pubDate>Thu, 31 Jul 2008 07:12:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Q: How many lawyers does it take to change a light bulb?</title> <description>A: Whereas the party of the first part, also known as "Lawyer", and the party of the second part, also known as "Light Bulb", do hereby and forthwith agree to a transaction wherein the party of the second part shall be removed from the current position as a result of failure to perform previously agreed upon duties, i.e., the lighting, elucidation, and otherwise illumination of the area ranging &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/07/q-how-many-lawyers-does-it-take-to.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/07/q-how-many-lawyers-does-it-take-to.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/07/q-how-many-lawyers-does-it-take-to.html</guid> <pubDate>Wed, 30 Jul 2008 12:32:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Color   Design Blog / As Seen By The Color Blind by COLOURlovers</title> <description>The &lt;a href="http://www.ada.gov/"&gt;Americans with Disabilities Act&lt;/a&gt; helps ensure that web sites are accessible to people with special needs.  Having a friend and co-worker who is deaf has made me more aware of the issues involved.  For example, a deaf user will need closed-captions or transcripts of video.&lt;br /&gt;Most of the requirements are not difficult to implement, just hard to remember and to test.  We are seeking tools that automate testing to help us identify problems.&lt;br /&gt;&lt;br /&gt;I have another friend who is color blind and while it is not a disability, software developers need to be aware of some of the problems that can be caused by color blind users.&lt;br /&gt;&lt;br /&gt;A common design is to use color to distinguish a good state versus an alert state.  The obvious choice is to use green for a happy state and red to show some error.  While doing this, keep in mind that some percentage of your users will not be able to distinguish between red and green.  The simple solution is to change something else in the text such as a little stop sign icon.  &lt;br /&gt;&lt;br /&gt;Anyway, checkout this page for some ideas on being more aware of your color blind users. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.colourlovers.com/blog/2008/07/24/as-seen-by-the-color-blind/"&gt;Color   Design Blog / As Seen By The Color Blind by COLOURlovers&lt;/a&gt;: "In the U.S. 7% of the male population â€“ or about 10.5 million men â€“ and 0.4% of the female population either cannot distinguish red from green, or see red and green differently. Color blindness affects a significant amount of the population"</description> <link>http://m0smith.freeshell.org/blog-software/2008/07/color-design-blog-as-seen-by-color.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/07/color-design-blog-as-seen-by-color.html</guid> <pubDate>Fri, 25 Jul 2008 13:04:00 MDT</pubDate> </item> 
 <item> <title>Zarahemla On-Line: Wisdom from the 42nd Page: Holes</title> <description>Three times a day, &lt;a href="http://www.42ndpage.com/"&gt;Cleverly&lt;/a&gt; puts the 42nd page of a book up.  There is a wide variety of subjects and a single page can be enough to completely catch you attention.  Check out a sample: &lt;a href="http://www.42ndpage.com/2008/07/loyal-42nd-page.html"&gt;Wisdom from the 42nd Page: Holes&lt;/a&gt;</description> <link>http://m0smith.freeshell.org/blog-lds/2008/07/wisdom-from-42nd-page-holes.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-lds/2008/07/wisdom-from-42nd-page-holes.html</guid> <pubDate>Tue, 22 Jul 2008 08:01:00 MDT</pubDate> </item> 
 <item> <title>Zarahemla On-Line: Codex Sinaiticus Project goes online July 24, 2008</title> <description>&lt;a href="http://www.codex-sinaiticus.net/"&gt;Codex Sinaiticus Project&lt;/a&gt;: "Codex Sinaiticus is one of the most important books in the world. Handwritten well over 1600 years ago, the manuscript contains the Christian Bible in Greek, including the oldest complete copy of the New Testament. Its heavily corrected text is of outstanding importance for the history of the Bible and the manuscript - the oldest substantial book to survive Antiquity - is of supreme importance for the history of the book."</description> <link>http://m0smith.freeshell.org/blog-lds/2008/07/codex-sinaiticus-project-goes-online.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-lds/2008/07/codex-sinaiticus-project-goes-online.html</guid> <pubDate>Mon, 21 Jul 2008 13:19:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: A music Review</title> <description>Ok, I admit it.  I am a big Boston far from way back in my long hair days.  I was listening to something off Boston Don't Look Back and came across the review on Pandora, which read in part:The guitars still sound like they are being fed through computers and stacked into great walls of sound by robots, lead singer Brad Delp still sounds like he is ripping his throat out, and the harmony vocals &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/07/music-review.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/07/music-review.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/07/music-review.html</guid> <pubDate>Thu, 17 Jul 2008 09:21:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Quote Details: Rick Cook: Programming today is a... - The Quotations Page</title> <description>Of course this does not apply to my users all of whom are most ingenious. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.quotationspage.com/quote/781.html"&gt;Quote Details: Rick Cook: Programming today is a... - The Quotations Page&lt;/a&gt;: "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.&lt;br /&gt;    Rick Cook, The Wizardry Compiled"</description> <link>http://m0smith.freeshell.org/blog-software/2008/07/quote-details-rick-cook-programming.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/07/quote-details-rick-cook-programming.html</guid> <pubDate>Tue, 15 Jul 2008 09:56:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: How not to get eaten</title> <description>Angler fishOriginally uploaded by charminbayurrAn effective way to deal with predators is to taste terrible. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/07/how-not-to-get-eaten.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/07/how-not-to-get-eaten.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/07/how-not-to-get-eaten.html</guid> <pubDate>Tue, 15 Jul 2008 09:53:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Boat Problems</title> <description>Tractor-2Originally uploaded by MarKotaLast summer, down on Lake Isabella, located in the high desert, an hour east of Bakersfield, CA, some folks, new to boating, were having a problem. No matter how hard they tried, they couldn't get their brand new 22 foot boat, going. It was very sluggish in almost every maneuver, no matter how much power they applied.After about an hour of trying to make it &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/07/boat-problems.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/07/boat-problems.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/07/boat-problems.html</guid> <pubDate>Mon, 14 Jul 2008 13:39:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: What America needs in a President: Not an embarrassment</title> <description>Part of the series: "What America Needs in a President"

The singularly most important characteristic of the President of the United States is to "not be an embarrassment" to the rest of us.  The president represents every citizen of this country and should be someone that each American can point to with pride and say "That is my President".    His behavior and decorum must better than for mature &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/07/what-ammerican-needs-in-president-not.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/07/what-ammerican-needs-in-president-not.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/07/what-ammerican-needs-in-president-not.html</guid> <pubDate>Fri, 11 Jul 2008 14:30:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: What America needs in a President</title> <description>I will be writing a series of articles on the subject of what we need in a president.  Each will tackle a different topic and I will update this posting with the topic and how both Obama and McCain do.
TopicMcCainObama
Not an embarrassment++
Oil
Supreme Court
Commander-in-Chief
Vision

Total11 &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/07/what-ammerican-needs-in-president.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/07/what-ammerican-needs-in-president.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/07/what-ammerican-needs-in-president.html</guid> <pubDate>Fri, 11 Jul 2008 14:22:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Sweet Deal: Free Slurpee</title> <description>In honor of 7-eleven day, 7-11 is giving away Free 7.11 oz. slurpees on July 11.  Take your sweetee for a nice cool free treat.  Check the website go a store locator. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/07/sweet-deal-free-slurpee.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/07/sweet-deal-free-slurpee.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/07/sweet-deal-free-slurpee.html</guid> <pubDate>Fri, 11 Jul 2008 07:04:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Five-year itch: new danger point for marriages - Science, News - The Independent</title> <description>I came across an article on the new "seven year itch" or the point at which many marriages start having problems.  According the the article, it is now down to five years.  From the article: Five-year itch: new danger point for marriages - Science, News - The Independent: "Scientists have discovered that couples begin to grow fed up with each other after just four years and are at peak risk of &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/07/five-year-itch-new-danger-point-for.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/07/five-year-itch-new-danger-point-for.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/07/five-year-itch-new-danger-point-for.html</guid> <pubDate>Thu, 10 Jul 2008 07:22:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: As the Wrench Turns</title> <description>Slothdog, knowing I am a fan of Car Talk, pointed out to me that the long awaited car talk cartoon is finally a reality.  Here's hoping it won't be a flop like the Dilbert cartoon.

ViewSeriesDetails ďż˝ Programs ďż˝ KUED Channel 7 broadcasting from the University of Utah: "Click &amp; Clack's As The Wrench Turns

This animated sitcom takes off from the hit NPR show 'Car Talk' and follows the on- and &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/07/viewseriesdetails-programs-kued-channel.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/07/viewseriesdetails-programs-kued-channel.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/07/viewseriesdetails-programs-kued-channel.html</guid> <pubDate>Wed, 09 Jul 2008 11:11:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: 9 Reasons Why Application Developers Think Their CIO Is Clueless - CIO.com - Business Technology Leadership</title> <description>This is mostly for Tim's benefit:

9 Reasons Why Application Developers Think Their CIO Is Clueless - CIO.com - Business Technology Leadership: "8. The CIO collaborates to death.
Whether it is the character flaw of being indecisive or some middle-school notion of democracy, you are in charge. Collaboration is critical, but you also need to make the right decision at the right time. Collaborate &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/07/9-reasons-why-application-developers.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/07/9-reasons-why-application-developers.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/07/9-reasons-why-application-developers.html</guid> <pubDate>Wed, 02 Jul 2008 11:44:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: Agile Software Development: 20 Qualities of an Agile Leader</title> <description>A very interesting list.  One well worth looking at.

Agile Software Development: 20 Qualities of an Agile Leader: "Teams of all natures - agile software development or otherwise - need inspirational leadership to perform their best.

That leadership may, or may not, come from the organisation's appointed leaders. But all teams need it, nevertheless.

So what are the qualities of inspirational &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/06/agile-software-development-20-qualities.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/06/agile-software-development-20-qualities.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/06/agile-software-development-20-qualities.html</guid> <pubDate>Fri, 27 Jun 2008 14:59:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: Parade Magazine on Yahoo! News</title> <description>Here is a thoughtful and insightful article on how to prepare to vote.  Definitely worth a read.

Parade Magazine on Yahoo! News: "And I'm still convinced that, in most elections most of the time, voters get it right. The process works. As we head into the most exciting, historic, and high-stakes Presidential election of our lifetimes, here are some suggestions on how you can be an even better &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/06/parade-magazine-on-yahoo-news.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/06/parade-magazine-on-yahoo-news.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/06/parade-magazine-on-yahoo-news.html</guid> <pubDate>Fri, 27 Jun 2008 11:08:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: My Coke Rewards</title> <description>9PKL9R AF7K67

Post a comment when you use it so others know not to use it.

Good luck. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/06/my-coke-rewards.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/06/my-coke-rewards.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/06/my-coke-rewards.html</guid> <pubDate>Thu, 26 Jun 2008 14:34:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Joda Time - Java date and time API - Home</title> <description>Josh Bloch mentioned this as being the basis for the new Date JSR.  I had never heard of it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://joda-time.sourceforge.net/"&gt;Joda Time - Java date and time API - Home&lt;/a&gt;: "Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing."</description> <link>http://m0smith.freeshell.org/blog-software/2008/06/joda-time-java-date-and-time-api-home.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/06/joda-time-java-date-and-time-api-home.html</guid> <pubDate>Wed, 25 Jun 2008 13:28:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Josh Bloch: How To Design A Good API and Why it Matters</title> <description>I saw this over at DZone and found it important enough to share.  At the end Josh references a &lt;a href="http://doi.acm.org/10.1145/1176617.1176622"&gt;handout&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" style="width: 400px; height: 326px;" allowfullscreen="true" src="http://video.google.com/googleplayer.swf?docid=-3733345136856180693&amp;amp;hl=en&amp;amp;fs=true" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;</description> <link>http://m0smith.freeshell.org/blog-software/2008/06/josh-bloch-how-to-design-good-api-and.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/06/josh-bloch-how-to-design-good-api-and.html</guid> <pubDate>Wed, 25 Jun 2008 12:49:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: ksl.com - Chaffetz defeats Cannon in Republican primary</title> <description>ksl.com - Chaffetz defeats Cannon in Republican primary: "The results are in for one State Senate and four State House seats as well. For District 23 in the State Senate, Dan Liljenquist beat out Ronald Mortenson 64 to 36." &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/06/kslcom-chaffetz-defeats-cannon-in.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/06/kslcom-chaffetz-defeats-cannon-in.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/06/kslcom-chaffetz-defeats-cannon-in.html</guid> <pubDate>Wed, 25 Jun 2008 08:27:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Everyday is a holiday</title> <description>We here at Ferocious Flirting believe that everyday is reason to celebrate and apparently we are not alone.  Over at Bizarre American Holidays Homepage everyday is a reason to celebrate.  For today we see that:
BIZARRE JUNE HOLIDAYS: "June 20 is . . . . Ice Cream Soda Day"  Now there is something you and your sweetheart can celebrate.  Commemorate the date with a nice ice cream soda. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/06/everyday-is-holiday.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/06/everyday-is-holiday.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/06/everyday-is-holiday.html</guid> <pubDate>Fri, 20 Jun 2008 09:34:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Reinventing Date Night</title> <description>I came across this article that really hits the importance of dating your spouse.
All Pro Dad | Reinventing Date Night: "Rather than visiting the same familiar haunts and dining with the same old friends, couples need to tailor their date nights around new and different activities that they both enjoy, says Arthur Aron, a professor of social psychology at the State University of New York at Stony &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/06/reinventing-date-night.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/06/reinventing-date-night.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/06/reinventing-date-night.html</guid> <pubDate>Thu, 19 Jun 2008 09:33:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: Honda rolls latest fuel-cell car off assembly line - Yahoo! News</title> <description>Honda rolls latest fuel-cell car off assembly line - Yahoo! News: "Honda's FCX Clarity, a sporty-looking fuel-cell sedan, came off the production line in Tochigi, north of Tokyo. The assembly line is Honda's first to be dedicated to building fuel-cell vehicles." &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/06/honda-rolls-latest-fuel-cell-car-off.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/06/honda-rolls-latest-fuel-cell-car-off.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/06/honda-rolls-latest-fuel-cell-car-off.html</guid> <pubDate>Mon, 16 Jun 2008 13:44:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Spread Firefox | Download Day 2008</title> <description>I think I can help with this world record.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.spreadfirefox.com/en-US/worldrecord/"&gt;Spread Firefox | Download Day 2008&lt;/a&gt;: "Set a Guinness World Record&lt;br /&gt;Enjoy a Better Web&lt;br /&gt;&lt;br /&gt;Sounds like a good deal, right? All you have to do is get Firefox 3 during Download Day to help set the record for most software downloads in 24 hours - itâ€™s that easy. We're not asking you to swallow a sword or to balance 30 spoons on your face, although that would be kind of awesome.&lt;br /&gt;&lt;br /&gt;The official date for the launch of Firefox 3 is June 17, 2008. Join our community and this effort by pledging today"</description> <link>http://m0smith.freeshell.org/blog-software/2008/06/spread-firefox-download-day-2008.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/06/spread-firefox-download-day-2008.html</guid> <pubDate>Mon, 16 Jun 2008 13:08:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: An invitation to taste test 42 books per fortnight</title> <description>An invitation to taste test 42 books per fortnight: "An invitation to taste test 42 books per fortnight
I've created a second blog: 42ndPage.com; if you enjoy books please take a gander...

The 42nd page was chosen for somewhat geeky reasons. The idea of reviewing a stratified sampling of the contents of books was inspired by Donald Knuth's 3:16 Bible Texts Illuminated project.

My self-imposed &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/06/invitation-to-taste-test-42-books-per.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/06/invitation-to-taste-test-42-books-per.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/06/invitation-to-taste-test-42-books-per.html</guid> <pubDate>Mon, 09 Jun 2008 08:34:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: 2 Steps to Keeping it Interesting</title> <description>My kids will often say "I'm bored" to which I reply "Whose fault is that?"  Boredom and apathy are relationship killers.  Just like my kids, we often try to blame others for our own boredom.  And like many other things, we need to take responsibility and address it for ourselves.  

If you are in a rut, here are two ideas that will make life more interesting.  These also work to keep your &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/05/2-steps-to-keeping-it-interesting.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/05/2-steps-to-keeping-it-interesting.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/05/2-steps-to-keeping-it-interesting.html</guid> <pubDate>Thu, 22 May 2008 07:39:00 MDT</pubDate> </item> 
 <item> <title>Project portletUnit: PortletWork: Testing Portlets with Jetty, Pluto and JWebUnit</title> <description>&lt;a href="http://portletwork.blogspot.com/2007/08/testing-portlets-with-jetty-pluto-and.html"&gt;PortletWork: Testing Portlets with Jetty, Pluto and JWebUnit&lt;/a&gt;: "After my last two entries, I've gotten some questions about using pluto embedded in jetty to create automated integration tests for JSR 168 portlets. Using the maven-jetty-plugin for running the portlets is great for fast, iterative development. But it can't be used to run automated integration tests. Remembering an excellent article from Johannes Brodwall's blog about integration testing with Jetty and JWebUnit, I wanted to extend his approach to use the embedded jetty-pluto setup I have created. This turned out to be to be quite easy."</description> <link>http://m0smith.freeshell.org/blog-portletunit/2008/05/portletwork-testing-portlets-with-jetty</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-portletunit/2008/05/portletwork-testing-portlets-with-jetty</guid> <pubDate>Thu, 15 May 2008 10:36:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Smash Mouth @ Java One 2008</title> <description>Here is a video of Smash Mouth at JavaOne 2008.  Be sure and check out 1:15 into the video.  I am in the frame, guess which one I am.  &lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://weblogs.java.net/blog/arungupta/archive/2008/05/take_12_smash_m.html"&gt;Arun &lt;/a&gt;for posting the video.&lt;br /&gt;   &lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wIVhAZut4Ns&amp;hl=en&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/wIVhAZut4Ns&amp;hl=en&amp;rel=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;</description> <link>http://m0smith.freeshell.org/blog-software/2008/05/smash-mouth-java-one-2008.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/05/smash-mouth-java-one-2008.html</guid> <pubDate>Tue, 13 May 2008 06:53:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: JavaOne 2008 Session I attended</title> <description>TS-4817 The Javaâ„˘ Platform Portlet Specification 2.0 (JSR 286)    &lt;br /&gt;    An excellent session on the features and uses cases for the new portlet spec.  Well worth a look.&lt;br /&gt;&lt;br /&gt;TS-6623 More Effective Java    &lt;br /&gt;    The slides highlight some of the new topics covered in the best selling book at JavaOne.  No Java developer should be without it.  Get yours today!  &lt;br /&gt;&lt;br /&gt;TS-6169 &lt;a id="rdz30"&gt;Spring Framework 2.5: New and Notable&lt;/a&gt;    &lt;br /&gt;    What is new and why we care.  A must see for anyone using Springframework.  Note:  JDK 1.3 support is being dropped.  &lt;br /&gt;&lt;br /&gt;TS-6589 &lt;a id="euin0"&gt;Defective Javaâ„˘ Code: Turning WTF Code into a Learning Experience&lt;/a&gt;    &lt;br /&gt;    Another excellent session after the vein of the famous "Java Puzzlers", which was missing from this year's lineup.  &lt;br /&gt;&lt;br /&gt;TS-5250 &lt;a id="ok1n0"&gt;Asynchronous Ajax for Revolutionary Web Applications&lt;/a&gt;    &lt;br /&gt;    Focused on Reverse Ajax or Comet with samples on many platforms including Glassfish, Weblogic, Tomcat, Grizzly.  &lt;br /&gt;&lt;br /&gt;TS-6389 &lt;a id="qbpg0"&gt;Growing Open-Source Developer Communities&lt;/a&gt;    &lt;br /&gt;    The presentation gives a few common sense ideas, nothing really earth shattering.  &lt;br /&gt;&lt;br /&gt;TS-5509 &lt;a id="ba270"&gt;Javaâ„˘ Persistence API 2.0&lt;/a&gt;    &lt;br /&gt;    An overview of the upcoming features of the new JPA.   Worth a look.  &lt;br /&gt;&lt;br /&gt;TS-5859 &lt;a id="lr.l0"&gt;Unit-Testing Database Operations with DBUnit&lt;/a&gt;    &lt;br /&gt;    A great look at a data base unit test tool.  If your project uses a database, this presentation will be worth a look.  Good for those of us already using DBUnit.  &lt;br /&gt;&lt;br /&gt;BOF-4798 &lt;a id="dx5w2"&gt;Parleys.com: An Adobe Flex/AIR and JavaFXâ„˘ Case Study&lt;/a&gt;     A look at a website being developed in DHTML, GWT, Flax/Air and JavaFX. &lt;br /&gt;    The presentation included a great overview of the 4 environments with a pros/cons comparison.   A similar discussion can be found at an &lt;a title="interview with Stephan Janssen" target="_blank" href="http://www.infoq.com/news/2008/03/stephan-janssen-parleys-ria" id="xt9w"&gt;interview with Stephan Janssen&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;TS-6590 &lt;a id="yxkf0"&gt;Using FindBugs in Anger&lt;/a&gt;    &lt;br /&gt;    If you have 100,00+ lines of code and 2 hours, this presentation will help you make the best use of your time.  Helps sort out the different warning levels and where to get the best return on your investment of time.  &lt;br /&gt;&lt;br /&gt;TS-7669 &lt;a id="tbms0"&gt;Continuous Regression Testing for Javaâ„˘ EE Apps: Change Code Without Fear&lt;/a&gt;    &lt;br /&gt;    Some older information and somewhat disappointing.  Many of the techniques we currently use were not discussed.  &lt;br /&gt;&lt;br /&gt;TS-5165 &lt;a id="g:b02"&gt;Programming with Functional Objects in Scala&lt;/a&gt;    &lt;br /&gt;    A quick into to Scala which has some nice features.  &lt;br /&gt;&lt;br /&gt;TS-6611 &lt;a id="sxs40"&gt;Filthy-Rich Clients: Filthier, Richer, Clientier&lt;/a&gt;    &lt;br /&gt;    A gee-whiz demo some effects in Swing.  Take a look for some good ideas if you are into Swing.</description> <link>http://m0smith.freeshell.org/blog-software/2008/05/javaone-2008-session-i-attended-ts-4817.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/05/javaone-2008-session-i-attended-ts-4817.html</guid> <pubDate>Mon, 12 May 2008 10:07:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Embedding Apache Pluto</title> <description>This areticle may prove interesting to getting portletUnit packaged with maven.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/java/web/article.php/3563411"&gt;Embedding Apache Pluto&lt;/a&gt;: "Apache Pluto, the reference implementation of the Java Portlet Specification, implements a portlet container that can be embedded easily within a portal or Web application. This article provides a comprehensive tutorial that explains how to embed the Pluto Portlet Container (version 1.1) into a Web application. It investigates the basic architecture of Portal Systems, provides an overview of Pluto's public API, and discusses two different integration techniques."</description> <link>http://m0smith.freeshell.org/blog-software/2008/05/embedding-apache-pluto.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/05/embedding-apache-pluto.html</guid> <pubDate>Wed, 07 May 2008 10:49:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Krugle: Source Code search engire</title> <description>Krugle is a search engine for source code.  I could at least find &lt;a href="http://www.krugle.org/kse/files?query=portletunit#1"&gt;my own project&lt;/a&gt;.  Are there any others?</description> <link>http://m0smith.freeshell.org/blog-software/2008/05/krugle-source-code-search-engire.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/05/krugle-source-code-search-engire.html</guid> <pubDate>Mon, 05 May 2008 05:12:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: The Origin And History Of Mother's Day</title> <description>Copyright Â© 2007-2008 Wesley Berry, AAF

The origin and history of Mother's Day goes back to the era of the ancient Greeks and Romans. But the roots of Mother's Day history can also be traced in the United Kingdom where a Mothering Sunday was celebrated much before the festival saw the light of day in the United States. However, the celebration of the festival as it is seen today is a recent &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/05/origin-and-history-of-mothers-day.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/05/origin-and-history-of-mothers-day.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/05/origin-and-history-of-mothers-day.html</guid> <pubDate>Fri, 02 May 2008 10:38:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: The Foot Tent</title> <description>My old car-pool-buddy is in here. See if you can guess who it is. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/05/foot-tent.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/05/foot-tent.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/05/foot-tent.html</guid> <pubDate>Thu, 01 May 2008 15:22:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Occasional Java Coder: Spring 2.0 form tags</title> <description>This page has a really nice example of HTML date input using Springframework form tags.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://locrianmode.blogspot.com/2006/08/i-like-springs-form-tags.html"&gt;Occasional Java Coder: Spring 2.0 form tags&lt;/a&gt;: "I like the Spring's form tags. It just does what it what I wanted. Registered a custom date editor in the controller and used Spring's select tag for the date selection instead of input to a text box."</description> <link>http://m0smith.freeshell.org/blog-software/2008/05/occasional-java-coder-spring-20-form.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/05/occasional-java-coder-spring-20-form.html</guid> <pubDate>Thu, 01 May 2008 13:37:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Code Beach: Get the Names of the Months in Java</title> <description>I did not even know about the DateFormatSymbols class.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.codebeach.com/2008/02/get-names-of-months-in-java.html"&gt;Code Beach: Get the Names of the Months in Java&lt;/a&gt;: "This tutorial shows how to get the month names for the current locale or for a specific locale. Java provides an easy mechanism for getting localized month names. To get the month names, you will use the DateFormatSymbols in the java.text package. By default, the constructor will create a DateFormatSymbols object based on the current locale.&lt;br /&gt;&lt;br /&gt;    DateFormatSymbols symbols = new DateFormatSymbols();"</description> <link>http://m0smith.freeshell.org/blog-software/2008/05/code-beach-get-names-of-months-in-java.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/05/code-beach-get-names-of-months-in-java.html</guid> <pubDate>Thu, 01 May 2008 10:44:00 MDT</pubDate> </item> 
 <item> <title>Project portletUnit: Bare Bones Browser Launch for Java â€˘ â€˘ â€˘ Use Default Browser to Open a Web Page from portletUnit</title> <description>One drawback of portletUnit is not being able to really see the rendered code.  Using the ideas of the Bare Bones Browser Launch for Java, I am now able to display the rendered code.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://www.centerkey.com/java/browser/"&gt;Bare Bones Browser Launch for Java â€˘ â€˘ â€˘ Use Default Browser to Open a Web Page from a Swing Application&lt;/a&gt;: "Java is often touted as the programing language of the Internet, so you would think Java might include a standard platform-independent mechanism to launch the user's default web browser.  Unfortunately, this commonly needed feature is left to the application developer to build, and it's not particularly easy."&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The code I am using is:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;/**&lt;br /&gt;    * Show the response in a browser.&lt;br /&gt;    *&lt;br /&gt;    * @param response&lt;br /&gt;    *            the response&lt;br /&gt;    * @param class1&lt;br /&gt;    *            not used but the intent is to add a system propery regex that&lt;br /&gt;    *            will control whether this page is loaded or not.  Default will be none.&lt;br /&gt;    * @param id&lt;br /&gt;    *            another regex system property will match against this.  Default will be all.&lt;br /&gt;    * @throws Exception&lt;br /&gt;    *             on error&lt;br /&gt;    */&lt;br /&gt;   public static void showResponseInBrowser(WebResponse response, Class class1, String id) throws Exception {&lt;br /&gt;       String text = response.getText();&lt;br /&gt;       File f = File.createTempFile("httpUnit", ".html");&lt;br /&gt;       f.deleteOnExit();&lt;br /&gt;       PrintWriter fod = new PrintWriter(new FileOutputStream(f));&lt;br /&gt;       fod.print("&amp;lt;head&amp;gt;&amp;lt;base href="'http://localhost'/"&amp;gt; &amp;lt;/head&amp;gt;");&lt;br /&gt;       fod.print(text);&lt;br /&gt;       fod.close();&lt;br /&gt;       URL url = f.toURL();&lt;br /&gt;       openURL(url);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   /**&lt;br /&gt;    * Bare Bones Browser Launch Version 1.5 (December 10, 2005) By Dem&lt;br /&gt;    * Pilafian. Supports: Mac OS X, GNU/Linux, Unix, Windows XP&lt;br /&gt;    *&lt;br /&gt;    * Example Usage: String url = "http://www.centerkey.com/";&lt;br /&gt;    * BareBonesBrowserLaunch.openURL(url); Public Domain Software -- Free to&lt;br /&gt;    * Use as You Like&lt;br /&gt;    *&lt;br /&gt;    * @param url&lt;br /&gt;    *            the url to open&lt;br /&gt;    * @throws ClassNotFoundException&lt;br /&gt;    *             getting class&lt;br /&gt;    * @throws NoSuchMethodException&lt;br /&gt;    *             yes&lt;br /&gt;    * @throws SecurityException&lt;br /&gt;    *             well&lt;br /&gt;    * @throws InvocationTargetException&lt;br /&gt;    *             trying to invloke&lt;br /&gt;    * @throws IllegalAccessException&lt;br /&gt;    *             trying to access&lt;br /&gt;    * @throws IllegalArgumentException&lt;br /&gt;    *             bad arguement&lt;br /&gt;    * @throws IOException&lt;br /&gt;    *             opening window&lt;br /&gt;    * @throws InterruptedException waiting&lt;br /&gt;    */&lt;br /&gt;   public static void openURL(URL url) throws ClassNotFoundException,  NoSuchMethodException,&lt;br /&gt;        IllegalAccessException, InvocationTargetException, IOException, InterruptedException {&lt;br /&gt;       String osName = System.getProperty("os.name");&lt;br /&gt;&lt;br /&gt;       if (osName.startsWith("Mac OS")) {&lt;br /&gt;           Class fileMgr = Class.forName("com.apple.eio.FileManager");&lt;br /&gt;           Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] {String.class });&lt;br /&gt;           openURL.invoke(null, new Object[] {url.toString() });&lt;br /&gt;       } else if (osName.startsWith("Windows")) {&lt;br /&gt;           String cmdLine = "rundll32 url.dll,FileProtocolHandler " + url.toString();&lt;br /&gt;           Process exec = Runtime.getRuntime().exec(cmdLine);&lt;br /&gt;           exec.waitFor();&lt;br /&gt;       } else { // assume Unix or Linux&lt;br /&gt;           String[] browsers = {"firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };&lt;br /&gt;           String browser = null;&lt;br /&gt;           for (int count = 0; count &lt; browsers.length &amp;amp;&amp;amp; browser == null; count++) {                 if (Runtime.getRuntime().exec(new String[] {"which", browsers[count] }).waitFor() == 0) {                     browser = browsers[count];                 }             }             if (browser == null) {                 throw new IllegalStateException("Could not find web browser");              } else {                 Runtime.getRuntime().exec(new String[] {browser, url.toString() });&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;      }&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I am creating a &amp;lt;base&amp;gt; for all the links so the images and CSS all get included as needed.</description> <link>http://m0smith.freeshell.org/blog-portletunit/2008/05/bare-bones-browser-launch-for-java-use</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-portletunit/2008/05/bare-bones-browser-launch-for-java-use</guid> <pubDate>Thu, 01 May 2008 09:55:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Date Idea: Now Playing Utah</title> <description>There have been several times that we have wondered what is going on but never really knew where to look.  Now, at least for Utah, there is a site that lists many cultural events.  From the website:

"Whether youâ€™re a local looking to get out and play or a visitor looking for fun things to do during your stay, NowPlayingUtah.com has just what youâ€™re looking for, offering endless ideas of things &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/04/date-idea-now-playing-utah.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/04/date-idea-now-playing-utah.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/04/date-idea-now-playing-utah.html</guid> <pubDate>Wed, 30 Apr 2008 07:36:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Helpless Man! Helpless Man! | I Love You Recipes</title> <description>I like this story and thought to share it with y'all.  Click the link to see the rest of the story.

Helpless Man! Helpless Man! | I Love You Recipes: "My wife thinks that I wield what she calls the spell of the Helpless Man. According to her, this incantation causes females to rush to my aid. Women, she says, are especially vulnerable inside gift stores, jewelry stores, and the aisles of grocery &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/04/helpless-man-helpless-man-i-love-you.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/04/helpless-man-helpless-man-i-love-you.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/04/helpless-man-helpless-man-i-love-you.html</guid> <pubDate>Fri, 25 Apr 2008 14:45:00 MDT</pubDate> </item> 
 <item> <title>Project portletUnit: </title> <description>PortletUnit and Spring Portlet: Checking form validation errors&lt;br id="gz0d"&gt;&lt;br id="z5y7"&gt;Spring Portlet allows validators to be added to SimpleFormController and objects that extend it.  When the form is submitted, the validators are run and if any fail, the form is redisplayed with error messages indicating the problem areas.  When testing with portletUnit, it is not obvious how to check if there were any form errors.  Fortunately, using the render listener feature of PortletRunner, there is a simple way to check for validator errors.&lt;br id="g7fd"&gt;&lt;br id="qme4"&gt;&lt;font id="c4fv" face="Courier New"&gt;WebResponse response = runner.getResponse(MAGIC_URL);&lt;br id="rj3t"&gt;WebForm form = response.getFormWithID(PRINT_COMMAND);&lt;br id="gokc"&gt;form.setParameter(PrintData.PARAMETER_NAME_PURPOSE, REPORT_PURPOSE);&lt;br id="qn1t"&gt;SubmitButton button = form.getSubmitButtonWithID(IDPRINT);&lt;br id="qug2"&gt;runner.addRenderListener(new PortletUnitRenderListener() {&lt;br id="ucze"&gt;&lt;br id="www3"&gt;&lt;/font&gt;&lt;div id="tuzm" style="margin-left: 40px;"&gt;&lt;font id="c4fv" face="Courier New"&gt;public void after(Portlet arg0, RenderRequest request, RenderResponse arg2) throws Exception {&lt;/font&gt;&lt;br id="rzy0"&gt;&lt;br id="e.jw"&gt;&lt;font id="c4fv" face="Courier New"&gt;BindException bindException = (BindException) request.getPortletSession().getAttribute(&lt;/font&gt;&lt;br id="fo6r"&gt;&lt;font id="c4fv" face="Courier New"&gt;"org.springframework.web.portlet.mvc.RenderErrors");&lt;/font&gt;&lt;br id="oaum"&gt;&lt;br id="p.h2"&gt;&lt;font id="c4fv" face="Courier New"&gt;assertEquals(0, bindException.getErrorCount());&lt;/font&gt;&lt;br id="gmd1"&gt;&lt;font id="c4fv" face="Courier New"&gt; }&lt;/font&gt;&lt;br id="t2m0"&gt;&lt;br id="vybn"&gt;&lt;font id="c4fv" face="Courier New"&gt;public void before(Portlet arg0, RenderRequest arg1, RenderResponse arg2) throws Exception {&lt;/font&gt;&lt;br id="h2mv"&gt;&lt;font id="c4fv" face="Courier New"&gt;// EMPTY&lt;/font&gt;&lt;br id="x12s"&gt;&lt;font id="c4fv" face="Courier New"&gt;}&lt;/font&gt;&lt;br id="wc0h"&gt;&lt;/div&gt;&lt;font id="c4fv" face="Courier New"&gt;&lt;br id="ae6o"&gt;});&lt;br id="aa3."&gt;form.submit(button);&lt;/font&gt;&lt;br id="sbz1"&gt;&lt;br id="q5r0"&gt;The trick is to know that the BindException object is stored in the portlet session with the name &lt;font id="c4fv" face="Courier New"&gt;org.springframework.web.portlet.mvc.RenderErrors. &lt;span id="idp0" style="font-family: Verdana;"&gt; Simply install a listener and in the after method check to make sure there were no errors.  You can use the same technique to ensure validation errors really do happen.&lt;/span&gt;&lt;/font&gt;</description> <link>http://m0smith.freeshell.org/blog-portletunit/2008/04/portletunit-and-spring-portlet-checking</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-portletunit/2008/04/portletunit-and-spring-portlet-checking</guid> <pubDate>Fri, 25 Apr 2008 07:21:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Bad Burrito Dreams</title> <description>Dude, I think I ate bad burrito last night.

A bad burrito?

Yeah.  It had like beans and chilis and I don't know what all else.  Tasted ok but I had the weirdest dream afterward?

Like Brittney Spears?

No, I was like in Moscow and there were lots of people screaming I couldn't understand a word they were saying.

Scary.

Yeah, dude, but then there was this rock group from Finland called the &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/04/bad-burrito-dreams.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/04/bad-burrito-dreams.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/04/bad-burrito-dreams.html</guid> <pubDate>Tue, 22 Apr 2008 08:38:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: 101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness</title> <description>I have committed to learning Flex and this looks like a great list of resources to help do that.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jasonbartholme.com/101-adobe-air-resources-to-add-to-your-toolbelt-of-awesomeness/"&gt;101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness&lt;/a&gt;: "The Adobe Integrated Runtime or AIR is a runtime environment for developing rich Internet applications. These applications can be deployed as a desktop applications. AIR applications can operate offline and can take advantage of additional functionality when connected to the Internet."</description> <link>http://m0smith.freeshell.org/blog-software/2008/04/101-adobe-air-resources-to-add-to-your.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/04/101-adobe-air-resources-to-add-to-your.html</guid> <pubDate>Tue, 22 Apr 2008 06:59:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Kids tell: HOW DO YOU DECIDE WHO TO MARRY?</title> <description>IMG_4673    Originally uploaded by mariacaridad HOW DO YOU DECIDE WHO TO MARRY?(written by kids) ----- You got to find somebody who likes the same stuff. Like, if you likesports, she should like it that you like sports, and she should keep the chips and dip coming.  -- Alan, age 10No person really decides before they grow up who they're going to marry. God decides it all way before, and you &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/04/kids-tell-how-do-you-decide-who-to.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/04/kids-tell-how-do-you-decide-who-to.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/04/kids-tell-how-do-you-decide-who-to.html</guid> <pubDate>Mon, 21 Apr 2008 08:49:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Evolution and the Family Tree</title> <description>Hot lips    Originally uploaded by hvhe1 A little girl asked her mother, "How did the human race appear?"The mother answered, "God made Adam and Eve and they had children and so was all mankind made."Two days later the girl asked her father the same question. Thefather answered, "Many years ago there were monkeys from which the human race evolved."The confused girl returned to her mother and &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/04/evolution-and-family-tree.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/04/evolution-and-family-tree.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/04/evolution-and-family-tree.html</guid> <pubDate>Mon, 21 Apr 2008 08:07:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Time for teletubbies, Time for teletubbies ..</title> <description>Time for teletubbies, Time for teletubbies ..    Originally uploaded by jwlphotography &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/04/time-for-teletubbies-time-for.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/04/time-for-teletubbies-time-for.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/04/time-for-teletubbies-time-for.html</guid> <pubDate>Mon, 21 Apr 2008 07:42:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy - Waxy.org</title> <description>For those of you who remember Zork, HHGG (how do I get that stupid fish in my ear?) and the other Infocom games, this is a must read for you.  For the rest of you, there is a whole other gaming world you may not even know existed.

Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy - Waxy.org: "a complete backup of Infocom's shared network drive from 1989. This is one of &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/04/milliways-infocoms-unreleased-sequel-to.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/04/milliways-infocoms-unreleased-sequel-to.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/04/milliways-infocoms-unreleased-sequel-to.html</guid> <pubDate>Fri, 18 Apr 2008 10:00:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: InfoQ: Top 10 Mistakes when building Flex Applications</title> <description>As I am learning flex, it is nice to see what not to do.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infoq.com/news/2008/04/top-10-flex-mistakes"&gt;InfoQ: Top 10 Mistakes when building Flex Applications&lt;/a&gt;: "In this post, Adobeâ€™s James Ward teams up with InfoQ.com to bring you another Flex Top 10 (our most recent Flex Top 10). Flex is an open source application development framework for building rich Internet applications that run in the web with Flash Player, or on the desktop with Adobe AIR. Overall, Flex is a powerful framework that is easy to use, but today let's focus on some of the common mistakes that are made when building Flex applications."</description> <link>http://m0smith.freeshell.org/blog-software/2008/04/infoq-top-10-mistakes-when-building.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/04/infoq-top-10-mistakes-when-building.html</guid> <pubDate>Fri, 18 Apr 2008 09:47:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Forgiveness</title> <description>Everybody gets thorns or slivers stuck in their fingers every once in a while.  Those sharp little splinters that are so easy to get in and so difficult to remove. It is amazing how such a small object embedded in the skin can hurt so much.  Sometime they even require tweezers and a magnifying glass to pull it out.  But oh the relief once it is out.

Sometimes my kids want to leave it in.  They &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/04/frogiveness.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/04/frogiveness.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/04/frogiveness.html</guid> <pubDate>Fri, 18 Apr 2008 06:21:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: Quote on sowing and reaping</title> <description>A tree is known by its fruit; a man by his deeds. A good deed is
never lost; he who sows courtesy reaps friendship, and he who plants
kindness gathers love.
St. Basil  (329-379, Bishop of Caesarea) &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/04/quote-on-sowing-and-reaping.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/04/quote-on-sowing-and-reaping.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/04/quote-on-sowing-and-reaping.html</guid> <pubDate>Wed, 16 Apr 2008 07:54:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Flex, Spring and BlazeDS: the full stack! (Part 1)</title> <description>I've decided that it is time for me to learn a new language and I have decided on Flex.  This article looks like a good place to start.

Flex, Spring and BlazeDS: the full stack! (Part 1): "!n this article series, I’ll try to give you a step-by-step process to create an application with Flex/BlazeDS/Spring/Hibernate/MySQL architecture, all of that built with Maven. I’ve been looking for such a &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/04/flex-spring-and-blazeds-full-stack-part.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/04/flex-spring-and-blazeds-full-stack-part.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/04/flex-spring-and-blazeds-full-stack-part.html</guid> <pubDate>Mon, 14 Apr 2008 05:48:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Flex, Spring and BlazeDS: the full stack! (Part 1)</title> <description>I've decided that it is time for me to learn a new language and I have decided on Flex.  This article looks like a good place to start.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sebastien-arbogast.com/index.php/2008/04/10/flex-spring-and-blazeds-the-full-stack/"&gt;Flex, Spring and BlazeDS: the full stack! (Part 1)&lt;/a&gt;: "!n this article series, Iâ€™ll try to give you a step-by-step process to create an application with Flex/BlazeDS/Spring/Hibernate/MySQL architecture, all of that built with Maven. Iâ€™ve been looking for such a tutorial for a long time, but you know what Gandhi said about the change you wish to see in the world, right? So I finally put all the parts together, and with a little help from a Brazilian friend, tadaaaa! Here it comes!"</description> <link>http://m0smith.freeshell.org/blog-software/2008/04/flex-spring-and-blazeds-full-stack-part.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/04/flex-spring-and-blazeds-full-stack-part.html</guid> <pubDate>Mon, 14 Apr 2008 05:48:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: At least it has lines</title> <description>Soccer Field    Originally uploaded by FloSchMUC As a little league soccer coach, sometimes the fields are in pretty bad shape.  At least this one has lines chalked in. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/04/at-least-it-has-lines.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/04/at-least-it-has-lines.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/04/at-least-it-has-lines.html</guid> <pubDate>Thu, 10 Apr 2008 14:05:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Ferocious Flirting: Making Marriage Wonderful now available on Amazon</title> <description>Ferocious Flirting: Making Marriage Wonderful is published by the Cleverly Group and is now available for order on Amazon.  We are all really excited about this new book.  The original content has been grouped into sections to make the ideas really stand out.  In addition, each section has an  illustration by Val Chadwick Bagley.

Thank you all for your kind support. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/04/ferocious-flirting-making-marriage.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/04/ferocious-flirting-making-marriage.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/04/ferocious-flirting-making-marriage.html</guid> <pubDate>Thu, 10 Apr 2008 09:16:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Checking for any property in a bean</title> <description>I came across a situation the other day &lt;a href="http://intermountainhealthcare.org"&gt;at work&lt;/a&gt; where I needed to know if any property was set on a &lt;a href="http://java.sun.com/javase/technologies/desktop/javabeans/index.jsp"&gt;bean&lt;/a&gt;.  There are a couple of uses cases that involve checking that a bean being used as a value object or transfer object has at least one property set before doing some heavy lifting based on the contents of the bean.  The two use cases involved doing a database query or generating XML based on the bean.  If the bean is empty, the query does not need to be performed or the XML does not need to be generated.&lt;br /&gt;&lt;br /&gt;The first solution is a simple if-else-if chain:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;if(bean.getProp1() != null) {&lt;br /&gt;    return true;&lt;br /&gt;} else if(bean.getProp2() != null) {&lt;br /&gt;    return true;&lt;br /&gt;}  else {&lt;br /&gt;    return false;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;There are a couple of problems with this approach.  First, it is just plain ugly for more than a couple of properties.  This ugliness quickly translates into a high &lt;a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity"&gt;cyclomatic complexity&lt;/a&gt; for more than a few properties.  The code also leads to maintenance bugs as it is easy to forgot to add new properties to the chain.&lt;br /&gt;&lt;br /&gt;I took a survey of a few of my coworkers and we came up with several solutions.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;hashCode&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;If &lt;a href="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#hashCode()"&gt;hashCode&lt;/a&gt; is defined to return zero (0) if none of the properties are set and a &lt;a href="http://commons.apache.org/lang/api/org/apache/commons/lang/builder/HashCodeBuilder.html"&gt;standard hash code&lt;/a&gt; otherwise, then hashCode makes a good candidate for checking if any property has been set.  In practice, simple unit tests proved that the algorithms for setting hashCode do not lend themselves nicely to having a predictable value, like 0, for when none the properties are set.  The hashCode ends up being based on the number of properties as well as the content.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Dirty Bit&lt;/h3&gt;&lt;br /&gt;This solution consists in a adding a boolean flag to the the object, &lt;code&gt;anyValue&lt;/code&gt;.  The flag is set to false and every setter would set it to true.  Then a new method, &lt;code&gt;hasAnyValue&lt;/code&gt; would simple return &lt;code&gt;anyValue&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;public void setProp1(Prop1 newProp1) {&lt;br /&gt;  prop1 = newProp1;&lt;br /&gt;  if(newProp1 != null ) anyValue = true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public boolean hasAnyValue() {&lt;br /&gt;   return anyValue;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;We decided against this one for a couple of reasons.  While it removes the cycolmatic complexity problem, is fast and is easy to understand, it still has the problem of a maintainer forgetting to add the assignment of &lt;code&gt;anyValue&lt;/code&gt; to true in new setters.  Also, it does not handle the case where a property is set back to null after having been set to a new value.  Using a counter that is incremented and decremented would work around that problem.&lt;br /&gt;&lt;br /&gt;This method works well where only a subset of the properties need to be checked.  The only the relevant setters need contain the &lt;code&gt;anyValue&lt;/code&gt; assignment.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;AOP&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Using aspects to make the assignment to &lt;code&gt;anyValue&lt;/code&gt; removes the maintenance problem of forgetting to make the assignment by adding another level of complexity to the application.  If an application already makes use of aspects, this would make sense.  Adding aspects for just this use case would have been swatting mosquitoes with sledge hammers.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Reflection&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Another approach would be to remove the &lt;code&gt;anyValue&lt;/code&gt; field and change the method &lt;code&gt;hasAnyValue&lt;/code&gt; to use &lt;a href="http://java.sun.com/developer/technicalArticles/ALT/Reflection/index.html"&gt;reflection&lt;/a&gt; to introspect the properties and return true if any of them is non-null.  While this would work, reflection code is ugly and hard to understand.  &lt;br /&gt;&lt;br /&gt;&lt;h3&gt;BeanUtils&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Fortunately, the nice folks at Jakarta have a &lt;a href="http://commons.apache.org/beanutils/"&gt;Commons BeanUtils&lt;/a&gt; package that performs operations on beans.  While I couldn't find a method that checks for any value being set, there is a method that retrieves all the properties of a bean into a map: &lt;code&gt;&lt;a href="http://commons.apache.org/beanutils/apidocs/org/apache/commons/beanutils/PropertyUtilsBean.html#describe(java.lang.Object)"&gt;PropertyUtils.describe&lt;/a&gt;&lt;/code&gt;&lt;br /&gt;Using this, the hasAnyValue method becomes:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;    public static boolean hasValue(Object object) {&lt;br /&gt;        Map describe;&lt;br /&gt;        try {&lt;br /&gt;            describe = BeanUtils.describe(object);&lt;br /&gt;            for (Iterator iterator = describe.entrySet().iterator(); iterator.hasNext();) {&lt;br /&gt;                Map.Entry entry = (Map.Entry) iterator.next();&lt;br /&gt;                if (!"class".equals(entry.getKey()) &amp;&amp; entry.getValue() != null) {&lt;br /&gt;                    return true;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        } catch (IllegalAccessException e) {&lt;br /&gt;            LOG.error("Failed to check hasValue 1", e);&lt;br /&gt;        } catch (InvocationTargetException e) {&lt;br /&gt;            LOG.error("Failed to check hasValue 2", e);&lt;br /&gt;        } catch (NoSuchMethodException e) {&lt;br /&gt;            LOG.error("Failed to check hasValue 3", e);&lt;br /&gt;        }&lt;br /&gt;        return false;&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This solution provided the flexibility of the reflection solution without having to maintain the reflection code.  Note:  I have not checked this with primitive properties.  One drawback is that this solution is slower than any of the others because it reads all properties, even if all of them are non-null.  If more speed is needed or if only a subset of properties need be checked, consider using the dirty bit solution.</description> <link>http://m0smith.freeshell.org/blog-software/2008/04/checking-for-any-property-in-bean.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/04/checking-for-any-property-in-bean.html</guid> <pubDate>Wed, 02 Apr 2008 06:45:00 MDT</pubDate> </item> 
 <item> <title>The most interesting thing of the moment: A Victim Treats His Mugger Right : NPR</title> <description>A Victim Treats His Mugger Right : NPR: "If you're willing to risk your freedom for a few dollars, then I guess you must really need the money.â€ť"

This is a great story and well worth using in a speech. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/2008/03/victim-treats-his-mugger-right-npr.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/2008/03/victim-treats-his-mugger-right-npr.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/2008/03/victim-treats-his-mugger-right-npr.html</guid> <pubDate>Fri, 28 Mar 2008 13:25:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Sneezing Panda</title> <description>Be sure you can hear the sound. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/03/sneezing-panda.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/03/sneezing-panda.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/03/sneezing-panda.html</guid> <pubDate>Fri, 28 Mar 2008 12:52:00 MDT</pubDate> </item> 
 <item> <title>Zarahemla On-Line: Mormons for open source | The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs</title> <description>&lt;a href="http://www.cnet.com/8301-13505_1-9905321-16.html"&gt;Mormons for open source | The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs&lt;/a&gt;: "It does my heart good to see my church putting its tithing dollars to work in an inspired cause: open source. A friend just sent me a job posting on the LDS Church's website calling for a Linus Torvalds-like figure to lead open-source development efforts for the LDS Church and its IT projects."</description> <link>http://m0smith.freeshell.org/blog-lds/2008/03/mormons-for-open-source-open-road.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-lds/2008/03/mormons-for-open-source-open-road.html</guid> <pubDate>Fri, 28 Mar 2008 12:28:00 MDT</pubDate> </item> 
 <item> <title>Ferocious Flirting: Making Marriage Wonderful: Life is romantic</title> <description>IÂ´M | romantic    Originally uploaded by [Kantor] Life is a romantic business, but you have to make the romance.Oliver Wendell HolmesTake time today to do surprise your sweetheart.  Buy some flowers for no reason.  Write a small note.  Make dinner reservations.  Let your spouse know you are thinking of them. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-romance/2008/03/life-is-romantic.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-romance/2008/03/life-is-romantic.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-romance/2008/03/life-is-romantic.html</guid> <pubDate>Thu, 13 Mar 2008 13:28:00 MDT</pubDate> </item> 
 <item> <title>The Best Clean Humor  on the Internet: Lead us not ..</title> <description>See The Pyramids    Originally uploaded by aqui-ali When I was younger, I believed the line was "Lead a snot into temptation." I thought I was praying for my little sister to get into trouble. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-humor/2008/03/lead-us-not.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-humor/2008/03/lead-us-not.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-humor/2008/03/lead-us-not.html</guid> <pubDate>Thu, 13 Mar 2008 12:36:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Internet Explorer 8 proposed 'features'</title> <description>Over at &lt;a href="http://tjmadden.blogspot.com/"&gt;Not Dead Yet&lt;/a&gt; is a list of proposed features for the upcoming Internet Explorer 8 including:&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;#8:  "You have not installed Vista, therefore I cannot render this page."&lt;/p&gt;&lt;p&gt;#9:  "You have installed Vista, therefore I cannot render this page."&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;Check out the &lt;a href="http://tjmadden.blogspot.com/2008/03/internet-explorer-8-proposed-features.html"&gt;rest of the list&lt;/a&gt;&lt;/p&gt;</description> <link>http://m0smith.freeshell.org/blog-software/2008/03/internet-explorer-8-proposed-features.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/03/internet-explorer-8-proposed-features.html</guid> <pubDate>Wed, 12 Mar 2008 05:28:00 MDT</pubDate> </item> 
 <item> <title>Software Ninja: Code Buddy: The Art of the Weekly Code Review</title> <description>As a software engineer for &lt;a href="http://intermountainhealthcare.org/"&gt;Intermountain Healthcare&lt;/a&gt;, I have been tasked with implementing a plan for code reviews on our team.  After thinking about it for some time, I have decided to implement weekly code reviews as a nice balance of achieving the goals for having code reviews while overcoming some of the problems involved with more formal code reviews that happen at the end of the project.&lt;br /&gt;&lt;br /&gt;A code review that happens at the end of a project has limited usefulness for the project itself.  The later in the project life cycle the review is held, the harder it is to act on the issues.  It is often too late in the project schedule to do anything about issues identified as part of the code review.  The decision to meet the schedule versus fixing the code will always lean toward the schedule.  Holding code reviews earlier in the project allows issues to be corrected with less impact to schedule.&lt;br /&gt;&lt;br /&gt;On the other extreme is pair programming where code is continuously reviewed.  While there is a lot to be said for this concept, there is a lot of drawback as well.  One of the most important characteristics of an effective reviewer is being dispassionate.  A person involved on a continuous basis with the code will tend to have a motivation to let things slide to meet the schedule.  A person who is not so involved in the project can review the code with a more objective eye.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Code Buddy&lt;/span&gt;&lt;br /&gt;Somewhere in-between the extremes of pair programming and end-of-projects code reviews is the &lt;span style="font-weight: bold;"&gt;code buddy&lt;/span&gt;.  A code buddy is some one who reviews the code on a regular, in our case weekly, basis.  To ensure objectivity, the code buddy does not work on the code base being reviewed.   Instead,  the code  buddy  is assigned from the people working on a different project or a different part of the same project.&lt;br /&gt;&lt;br /&gt;To see why the code buddy works, a review of why code reviews are needed is helpful.  As a team, we talked about what we wanted out of a code review.  Those items follow with how a code buddy will or will not achieve that goal.  Also, how we can measure the outcome for continuous improvement.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Produce higher quality products&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is one of those nebulous goals that is hard to measure.  What this really needs is a definition of what is meant by &lt;span style="font-style: italic;"&gt;higher quality&lt;/span&gt; code.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Find more bugs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are several good static code analyzers like &lt;a href="http://checkstyle.sourceforge.net/"&gt;Checkstyle&lt;/a&gt; and &lt;a href="http://findbugs.sourceforge.net/"&gt;FindBugs&lt;/a&gt;.  which can identify  bugs that are commonly overlooked.  In addition to these tools, an effective code reviewer  will identify bugs and potential bugs that are overlooked by the developer.   The earlier in the process a bug is identified and corrected, the less costly the bug is to the project in time and money.  Bugs can be caught throughout the process in roughly these steps, in order of increasing cost:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;not written - the cheapest bug to fix is the one never written&lt;/li&gt;&lt;li&gt;caught by the developer during coding, by running unit tests or through continuous integration - these bugs are quickly addressed and cost very little&lt;br /&gt;&lt;/li&gt;&lt;li&gt;caught by a code buddy - only slightly more costly than a unit test&lt;br /&gt;&lt;/li&gt;&lt;li&gt;caught by QA - now the bug will need to be reviewed and possibly effects the schedule&lt;/li&gt;&lt;li&gt;caught by a formal code review at the end of the project - might slip the schedule or may never be addressed&lt;br /&gt;&lt;/li&gt;&lt;li&gt;caught by a user - the most costly in time, money and reputation&lt;/li&gt;&lt;/ul&gt;By identifying issues earlier in the process, a code buddy who reviews the code weekly helps meet deadlines and keep costs down.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Follow       standards and best practices&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Each organization identifies its own standards and best practices.  Using automated tools as part of the continuous integration process will ensure adherence to some the standards.  Others cannot be automated and it takes a human looking at the code to ensure that the standards are being met.  The sooner a deviation from the standard is identified, to easier it is to correct.  Looking at the code weekly ensures that the code does not deviate too far before being corrected.&lt;br /&gt;&lt;br /&gt;Code buddies will also need on-going training in the standards and what to look for while reviewing.  This will reinforce the standards for the whole team.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Identify       security threats&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this day and age, security needs to be part of every project.  However, security concerns are often separate from the business logic the developer is seeking to implement.  By taking a regular step back for the business logic and looking at the code as a objective third party, the code buddy can help see security issues that a developer will overlook.&lt;br /&gt;&lt;br /&gt;There are all sorts of security issues and a weekly code review of a snapshot will only be able to identify a subset of the issues.  For example, the code buddy will not be able to see how seemingly in secure components interact in insecure ways.  For this reason, a thorough security audit of the whole project should be conducted at certain milestones.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Find       common solutions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometimes a developer write from scratch something that has already been written, reinventing the wheel.  There are high quality libraries available both internal to an organization as well as from third parties.  A code buddy can help reduce the overall code base by identifying these reinvented wheels and suggesting better solutions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Makes       it maintainable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first question a reviewer should ask is &lt;span style="font-style: italic;"&gt;would I want to maintain this code?&lt;/span&gt;  If the answer is no, then the reviewer should identify the specific issues and bring them to the attention of the developer.  It is important not to criticize the developer, but focus on the code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;st1:city style="font-weight: bold;" st="on"&gt;&lt;st1:place st="on"&gt;Mentor&lt;/st1:place&gt;&lt;/st1:city&gt;&lt;span style="font-weight: bold;"&gt; and       cross-train each other&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As people review each other's code, they naturally learn things they can use in their own code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prevents the silo effect&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The silo effect is what happens when a developer works under time constraints without anyone looking at the code.  Corners get cuts, short cuts taken and really strange things happen in the dark.  A regular review sheds needed light on the code and encourages developers to write it right the first time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Improve       performance&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Like security, performance happens a many levels.  A code review can identify some obvious problems, however any issues identified in a code review should be reviewed by a profiler to ensure that there really is a performance issue.  Sometimes efforts to improve performance have the opposite effect.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Verify unit tests are being written &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Unit tests are most effective when written early in the project.  A weekly code buddy can verify that code has corresponding unit test.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code buddy process&lt;/span&gt;&lt;br /&gt;Each week the developer will create a code review in &lt;a href="http://www.atlassian.com/software/crucible/"&gt;Crucible&lt;/a&gt;, which is a code review tool that integrates with source control like subversion and cvs.  The code review consists of all code committed in the last 7 days.  The members of the team, a code buddy and a code captain, either a team lead or other who helps facilitate the review, are invited to the review.  Using crucible, the code review can be setup in a matter of moments.&lt;br /&gt;&lt;br /&gt;The reviewer is notified by email and logs into the crucible server and does the review.  Crucible shows the reviewer only the code that has actually changed, think diff.  This allows the reviewers to keep up on the changes without having to dredge through lots of code that has not changed.  Also, if the committer attached the Jira issues, the reviewer can easily see the motivation for the change.&lt;br /&gt;&lt;br /&gt;The reviewer can make make comments online.  There is no need for a formal meeting.  Instead, each logs into the tools and make comments.  The other reviewers are notified by email when comments have been made, allowing them to respond in a timely manner.&lt;br /&gt;&lt;br /&gt;Once all the reviewers have finished, the code either passes or the developer agrees to make the suggested changes.  This may involve making new Jira issues to track the changes.  The changes will naturally be reviewed in the following weeks as they are made and committed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Encouraging effective code buddies&lt;/span&gt;&lt;br /&gt;Some steps to ensure that the reviewers are being effective&lt;br /&gt;&lt;ul&gt;&lt;li&gt;on-going training on standards, security, etc.&lt;/li&gt;&lt;li&gt;switch code buddies every few months - codes people from getting too comfortable&lt;/li&gt;&lt;li&gt;provide a checklist of things to look for - one follows&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Code Buddy Checklist&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Would you want to maintain this code?&lt;/li&gt;&lt;li&gt; Is the intent of the changes in the code readily understood either from the code itself, the comment changes, the JIRA referenced or other supporting documentation?&lt;/li&gt;&lt;li&gt; Are there any security flaws?&lt;/li&gt;&lt;li&gt; Are there easy better ways of doing this?  Things like: use standard libraries, a simpler algorithm, reduce complexity.&lt;/li&gt;&lt;li&gt; If a complex solution is required, is it properly documented in the code or the javadoc?&lt;/li&gt;&lt;li&gt; Does the code meet standards?&lt;/li&gt;&lt;li&gt; Are there unit tests for the public methods of public classes?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</description> <link>http://m0smith.freeshell.org/blog-software/2008/03/code-buddy-art-of-weekly-code-review.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-software/2008/03/code-buddy-art-of-weekly-code-review.html</guid> <pubDate>Tue, 11 Mar 2008 07:34:00 MDT</pubDate> </item> 
 <item> <title>Utah Obituaries: Davis County Clipper: Q3 2007</title> <description>27.SEP.07Bryan Alan Baird 27.SEP.07Claudia A. Pope 27.SEP.07Duane Hymas Hansen 27.SEP.07Glen Johnson Behling 27.SEP.07Marie Moss Peacock 27.SEP.07Tina Sherlin Fuller Webb 25.SEP.07Glenn Eugene Ray 25.SEP.07Mary Hogge Blackhurst 25.SEP.07Mary Rae Kelvington Selin 25.SEP.07Melvin Hess Pederson 25.SEP.07Ronald K. Devereaux 25.SEP.07Scott Reid 20.SEP.07Paul D. Seiger 20.SEP.07Kay Rich Butters 18. &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-obit/2007/12/davis-county-clipper-q3-2007.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-obit/2007/12/davis-county-clipper-q3-2007.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-obit/2007/12/davis-county-clipper-q3-2007.html</guid> <pubDate>Tue, 11 Dec 2007 04:56:00 MST</pubDate> </item> 
 <item> <title>Signs of the Times: Quake triggers tsunami in Indonesia - Yahoo! News</title> <description>&lt;a href="http://news.yahoo.com/s/ap/20070912/ap_on_re_as/indonesia_earthquake"&gt;Quake triggers tsunami in Indonesia - Yahoo! News&lt;/a&gt;: "JAKARTA, Indonesia - A powerful earthquake shook Indonesia on Wednesday, killing 10 people, injuring at least 100 and triggering a small tsunami that hit one city on the island of Sumatra, authorities said."</description> <link>http://m0smith.freeshell.org/blog-signs/2007/09/quake-triggers-tsunami-in-indonesia.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-signs/2007/09/quake-triggers-tsunami-in-indonesia.html</guid> <pubDate>Wed, 12 Sep 2007 10:37:00 MDT</pubDate> </item> 
 <item> <title>Grandma Jackman's Pictures: Mary Cook</title> <description>&lt;style type="text/css"&gt;.flickr-photo { border: solid 2px #000000; }.flickr-yourcomment { }.flickr-frame { text-align: left; padding: 3px; }.flickr-caption { font-size: 0.8em; margin-top: 0px; }&lt;/style&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/m0smith/454621964/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/200/454621964_dbc88cde96.jpg" class="flickr-photo" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;	&lt;span class="flickr-caption"&gt;&lt;a href="http://www.flickr.com/photos/m0smith/454621964/"&gt;2 pictures for you&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/m0smith/"&gt;m0smith&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;				&lt;p class="flickr-yourcomment"&gt;	My Father's Mother.  Ethel Brown's Father's Mother when she was 65 years old, she died at the age of 83.  Her name is Grandmother Mary Cook Brown Gillespie.  She was born in 1823 so the picture was taken about 1888.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-8558700468926077";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al_s";
google_ad_channel = "";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;/div&gt;</description> <link>http://m0smith.freeshell.org/blog-grandma/2007/04/mary-cook.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-grandma/2007/04/mary-cook.html</guid> <pubDate>Tue, 10 Apr 2007 19:56:00 MDT</pubDate> </item> 
 <item> <title>m0 Chess: White to move and mate in 2</title> <description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://m0smith.freeshell.org/blog-chess/uploaded_images/A00S41DuGx-754458.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://m0smith.freeshell.org/blog-chess/uploaded_images/A00S41DuGx-754449.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From a recent game I had against Tim, comes this board position.  I was white and not in a very enviable position with Queen, Bishop and Knight all being under attack.  Turns out to be a nice White to move and mate in two puzzle.&lt;br /&gt;&lt;br /&gt;Post in the comments your answer.  Remember, &lt;a href="http://tjmadden.blogspot.com/2007/03/short-game.html"&gt;no cheating&lt;/a&gt;.</description> <link>http://m0smith.freeshell.org/blog-chess/2007/03/white-to-move-and-mate-in-2.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-chess/2007/03/white-to-move-and-mate-in-2.html</guid> <pubDate>Fri, 16 Mar 2007 07:19:00 MDT</pubDate> </item> 
 <item> <title>Sticks: 1 Nephi 4:2</title> <description>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/crooked_ed/49441276/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/30/49441276_5d5bb22255_m.jpg" alt="" style="border: 2px solid rgb(0, 0, 0);" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="margin-top: 0px;font-size:0;" &gt;  &lt;a href="http://www.flickr.com/photos/crooked_ed/49441276/"&gt;camel journey&lt;/a&gt; &lt;br /&gt; Originally uploaded by &lt;a href="http://www.flickr.com/people/crooked_ed/"&gt;nature adrift&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt; 2 Therefore let us go up; let us be strong like unto Moses; for he truly spake unto the waters of the Red Sea and they divided hither and thither, and our fathers came through, out of captivity, on dry ground, and the armies of Pharaoh did follow and were drowned in the waters of the Red Sea.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Nephi continues to encourage his brothers by reminding of the story of Moses and the parting of the Red Sea.  The story illustrates several points that directly relate to Nephi and his brothers returning to Jerusalem to get the brass plates from Laban.&lt;br /&gt;&lt;br /&gt;First, that God was able to defeat the army of Pharaoh.  Laman and Lemuel were justifiably frightened of Laban's guards.  They were just 4 young men against trained soldiers.  They really would not stand a chance of overcoming by force.  Laban had also proved that he was greedy and bloodthirsty and had no problem ordering their death.&lt;br /&gt;&lt;br /&gt;In many ways Laban's actions paralleled those of Pharaoh.  Both were greedy, bloodthirsty and had little regard for human life.  Both commanded an overwhelming army.  Both were acting against the will of the Lord.  Both armies were defeated without a sword needing to be raised.  God did the fighting.&lt;br /&gt;&lt;br /&gt;The story reminded the brothers that God will fight the battles of his servants.&lt;br /&gt;&lt;br /&gt;Second, God commands the elements.  Laban was able to command many men, but he had no control over the elements.  Laban might command an army, yet god could destroy that army.  The arm of God is mightier than the arm of man.  We should put out trust in the arm of God.&lt;br /&gt;&lt;br /&gt;Lastly, that they should have faith.</description> <link>http://m0smith.freeshell.org/blog-sticks/2007/02/1-nephi-42.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-sticks/2007/02/1-nephi-42.html</guid> <pubDate>Tue, 06 Feb 2007 09:00:00 MST</pubDate> </item> 
 <item> <title>Project Topoged: GenealogyJ Integration</title> <description>&lt;div&gt;Since we are using the &lt;a href="http://genj.sourceforge.net/page/intro/en"&gt;GenealogyJ &lt;/a&gt;
 GEDCOM importer, might as well integrate the rest of the project so we can have all the cool views.  This will require examining the source code of the &lt;a href="http://genj.sourceforge.net/page/intro/en"&gt;GenealogyJ project&lt;/a&gt;
 and determine how to map the &lt;a href="http://topoged.sf.net/2006/10/topoged-database.html"&gt;Topoged Database&lt;/a&gt;
 to the data format expected by &lt;a href="http://genj.sourceforge.net/page/intro/en"&gt;GenealogyJ&lt;/a&gt;
    &lt;/div&gt;</description> <link>http://topoged.sf.net/2006/11/genealogyj-integration.html</link> <guid isPermaLink="true">http://topoged.sf.net/2006/11/genealogyj-integration.html</guid> <pubDate>Mon, 06 Nov 2006 06:38:00 MST</pubDate> </item> 
 <item> <title>Building a second income stream: 3 Amazing but little known Secrets to make your Website Blast to the top of Search Engines!</title> <description></description> <link>http://m0smith.freeshell.org/blog-si/2006/10/3-amazing-but-little-known-secrets-to.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-si/2006/10/3-amazing-but-little-known-secrets-to.html</guid> <pubDate>Thu, 26 Oct 2006 00:17:00 MDT</pubDate> </item> 
 <item> <title>Best o' the web: Second Thoughts</title> <description>What better than a site where you can get ll this stuf free!
Second Thoughts: "# FREE PRE-SHAVE
# FREE ANT DEATH
# FREE CALENDAR
# FREE SHOELACES
# FREE MAGAZINE
# ONE YEAR OF SECOND THOUGHTS
# BUY 1 GET 1 LUNCH
# FREE HEALTH BAR
# FREE POSTER
# FREE MAGAZINE" &lt;small&gt;(&lt;a href='http://m0smith.freeshell.org/blog-sites/2006/01/second-thoughts.html'&gt;more...&lt;/a&gt;)&lt;/small&gt;</description> <link>http://m0smith.freeshell.org/blog-sites/2006/01/second-thoughts.html</link> <guid isPermaLink="true">http://m0smith.freeshell.org/blog-sites/2006/01/second-thoughts.html</guid> <pubDate>Mon, 16 Jan 2006 11:39:00 MST</pubDate> </item> 
 <item> <title>Project Sewer: Tcl Chatroom</title> <description>As sewer is starting out in Tcl, I've included a link to the &lt;a href="http://wiki.tcl.tk/1178"&gt;Tcl Chatroom&lt;/a&gt; for getting help in developing sewer.&lt;br /&gt;&lt;br /&gt;Also on Usenet, the comp.lang.tcl newsgroup.  One of the most exceedingly helpful &amp; friendly newsgroups on all of Usenet.</description> <link>http://sewer.sourceforge.net/2005/11/tcl-chatroom.html</link> <guid isPermaLink="true">http://sewer.sourceforge.net/2005/11/tcl-chatroom.html</guid> <pubDate>Thu, 10 Nov 2005 08:34:00 MST</pubDate> </item> 
 </channel>
</rss>
