<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java Thinking &#187; Software Development</title>
	<atom:link href="http://www.javathinking.com/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javathinking.com</link>
	<description>Java and software development related thoughts</description>
	<lastBuildDate>Thu, 02 Feb 2012 12:16:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>On to some exciting stuff</title>
		<link>http://www.javathinking.com/2011/10/on-to-some-exciting-stuff/</link>
		<comments>http://www.javathinking.com/2011/10/on-to-some-exciting-stuff/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 11:17:05 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[ddd]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[wakaleo]]></category>

		<guid isPermaLink="false">http://www.javathinking.com/?p=592</guid>
		<description><![CDATA[I went to a Agile Sydney meetup recently &#8211; &#8220;Automated web tests as a team communication tool&#8221; &#8211; by John Smart of Wakaleo Consulting. It was great stuff, and the presentation is now online.
There is a  nice story here in that the project feature set is documented via
easily readable and executable tests, and the [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I went to a <a href="http://www.meetup.com/Agile-Sydney/events/25570671/">Agile Sydney meetup</a> recently &#8211; &#8220;Automated web tests as a team communication tool&#8221; &#8211; by John Smart of <a href="http://www.wakaleo.com/">Wakaleo Consulting</a>. It was great stuff, and the presentation is now <a href="http://www.slideshare.net/wakaleo/completing-the-circle-automated-web-tests-as-a-team-communication-tool">online</a>.</p>
<p>There is a  nice story here in that the project feature set is documented via<br />
easily readable and executable tests, and the reporting shows which features are<br />
implemented and which aren&#8217;t.</p>
<p>More information on the the Thucydides tool he references can be found at:</p>
<ul>
<li><a href="https://github.com/thucydides-webtests/thucydides/wiki">https://github.com/thucydides-webtests/thucydides/wiki</a></li>
</ul>
<p>While reading that presentation online, I found more gold here in some of his other presentations:</p>
<ul>
<li><a href="http://www.slideshare.net/wakaleo/junit-kung-fu-getting-more-out-of-your-unit-tests">JUnit Kung Fu: Getting More Out of Your Unit Tests</a></li>
<li><a href="http://www.slideshare.net/wakaleo/introduction-toddd">Introduction to Domain Driven Design</a></li>
</ul>
<p>They are a great read and are great pointers in the right direction to improve your software development.</p>
<p>(If you haven&#8217;t seen them before, check out <a href="http://www.wakaleo.com/training">Wakaleo&#8217;s training courses</a>. I haven&#8217;t been on them, but based on the course content, they look to be the most relevant courses I&#8217;ve come across)</p>
<p>The last couple of projects I&#8217;ve been on I&#8217;ve been frustrated by a few things about the code base that I couldn&#8217;t quite put my finger on, and the DDD presentation hit a nerve.</p>
<p>I searched around for more about DDD and found some more excellent resources:</p>
<ul>
<li><a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">Domain driven design quickly</a></li>
<li><a href="http://dddsample.sourceforge.net/index.html">DDD sample application</a></li>
<li><a href="http://sourceforge.net/projects/timeandmoney/">Time and Money</a></li>
</ul>
<p>I still have to absorb all of this material and try it out but I can instantly recognise that it addresses some if not most of the code problems that have frustrated me.</p>
<p>So, exciting times are ahead. Its always refreshing to find new tricks and efficient ways of improving software development!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javathinking.com/2011/10/on-to-some-exciting-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viewing server log files</title>
		<link>http://www.javathinking.com/2011/04/viewing-server-log-files/</link>
		<comments>http://www.javathinking.com/2011/04/viewing-server-log-files/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 03:05:18 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[tail]]></category>
		<category><![CDATA[vsconsole]]></category>

		<guid isPermaLink="false">http://www.javathinking.com/?p=505</guid>
		<description><![CDATA[I think viewing server logs has always been more difficult than it should have been for me. 
For example, when I&#8217;m developing and debugging applications deployed to the dev and test servers, if you want to see the various log files involved it requires:

Logging in to the server (if you have an account)
Finding the log [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I think viewing server logs has always been more difficult than it should have been for me. </p>
<p>For example, when I&#8217;m developing and debugging applications deployed to the dev and test servers, if you want to see the various log files involved it requires:</p>
<ul>
<li>Logging in to the server (if you have an account)</li>
<li>Finding the log files (if you remember where they are and have permissions to read them)</li>
<li>Tailing in a console</li>
</ul>
<p>Some places its not trivial to get accounts and permissions &#8211; but anyway, the point is it takes more time than its worth to find that log file and see whats going on.</p>
<p>To make it easier, I created vsConsole &#8211; a java (grails) based web application that polls agents on the servers &#8211; so with a couple of clicks you can be tailing your favourite log file on your dev/test server.</p>
<p>It works well for our testers that I work with on my day job &#8211; it saves them the hassle of ssh and unix accounts and permissions. The convenience of a browser based application is in their opinion worthwhile and they get real value from it.</p>
<p>You can see it in action here:</p>
<ul>
<li> <a rel="nofollow" href="http://demo.vamonossoftware.com/vsconsole/logFile/list/1" target="blank">http://demo.vamonossoftware.com/vsconsole/logFile/list/1</a></li>
</ul>
<p>Select a file and when the page loads, you can toggle tailing by clicking the &#8220;Start/Stop tailing&#8221; button &#8211; and you&#8217;ll see updates file gets appended to.</p>
<p>For more information, see</p>
<ul>
<li><a href="http://demo.vamonossoftware.com/" target="blank">http://demo.vamonossoftware.com/</a></li>
<li><a href="http://www.vamonossoftware.com/products/vsconsole" target="blank">http://www.vamonossoftware.com/products/vsconsole</a></li>
<li><a href="http://www.vamonossoftware.com/docs/" target="blank">http://www.vamonossoftware.com/docs/</a></li>
</ul>
<p>You can download it and try for yourself &#8211; it works best with Tomcat and Chrome.</p>
<p>I&#8217;d appreciate feedback &#8211; I&#8217;m considering building version 2 with a desktop like UI and other features if there is any interest.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javathinking.com/2011/04/viewing-server-log-files/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ohloh.net</title>
		<link>http://www.javathinking.com/2008/03/ohlohnet/</link>
		<comments>http://www.javathinking.com/2008/03/ohlohnet/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 10:09:32 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.javathinking.com/?p=77</guid>
		<description><![CDATA[I just discovered http://www.ohloh.net/ &#8211; this is a great site, I think the easiest way I can describe it is by saying it is like linkedin.com, but based on opensource projects. You can create an account, and then add opensource projects to your &#8217;stack&#8217;.
You can:

 see geographically where people with a particular project on their [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I just discovered <a href="http://www.ohloh.net/" title="www.ohloh.net" target="_blank">http://www.ohloh.net/</a> &#8211; this is a great site, I think the easiest way I can describe it is by saying it is like <a href="http://linkedin.com" target="_blank">linkedin.com</a>, but based on opensource projects. You can create an account, and then add opensource projects to your &#8217;stack&#8217;.</p>
<p>You can:</p>
<ul>
<li> see geographically where people with a particular project on their stack are located</li>
<li>add your experience to your profile to build your resume</li>
<li>view statistics for different languages and projects.</li>
</ul>
<p>This is a very interesting site, and it will be interesting to see where it goes. Check out <a href="http://www.ohloh.net/accounts/15935" target="_blank">my profile</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javathinking.com/2008/03/ohlohnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FilmSuggestions.com launches</title>
		<link>http://www.javathinking.com/2007/12/filmsuggestionscom-launches/</link>
		<comments>http://www.javathinking.com/2007/12/filmsuggestionscom-launches/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 12:15:21 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.javathinking.com/?p=56</guid>
		<description><![CDATA[I love movies, and have always wanted to keep a catalogue of the great ones if only for my own record.
I had the idea for FilmSuggestions.com several years ago &#8211; a site where you could create a list of the best movies you&#8217;ve seen, and compare them with your friends. I didn&#8217;t get around to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I love movies, and have always wanted to keep a catalogue of the great ones if only for my own record.</p>
<p>I had the idea for <a href="http://www.filmsuggestions.com/" target="_blank">FilmSuggestions.com</a> several years ago &#8211; a site where you could create a list of the best movies you&#8217;ve seen, and compare them with your friends. I didn&#8217;t get around to doing anything about it for a long time &#8211; until now. Recently I became interested in <a href="http://groovy.codehaus.org/" target="_blank">Groovy</a>, and then <a href="http://grails.codehaus.org/" target="_blank">Grails</a>. Finally, <a href="http://java.com/en/" target="_blank">Java</a> has a rapid application development platform.</p>
<p>It was important to me that I retain my investment in Java &#8211; I love the language, and have been working with it since its early days. I could have easily moved to Ruby/Rails, but now I didn&#8217;t have to. I don&#8217;t have a lot of time to code applications, mostly sacrificing sleep for the opportunity to  add features and start new projects (I&#8217;m taking a break from corporate development to raise my son by day, and code by night).</p>
<p>The experience with Grails and Groovy has been great. The only thing I&#8217;ve missed is the tools, but apparently Intellij IDEA has released <a href="http://docs.codehaus.org/display/GRAILS/IDEA+Integration" target="_blank">excellent support</a>. The productivity enhancement with Grails is sensational. But more about that in another post.</p>
<p><strong>About FilmSuggestions.com</strong></p>
<p><a href="http://www.filmsuggestions.com/link">FilmSuggestions.com</a> is an Amazon based service where you can catalogue films, tagging and commenting as you go. Film collections are public so you may find like minded users whose collections contain movies that you might like, and you can search your collection by tags,  actors, directors and title.</p>
<p><strong>Why use FilmSuggestions.com?</strong></p>
<ol>
<li>List your favourite films and compare with your friends</li>
<li>Look at your friends collections to get suggestions for your next film to watch</li>
<li>Catalogue your home film collection by tagging films you own with &#8216;own&#8217;</li>
<li>Keep a record of who you have lent films to by tagging with &#8216;loanto:???&#8217;</li>
<li>Tag your collection so you can easily find films with particular qualities &#8211; here are some suggested tags:
<ul>
<li>action, comedy, martialarts&#8230; (genre based)</li>
<li>5*, 4*, 3* &#8230; (rating)</li>
<li>own (for films you own)</li>
<li>loanto:john (for films you&#8217;ve lent to John)</li>
<li>mustsee, classic (films you think everyone should watch)</li>
</ul>
</li>
</ol>
<p>I&#8217;m updating it regularly with feature enhancements and bug fixes, and its a great experience to have a web application out there and being used.</p>
<p>Let me know what you think&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javathinking.com/2007/12/filmsuggestionscom-launches/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Constantly learning what not to do</title>
		<link>http://www.javathinking.com/2007/08/constantly-learning-what-not-to-do/</link>
		<comments>http://www.javathinking.com/2007/08/constantly-learning-what-not-to-do/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 10:23:12 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.javathinking.com/?p=34</guid>
		<description><![CDATA[I&#8217;m sitting here looking at a JSP file which is over 5000 lines long. It has a massive amount of Java code and JavaScript scattered through it, along with some custom tag libraries. It generates an HTML file over 1.5 meg in download size.
The workstation I am using is a Pentium D with 1 Gig [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;m sitting here looking at a JSP file which is over 5000 lines long. It has a massive amount of Java code and JavaScript scattered through it, along with some custom tag libraries. It generates an HTML file over 1.5 meg in download size.</p>
<p>The workstation I am using is a Pentium D with 1 Gig of RAM, and the tools I&#8217;m using can&#8217;t cope so I&#8217;m resorting to simple text editors to make changes.</p>
<p>Once again, I&#8217;m spending most of my time at work learning (once again) what not to do. I&#8217;m one of the (apparently) few people who know not to do this kind of thing. But this is where I spend most of my time &#8211; fixing other peoples mistakes &#8211; and unfortunately this is a direct impediment to me learning new, better things and improving myself.</p>
<p>I&#8217;m really looking forward to the day a manager says:</p>
<blockquote><p>&#8220;Instead of getting 3 developers who don&#8217;t know what they are doing to build the system, and then bring someone good in to fix it, why don&#8217;t we get one good developer to build it and 3 inexperienced developers to maintain it.&#8221;</p></blockquote>
<p>This attitude would mean:</p>
<ol>
<li>The good developer gets to learn and improve, instead of working on problems that should never have existed</li>
<li>The inexperienced developers get to work on well written systems where they might actually learn what should be done</li>
</ol>
<p>Does anyone actually think we might get there one day?</p>
<p>Does anyone know any companies that employ this strategy?</p>
<p>Until that day, I&#8217;ll just have to learn &#8216;what to do&#8217; after hours at home (few), and try and unlearn &#8216;how not to do it&#8217; which I learn during the hours at work (many).</p>
<p>It&#8217;s a crazy world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javathinking.com/2007/08/constantly-learning-what-not-to-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

