<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>MichaelMinella.com</title>
	<link>http://www.michaelminella.com/components/com_mojo</link>
	<description>Michael's notes on development as he does it.</description>
	<pubDate>Wed, 24 Jun 2009 15:34:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Michaelminellacom" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Apache Struts 2 Web Application Development is out!</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/0xOc1Ts1cuU/50.html</link>
		<comments>http://www.michaelminella.com/blog/50.html#comments</comments>
		<pubDate>Wed, 24 Jun 2009 15:33:51 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=63</guid>
		<description><![CDATA[I am pleased to announce that the book I was a reviewer for, Apache Struts 2 Web Application Development by Dave Newton is finally out!  It is available on amazon here: http://www.amazon.com.  Published by Packt Publishing, it is a good overview of the Struts 2 web framework.  One thing that Dave did [...]]]></description>
			<content:encoded><![CDATA[	<p><img src="./images/contentImages/struts2.jpg" alt="Struts 2" style="float:left;"/>I am pleased to announce that the book I was a reviewer for, Apache Struts 2 Web Application Development by Dave Newton is finally out!  It is available on amazon here: <a href="http://tinyurl.com/koq3n6">http://www.amazon.com</a>.  Published by <a href="http://www.packtpub.com/">Packt Publishing</a>, it is a good overview of the Struts 2 web framework.  One thing that Dave did better than any author of other web framework books I&#8217;ve read is the coverage of JavaScript.  He covers JavaScript very thuroughly.  Not only covering what the framework provides (which actually isn&#8217;t much) but core JavaScript concepts and jQuery.  Overall, this is a solid Struts 2 book with the advantage of being a good JavaScript book.  I encourage you to check it out!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/jqd_8bVQ5zSOsG7REbkuClLiYoM/0/da"><img src="http://feedads.g.doubleclick.net/~a/jqd_8bVQ5zSOsG7REbkuClLiYoM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jqd_8bVQ5zSOsG7REbkuClLiYoM/1/da"><img src="http://feedads.g.doubleclick.net/~a/jqd_8bVQ5zSOsG7REbkuClLiYoM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=63</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/50.html</feedburner:origLink></item>
		<item>
		<title>Java Classpath Debugging with verbose Arguement</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/nW32E85zezg/49.html</link>
		<comments>http://www.michaelminella.com/blog/49.html#comments</comments>
		<pubDate>Sat, 16 May 2009 03:24:25 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=60</guid>
		<description><![CDATA[Today I came across a useful tidbit for debugging classpaths.  A little background:  I was attempting to write a unit test using the PowerMock framework to mock a static method.  When I went to execute the test, I received an exception that I had two versions of org.apache.commons.logging.Log in my classpath.  [...]]]></description>
			<content:encoded><![CDATA[<p>Today I came across a useful tidbit for debugging classpaths.  A little background:  I was attempting to write a unit test using the <a href="http://code.google.com/p/powermock/">PowerMock</a> framework to mock a static method.  When I went to execute the test, I received an exception that I had two versions of org.apache.commons.logging.Log in my classpath.  Looking over my classpath, it&#8217;s no wonder.  Like most projects, the list of libraries in this project reads more like a history of the project than what it actually uses.  Multiple copies of the same jar file&#8230;multiple verisions of the same libraries&#8230;just a mess (don&#8217;t get me started on dependency management&#8230;that&#8217;s a topic for another day).</p>
<p>So with the help of Google I discovered the <code>-verbose:class</code> JVM parameter.  Ever wonder what classes are being loaded in your JVM?  Ever wonder who is loading that mysterious class?  This is the parameter for you.  This option outputs a list of classes loaded and from where.  In my case, <a href="http://code.google.com/p/powermock/">PowerMock</a> was loading Log and so was a copy of the commons-logging jar file I had in my project.  What are some debugging tips you&#8217;ve used in the past that may not be every day knowledge?  Leave it in the comments!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/E7MAq_fiHsawgThQw_5RtvwnRb0/0/da"><img src="http://feedads.g.doubleclick.net/~a/E7MAq_fiHsawgThQw_5RtvwnRb0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/E7MAq_fiHsawgThQw_5RtvwnRb0/1/da"><img src="http://feedads.g.doubleclick.net/~a/E7MAq_fiHsawgThQw_5RtvwnRb0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=60</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/49.html</feedburner:origLink></item>
		<item>
		<title>Paired Programming…automating human tasks.</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/UMWlFl7oKHk/48.html</link>
		<comments>http://www.michaelminella.com/blog/48.html#comments</comments>
		<pubDate>Tue, 28 Apr 2009 20:50:32 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=41</guid>
		<description><![CDATA[I miss pairing (or the practice of paired programming).  Those who have never tried paired programming commonly look at the practice as a waste of resources.  Two people doing the work of one&#8230;or so it seems.  However, there are so many things that pairing brings to the table.  One of those [...]]]></description>
			<content:encoded><![CDATA[<p>I miss pairing (or the practice of paired programming).  Those who have never tried paired programming commonly look at the practice as a waste of resources.  Two people doing the work of one&#8230;or so it seems.  However, there are so many things that pairing brings to the table.  One of those is that when you pair program, things you would have to do anyways just happen.  They get automated automatically (pun kind of intended).  So let&#8217;s take a look at paired programming as a way to automate things you are going to do anyways (or prevent from happening).</p>
<ul>
<li><em>Automating of issue solving.</em><br/><br />
As technologists, we face scenarios on a regular basis where we have to work through something that we haven&#8217;t done before, haven&#8217;t done in a while or just aren&#8217;t sure what the best way to do it is.  When this occurs, our productivity can come to a crawl as we research the solution.  With two developers, the likely hood that: a) one of the devs knows the answer or b) they can research the answer quicker cuts down on the time spent churning on a single issue.<br/><br/>
</li>
<li><em>Knowledge transfer automation.</em><br/><br />
This is related to the item above.  When you work side by side with someone, you learn together.  If one person knows something, they teach the other and vice versa.  By rotating pairs, this transfer of knowledge happens automatically across your team.  This limits the creation of SMEs and prevents bottle necks that occur when only one person knows a particular technology or part of the system.<br/><br/>
</li>
<li><em>Automatic distraction repellant.</em><br/><br />
When was the last time you were working in your cube and someone walked up just to talk?  Unfortunately, (although no one will admit it) this happens way to often in the business world.  This painful disruption of thought as well as the time taken away from development is a huge drain on productivity.  However, when two or more people are already working together, people become less likely to interrupt.  Those casual &#8220;Hey, did you catch the game last night?&#8221; conversations seem to just go away.  People, by nature, are less likely to interrupt a pair of developers working than just a single developer.  Just another place where there is power in numbers.
</li>
</ul>
<p>So how about it?  On paper this makes sense.  Those who have tried it seem to agree.  However, why is it that this practice seems about as likely to go mainstream as cutting overtime (which many studies have proven actually makes developers less productive&#8230;a topic for a different day)?  What are your experiences with paired programming?  What&#8217;s good, what&#8217;s bad?  Share your thoughts in the comments!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/KqT_LhuVjBR50WC-55LWvn4AsAg/0/da"><img src="http://feedads.g.doubleclick.net/~a/KqT_LhuVjBR50WC-55LWvn4AsAg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KqT_LhuVjBR50WC-55LWvn4AsAg/1/da"><img src="http://feedads.g.doubleclick.net/~a/KqT_LhuVjBR50WC-55LWvn4AsAg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=41</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/48.html</feedburner:origLink></item>
		<item>
		<title>Prototype’s Element.insert</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/AOAXyAFjRuU/47.html</link>
		<comments>http://www.michaelminella.com/blog/47.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 21:52:20 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=58</guid>
		<description><![CDATA[So today I was working on a small item that I figured would be pretty straight forward&#8230;until I went to Prototype&#8217;s documentation.  I want to say that overall, I really like Prototype&#8217;s doc site.  Overall, it is laid out well and 95% of the time has exactly what I need.  Unfortunately, this [...]]]></description>
			<content:encoded><![CDATA[<p>So today I was working on a small item that I figured would be pretty straight forward&#8230;until I went to Prototype&#8217;s documentation.  I want to say that overall, I really like Prototype&#8217;s doc site.  Overall, it is laid out well and 95% of the time has exactly what I need.  Unfortunately, this is one time where it didn&#8217;t.  I wanted to implement a simple select box with two arrow buttons next to it (up and down).  The goal was to allow users to order the options in the select box.  Below is the code I was using for moving an element up (down was similar):</p>
<pre>
function upOption() {
  if(!clicked) {
    clicked = true;
    options = $('selectId').childElements();

    for(var i = 0; i < options.length;) {
      element = options[i];
      if(element.selected &#038;&#038; (i - 1) >= 0 ) {
        options[i].remove();
        options.splice(i, 1);
        Element.insert(options[i - 1], {before: element});
      }

      i++;
    }
    clicked = false;
  }
};
</pre>
<p>Where I got stuck was on the Element.insert.  The documentation (as found <a href="http://www.prototypejs.org/api/element/insert">here</a>) states that &#8220;Inserts content before, after, at the top of, or at the bottom of element, as specified by the position property of the second argument. If the second argument is the content itself, insert will append it to element.&#8221;.  What does that mean?!?!</p>
<p>I&#8217;ll tell you what it means.  Element.insert takes two parameters, the element to insert the new content ajacent to and one of the following:</p>
<ul>
<li>The content to be inserted</li>
<li>A Hash with a single key that dictates where to put the content with the content as the value</li>
</ul>
<p>The example above is an example of the option with the hash.  What this does is it takes <code>options[i - 1]</code> and places <code>element</code> into the DOM as the first sibling above <code>options[i - 1]</code>.  What each option does is as follows:</p>
<ul>
<li>before: Places the element as the first sibling before the identified element in the DOM</li>
<li>after: Places the element as the first sibling after the identified element in the DOM</li>
<li>top: Places the element as the first child under the identified element in the DOM</li>
<li>bottom: Places the element as the last child under the identified element in the DOM</li>
</ul>
<p>If we use the example <code>Element.insert($('myList'), {XXX: new Element('p')});</code>, the new p element would show up in the corresponding place:</p>
<pre>
&lt;div id="container"&gt;
     <b>before</b>
     &lt;ul id=&#8221;myList&#8221;&gt;
          <b>top</b>
          &lt;li&gt;element 1&lt;/li&gt;
          &lt;li&gt;element 2&lt;/li&gt;
          &lt;li&gt;element 3&lt;/li&gt;
          <b>bottom</b>
     &lt;/ul&gt;
     <b>after</b>
&lt;/div&gt;
</pre>
<p>So there you have it.  Please feel free to point out any optimizations I could do in my method.  One I already know about but was unable to get working was removing the line <code>element = options[i];</code> and just use the element returned from the <code>remove()</code> function.  Unfortunately, I was unable to get that to work (as tested in IE7).  As always, I look forward to the comments!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Lx5NmiNeTsz86h5qVQKIyzMqU3A/0/da"><img src="http://feedads.g.doubleclick.net/~a/Lx5NmiNeTsz86h5qVQKIyzMqU3A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Lx5NmiNeTsz86h5qVQKIyzMqU3A/1/da"><img src="http://feedads.g.doubleclick.net/~a/Lx5NmiNeTsz86h5qVQKIyzMqU3A/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=58</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/47.html</feedburner:origLink></item>
		<item>
		<title>Thanks to Joseph Hirn and Partial Mocks</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/ujCQFqyqOWg/46.html</link>
		<comments>http://www.michaelminella.com/blog/46.html#comments</comments>
		<pubDate>Wed, 25 Feb 2009 19:23:40 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=56</guid>
		<description><![CDATA[I just came from a brown bag session given by Joseph Hirn on unit testing.  He did an excellent job covering unit testing concepts as well as some great tools/tricks.  One that he pointed out that I think I will dive into on this site is the concept of Partial Mocks.
Partial Mocks are [...]]]></description>
			<content:encoded><![CDATA[<p>I just came from a brown bag session given by Joseph Hirn on unit testing.  He did an excellent job covering unit testing concepts as well as some great tools/tricks.  One that he pointed out that I think I will dive into on this site is the concept of Partial Mocks.</p>
<p>Partial Mocks are concept provided by EasyMock&#8217;s Class Extension package.  They allow for the mocking of a method over an entire class.  A tutorial coming soon.</p>
<p>Once again, I&#8217;d like to say great job to Joe and thanks for the free advertising <img src='http://www.michaelminella.com/components/com_mojo/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/5CzC2QA8K1Hum7FGCRwDU_kDMzs/0/da"><img src="http://feedads.g.doubleclick.net/~a/5CzC2QA8K1Hum7FGCRwDU_kDMzs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5CzC2QA8K1Hum7FGCRwDU_kDMzs/1/da"><img src="http://feedads.g.doubleclick.net/~a/5CzC2QA8K1Hum7FGCRwDU_kDMzs/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=56</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/46.html</feedburner:origLink></item>
		<item>
		<title>A sound backup strategy.  Is that so hard?</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/6K7jwPfZPLg/45.html</link>
		<comments>http://www.michaelminella.com/blog/45.html#comments</comments>
		<pubDate>Fri, 20 Feb 2009 18:53:14 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=55</guid>
		<description><![CDATA[Ok, I&#8217;m confused.  This is 2009, correct?  The web is 19 years old.  Why do companies go into production at this point in time without ANY form of tested data backup plan?  I&#8217;ve seen two reports since the first of the year of companies folding due to the complete loss of [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, I&#8217;m confused.  This is 2009, correct?  The web is 19 years old.  Why do companies go into production at this point in time without ANY form of tested data backup plan?  I&#8217;ve seen two reports since the first of the year of companies folding due to the complete loss of all user data.  </p>
<p>The first was the blogging platform Journalspace in January (they have since been picked up by a new owner&#8230;hopefully they have heard of off site backups).  Journalspace was using RAID as their backup.  The thought was that if one drive fails, we have a copy on drive two, so all will be good.  Fine in theory&#8230;if the only failure that occurs is a hardware one.  In Journalspace&#8217;s case, the data was wiped via software.  If you delete a file on purpose from drive one, it will be deleted as well from drive two.  A backup strategy, RAID is not.</p>
<p>Now we have the social bookmarking site Ma.gnolia.  Today they announced that their attempts to recover from a database server crash have been unsuccessful and all data has been lost.  In this case, instead of not having a backup strategy at all, they just had one that didn&#8217;t work.  I would now consider them poster children for testing your backup strategies.</p>
<p>Am I missing something?  As a user of services like these, these should serve as examples of why you shouldn&#8217;t trust your service providers and do your own backups.  Backup your WordPress or Blogger blogs.  Backup your del.icio.us and digg links.  What methods do you use to backup data that service providers store for you?  Let us know in the comments!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/fusnRTtVp43lVZvP07aWjIJOn58/0/da"><img src="http://feedads.g.doubleclick.net/~a/fusnRTtVp43lVZvP07aWjIJOn58/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fusnRTtVp43lVZvP07aWjIJOn58/1/da"><img src="http://feedads.g.doubleclick.net/~a/fusnRTtVp43lVZvP07aWjIJOn58/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=55</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/45.html</feedburner:origLink></item>
		<item>
		<title>A great saying for how to live…</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/sSNj9-LdS58/44.html</link>
		<comments>http://www.michaelminella.com/blog/44.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:54:30 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=53</guid>
		<description><![CDATA[I am a lucky guy.  I&#8217;ll be the first to admit it.  Regardless of the situation I&#8217;m in, no matter how bad it seems, things tend to fall my way.  My mother says:
&#8220;Michael can fall in a pile of sh!t and come out smelling like a rose&#8221;
And it&#8217;s true.  However, I [...]]]></description>
			<content:encoded><![CDATA[<p>I am a lucky guy.  I&#8217;ll be the first to admit it.  Regardless of the situation I&#8217;m in, no matter how bad it seems, things tend to fall my way.  My mother says:</p>
<p>&#8220;Michael can fall in a pile of sh!t and come out smelling like a rose&#8221;</p>
<p>And it&#8217;s true.  However, I came across a saying today (an old co-worker of mine had it in his gmail profile) that really fits why I believe that things tend to fall my way.  After some research, I believe it was said by John Wooden (a famous college basketball coach):</p>
<p>&#8220;Things turn out best for the people who make the best out of how things turn out&#8221;</p>
<p>I&#8217;m a big believer in that you make your own luck in life.  If you set things up well, they will fall your way.  This really has nothing directly to do with technology, but as more of a life principal.  </p>
<p>When things don&#8217;t go your way, do you tend to blame yourself or look at external sources?  You are the one variable you can always control.  When you can control the outcome of situations by controlling yourself, you suddenly become a lucky person.</p>
<p>Share your thoughts in the comments!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/HJcPgaCKRIAChA74SF574J4044c/0/da"><img src="http://feedads.g.doubleclick.net/~a/HJcPgaCKRIAChA74SF574J4044c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HJcPgaCKRIAChA74SF574J4044c/1/da"><img src="http://feedads.g.doubleclick.net/~a/HJcPgaCKRIAChA74SF574J4044c/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=53</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/44.html</feedburner:origLink></item>
		<item>
		<title>New Tutorial on EasyMock’s MockControls</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/_SGit_jPqX0/43.html</link>
		<comments>http://www.michaelminella.com/blog/43.html#comments</comments>
		<pubDate>Fri, 30 Jan 2009 04:14:04 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=32</guid>
		<description><![CDATA[Most people who have used EasyMock before are familiar with the types of mock objects. There is the basic mock object, created with EasyMock.createMock(MyInterface.class);. There is the strict mock that validates both the method calls and the order they occur. Finally there is the nice mock which returns a basic default (false, 0 or null) [...]]]></description>
			<content:encoded><![CDATA[<p>Most people who have used EasyMock before are familiar with the types of mock objects. There is the basic mock object, created with <code>EasyMock.createMock(MyInterface.class);</code>. There is the strict mock that validates both the method calls and the order they occur. Finally there is the nice mock which returns a basic default (false, 0 or null) if an unexpected method call occurs. However, most developers I have come across don&#8217;t use mock controls much. Today we change that!  My new tutorial will introduce you to the concepts of mock controls and show you an example of where your unit testing without them may not be as safe as you think.  You can check out the new tutorial here: <a href="http://www.michaelminella.com/testing/mock-controls-with-easymock.html">http://www.michaelminella.com/testing/mock-controls-with-easymock.html</a>
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/5vA9GZGWZcIE0hp8VOikRn2Yeu8/0/da"><img src="http://feedads.g.doubleclick.net/~a/5vA9GZGWZcIE0hp8VOikRn2Yeu8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5vA9GZGWZcIE0hp8VOikRn2Yeu8/1/da"><img src="http://feedads.g.doubleclick.net/~a/5vA9GZGWZcIE0hp8VOikRn2Yeu8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=32</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/43.html</feedburner:origLink></item>
		<item>
		<title>Thanks And A New Year</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/J-paZSgim2Y/42.html</link>
		<comments>http://www.michaelminella.com/blog/42.html#comments</comments>
		<pubDate>Tue, 23 Dec 2008 20:58:08 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=52</guid>
		<description><![CDATA[I wanted to take a minute during the hustle and bustle of the holidays to say thanks to everyone in cyberspace.  Although I have been a web developer for over seven years, this is the first year that I actually took the time to put something out on the net that I could call [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to take a minute during the hustle and bustle of the holidays to say thanks to everyone in cyberspace.  Although I have been a web developer for over seven years, this is the first year that I actually took the time to put something out on the net that I could call my own.  It is my goal to provide tidbits and knowledge to those who happen by my site that should make their development a bit more smooth.  From the feedback I have received I think I am on track.  But I need to thank you for both following and supporting what I have put together here.  Your feedback is both invaluable for my growth as a content developer and as support for the time and effort that goes into putting together a site like this.  Thank you.</p>
<p>With that being said, it&#8217;s also time to start looking forward to next year.  This past year I launched the site, developed tutorials on <a href="http://www.junit.org/">JUnit</a>, <a href="http://testng.org/doc/">TestNG</a>, <a href="http://www.easymock.org/">EasyMock</a>, <a href="https://jmockit.dev.java.net/">jmockit</a>, <a href="http://www.prototypejs.org/">Prototype</a> and <a href="http://script.aculo.us/">script.aculo.us</a>.  What are some areas that you want to learn more about?  Should I go more in depth into some of the above topics?  Are there topics in the web/java space that you would like to see me cover?  I have created a survey to gather some input.  Let me know what you think by taking it here:<br />
<a href="http://www.polldaddy.com/s/B95364862BAB9815/">View Survey</a>.</p>
<p><script language="javascript" type="text/javascript"><br />
var PDF_surveyID = &#8216;B95364862BAB9815&#8242;;<br />
 var PDF_openText = &#8216;View Survey&#8217;;<br />
</script><br />
<script type="text/javascript" language="javascript" src="http://www.polldaddy.com/s.js"></script><br />
<noscript><a href="http://www.polldaddy.com/s/B95364862BAB9815/">View Survey</a></noscript></p>
<p>Thanks again for all your encouragement and ideas.  I&#8217;m really looking forward to an exciting 2009!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/22UJf7jn-t5K00-XgqVztYQ_sEo/0/da"><img src="http://feedads.g.doubleclick.net/~a/22UJf7jn-t5K00-XgqVztYQ_sEo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/22UJf7jn-t5K00-XgqVztYQ_sEo/1/da"><img src="http://feedads.g.doubleclick.net/~a/22UJf7jn-t5K00-XgqVztYQ_sEo/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=52</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/42.html</feedburner:origLink></item>
		<item>
		<title>Personal Development Environments</title>
		<link>http://feedproxy.google.com/~r/Michaelminellacom/~3/SKuUHOauFa4/41.html</link>
		<comments>http://www.michaelminella.com/blog/41.html#comments</comments>
		<pubDate>Tue, 02 Dec 2008 17:40:02 +0000</pubDate>
		<dc:creator>mminella</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">/?p=51</guid>
		<description><![CDATA[We all know that source control, effective build scripts and continuous integration (CI) are all vital to a successful project at work.  However, what about personal projects?  You know the ones&#8230;that website you built for Uncle Bob&#8217;s starting business or the application you developed when you were playing with Groovy.  Most of [...]]]></description>
			<content:encoded><![CDATA[<p>We all know that source control, effective build scripts and continuous integration (CI) are all vital to a successful project at work.  However, what about personal projects?  You know the ones&#8230;that website you built for Uncle Bob&#8217;s starting business or the application you developed when you were playing with Groovy.  Most of these projects begin as nothing more than a right click in our favorite IDE, creating a new project and starting to code.  However, I am curious if anyone has a more robust system for their personal (or not yet public) development.  If for no other reason, what if one of your projects sparks something that becomes bigger than what was envisioned at the outset and you want to make that your new business.  Migrating to source control can be difficult at best and that would only be the beginning of issues.</p>
<p>So I ask you, readers, what do you use for your development environment?  Do you use source control?  If so, do you host it or is it hosted by someone?  Build scripts, yes or no?  CI?  Let us know in the comments!
</p>

<p><a href="http://feedads.g.doubleclick.net/~a/aJFjYNW4-g8OkQ7jnzyWCwSIPZ8/0/da"><img src="http://feedads.g.doubleclick.net/~a/aJFjYNW4-g8OkQ7jnzyWCwSIPZ8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aJFjYNW4-g8OkQ7jnzyWCwSIPZ8/1/da"><img src="http://feedads.g.doubleclick.net/~a/aJFjYNW4-g8OkQ7jnzyWCwSIPZ8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.michaelminella.com/components/com_mojo/wp-feed.php?feed=rss2&amp;p=51</wfw:commentRss>
		<feedburner:origLink>http://www.michaelminella.com/blog/41.html</feedburner:origLink></item>
	</channel>
</rss>
