<?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/"
	xmlns:cc="http://creativecommons.org/ns#" >

<channel>
	<title>BK</title>
	<atom:link href="http://www.bartkummel.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bartkummel.net</link>
	<description>Professional website of Bart Kummel</description>
	<lastBuildDate>Thu, 19 Apr 2012 17:06:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<cc:license >Creative Commons Attribution-ShareAlike CC BY-SA</cc:license><dc:rights  >Creative Commons Attribution-ShareAlike CC BY-SA</dc:rights>		<item>
		<title>Weird shell script problem + solution</title>
		<link>http://www.bartkummel.net/2012/04/weird-shell-script-problem-solution/</link>
		<comments>http://www.bartkummel.net/2012/04/weird-shell-script-problem-solution/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 17:06:08 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[extended attributes]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.bartkummel.net/?p=210</guid>
		<description><![CDATA[Yesterday, I installed a fresh Java EE application server to run a test on an application I was working on. The installation of the application server was as simple as unzipping a distribution archive. As with most application servers, the &#8230; <a href="http://www.bartkummel.net/2012/04/weird-shell-script-problem-solution/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-202" title="Terminal" src="http://www.bartkummel.net/wp-content/uploads/2012/02/Terminal-150x150.png" alt="" width="150" height="150" />Yesterday, I installed a fresh Java EE application server to run a test on an application I was working on. The installation of the application server was as simple as unzipping a distribution archive. As with most application servers, the server could be started by running a shell script from the command line. This was all familiar to me, as I already had another instance of the same server installed on my MacBook. However, when I tried to run the script, I got surprised by an error message:</p>
<pre>-bash: ./run.sh: /bin/sh: bad interpreter: Operation not permitted</pre>
<p>First thing I did was checking the permissions for the file:</p>
<pre><em>ls -al</em></pre>
<pre>-rwxr-xr-x@  1 bkummel  staff   8107 22 mei  2009 run.sh</pre>
<p>At first sight, there was nothing wrong. The file did have execute permissions. But when I compared the file with the one of the other server-instance, I noticed there was an extra @-sign right after the permissions. With the help from Google and two helpful colleagues, I found <a href="http://superuser.com/questions/131273/what-does-the-symbol-mean-in-ls-l-directory-listing" target="_blank">some</a> <a href="https://discussions.apple.com/thread/1202723?start=0&amp;tstart=0" target="_blank">information</a> on the internet. It turns out the @-sign indicates that the file has <em>extended attributes</em>. Luckily, one of the articles also points to the <tt>xattr</tt> command, that can be used to read and manipulate the extended attributes. So, I continued by querying what extended attributes my file had:</p>
<pre><em>xattr -l run.sh</em></pre>
<pre>com.apple.quarantine: 0006;4f8d509d;Google\x20Chrome.app;D9C08949-17F6-44CE-8937-36DB935B50A1|com.google.Chrome</pre>
<p>Now I got a clue! This is probably the mechanism that normally causes those &#8220;Xyz is an application downloaded from the internet. Are you sure you want to open it?&#8221;-dialogs to appear. And apparently on the command line the effect is the error message printed before. So instead of just clicking the &#8220;open&#8221; button in the dialog, I had to find a way to remove this extended attribute. Luckily, that&#8217;s not too complicated:</p>
<pre><em>xattr -d com.apple.quarantine run.sh</em></pre>
<p>Now the attribute is deleted and the script runs without problems. So in case you ever encounter a mysteriously not running script, don&#8217;t forget to check for extended attributes!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2012/04/weird-shell-script-problem-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing Java Software on a Mac: version control clients</title>
		<link>http://www.bartkummel.net/2012/03/developing-java-software-on-a-mac-version-control-clients/</link>
		<comments>http://www.bartkummel.net/2012/03/developing-java-software-on-a-mac-version-control-clients/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 11:00:46 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Hg]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[versioning]]></category>

		<guid isPermaLink="false">http://www.bartkummel.net/?p=199</guid>
		<description><![CDATA[In previous installments of this series, I&#8217;ve covered text editing, file management, command line and copy &#38; paste. This time, I will tell you my experiences with version control clients. Fortunately, there&#8217;s quite a selection of good clients available for &#8230; <a href="http://www.bartkummel.net/2012/03/developing-java-software-on-a-mac-version-control-clients/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In previous installments of this series, I&#8217;ve covered <a title="Developing Java software on a Mac: text editing" href="http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-text-editing/">text editing</a>, <a title="Developing Java software on a Mac: file management" href="http://www.bartkummel.net/2011/09/developing-java-software-on-a-mac-file-management/">file management</a>, <a title="Developing Java software on a Mac: command line" href="http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-command-line/">command line</a> and <a title="Developing Java software on a Mac: copy &amp; paste" href="http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-copy-paste/">copy &amp; paste</a>. This time, I will tell you my experiences with version control clients. Fortunately, there&#8217;s quite a selection of good clients available for the Mac. Of course, every <abbr title="Version Control System">VCS</abbr> has a decent command line client for the Mac, but there are some polished graphical tools as well. The only thing that I haven&#8217;t found (yet), is a client that integrates with the Mac OS Finder, comparable to what the TortoiseSVN client does with Windows Explorer.<span id="more-199"></span></p>
<h3>Which VCS to use?</h3>
<p>Well, that question is clearly beyond the scope of this article. For this article, I assume you are working on a project and the VCS is already chosen. I&#8217;ll focus on clients for the three most widely used VCSs nowadays: <a href="http://subversion.apache.org/" target="_blank">Subversion</a> (SVN), <a href="http://git-scm.com/" target="_blank">Git</a> and <a href="http://mercurial.selenic.com/" target="_blank">Mercurial</a> (Hg).</p>
<h3>Command line or GUI?</h3>
<p>Before diving into the different possibilities, it&#8217;s good to realize that using the command line is a serious option. Most VCSs do not offer GUI clients themselves, but they all do have a command line client. I think most developers aren&#8217;t afraid of the command line. A lot of things can be done very efficiently from a command line. This also goes for version management. However, my experience is that for larger projects, nothing beats a good graphical view on the revision history. And when it comes to comparing differences between revisions, I find a graphical diff tool much easier to use. So most of the times, I end up using both the command line and a graphical tool. (Sometimes I also use the embedded versioning support of my IDE, but I&#8217;ll leave that out of the equation for this article.)</p>
<h2>Command line clients</h2>
<p><img class="size-thumbnail wp-image-202 alignright" title="Terminal" src="http://www.bartkummel.net/wp-content/uploads/2012/02/Terminal-150x150.png" alt="" width="150" height="150" />There is not much to say about the command line clients, apart from where to get them:</p>
<ul>
<li><strong>Subversion:</strong> although it suffers from the rising popularity of distributed VCSs, a lot of existing projects are still using good old Subversion. The <a href="http://subversion.apache.org/" target="_blank">Apache Subversion project</a> doesn&#8217;t provide any binary packages itself, but luckily Mac OS comes with the Subversion command line tools pre-installed. Should you want to install a specific version yourself, the <a href="http://www.open.collab.net/downloads/community/" target="_blank">SVNbinaries project on Collabnet</a> seems to be a good resource.</li>
<li><strong>Git:</strong> Github has an excellent <a href="http://help.github.com/mac-set-up-git/" target="_blank">guide to installing Git on a Mac</a>. After completing the instructions, you will have a working Git command line client on your mac. This client also works good, provided you know which commands to use. As with the SVN command line, the Git command line lacks a visual overview. However, I found myself using the Github website as a partial replacement for that.</li>
<li><strong>Mercurial: </strong>The <a href="http://mercurial.selenic.com/">Mercurial project</a> provides binary packages for the Mac. I&#8217;ve never used it, since I haven&#8217;t yet worked on a project that uses Mercurial.</li>
</ul>
<h2>Graphical clients</h2>
<p>As mentioned, I still did not find any tool that integrates version control capabilities into Mac OS Finder, as good old Tortoise does for Windows Explorer. However, some excellent stand alone clients make up for that miss.</p>
<h3>Cornerstone</h3>
<p><a href="http://www.zennaware.com/cornerstone/" target="_blank">Cornerstone by Zennaware</a> is an excellent Subversion client. One of my colleagues is a huge fan of it. He convinced me to try it, so I downloaded a 14-day trial version. I&#8217;m impressed. It&#8217;s a full-featured app that just works. And it looks gorgeous. However, there are free alternatives. So I couldn&#8217;t convince myself that I needed to pay for a client that only supports Subversion, while there are free clients that support Subversion, Git <em>and</em> Mercurial&#8230;</p>
<h3>Sourcetree</h3>
<p><a href="http://www.sourcetreeapp.com/" target="_blank">Sourcetree</a> is created by <a href="http://www.atlassian.com/" target="_blank">Atlassian</a>, the company behind Jira, Confluence and many other collaboration tools. Sourcetree is a Git, Mercurial and Subversion client in one package. It has a nice Mac-like user interface, although the interface is not as polished as Cornerstone&#8217;s interface. Branches are displayed graphically, wich is very helpful. As Git and Mercurial client, Sourcetree does an excellent job. For Subversion, the experience is somewhat different, as Subversion is not supported directly, but only by using Git or Mercurial as &#8220;man in the middle&#8221;. That means to check out a Subversion repository, Sourcetree creates a local Git or Mercurial repository. (The choice is up to you.) This has the advantage of being able to work distributed even though Subversion itself is not a distributed VCS. A disadvantage is that, if you already have checked out a project, e.g. via the command line Subversion client, you won&#8217;t be able to open it in Sourcetree. However, I think we will see more and more Git and Mercurial and less Subversion in the years to come. So I think Atlassian made the right choice with their approach to Subversion support in Sourcetree. All in all, Sourcetree is a very competent VCS client. I think it&#8217;s awesome that there&#8217;s a free client that supports the three most important VCSs!</p>
<h3>GitX</h3>
<p><a href="http://gitx.frim.nl/" target="_blank">GitX</a> is an open source Git client for Mac OS X. It has a nice and clean GUI and seems to work okay. The history view shows the branches is a similar graphical way as Sourcetree does. According to the GitX website, that graphical display is inspired on gitk, the history viewer provided by the <a href="http://git-scm.com/" target="_blank">git project</a> itself. I didn&#8217;t use GitX for a long time, but it seems to do a good job.</p>
<h3>Others</h3>
<p>There are actually a lot more options if you are looking for a graphical VCS client on the Mac. I tried <a href="http://mac.github.com/" target="_blank">GitHub for Mac</a> briefly, but I found the user interface  to be less intuitive than the other tools I tried. There&#8217;s also <a href="http://gitmacapp.com/sprout" target="_blank">Sprout</a>, a commercial git client. I haven&#8217;t tried it. The screenshots look nice, but as said before, I don&#8217;t see a reason to buy a paid client when free alternatives seem to work fine too. There are also some good-looking, open source Mercurial clients I haven&#8217;t tried (yet): <a href="http://jasonfharris.com/machg/" target="_blank">MacHg</a> and <a href="https://bitbucket.org/snej/murky/wiki/Home" target="_blank">Murky</a>. When it comes to Subversion-only clients, there is also <a href="http://versionsapp.com/" target="_blank">Versions</a>, which competes with Cornerstone.</p>
<h2>Conclusion</h2>
<p>There are quite a few GUI VCS clients available for the Mac. It is interesting to see that for Subversion there are two competing commercial products, where for both Mercurial and Git there are several open source clients available. I found only one client that supports all three major VCSs. I like the fact that I don&#8217;t have to get used to three different user interfaces, so I&#8217;m sticking with Sourcetree for now. Do you have similar or different experiences? Did you find a Finder-integrated solution? Or do you think we don&#8217;t need that at all? Feel free to share your thoughts in the comments section below!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2012/03/developing-java-software-on-a-mac-version-control-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which beans to use?</title>
		<link>http://www.bartkummel.net/2012/02/which-beans-to-use/</link>
		<comments>http://www.bartkummel.net/2012/02/which-beans-to-use/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 07:06:17 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.bartkummel.net/?p=197</guid>
		<description><![CDATA[Andy Gibson has a very good overview article on is blog that answers exactly this question. The article covers the three types of beans we can choose of in Java EE 6 nowadays and which ones to use when. Excellent article, &#8230; <a href="http://www.bartkummel.net/2012/02/which-beans-to-use/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andygibson.net/blog/" target="_blank">Andy Gibson</a> has a <a href="http://www.andygibson.net/blog/article/comparing-jsf-beans-cdi-beans-and-ejbs/" target="_blank">very good overview article</a> on is blog that answers exactly this question. The article covers the three types of beans we can choose of in Java EE 6 nowadays and which ones to use when. Excellent article, a must read!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2012/02/which-beans-to-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting stuff in JSF 2.2</title>
		<link>http://www.bartkummel.net/2012/01/interesting-stuff-in-jsf-2-2/</link>
		<comments>http://www.bartkummel.net/2012/01/interesting-stuff-in-jsf-2-2/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 10:48:37 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[JSR]]></category>

		<guid isPermaLink="false">http://www.bartkummel.net/?p=193</guid>
		<description><![CDATA[Arjan Tijms wrote a nice article on what&#8217;s going on in the development of JavaServer Faces 2.2 (JSR 344). Pretty interesting stuff! I just hope we don&#8217;t have to wait for Java EE 7 to put those useful features into action&#8230;]]></description>
			<content:encoded><![CDATA[<p>Arjan Tijms wrote a nice article on <a href="http://jdevelopment.nl/jsf-22/" target="_blank">what&#8217;s going on in the development of JavaServer Faces 2.2</a> (JSR 344). Pretty interesting stuff! I just hope we don&#8217;t have to wait for Java EE 7 to put those useful features into action&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2012/01/interesting-stuff-in-jsf-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site moved and updated</title>
		<link>http://www.bartkummel.net/2012/01/site-moved-and-updated/</link>
		<comments>http://www.bartkummel.net/2012/01/site-moved-and-updated/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 17:00:24 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.bartkummel.net/?p=188</guid>
		<description><![CDATA[In an effort to consolidate our family&#8217;s websites to a single hosting provider and because I was not satisfied with my previous blog hosting, I have moved my blog to a new hosting facility. In the process, I&#8217;ve also done &#8230; <a href="http://www.bartkummel.net/2012/01/site-moved-and-updated/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In an effort to consolidate our family&#8217;s websites to a single hosting provider and because I was not satisfied with my previous blog hosting, I have moved my blog to a new hosting facility. In the process, I&#8217;ve also done a redesign of the entire site. Read on to learn more about the technical details&#8230;</p>
<p><span id="more-188"></span></p>
<p>Previously, this blog was hosted on a <abbr title="Software as a Service">SAAS</abbr>-solution. I was not really satisfied, because the (proprietary) software was too limited, less easy to use than promised and there were no signs that it would improve soon. So I decided to go for a more common and more open solution, a self-hosted <a href="http://www.wordpress.org" target="_blank">WordPress</a> blog. The reason I went with the SAAS guys some years ago was I didn&#8217;t want to fiddle with manually uploading PHP-files, managing MySQL-databases and that sort of things. I found out that this is not needed anymore, even for self-hosted installations. My hosting provider (<a href="http://www.ixlhosting.nl/" target="_blank">iXL hosting</a>) offers a nice control panel (<a href="http://www.directadmin.com/" target="_blank">DirectAdmin</a>) with a wizard (<a href="http://installatron.com/" target="_blank">Installatron</a>) to install and update software. So installing WordPress was just a matter of some mouse clicks and entering some names!</p>
<p>I also found out that WordPress (3.3) has become a very mature platform, for which a plethora of useful plugins is available. This is what I did to create my redesigned website:</p>
<ul>
<li>Luckily, my old SAAS-blog-host had a WordPress-export module. So I could easily import my blog content using the <a href="http://wordpress.org/extend/plugins/wordpress-importer/" target="_blank">WordPress Importer plugin</a>.</li>
<li>I found the <a href="http://wordpress.org/extend/themes/pilcrow" target="_blank">Pilcrow WordPress theme</a> very nice, but I like sans-serif typefaces more than serifs, so I made some small changes to the CSS style sheet.</li>
<li>I didn&#8217;t like the default images of the theme, so I removed them and added some pictures of my own. I slightly adapted the theme functionality to automatically use all images found in a certain folder and add an optional description for each image.</li>
<li>Of course the old blog software created different URLs than WordPress does. Luckily, I found a wonderful plugin called <a href="http://urbangiraffe.com/plugins/redirection/" target="_blank">Redirection</a>, which made it possible to redirect the old URLs to the new locations, based on powerful regular expressions. The plugin also monitors 404 errors, which helped me find even more old URLs to redirect than the ones I&#8217;d figured out myself.</li>
<li>Being a blog about programming, I needed a solution for syntax highlighting code examples. I went for the <a href="http://www.phodana.de/wordpress/wp-plugin-syntax-highlighter-compress/" target="_blank">Syntax Highlighter ComPress</a> plugin. Simple and easy to use, with very nice results.</li>
<li>Sometimes I write multiple articles on the same topic. The <a href="http://justintadlock.com/archives/2009/06/09/series-wordpress-plugin" target="_blank">Series plugin</a> by Justin Tadlock offers a nice solution to group those articles together.</li>
<li>I tracked my old site via Google Analytics and I wanted to continue using that. I found quite a lot of WordPress plugins for Google Analytics and I chose <a href="http://ronaldheft.com/code/analyticator/" target="_blank">Analyticator</a>, which seems to work great. A side effect of continuing to use GA, is that the site statistics just continue, as if the site wasn&#8217;t moved. Nice!</li>
</ul>
<p>One of the nice things is that I didn&#8217;t have to down- or upload any file in the process. All plugins can be installed easily from within the management console of WordPress. Kudos to the WordPress developers for creating such a mature and easy to use platform!</p>
<p>Let me know in the comments what you think of the new site and what your own experiences are with blogging solutions!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2012/01/site-moved-and-updated/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JFall 2011</title>
		<link>http://www.bartkummel.net/2011/11/jfall-2011/</link>
		<comments>http://www.bartkummel.net/2011/11/jfall-2011/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 09:59:04 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[JFall]]></category>
		<category><![CDATA[NLJUG]]></category>

		<guid isPermaLink="false">http://localhost:8888/wordpress/?p=5</guid>
		<description><![CDATA[Last Wednesday, I visited <a title="JFall 2011 Web site" href="http://www.nljug.org/jfall/" target="_blank">JFall 2011</a>. As expected, it was a very good conference again. I tried to <a href="http://twitter.com/bkummel" target="_blank">tweet</a> about some sessions I attended, but I had some weird problem with both of the Twitter-apps I have on my iPhone&#8230; So, instead I&#8217;ll give my take on those sessions here, in retrospect.
 <a href="http://www.bartkummel.net/2011/11/jfall-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last Wednesday, I visited <a title="JFall 2011 Web site" href="http://www.nljug.org/jfall/" target="_blank">JFall 2011</a>. As expected, it was a very good conference again. I tried to <a href="http://twitter.com/bkummel" target="_blank">tweet</a> about some sessions I attended, but I had some weird problem with both of the Twitter-apps I have on my iPhone… So, instead I’ll give my take on those sessions here, in retrospect.<span id="more-52"></span></p>
<h2>Neo4J! What else?</h2>
<p>This was one of the “early bird” sessions, taking place before the offical opening and keynote. Despite the early start, there were quite a lot of attendees. I think it was worth getting up early! <a title="Ron van Weverwijk's blog" href="http://www.weverwijk.net/wordpress/" target="_blank">Ron van Weverwijk</a> did a good job introducing graph databases and Neo4J. Most of the time, I find sessions about NoSQL databases and the like very interesting, but often it is difficult to see any practical use in the near future. After all, most of us aren’t working on the next big thing in social networking. At least, I am not. Most of the time I am working for clients that already have a relational database and they just want a new front end for it.</p>
<p>The nice thing in this session was, that Ron told us about a project he did in exactly such a corporate environment where there was already a relational database. They didn’t change or remove that database. Only for the specific case where the graph database was offering an advantage, they exported the data they needed to the graph database. A clever and pragmatic approach. I hope I’ll find an apportunity to do something similar once…</p>
<h2>Keynote by Tomas Nilsson</h2>
<p>The Oracle-keynote was a little disappointing. Although <a title="Tomas Nilsson on LinkedIn" href="http://www.linkedin.com/pub/tomas-nilsson/0/598/80" target="_blank">Tomas</a> is a fascinating storyteller, it was difficult to get a big picture from the collection of anecdotes he told us. If there was a big picture, I’d say it was that Oracle isn’t such a pleasant company to work for. And despite the fact that the company is run by lawyers and marketeers, we should trust them to be good for Java, since half of their revenue depends on Java. Well, I guess I will never trust any large corporation, but I think we as Java community have to admit that Oracle did a good job in getting the development of the Java platform back to speed again. So, let’s just hope Tomas was right on this…</p>
<h2>JBoss Forge</h2>
<p><a title="Paul Bakker's blog" href="http://paulonjava.blogspot.com/" target="_blank">Paul Bakker</a> did a very interesting session about <a href="https://docs.jboss.org/author/display/FORGE/Home" target="_blank">JBoss Forge</a>, formerly known as Seam Forge. I had never heard of it before, but after this talk I’m certainly going to try it. JBoss Forge offers a CLI for creating <strong>and</strong> maintaining Maven POM files. With the JBoss Forge shell, one can rapidly setup a new project. This type of project setup is of course known from frameworks like Spring Roo, Ruby on Rails and the like. But the good thing about Forge is, that it can be used for <strong>any</strong> Java project, as long as you are able to build it with Maven. Paul put an emphasis on the fact that Forge not just creates pom-files, but also maintains them. (And it can also create and maintain other configuration files and even Java classes…) He also showed that it is relatively simple to create your own Forge plugin. All in all, this was a very good session, packed with demos. I really enjoyed it. I hope I will be still as impressed when I try Forge myself…</p>
<h2>Introduction to JavaFX 2.0</h2>
<p>A nice session by <a title="Michael Heinrichs' blog" href="http://blog.netopyr.com/" target="_blank">Michael Heinrichs</a><em>. </em>The downsides of this session were the lack of code demos and the fact that I didn’t learn anything new. But there was also one really cool aspect of this talk: Michael coded all his slides in JavaFX. And the slides were, of course, very fancy. Unfortunately his code was not clean enough to share, he told me afterwards. Nevertheless, it’s still a very cool idea!</p>
<h2>Microsoft keynote on a Java conference…</h2>
<p>The afternoon keynote was provided by Microsoft. I think it’s brave of them to show up at a Java conference. Of course, they were there to tell about their Azure platform and how it can be used to deploy Java apps in the cloud. I was not impressed. It turns out Azure is not much more than a bunch of managed virtual machines running Windows Server. In order to run a Java EE application on Azure, one has to tinker with Windows .cmd scripts to bootstrap an application server. And of course, the application server itself also has to be deployed. Although Microsoft calls it a PAAS, I think it’s actually not much more than a IAAS…</p>
<h2>Migrating Spring to Java EE 6</h2>
<p>Again a very good session by <a title="Paul Bakker's blog" href="http://paulonjava.blogspot.com/" target="_blank">Paul Bakker</a>. He showed a pragmatic way to migrate an existing Spring application to a standards-compliant Java EE 6 application. He was honest: his approach isn’t a silver bullet and it still takes a lot of time to migrate. But, as Paul put it: “Given an outdated application that needs to be migrated anyway, why not migrate it to the standard?” I think he’s totally right! And he showed us a doable migration path. Afterwards, I heard other attendees complaining that “he told us upfront that the talk wouldn’t be a shoot out, but is was.” I assume those people were mainly Spring-fans, having trouble saying goodbye to Spring. But let’s face it: we really don’t need Spring anymore, the good ideas from Spring are all incorporated in the Java EE 6 standard, most of them even in an improved form. Of course, we should be grateful to the guys from the Spring framework, and I think Paul gave them enough credits. But we have to move on!</p>
<h2>Looking at Groovy 1.8</h2>
<p>The last talk I attended was by <a title="Hubert's blog" href="http://mrhaki.blogspot.com/" target="_blank">Hubert Klein Ikkink</a>. He had almost no slides, but instead showed us lots of cool new features of Groovy 1.8 with simple and illustrative demos. The talk also served as a nice (re-)intruduction to Groovy for people (like me) lacking any experience with the powerful alternative JVM-language. I don’t know if I’m going to use Groovy in the near future. But I hope for sure that Groovy can be for the Java language what Spring was for the Java EE platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2011/11/jfall-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing Java software on a Mac: file management</title>
		<link>http://www.bartkummel.net/2011/09/developing-java-software-on-a-mac-file-management/</link>
		<comments>http://www.bartkummel.net/2011/09/developing-java-software-on-a-mac-file-management/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 17:00:37 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[command line]]></category>
		<category><![CDATA[file management]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://localhost:8888/wordpress/?p=6</guid>
		<description><![CDATA[For a developer, file management is an essential task. More than the average computer user, the location and name of a file matters to a developer. Often, (sets of) files have to be copied, either on the local machine or to or from a network share. Sometimes the command line is very fast and efficient for file management tasks. However, as directory structures get more complex, I prefer a visual file management tool, as it gives me a better overview of the structure.
 <a href="http://www.bartkummel.net/2011/09/developing-java-software-on-a-mac-file-management/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For a developer, file management is an essential task. More than the average computer user, the location and name of a file matters to a developer. Often, (sets of) files have to be copied, either on the local machine or to or from a network share. Sometimes the command line is very fast and efficient for file management tasks. However, as directory structures get more complex, I prefer a visual file management tool, as it gives me a better overview of the structure.<span id="more-6"></span></p>
<p>Short after switching to the Mac, I was pretty satisfied with the default file manager on Mac OS: <a href="http://en.wikipedia.org/wiki/Finder_(software)" target="_blank">Finder</a>. Finder is a pretty good file manager, at least it is better than the <a href="http://en.wikipedia.org/wiki/Windows_explorer" target="_blank">Windows Explorer</a>. But, like Explorer, Finder needs some tweaking to make it more suitable for programmers:</p>
<ul>
<li>First of all, as a programmer I want to see the file extensions, so I enable the “<a href="http://www.wikihow.com/Show-File-Extensions-in-Finder-on-a-Mac" target="_blank">Show all file extensions</a>” option.</li>
<li>Since changing file extensions is more common in programming, I disabled the “Show warning before changing the extension” option.</li>
<li>Then I set the list view as default view, via “View” &gt; “Show View Options”, “Always open in list view”, “Use as Defaults”.</li>
</ul>
<p>After applying these tweaks, I was pretty satisfied for a while. However, after using Finder for a longer period, I had collected some annoyances:</p>
<ul>
<li>I too often found myself positioning two Finder-windows next to each other to be able to drag files from one location to another.</li>
<li>It sometimes confused me that directories were not listed at the top, as I was used to on other systems.</li>
<li>There’s no easy way to open a finder window without using the mouse, unless you remember to keep always one window open, so you can Command-Tab to it.</li>
</ul>
<p><a href="http://totalfinder.binaryage.com/"><img class="alignleft size-thumbnail wp-image-104" title="totalfinder" src="http://www.bartkummel.net/wp-content/uploads/2012/01/totalfinder-150x150.png" alt="" width="150" height="150" /></a>Then I stumbled upon <a href="http://totalfinder.binaryage.com/" target="_blank">TotalFinder</a>, an add-on for the OS X Finder. It adds several very handy functions, which helped me to overcome my annoyances:</p>
<ul>
<li>TotalFinder has a “dual mode”, which shows two adjacent views. Pretty much like the good old Norton Commander and its clones (Midnight Commander, …). No more aligning Finder windows before dragging and dropping files!</li>
<li>TotalFinder adds tabs to reduce the clutter. Although this is the most prominent feature, it is not as important to me as the dual mode and the other tweaks.</li>
<li>TotalFinder can show directories on top, just as I was used to.</li>
<li>The (optional) Visor mode can make TotalFinder to slide into view at the press of a shortcut key. Now I have the finder at my fingertips!</li>
<li>TotalFinder adds a pretty handy “copy path” menu to the context menu; especially time-saving if combined with the Terminal.</li>
</ul>
<p>Long story short: File management on the Mac is a joy since I found TotalFinder! It keeps the good parts of Finder and adds some excellent features to make it more suitable for a software development environment. At US$ 18, I think it is reasonably priced. I have only one wish for a future version: it would be very nice to have an “Open in Terminal” option in the context menu, that would also integrate with <a href="/blog/2011/8/16/developing-java-software-on-a-mac-command-line.html">TotalTerminal</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2011/09/developing-java-software-on-a-mac-file-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing Java software on a Mac: text editing</title>
		<link>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-text-editing/</link>
		<comments>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-text-editing/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 11:00:37 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://localhost:8888/wordpress/?p=7</guid>
		<description><![CDATA[<p><span>For the largest part of the Java development work, you use of course an <span><a title="Integrated Development Environment" href="http://en.wikipedia.org/wiki/Integrated_development_environment" target="_blank">IDE</a></span>. As I mentioned in </span><a href="/journal/2011/8/9/developing-java-software-on-a-mac-copy-paste.html">the previous article in this series</a><span>, the major <span>IDEs</span>, such as </span><a href="http://eclipse.org/" target="_blank">Eclipse</a> and <a href="http://netbeans.org/" target="_blank"><span><span>NetBeans</span></span></a><span>, run on a Mac without problems. But apart from an <span>IDE</span>, a lightweight but capable stand alone text editor comes in handy quite often. Of course OS X comes with </span><a href="http://en.wikipedia.org/wiki/TextEdit" target="_blank"><span><span>TextEdit</span></span></a>, that is comparable to <a href="http://en.wikipedia.org/wiki/WordPad" target="_blank"><span><span>WordPad</span></span></a> on Windows. It&#8217;s a simple word processor with the capability to edit plain text files. It can do the job, but it lacks some programming-oriented features.</p>
<p><span>So I started looking for an additional text editor. Since I use such an editor only as additional tool besides my <span>IDE</span>, I&#8217;m not willing to pay (much) for it. On Windows, there is a plethora of free or cheap text editors available and although the number is lower, there are quite a few good options for the Mac as well. I picked a few for evaluation&#8230;</span></p>
 <a href="http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-text-editing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the largest part of the Java development work, I use of course an <a title="Integrated Development Environment" href="http://en.wikipedia.org/wiki/Integrated_development_environment" target="_blank">IDE</a>. As I mentioned in <a href="/journal/2011/8/9/developing-java-software-on-a-mac-copy-paste.html">the previous article in this series</a>, the major IDEs, such as <a href="http://eclipse.org/" target="_blank">Eclipse</a> and <a href="http://netbeans.org/" target="_blank">NetBeans</a>, run on a Mac without problems. But apart from an IDE, a lightweight but capable stand alone text editor comes in handy quite often. Of course OS X comes with <a href="http://en.wikipedia.org/wiki/TextEdit" target="_blank">TextEdit</a>, that is comparable to <a href="http://en.wikipedia.org/wiki/WordPad" target="_blank">WordPad</a> on Windows. It’s a simple word processor with the capability to edit plain text files. It can do the job, but it lacks some programming-oriented features.<span id="more-7"></span></p>
<p>So I started looking for an additional text editor. Since I use such an editor only as additional tool besides my IDE, I’m not willing to pay (much) for it. On Windows, there is a plethora of free or cheap text editors available and although the number is lower, there are quite a few good options for the Mac as well. I picked a few for evaluation…</p>
<h2>jEdit</h2>
<p><img class="alignleft  wp-image-71" title="jEdit-logo" src="http://www.bartkummel.net/wp-content/uploads/2012/01/jEdit-logo.png" alt="" />Of course there is <a href="http://www.jedit.org/" target="_blank">jEdit</a>. Being open source and written in Java, it instantly gets some sympathy points from me. However, it suffers from a common problem of cross-platform applications: the user interface feels non-native on every platform. It seems this distracts even more on the Mac platform, where slick design is the standard. On the other hand, jEdit is very versatile and the project exists for many years, still releasing updates regularly. The editor isn’t very lightweight though, and it can take some time getting used to. All in all jEdit is a capable editor and I keep it installed on my system for some special functionalities offered by some of the many plug-ins that are available. (You should browse the <a title="jEdit plugin directory" href="http://plugins.jedit.org/" target="_blank">plugin directory</a> to get an idea of the huge amount of plug-ins.) Despite all this, jEdit didn’t become my favorite text editor for everyday text editing…</p>
<h2>The classics</h2>
<p><img class="alignleft size-full wp-image-83" title="vim-editor_logo" src="http://www.bartkummel.net/wp-content/uploads/2012/01/vim-editor_logo.png" alt="" width="75" height="75" />A text editor overview is not complete without mentioning the “classics”: VI and Emacs. <a href="http://en.wikipedia.org/wiki/History_of_Mac_OS_X" target="_blank">Being a Unix operating system</a>, Mac OS X comes with the command line versions of <a href="http://www.vim.org/" target="_blank">Vim</a> and <a href="http://www.gnu.org/software/emacs/" target="_blank">Emacs</a> pre-installed. They’re accessible by typing the right command (<tt>vi</tt> or <tt>emacs</tt>) at the OS X Terminal. I’m not a huge fan of either, but I do use Vim occasionaly when I want to view a file or do some minor editing from the command line. But if you are a fan of one, it is good to know that GUI versions of both editors are available: <a href="http://code.google.com/p/macvim/" target="_blank">MacVim</a> and <a href="http://aquamacs.org/" target="_blank">Aquamacs</a>. <img class="alignright size-full wp-image-67" title="Emacs-logo" src="http://www.bartkummel.net/wp-content/uploads/2012/01/Emacs-logo.png" alt="" width="75" height="60" />And if you ever try one of the command-line versions and you don’t know how to exit: VI can be quit by typing a colon (:), followed by ‘q’. If that doesn’t work, you might have to press ⎋ Esc before typing the colon and/or you might have to add an exclamation mark (‘!’) after the q. Emacs can be exited by typing Control-X followed by Control-C. (That is ⌃ Control, not ⌘ Command!) So to round up this section: I only use the command line version of Vim occasionally and I don’t feel the need for installing a GUI version of one of those classic editors.</p>
<h2>Smultron</h2>
<p><img class="size-full wp-image-78 alignleft" title="smultron" src="http://www.bartkummel.net/wp-content/uploads/2012/01/smultron.png" alt="" width="128" height="128" />Smultron is a Mac-only editor. What I understand is that it was quite popular a few years ago. Back then it was developed as an open source project and was available for free. The open source development stalled in 2009, but the last released free version can still be downloaded from <a href="http://sourceforge.net/projects/smultron/" target="_blank">Smultron’s Sourceforge page</a>. It seems to work, even on OS X Lion, although I didn’t test is very thouroughly. Recently, <a href="http://www.peterborgapps.com/smultron/" target="_blank">Peter Borg announced the reincarnation of the Smultron editor</a> as a commercial product in the Mac OS App Store. Two versions are available: version 4 is for OS X 10.7 (Lion) only, while version 3.8.4 also works on previous versions of Mac OS X. Both versions cost US$ 4.99, which Apple converts to € 3.99 in the European App Store. I did not test the commercial version, as I found a good free alternative (see below). However, some features of the new version 4 sound attractive: Smultron seems to be one of the first Mac text editors to support the <a href="http://en.wikipedia.org/wiki/Mac_OS_X_Lion#New_or_changed_features" target="_blank">new Resume, Auto Save and Versions features of OS X Lion</a>. Maybe I’ll give it a try someday…</p>
<h2>TextWrangler</h2>
<p><img class="alignleft size-full wp-image-80" title="TextWrangler_Logo" src="http://www.bartkummel.net/wp-content/uploads/2012/01/TextWrangler_Logo.png" alt="" width="128" height="128" />A very good and free text editor on the Mac is <a href="http://www.barebones.com/products/textwrangler/" target="_blank">TextWrangler</a> from <a href="http://www.barebones.com/" target="_blank">Bare Bones Software</a>. The company calls it the “little brother” of their <a href="http://www.barebones.com/products/bbedit/" target="_blank">BBEdit</a> product. While “little brother” sounds as if we’re talking about a rather limited product, TextWrangler actually is a very capable and versatile general purpose text editor. (It seems the BBEdit product, priced at US$ 39.99 at the moment, is targetted at web-developers to be used as their main editor.)</p>
<p>Apart from the usual features, like line numbering, syntax highlighting, advanced search and replace, TextWrangler even has an excellent compare tool, that handles file-to-file as well as directory-to-directory comparissons. (The compare tool is somewhat hidden though, it is reachable via the menu: <strong>Search</strong> &gt; <strong>Find Differnces…</strong>.) As with Smultron, TextWrangler is written exclusively for Mac OS, so it integrates really well with the system and it sports a slick look and feel, just like other Mac OS applications. For now, TextWrangler is my favorite text editing companion for every day use.</p>
<h2>Conclusions</h2>
<p>Well, this is clearly just a personal evaluation of some text edit options for the Mac. There are way more options available, but I didn’t have the time to evaluate them all. There’s a <a href="http://en.wikipedia.org/wiki/Category:Mac_OS_X_text_editors" target="_blank">list of Mac text-editors on Wikipedia</a>, although the list isn’t updated since October 2006. Various other websites publish such lists as well. I want to stress that I just mentioned my personal favorites here and I wouldn’t dare to say that one solution is better than another in general. I hope you enjoyed this article. Please feel free to share your experiences with any of the mentioned editors or any other editor.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-text-editing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing Java software on a Mac: command line</title>
		<link>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-command-line/</link>
		<comments>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-command-line/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 11:00:10 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[command line]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://localhost:8888/wordpress/?p=8</guid>
		<description><![CDATA[As a developer, I have to use the command line every now and then. In fact, that was one of the reasons for me to chose a MacBook Pro over a Windows machine. Even on the most recent versions of Windows, the command line application still uses some MS-DOS-derived command shell. Admitted, they implemented auto-completion, but it&#8217;s still a pretty limited environment. Mac OS X on the other hand is a Unix-based operating system. Hence the Mac OS X Terminal has the same super powers as many other Unix and Linux command lines.
 <a href="http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-command-line/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As a developer, I have to use the command line every now and then. In fact, that was one of the reasons for me to chose a MacBook Pro over a Windows machine. Even on the most recent versions of Windows, the command line application still uses some MS-DOS-derived command shell. Admitted, they implemented auto-completion, but it’s still a pretty limited environment. Mac OS X on the other hand is a Unix-based operating system. Hence the Mac OS X Terminal has the same super powers as many other Unix and Linux command lines.<span id="more-8"></span></p>
<p>I have also worked on an Ubuntu system for a while. I did not like it so much. But one thing I did like very much, is a nice little application called <a href="http://guake.org/" target="_blank">Guake terminal</a>. It’s a terminal window that’s always available within one keypress, but never gets in the way. It just slides into view when you press the right key, and slides away when you press it again. Making the window semi-transparent, you can even see your desktop or other open windows behind it.</p>
<p><img class="alignleft size-full wp-image-82" title="totalterminal-64" src="http://www.bartkummel.net/wp-content/uploads/2012/01/totalterminal-64.png" alt="" width="64" height="64" />Until recently, I did not find a Guake alternative for Mac OS X. But today I stumbled on <a href="http://totalterminal.binaryage.com/" target="_blank">TotalTerminal</a>: the search is over! TotalTerminal is a Terminal add-on. That means it extends the existing OS X Terminal with hotkey powers, instead of being a separate program to run in place of the terminal. That’s a good thing, since the OS X Terminal already has a lot of good features, which still can be used with TotalTerminal. So by configuring a display profile for Terminal with a nice, translucent background and a pretty font (like e.g. Monaco) and combining that with TotalTerminal, I now have a beautiful pop-over terminal available anywhere, with just one press of a button!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing Java software on a Mac: copy &amp; paste</title>
		<link>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-copy-paste/</link>
		<comments>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-copy-paste/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 16:30:32 +0000</pubDate>
		<dc:creator>Bart Kummel</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://localhost:8888/wordpress/?p=9</guid>
		<description><![CDATA[<p>I recently got a new job and my <a href="http://www.vxcompany.com" target="_blank">new employer</a> gave me the opportunity to chose a MacBook Pro as my development machine. I already had pretty good experiences with my iMac at home, so I didn&#8217;t have to think very long about this choice.</p>
<p>However, after years of developing Java software on Windows and Ubuntu boxes, I had to adapt some habits, reprogram my muscle memory and find some new tools. The good news is of course that nearly all Java software runs smoothly on a Mac. For the major Java IDEs, special Mac installers are available, doing a great job to integrate with the Mac OS X platform. After a few weeks of working on the Mac, I have also found some pretty nice additional tools that make the life of a (Java) software developer a lot easier. This is the first of a series of articles dedicated to (Java) software development on a Mac.</p>
 <a href="http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-copy-paste/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently got a new job and my <a href="http://www.vxcompany.com" target="_blank">new employer</a> gave me the opportunity to chose a MacBook Pro as my development machine. I already had pretty good experiences with my iMac at home, so I didn’t have to think very long about this choice.</p>
<p>However, after years of developing Java software on Windows and Ubuntu boxes, I had to adapt some habits, reprogram my muscle memory and find some new tools. The good news is of course that nearly all Java software runs smoothly on a Mac. For the major Java IDEs, special Mac installers are available, doing a great job to integrate with the Mac OS X platform. After a few weeks of working on the Mac, I have also found some pretty nice additional tools that make the life of a (Java) software developer a lot easier. This is the first of a series of articles dedicated to (Java) software development on a Mac.<span id="more-9"></span></p>
<h2>Copy and Paste</h2>
<p><img class="alignleft size-full wp-image-75" title="jumpcut" src="http://localhost:8888/wordpress/wp-content/uploads/2011/11/jumpcut.png" alt="" width="128" height="128" />Although <a href="http://en.wikipedia.org/wiki/Copy_and_paste_programming" target="_blank">copy and paste programming</a> is not a good practice in general, copying and pasting is still a popular habit for programmers. <img src='http://www.bartkummel.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  So I had a hard time reprogramming my muscle memory the first few days on the Mac. But now “copy” is remapped to ⌘C like it has never been different…</p>
<p>Anyway, I recently stumbled upon <a href="http://jumpcut.sourceforge.net/" target="_blank">Jumpcut</a>, an open source OS X utility that creates a clipboard stack. Every time you copy something, it is placed on the stack. And if you just use ⌘V (Cmd + V) to paste, the last thing copied is pasted at the cursor position. However, if you use ⌘⇧V (Cmd + Shift + V), you can browse through the clipboard stack with the cursor keys. That way it is e.g. possible to paste things from “three copies ago”. And if you’re mouse-centric, there’s also a nice little scissors icon in the menu bar, that reveals a list presentation of the clipboard stack when clicked.</p>
<p>All in all, Jumpcut has become an indispensible tool for me. Admitted, the idea is nothing new. On Windows there is the “Office Clipboard” that has roughly the same functionality. However, I didn’t use that one very often, back when I worked on Windows. I think I have used Jumpcut more often in the past few weeks than I have used the Office clipboard on Windows in all the years that I worked on that platform. Jumpcut does it’s job very elegantly and goes out of the way when you don’t use it. I really like this tool!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartkummel.net/2011/08/developing-java-software-on-a-mac-copy-paste/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

