<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blogbody</title>
	
	<link>http://lightbody.net/blog</link>
	<description>Patrick Lightbody's personal blog</description>
	<pubDate>Fri, 02 Jan 2009 23:32:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<geo:lat>45.52889</geo:lat><geo:long>-122.684581</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Blogbody" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Why your web startup will fail</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/501359965/why-your-web-startup-will-fail.html</link>
		<comments>http://lightbody.net/blog/2009/01/why-your-web-startup-will-fail.html#comments</comments>
		<pubDate>Fri, 02 Jan 2009 23:31:36 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[BrowserMob]]></category>

		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2009/01/why-your-web-startup-will-fail.html</guid>
		<description><![CDATA[A great article by Eric Karjaluoto on all the difficulties of a startup. Tons of great reasons to avoid doing a startup, but at the end of the day, this is what it all comes back to:

  With all of that said, I have to emphasize that little of this really matters. If you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.ideasonideas.com/2009/01/startup_fail/">great article</a> by Eric Karjaluoto on all the difficulties of a startup. Tons of great reasons to avoid doing a startup, but at the end of the day, this is what it all comes back to:</p>
<blockquote cite="http://www.ideasonideas.com/2009/01/startup_fail/">
  <p>With all of that said, I have to emphasize that little of this really matters. If you&#8217;re inclined to start a startup, nothing anyone says will stand in your way, nor, should it. If you have the bug to make something, it&#8217;s impossible to shake, and in my mind can be one of the best life experiences you can have.</p>[From <a href="http://www.ideasonideas.com/2009/01/startup_fail/"><cite>Why your web startup will fail</cite></a>]
</blockquote><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=mPs2zJ.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=mPs2zJ.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=WcWPmb.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=WcWPmb.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=4sLQJZ.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=4sLQJZ.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2009/01/why-your-web-startup-will-fail.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2009/01/why-your-web-startup-will-fail.html</feedburner:origLink></item>
		<item>
		<title>SEO Optimization for Micro ISVs</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/501211476/seo-optimization-for-micro-isvs.html</link>
		<comments>http://lightbody.net/blog/2009/01/seo-optimization-for-micro-isvs.html#comments</comments>
		<pubDate>Fri, 02 Jan 2009 19:55:17 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[BrowserMob]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2009/01/seo-optimization-for-micro-isvs.html</guid>
		<description><![CDATA[I&#8217;m a huge fan of Balsamiq, which also is a self-described &#8220;Micro ISV&#8220;. One of the things they do well is communicate everything they are up to on their blog. Early on I decided I&#8217;d leave the official BrowserMob blog a bit more sparse so that it only had content that my customers cared about. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a huge fan of <a href="http://balsamiq.com">Balsamiq</a>, which also is a self-described &#8220;Micro <span class="caps">ISV</span>&#8220;. One of the things they do well is communicate everything they are up to on their blog. Early on I decided I&#8217;d leave the official <a href="http://blog.browsermob.com">BrowserMob blog</a> a bit more sparse so that it only had <a href="http://blog.browsermob.com/2008/12/new-features-virtual-user-think-time-and-unique-parameterization/">content</a> <a href="http://blog.browsermob.com/2008/12/using-firebug-for-load-testing/">that</a> <a href="http://blog.browsermob.com/2008/12/six-tips-for-web-performance-testing/">my</a> customers cared about. The rest (marketing ideas, business status updates, etc) would be left for this blog. This is one of those posts <img src='http://lightbody.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://brainyatom.com/">A friend of mine</a> let me know that Google <a href="http://www.mattcutts.com/blog/last-toolbar-pagerank-update-of-2008/">recently did a toolbar PageRank update</a>, which is the best place to get a basic idea of where your page rank sits. This got us talking about simple <span class="caps">SEO </span>optimization tricks I could do that wouldn&#8217;t take all my time. This is important for a micro <span class="caps">ISV </span>like my company.</p>
<p>The lists of things I have already done or plan to do for BrowserMob are:</p>
<ul>
  <li>Use H1 tags near the top of the page, matching the <span class="caps">TITLE </span>tags exactly.</li>

  <li>Make page titles unique for all the important pages (pricing, contact, signup, etc).</li>

  <li>Use <span class="caps">META </span>tags for keywords and description. While not super important, they don&#8217;t hurt much either.</li>

  <li>Use important keywords (&#8221;load testing&#8221;, &#8220;performance testing&#8221;, &#8220;Selenium&#8221;, etc) in the page titles.</li>

  <li>Use some of the same keywords in the <span class="caps">URL</span>s themselves (ie: /load-testing-support vs. /contact).</li>
</ul>
<p>These are the basics I can do quickly. Beyond that, the real push towards a higher PageRank will only happen with real work. My first guest post in support of BrowserMob was <a href="http://ajaxian.com/archives/why-load-testing-ajax-is-hard">recently posted</a> on Ajaxian. This drove 10X more traffic and signups to the site when compared to our last peak day.</p>
<p>More importantly, it&#8217;s now one of the most authoritative documents on the search <a href="http://www.google.com/search?client=safari&amp;rls=en-us&amp;q=ajax+load+testing&amp;ie=UTF-8&amp;oe=UTF-8">&#8220;Ajax load testing&#8221;</a>. While it doesn&#8217;t link to my business, it offers credibility that I know what I&#8217;m talking about (btw - awesome to see Dojo masters <a href="http://twitter.com/dylans/status/1088754939">enjoyed</a> the article). It also links to my business, so someone who is really interested in the subject not only learns about it, but now can also choose to check out BrowserMob if they want.</p>
<p>Going forward, my marketing plan will involve a lot of this type of activity. I want to get the word out there that load testing can be easier and more affordable. I&#8217;ll continue writing articles on the BrowserMob blog, but I&#8217;ll also be writing most guest posts on popular sites. I&#8217;ll also be asking industry experts to blog their thoughts on the business, product, and idea on their blog (good or bad).</p>
<p>Hat tip: many of these ideas formulated after I read Balsamiq&#8217;s excellent post on <a href="http://www.balsamiq.com/blog/?p=198">startup marketing advice</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=LQa4FY.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=LQa4FY.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=AaFUxA.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=AaFUxA.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=cvw0nl.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=cvw0nl.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2009/01/seo-optimization-for-micro-isvs.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2009/01/seo-optimization-for-micro-isvs.html</feedburner:origLink></item>
		<item>
		<title>Plans for Selenium in 2009</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/501148694/plans-for-selenium-in-2009.html</link>
		<comments>http://lightbody.net/blog/2009/01/plans-for-selenium-in-2009.html#comments</comments>
		<pubDate>Fri, 02 Jan 2009 18:10:17 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[BrowserMob]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Selenium]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2009/01/plans-for-selenium-in-2009.html</guid>
		<description><![CDATA[I just posted on the BrowserMob blog my thoughts on how 2009 will turn out for the Selenium world. This is in addition to a new blog post on the Selenium blog about our short term plans to get a 1.0 release out.
Please take a look and let us know what you think.]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://blog.browsermob.com/2009/01/plans-for-selenium-in-2009/">just posted</a> on the <a href="http://blog.browsermob.com">BrowserMob blog</a> my thoughts on how 2009 will turn out for the Selenium world. This is in addition to a <a href="http://clearspace.openqa.org/community/selenium/blog/2009/01/02/whats-next-for-selenium">new blog post</a> on the <a href="http://clearspace.openqa.org/community/selenium?view=blog">Selenium blog</a> about our short term plans to get a 1.0 release out.</p>
<p>Please take a look and let us know what you think.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=MEIk9n.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=MEIk9n.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=4LnXv3.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=4LnXv3.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=oLFPOO.P"><img src="http://feeds.feedburner.com/~f/Blogbody?i=oLFPOO.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2009/01/plans-for-selenium-in-2009.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2009/01/plans-for-selenium-in-2009.html</feedburner:origLink></item>
		<item>
		<title>Tip: Compact Logging in Java</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/498000671/tip-compact-logging-in-java.html</link>
		<comments>http://lightbody.net/blog/2008/12/tip-compact-logging-in-java.html#comments</comments>
		<pubDate>Mon, 29 Dec 2008 19:44:04 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[able]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/tip-compact-logging-in-java.html</guid>
		<description><![CDATA[One of the little touches I added to Able, which came from code originally in BrowserMob, was a nice little JDK logging formatter. It is designed to work with modern IDEs (IntelliJ IDEA being my personal favorite) and their ability to understand shorthand notation for classes.
As I was building BrowserMob, I was getting irritated by [...]]]></description>
			<content:encoded><![CDATA[<p>One of the little touches I added to <a href="http://code.google.com/p/able">Able</a>, which came from code originally in <a href="http://browsermob.com">BrowserMob</a>, was a nice little <span class="caps">JDK </span>logging formatter. It is designed to work with modern <span class="caps">IDE</span>s (IntelliJ <span class="caps">IDEA </span>being my personal favorite) and their ability to understand shorthand notation for classes.</p>
<p>As I was building BrowserMob, I was getting irritated by long package and class names as well as the fact that my log messages weren&#8217;t lined up nicely. For example, I&#8217;d get:</p>


<pre>
<code>INFO 12/29 19:26:28 org.directwebremoting.impl.StartupUtil - Starting: DwrGuiceServlet v3.0.0.109.dev
INFO 12/29 19:26:31 com.browsermob.stripes.WelcomeActionBean - Some log message
INFO 12/29 19:26:37 com.browsermob.stripes.WelcomeActionBean - Some log message</code>
</pre>


<p>I tried a simple formatter that truncated the class name, but the result wasn&#8217;t very helpful, since the class name (usually the most important part) would get cut off when the package name was too long:</p>


<pre>
<code>INFO 12/29 19:26:28 org.directwebremotin - Starting: DwrGuiceServlet v3.0.0.109.dev
INFO 12/29 19:26:31 com.browsermob.strip - Some log message
INFO 12/29 19:26:37 com.browsermob.strip - Some log message</code>
</pre>


<p>That was when I realized that often the package name wasn&#8217;t that useful, especially since they were often very predictable and unique even in a compact state. For example, in the past developers I have worked with would often write &#8220;n.s.s.c.StripesFilter&#8221; as a short hand for &#8220;net.sourceforge.stripes.controller.StripesFilter&#8221;. So why not use this for logging too? The result was much easier on the eyes:</p>


<pre>
<code>INFO 12/29 19:26:28 o.d.i.StartupUtil    - Starting: DwrGuiceServlet v3.0.0.109.dev
INFO 12/29 19:26:31 c.b.s.WelcomeAction~ - Some log message
INFO 12/29 19:26:37 c.b.s.WelcomeAction~ - Some log message</code>
</pre>


<p>Basically, the packages would get cut down to the first letter of each sub-package. If the class name pushes the whole thing beyond 20 characters, then a tilde is added to indicate the name is longer than could fit.</p>
<p>The nice thing about this is that it works beautifully with modern <span class="caps">IDE</span>s. I can copy the text &#8220;c.b.s.WelcomeAction&#8221; and locate that string in <span class="caps">IDEA </span>and it&#8217;ll know what I mean:</p>
<p><img src="http://lightbody.net/blog/wp-content/uploads/2008/12/200812291142.jpg" width="480" height="79" alt="200812291142.jpg" /></p>
<p>If you want to use this formatter, you can find the code <a href="http://code.google.com/p/able/source/browse/trunk/able-lib/src/main/java/able/util/StandardFormatter.java">here</a> in the Able source repository. It could probably get some performance improvements, such as some simple memoization, so feel free to send any tweaks you make my way. Do you have any neat tricks you do with logging? If so, please share in the comments!</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=FezEEm.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=FezEEm.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=d4V8et.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=d4V8et.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=cYz3Zv.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=cYz3Zv.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/tip-compact-logging-in-java.html/feed</wfw:commentRss>
	
		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812291142.jpg" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812291142.jpg" medium="image">
			<media:title type="html">200812291142.jpg</media:title>
		</media:content>
	<feedburner:origLink>http://lightbody.net/blog/2008/12/tip-compact-logging-in-java.html</feedburner:origLink></item>
		<item>
		<title>Merb to be Merged in to Rails</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/497957320/merb-to-be-merged-in-to-rails.html</link>
		<comments>http://lightbody.net/blog/2008/12/merb-to-be-merged-in-to-rails.html#comments</comments>
		<pubDate>Mon, 29 Dec 2008 18:39:12 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[merb]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[struts]]></category>

		<category><![CDATA[webwork]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/merb-to-be-merged-in-to-rails.html</guid>
		<description><![CDATA[Very smart move by both the Merb and Rails project leaders:

  Big news in the world of Ruby web frameworks: Merb and Rails will be merged.[From InfoQ: Merb Will Be Merged Into Rails 3.0 ]

I&#8217;ve been telling people for a while that Ruby has been following the Java path at an accelerated pace. Ruby [...]]]></description>
			<content:encoded><![CDATA[<p>Very smart move by both the Merb and Rails project leaders:</p>
<blockquote cite="http://www.infoq.com/news/2008/12/merb-merged-in-rails-30">
  <p>Big news in the world of Ruby web frameworks: Merb and Rails will be merged.</p>[From <a href="http://www.infoq.com/news/2008/12/merb-merged-in-rails-30"><cite>InfoQ: Merb Will Be Merged Into Rails 3.0</cite></a> ]
</blockquote>
<p>I&#8217;ve been telling people for a while that Ruby has been following the Java path at an accelerated pace. Ruby was able to learn from many of the mistakes that Java made, but the overall path seemed very similar.</p>
<p>The split between Merb and Rails was no different than the split between Struts and <span class="caps">XYZ</span> Framework. The <span class="caps">XYZ </span>project leaders explained that they forked off from Merb because they wanted &#8220;more flexibility&#8221; or &#8220;more cowbell&#8221; or whatever. This sounded exactly like me circa 2003 when I was championing WebWork as a better alternative to Struts.<br /></p>
<p>By 2005, some of us in the Java community <a href="http://blogs.opensymphony.com/webwork/2005/11/webwork_joining_struts.html">got a clue</a> and realized that joining forces may be better for the user.</p>
<p>Congratulations to the Ruby community for getting a clue faster than we did the Java community. But please don&#8217;t let it go to your head (*cough*DHH*cough*)&#8230; you have had the benefit of learning from previous pioneers. <img src='http://lightbody.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=Ae5wmZ.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=Ae5wmZ.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=vX65fO.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=vX65fO.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=0AkxxM.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=0AkxxM.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/merb-to-be-merged-in-to-rails.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2008/12/merb-to-be-merged-in-to-rails.html</feedburner:origLink></item>
		<item>
		<title>Tonight: Java and Beer AppFuse and Tapestry tech leads</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/497949395/tonight-java-and-beer-appfuse-and-tapestry-tech-leads.html</link>
		<comments>http://lightbody.net/blog/2008/12/tonight-java-and-beer-appfuse-and-tapestry-tech-leads.html#comments</comments>
		<pubDate>Mon, 29 Dec 2008 18:20:03 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[appfuse]]></category>

		<category><![CDATA[beer]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[rogue]]></category>

		<category><![CDATA[tapestry]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/tonight-java-and-beer-appfuse-and-tapestry-tech-leads.html</guid>
		<description><![CDATA[Reposting Matt&#8217;s blog entry:

  If you live in Portland, Oregon - or just happen to be in town - you might want to join us for some beers and tech talk tomorrow (Monday) night. Patrick Lightbody, Howard Lewis Ship and Matt Raible will be meeting around 6:30PM at the Rogue Distillery &#38; Public House. [...]]]></description>
			<content:encoded><![CDATA[<p>Reposting <a href="http://raibledesigns.com/rd/entry/portland_tech_meetup_tomorrow_night">Matt&#8217;s blog entry</a>:</p>
<blockquote>
  <p>If you live in Portland, Oregon - or just happen to be in town - you might want to join us for some beers and tech talk tomorrow (Monday) night. Patrick Lightbody, Howard Lewis Ship and Matt Raible will be meeting around <strong>6:30PM at the Rogue Distillery &amp; Public House</strong>. With 36 taps and the delicious beer from Rogue Ales, this is sure to be a fun night.</p>

  <p>If you&#8217;re on Facebook, you can let us know you&#8217;re coming by <span class="caps">RSVP&#8217;</span>ing to the Event. Otherwise, please <a href="http://www.facebook.com/event.php?eid=42198451686">leave a comment</a> or just show up.</p>
</blockquote>
<p>There is also a Calagator entry <a href="http://calagator.org/events/1250456285">here</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=j36p9D.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=j36p9D.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=4FxP2x.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=4FxP2x.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=tHPARB.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=tHPARB.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/tonight-java-and-beer-appfuse-and-tapestry-tech-leads.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2008/12/tonight-java-and-beer-appfuse-and-tapestry-tech-leads.html</feedburner:origLink></item>
		<item>
		<title>Tonight: Speaking Portland Java Users Group</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/497949396/tonight-speaking-portland-java-users-group.html</link>
		<comments>http://lightbody.net/blog/2008/12/tonight-speaking-portland-java-users-group.html#comments</comments>
		<pubDate>Tue, 16 Dec 2008 23:27:42 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[able]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[Portland]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/tonight-speaking-portland-java-users-group.html</guid>
		<description><![CDATA[Tonight I will be speaking at the Portland Java User&#8217;s Group in downtown Portland:

  Patrick will present his work on a new open source initiative named Able. Able is a combination of a library and quickstart template that aims to tightly integrate several modern Java frameworks: Hibernate (persistence), Stripes (web framework), Guice (core container), [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight I will be speaking at the <a href="http://www.pjug.org/">Portland Java User&#8217;s Group</a> in downtown Portland:</p>
<blockquote>
  <p>Patrick will present his work on a new open source initiative named Able. Able is a combination of a library and quickstart template that aims to tightly integrate several modern Java frameworks: Hibernate (persistence), Stripes (web framework), Guice (core container), and <span class="caps">DWR </span>(AJAX). By taking advantage of libraries that embrace annotations and generics, Able simplifies Java web development and provides integration at several levels, including validation, transaction handling, and object lifecycle management.</p>
</blockquote>
<p>If you want to do some reading in advance, here are some relevant links:</p>
<ul>
  <li><a href="http://code.google.com/p/able">Able</a></li>

  <li><a href="http://www.hibernate.org">Hibernate</a></li>

  <li><a href="http://www.stripesframework.org">Stripes</a></li>

  <li><a href="http://code.google.com/p/google-guice">Guice</a></li>

  <li><a href="http://directwebremoting.org"><span class="caps">DWR</span></a></li>
</ul><br /><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=yqMp2Z.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=yqMp2Z.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=pcWVea.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=pcWVea.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=lQKDoh.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=lQKDoh.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/tonight-speaking-portland-java-users-group.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2008/12/tonight-speaking-portland-java-users-group.html</feedburner:origLink></item>
		<item>
		<title>Business-readable DSLs</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/497949397/business-readale-dsls.html</link>
		<comments>http://lightbody.net/blog/2008/12/business-readale-dsls.html#comments</comments>
		<pubDate>Tue, 16 Dec 2008 17:56:52 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[DSL]]></category>

		<category><![CDATA[JetBrains]]></category>

		<category><![CDATA[Martin Fowler]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/business-readale-dsls.html</guid>
		<description><![CDATA[I completely agree with Martin Fowler&#8217;s latest post:

  The sweet spot, however is in making DSLs business-readable rather than business-writeable. If business people are able to look at the DSL code and understand it, then we can build a deep and rich communication channel between software development and the underlying domain.[From MF Bliki: BusinessReadableDSL]

We&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>I completely agree with Martin Fowler&#8217;s latest post:</p>
<blockquote cite="http://martinfowler.com/bliki/BusinessReadableDSL.html">
  <p>The sweet spot, however is in making <span class="caps">DSL</span>s business-readable rather than business-writeable. If business people are able to look at the <span class="caps">DSL </span>code and understand it, then we can build a deep and rich communication channel between software development and the underlying domain.</p>[From <a href="http://martinfowler.com/bliki/BusinessReadableDSL.html"><cite>MF Bliki: BusinessReadableDSL</cite></a>]
</blockquote>
<p>We&#8217;re getting close to a point where code can be written in a language that a non-programmer could readily understand. I&#8217;m most excited about <a href="http://www.jetbrains.com/mps/index.html">JetBrains&#8217; Meta Programming System</a>. I think it has the best chance of being the first <span class="caps">IDE </span>that people really understand and can use for exactly the purposes that Martin describes.</p>
<p>Even better? JetBrains <a href="http://www.jetbrains.com/mps/download/index.html?top">released</a> their first beta of <span class="caps">MPS </span>just a few days ago! If you&#8217;re tried it out, please let me know what you think. I&#8217;ve been watching <span class="caps">MPS </span>for a while now and am really excited, but I just don&#8217;t have the time yet to take an in-depth look.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=jxFipW.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=jxFipW.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=YX99Dc.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=YX99Dc.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=vys2J3.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=vys2J3.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/business-readale-dsls.html/feed</wfw:commentRss>
		<feedburner:origLink>http://lightbody.net/blog/2008/12/business-readale-dsls.html</feedburner:origLink></item>
		<item>
		<title>Pictures of my dog</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/497949398/picture-of-my-dog.html</link>
		<comments>http://lightbody.net/blog/2008/12/picture-of-my-dog.html#comments</comments>
		<pubDate>Thu, 04 Dec 2008 16:58:28 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[chewy]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/picture-of-my-dog.html</guid>
		<description><![CDATA[I&#8217;m loving the fact that FriendFeed is now showing pictures in my posts. To celebrate, here&#8217;s some pictures of my dog:









]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m loving the fact that FriendFeed is now showing pictures in my posts. To celebrate, here&#8217;s some pictures of my dog:</p>
<p><br />
<img src="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040856.jpg" width="472" height="639" alt="200812040856.jpg" /></p>
<p><br />
<img src="http://lightbody.net/blog/wp-content/uploads/2008/12/2008120408571.jpg" width="537" height="404" alt="200812040857.jpg" /></p>
<p><br />
<img src="http://lightbody.net/blog/wp-content/uploads/2008/12/2008120408572.jpg" width="535" height="404" alt="200812040857.jpg" /></p>
<p><br />
<img src="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040857.jpg" width="531" height="404" alt="200812040857.jpg" /></p>
<p><br />
<img src="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040858.jpg" width="532" height="402" alt="200812040858.jpg" /></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=09UtD0.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=09UtD0.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=i0ml3k.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=i0ml3k.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=3LaZ1A.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=3LaZ1A.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/picture-of-my-dog.html/feed</wfw:commentRss>
	
		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040856.jpg" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040856.jpg" medium="image">
			<media:title type="html">200812040856.jpg</media:title>
		</media:content>

		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/2008120408571.jpg" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/2008120408571.jpg" medium="image">
			<media:title type="html">200812040857.jpg</media:title>
		</media:content>

		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/2008120408572.jpg" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/2008120408572.jpg" medium="image">
			<media:title type="html">200812040857.jpg</media:title>
		</media:content>

		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040857.jpg" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040857.jpg" medium="image">
			<media:title type="html">200812040857.jpg</media:title>
		</media:content>

		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040858.jpg" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/200812040858.jpg" medium="image">
			<media:title type="html">200812040858.jpg</media:title>
		</media:content>
	<feedburner:origLink>http://lightbody.net/blog/2008/12/picture-of-my-dog.html</feedburner:origLink></item>
		<item>
		<title>Testing FriendFeed-compatible MediaRSS WordPress plugin</title>
		<link>http://feeds.feedburner.com/~r/Blogbody/~3/497949399/testing-friendfeed-compatible-mediarss-wordpress-plugin.html</link>
		<comments>http://lightbody.net/blog/2008/12/testing-friendfeed-compatible-mediarss-wordpress-plugin.html#comments</comments>
		<pubDate>Thu, 04 Dec 2008 03:36:44 +0000</pubDate>
		<dc:creator>plightbo</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[friendfeed]]></category>

		<category><![CDATA[Italy]]></category>

		<category><![CDATA[MediaRSS]]></category>

		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://lightbody.net/blog/2008/12/testing-friendfeed-compatible-mediarss-wordpress-plugin.html</guid>
		<description><![CDATA[Found out that FriendFeed supports showing images in your blog posts as long as your blog emits MediaRSS. This is a test of that feature by using a tweaked version of the MediaRSS plugin for WordPress. It has supposedly been modified to be compatible with FriendFeed.
Here&#8217;s a nice picture of where I stayed during my [...]]]></description>
			<content:encoded><![CDATA[<p>Found out that FriendFeed supports showing images in your blog posts as long as your blog emits MediaRSS. This is a test of that feature by using a tweaked version of the MediaRSS plugin for WordPress. It has supposedly been modified to be compatible with FriendFeed.</p>
<p>Here&#8217;s a nice picture of where I stayed during my first visit to Italy. I hope to take my wife there sometime too. Can you guess what city this is?</p>
<p><br />
<img src="http://lightbody.net/blog/wp-content/uploads/2008/12/rio.png" width="600" height="230" alt="Rio.png" /></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/Blogbody?a=SEvt7A.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=SEvt7A.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=ReDx4e.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=ReDx4e.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/Blogbody?a=G3GLRH.O"><img src="http://feeds.feedburner.com/~f/Blogbody?i=G3GLRH.O" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://lightbody.net/blog/2008/12/testing-friendfeed-compatible-mediarss-wordpress-plugin.html/feed</wfw:commentRss>
	
		<media:thumbnail url="http://lightbody.net/blog/wp-content/uploads/2008/12/rio.png" />
		<media:content url="http://lightbody.net/blog/wp-content/uploads/2008/12/rio.png" medium="image">
			<media:title type="html">Rio.png</media:title>
		</media:content>
	<feedburner:origLink>http://lightbody.net/blog/2008/12/testing-friendfeed-compatible-mediarss-wordpress-plugin.html</feedburner:origLink></item>
	</channel>
</rss>
