<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3493715241915087428</id><updated>2012-02-16T19:59:11.550-08:00</updated><title type='text'>Epic Turley</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-3829742663976830822</id><published>2011-08-17T18:05:00.000-07:00</published><updated>2011-08-17T18:05:51.325-07:00</updated><title type='text'>Putting my personal projects on Subversion</title><content type='html'>Several personal projects, including the ones I've done for job interviews, little tutorials I've made for myself, and the &lt;a href="http://www.ericjturley.com/softwareengineering/MarketAgent.htm"&gt;tool for EvE Online&lt;/a&gt;.&lt;br /&gt;I noticed recently that DreamHost offers free svn hosting, and I just got around to jumping on that. Funny - it just feels SO good to give those projects a proper home. I just don't feel like code is in any stable state until it's in a VCS. :)&lt;br /&gt;Unfortunately, in order to get DreamHost to let me run Atlassian Jira/Greenhopper and Jetbrain's TeamCity, I'd need a Virtual Private Server plan with them so I can run tomcat. I doubt that's worth it at the moment.&lt;br /&gt;Still, it's nice to have a home for my code :)&lt;br /&gt;&lt;br /&gt;Most of it is in private repositories, but I've &lt;a href="http://www.ericjturley.com/publicProjects/EveMarketAgent/trunk/"&gt;exposed MarketAgent&lt;/a&gt;&amp;nbsp;(read-only).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-3829742663976830822?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/3829742663976830822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/08/putting-my-personal-projects-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/3829742663976830822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/3829742663976830822'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/08/putting-my-personal-projects-on.html' title='Putting my personal projects on Subversion'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-131806246397975023</id><published>2011-08-12T15:42:00.000-07:00</published><updated>2011-08-12T15:42:55.497-07:00</updated><title type='text'>The clearest and most complete ReST(ROA) and SOAP(SOA) comparision I've ever seen</title><content type='html'>&lt;div&gt;Of the many clarifying nuggets in this article, I got from it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;ROA &lt;/b&gt;is resource-centric, with the resource specified by the url, and the client specifies the method (GET, PUT, etc) to be called on the resource.&lt;/li&gt;&lt;li&gt;&lt;b&gt;SOA&lt;/b&gt; is service-centric, with the service specified by the url, and the client specifies the resource upon which the service is to be performed.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.infoq.com/articles/RESTSOAFuture"&gt;InfoQ: Is REST the future for SOA?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-131806246397975023?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/131806246397975023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/08/clearest-and-most-complete-restroa-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/131806246397975023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/131806246397975023'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/08/clearest-and-most-complete-restroa-and.html' title='The clearest and most complete ReST(ROA) and SOAP(SOA) comparision I&apos;ve ever seen'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-7160851286004129215</id><published>2011-06-22T07:51:00.000-07:00</published><updated>2011-06-22T07:51:32.927-07:00</updated><title type='text'>From Red Tape to No Tape - Part 2: A Self-evaluation to Recognize Organizational Misalignment with Agile Values</title><content type='html'>&lt;a href="http://www.agilejournal.com/articles/columns/column-articles/6227-from-red-tape-to-no-tape-part-2-a-self-evaluation-to-recognize-organizational-misalignment-with-agile-values"&gt;From Red Tape to No Tape - Part 2: A Self-evaluation to Recognize Organizational Misalignment with Agile Values&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And here's the second part.&lt;/div&gt;&lt;div&gt;Here are a couple of contrasting elements of each company structure:&lt;/div&gt;&lt;div&gt;Bureaucratic                    vs.                      Post Industrial (Agile)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, FreeSans, sans-serif; font-size: 12px; line-height: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;table border="1" cellpadding="2" cellspacing="2" style="width: 482px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="241" style="font-family: Helvetica, Arial, FreeSans, sans-serif; "&gt;&lt;p style="margin-top: 10px; margin-bottom: 15px; "&gt;Hiring is viewed as fulfilling an immediate skill set need.&lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="241" style="font-family: Helvetica, Arial, FreeSans, sans-serif; "&gt;&lt;p style="margin-top: 10px; margin-bottom: 15px; "&gt;Hiring is viewed in the long term with cultural fit and individual contributions outside of skills being considered.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Helvetica, Arial, FreeSans, sans-serif; font-size: 12px; line-height: 15px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;table border="1" cellpadding="2" cellspacing="2" style="width: 482px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="241" style="font-family: Helvetica, Arial, FreeSans, sans-serif; "&gt;&lt;p style="margin-top: 10px; margin-bottom: 15px; "&gt;Language in the meetings focuses on I, me, individual contribution.&lt;/p&gt;&lt;/td&gt;&lt;td valign="top" width="241" style="font-family: Helvetica, Arial, FreeSans, sans-serif; "&gt;&lt;p style="margin-top: 10px; margin-bottom: 15px; "&gt;Language in meetings focuses on team and collective contribution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-7160851286004129215?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.agilejournal.com/articles/columns/column-articles/6227-from-red-tape-to-no-tape-part-2-a-self-evaluation-to-recognize-organizational-misalignment-with-agile-values' title='From Red Tape to No Tape - Part 2: A Self-evaluation to Recognize Organizational Misalignment with Agile Values'/><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/7160851286004129215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/06/from-red-tape-to-no-tape-part-2-self.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/7160851286004129215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/7160851286004129215'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/06/from-red-tape-to-no-tape-part-2-self.html' title='From Red Tape to No Tape - Part 2: A Self-evaluation to Recognize Organizational Misalignment with Agile Values'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-7191418697820334625</id><published>2011-06-01T12:20:00.000-07:00</published><updated>2011-06-01T12:20:44.902-07:00</updated><title type='text'>maven release plugin</title><content type='html'>It's magic, yes, but for the odd piece.&lt;br /&gt;&lt;br /&gt;When I'm ready to send a release candidate to QA, I expect to make a release branch. Mainline development can continue, and if I need to fix a bug QA has found I can make it in the branch and merge it to trunk.&lt;br /&gt;When I think of vcs "tags," I think of some marker that indicates that a release was made from "this revision."&lt;br /&gt;&lt;br /&gt;It seems that the maven release plugin expects that your code is perfect when you've run "mvn release:prepare." For subversion, it creates an "svn copy" in your "tags" directory. While in svn, that's no different from a copy in a directory of any arbitrary name, it, by convention, implies "no further work in this copy."&lt;br /&gt;So that's sort of in conflict with how I want to use it. I want it to make an "svn copy" in my "branches" directory, because I expect I might need to patch it.&lt;br /&gt;&lt;br /&gt;You can set a "tagbase" variable to point to your "branches" directory, but while it (presumably) works if you set it to something arbitrary (say, "mytags"), it doesn't work when you set it to "branches."&lt;br /&gt;&lt;br /&gt;So, I've just "gotten over it," and I'm using "tags" for release candidates that might get modified.&lt;br /&gt;&lt;br /&gt;:(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-7191418697820334625?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/7191418697820334625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/06/maven-release-plugin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/7191418697820334625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/7191418697820334625'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/06/maven-release-plugin.html' title='maven release plugin'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-3884900506399339209</id><published>2011-05-20T13:10:00.000-07:00</published><updated>2011-05-20T13:10:49.037-07:00</updated><title type='text'>From Red Tape to No Tape: Maximizing Agile in Your Organization - Part One</title><content type='html'>&lt;a href="http://www.agilejournal.com/articles/columns/column-articles/6068"&gt;From Red Tape to No Tape: Maximizing Agile in Your Organization - Part One&lt;/a&gt;: "By limiting people’s creative thinking, initiative, and ultimately sense of control over their work, some of the major advantages of agile are quashed;  the ability to push decisions to the level of the organization where the work is (and therefore the most is known about the work) and the ability to use many minds to collaborate in ideas."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-3884900506399339209?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.agilejournal.com/articles/columns/column-articles/6068' title='From Red Tape to No Tape: Maximizing Agile in Your Organization - Part One'/><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/3884900506399339209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/05/from-red-tape-to-no-tape-maximizing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/3884900506399339209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/3884900506399339209'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/05/from-red-tape-to-no-tape-maximizing.html' title='From Red Tape to No Tape: Maximizing Agile in Your Organization - Part One'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-6804853797144167319</id><published>2011-05-16T06:46:00.000-07:00</published><updated>2011-05-17T07:49:59.549-07:00</updated><title type='text'>Don't checkin ToDo</title><content type='html'>That's what I think, anyway.&lt;br /&gt;&lt;br /&gt;ToDo markers generally shouldn't survive a commit.&lt;br /&gt;If you commit code with ToDo markers in them, you're not done with your current, discrete piece of work yet.&lt;br /&gt;Oh! The ToDo notes are for some other piece of work? OK, then I think it's best if they're entered into an issue tracker, and you delete the ToDo. &lt;b&gt;Then&lt;/b&gt; you can check in.&lt;br /&gt;&lt;br /&gt;Because ToDo work gets lost. How many times have you seen some ToDo marker in your code that's been there who knows how many months (years?)? Was it important? Is it still important? Is &lt;b&gt;this&lt;/b&gt; what's been causing that weird bug?&lt;br /&gt;The whole point of an issue tracking system is to make sure the work you want to get done gets done, and nothing else. If you're supposed to do it, it goes in the issue tracker. If it's just an ephemeral indicator of work to be done in this checkin, then ToDo is a perfect reminder.&lt;br /&gt;The best IDEs offer a window in which you can see all your ToDo markers and go wrap them up before you check in. (Or make issues out of them)&lt;br /&gt;&lt;hr /&gt;Edit (May 17):&lt;br /&gt;Intellij Idea just released v10.5. On their "&lt;a href="http://www.jetbrains.com/idea/whatsnew/"&gt;What's new&lt;/a&gt;" page, I see they agree with me:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-F0yYjK0OuoE/TdKJPbk3aTI/AAAAAAAAAGo/Xjol44Qh-qo/s1600/todo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://1.bp.blogspot.com/-F0yYjK0OuoE/TdKJPbk3aTI/AAAAAAAAAGo/Xjol44Qh-qo/s320/todo.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-6804853797144167319?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/6804853797144167319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/05/dont-checkin-todo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/6804853797144167319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/6804853797144167319'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/05/dont-checkin-todo.html' title='Don&apos;t checkin ToDo'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-F0yYjK0OuoE/TdKJPbk3aTI/AAAAAAAAAGo/Xjol44Qh-qo/s72-c/todo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-5102936031244220344</id><published>2011-05-09T18:41:00.001-07:00</published><updated>2011-05-09T18:41:42.327-07:00</updated><title type='text'>Now you're painting with Portals</title><content type='html'>-no spoilers-&lt;br /&gt;You know that one level in Portal 2 where you can spray the white paint everywhere?&lt;br /&gt;I did. Took me about 30 minutes. I don't know why I did that.&lt;br /&gt;Then I watched my wife play. Wordlessly, I watched, and internally giggled as she did the same thing. Why?&lt;br /&gt;It's like, "Oh, I missed a spot. There, that should do it. Ahh... a winter wonderland!"&lt;br /&gt;At some point, we all have to ask ourselves the question, "What area do I *actually* need painted?"&lt;br /&gt;But that question comes much too late, because we avoid it. We pointlessly and happily busy ourselves with the paint, pretending the question doesn't exist, or deciding just to think about it later.&lt;br /&gt;That level truly is some kind of psychological test.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-5102936031244220344?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/5102936031244220344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/05/now-youre-painting-with-portals.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/5102936031244220344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/5102936031244220344'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/05/now-youre-painting-with-portals.html' title='Now you&apos;re painting with Portals'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-824428851028664507</id><published>2011-04-27T08:39:00.000-07:00</published><updated>2011-04-27T08:39:15.376-07:00</updated><title type='text'>That blasted maven target directory</title><content type='html'>[WARN] Slightly thick maven discussion, &lt;span class="Apple-style-span" style="color: red;"&gt;incoming&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Sort of a holdover from when the normal procedure for checking in was to check in everything recursively in your local working copy tree, I just hate it when files that aren't controlled by my VCS/SCM get placed under that directory tree.&lt;br /&gt;So I never do it. I've always made sure that the ant builds I make/use build artifacts OUTside that tree.&lt;br /&gt;And along comes maven.&lt;br /&gt;Come on, guys. What were you thinking?&lt;br /&gt;Well, maybe they were thinking, "Hey, we all use modern IDE's which help partition our SVN checkins into changelists for us, so we don't *have* to checkin everything recursively. And also, we can easily run our status checks while excluding external directories and files we don't want to see."&lt;br /&gt;Oh.&lt;br /&gt;But still! Why not build the product up one directory and make the target directory a peer to your vcs-controlled one?&lt;br /&gt;&lt;br /&gt;Well, it's configurable. You don't *have* to leave it as the default. It's part of the &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;build&amp;gt;&lt;/span&gt; element:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;build&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace; white-space: pre;"&gt;  &amp;lt;directory&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; white-space: pre;"&gt;${project.basedir}/../target&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace; white-space: pre;"&gt;&amp;lt;/directory&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/build&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But I don't like that on my CI build server, because builds of 2 different projects can clobber eachother's target directory (or leave junk in there).&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what I really want is for this to happen only in a developer's environment. And only optionally.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's a few ways to do this, but I chose to use the maven &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;profiles&amp;gt;&lt;/span&gt; in the pom, along with the &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;activeProfiles&amp;gt;&lt;/span&gt; in the developer's settings.xml.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the pom:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;profiles&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;profile&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;id&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dev_environment&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;build&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;directory&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;${project.basedir}/../target&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/directory&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/build&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/profile&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/profiles&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And in the settings.xml:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;activeProfiles&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;activeProfile&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dev_environment&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/activeProfile&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #38761d; font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/activeProfiles&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-824428851028664507?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/824428851028664507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/04/that-blasted-maven-target-directory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/824428851028664507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/824428851028664507'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/04/that-blasted-maven-target-directory.html' title='That blasted maven target directory'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-7659850129771565615</id><published>2011-04-13T09:08:00.000-07:00</published><updated>2011-04-13T09:09:32.402-07:00</updated><title type='text'>Crappy Interview Questions</title><content type='html'>&lt;a href="http://theoatmeal.com/comics/interview_questions"&gt;From The Oatmeal&lt;/a&gt;&amp;nbsp;(Thanks to Daniel Spangler for the shared link)&lt;br /&gt;That was so true. And hilarious.&lt;br /&gt;&lt;br /&gt;In particular, I've personally always hated these two: &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"Why do you want to work here?" - which instantly creates a conflict of interest, and you'll find out nothing useful.&lt;/li&gt;&lt;li&gt;"What's your greatest weakness?" - same reason.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Don't ask questions that create a conflict within the interviewee. Sheesh.&amp;nbsp;Instead, just engage them in a dialog so you can hear how they think and communicate.&lt;br /&gt;You really want to know what it's like to work with this person, so ideally, if you could arrange to work on a small problem on the board (or actually program it!) together (rather than watching them pseudo-implement your requirements), that would give you the best idea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-7659850129771565615?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/7659850129771565615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/04/crappy-interview-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/7659850129771565615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/7659850129771565615'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/04/crappy-interview-questions.html' title='Crappy Interview Questions'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-2251240254345712514</id><published>2011-04-06T08:33:00.000-07:00</published><updated>2011-04-06T08:34:32.811-07:00</updated><title type='text'>Engineering quote</title><content type='html'>&lt;blockquote&gt;Engineering: you're finished not when there's nothing more to add, but when there's nothing more to take away&lt;/blockquote&gt;&lt;br /&gt;... unless you're doing &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;Test-driven development&lt;/a&gt;, of course.&lt;br /&gt;That seems to have flipped that all around.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-2251240254345712514?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/2251240254345712514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/04/engineering-quote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/2251240254345712514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/2251240254345712514'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/04/engineering-quote.html' title='Engineering quote'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3493715241915087428.post-398923062614995878</id><published>2011-03-30T11:15:00.000-07:00</published><updated>2011-03-30T11:18:08.689-07:00</updated><title type='text'>4 reasons Agile Story Points &gt; Hours</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;Velocity&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;Normal velocity = d/t. Wouldn't make much sense to measure distance in hours. You'd get t/t.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;You need a measurement of work (which corresponds to the measurement of distance) to divide by time and get a measurement of Work per Time. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;Time estimates are relative (to the engineer)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Measurement of work is empirical. Doesn't matter who's doing it.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;It's a measure of the work to be done, not the time it takes to complete.&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;When estimates go bad&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;If you've been estimating Stories in hours,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;the response to underestimating is too often:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Work more hours (which increases the numerator in the t/t ratio, right?), or&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Work faster (which decreases the denominator in the t/t ratio, right?)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;If you're properly estimating by Story points, the response is:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Adjusting your&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;estimates or&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Adjust your velocity.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;The net result of all this is the subtle creation of the assumption that the engineers are in fact motivated and talented to work to their capacity without strict oversight. The option to mandate more work in order to correct team product output is quietly removed. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;Story points are the only work type that is measured in story points. S&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: small;"&gt;tory points are also, not coincidentally, the only unit which is counted as progress toward project completion. Since, as an agile team, we agree to deliver a functional product, rather than to work a set number of hours, the amount of time we work is of no relevance. It doesn't count to project completion. But story points measure the amount of functionality added to the project.&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;My measuring stories in points, and other issues in hours, you ensure that those other issues (like bugs, or improvements) do *&lt;b&gt;not&lt;/b&gt;* count toward project completion.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;This is critical in calculating your velocity. If you spend half your iteration fixing bugs introduced from the previous iteration, you will have only the remaining time to work on stories. This will reflect in your velocity, and you will therefore be correctly informed that your poor quality is affecting your forward progress.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;By contrast, a team which writes quality code the first time (and therefore does not use up their time with bugs) will have more time to add forward progress (story points) to the project.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3493715241915087428-398923062614995878?l=ericjturley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ericjturley.blogspot.com/feeds/398923062614995878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ericjturley.blogspot.com/2011/03/4-reasons-story-points-hours.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/398923062614995878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3493715241915087428/posts/default/398923062614995878'/><link rel='alternate' type='text/html' href='http://ericjturley.blogspot.com/2011/03/4-reasons-story-points-hours.html' title='4 reasons Agile Story Points &gt; Hours'/><author><name>Eric J Turley</name><uri>http://www.blogger.com/profile/14632241220223708334</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
