<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns: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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>skh:tecskh:tec</title>
	
	<link>http://theexceptioncatcher.com/blog</link>
	<description>steven k hicks: the exception catcher</description>
	<lastBuildDate>Sun, 19 May 2013 23:23:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/theexceptioncatcher" /><feedburner:info uri="theexceptioncatcher" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>My response to  “7 Open Source Projects to cut your teeth on (and the ones to avoid)”</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/MLmsGpRpF4k/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/05/my-response-to-7-open-source-projects-to-cut-your-teeth-on-and-the-ones-to-avoid/#comments</comments>
		<pubDate>Sun, 19 May 2013 23:23:19 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cegcc]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[open souce]]></category>
		<category><![CDATA[openstack]]></category>
		<category><![CDATA[seafile]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tiny tiny rss]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=434</guid>
		<description><![CDATA[I’ve been meaning to write an article about a few of the communities in the open source world. However, I believe that the article “7 Open Source Projects to cut your teeth on (and the ones to avoid)” by Rikki &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/05/my-response-to-7-open-source-projects-to-cut-your-teeth-on-and-the-ones-to-avoid/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>I’ve been meaning to write an article about a few of the communities in the open source world. However, I believe that the article<a href="http://www.itworld.com/it-management/356932/7-open-source-projects-cut-your-teeth-and-ones-avoid?page=0,2" target="_blank"> “7 Open Source Projects to cut your teeth on (and the ones to avoid)” </a>by Rikki of ITWorld has said what I wanted to. Some of the open source projects that I’ve had good/bad experiences contributing to have been:</p>
<p><strong>Good:</strong></p>
<ul>
<li><a href="http://seafile.com/en/home/" target="_blank"><span class="GINGER_SOFATWARE_correct">Seafile</span></a> – The guys that work on this project are freaking great! I can’t say enough good things about <span class="GINGER_SOFATWARE_correct">Seafile</span>.</li>
<li><a href="http://cegcc.sourceforge.net/" target="_blank"><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">CeGCC</span></a></li>
<li><a href="http://githubbadge.appspot.com/" target="_blank"><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">Berkerpeksag</span>/<span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">github</span>-badge</a></li>
</ul>
<p><strong>Bad:</strong></p>
<ul>
<li>XBMC [They will not take bug reports or feature suggestions]</li>
<li>Tiny-Tiny RSS</li>
<li><span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">OpenStack</span> Folsom Install Guide [The official documentation doesn’t agree with some of the suggestions, and I’ve tried to point this out]</li>
</ul>
<p>I understand that these tend to be non-work projects, and that it can take a lot of work to maintain a community. But <span class="GINGER_SOFATWARE_correct">its</span> rather frustrating that people who attempt to chip in to help make the system/application/code better are treated rather roughly.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=MLmsGpRpF4k:pelkwyVN0tA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=MLmsGpRpF4k:pelkwyVN0tA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=MLmsGpRpF4k:pelkwyVN0tA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=MLmsGpRpF4k:pelkwyVN0tA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=MLmsGpRpF4k:pelkwyVN0tA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=MLmsGpRpF4k:pelkwyVN0tA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=MLmsGpRpF4k:pelkwyVN0tA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/MLmsGpRpF4k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/05/my-response-to-7-open-source-projects-to-cut-your-teeth-on-and-the-ones-to-avoid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/05/my-response-to-7-open-source-projects-to-cut-your-teeth-on-and-the-ones-to-avoid/</feedburner:origLink></item>
		<item>
		<title>This Week I Learned [19 May 2013 Edition]</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/q0YeKzau2cU/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/05/this-week-i-learned-19-may-2013-edition/#comments</comments>
		<pubDate>Sun, 19 May 2013 05:09:34 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[self improvement]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[vm]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=432</guid>
		<description><![CDATA[This week I learned about: There is a new change to how network devices are named. This may change your network device from eth0 to something like env10p0. http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames Archlinux is very similar to Gentoo, but it is based on &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/05/this-week-i-learned-19-may-2013-edition/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>This week I learned about:</p>
<ul>
<li>There is a new change to how network devices are named. This may change your network device from eth0 to something like env10p0.<br />
<a href="http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames">http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames</a></li>
<li>Archlinux is very similar to Gentoo, but it is based on a script to install everything.</li>
<li>2to3 is a python script that will convert a python script from a version Python 2.0 to a 3.0 compatible script.
<ul>
<li>One major difference between 2 and 3 is that the print statement became a function, thus requiring parenthesis.</li>
</ul>
</li>
<li>It is easier to hard code the Python 2 environment, rather than to convert the script into a Python 3.0 script.
<ul>
<li>#!/usr/bin/env python2.7 [or whatever Python 2 environment that is installed] should be used in the shell definition of the script.</li>
</ul>
</li>
<li><a href="http://www.openvas.org/" target="_blank">OpenVAS</a>- Open Vulnerability Scanner: I haven’t tried this yet, but this is a neat utility that can help you keep tabs on the software you currently have installed and the possible vulnerabilities that they may have.</li>
<li>Always snapshot your VM after you finish major installs. [This saved my butt this week]</li>
<li><a href="http://ansible.cc/" target="_blank">Ansible</a> -  This looks like a nice Open Source version of HP Operations Orchestration.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=q0YeKzau2cU:JQfh9sKkBNc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=q0YeKzau2cU:JQfh9sKkBNc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=q0YeKzau2cU:JQfh9sKkBNc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=q0YeKzau2cU:JQfh9sKkBNc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=q0YeKzau2cU:JQfh9sKkBNc:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=q0YeKzau2cU:JQfh9sKkBNc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=q0YeKzau2cU:JQfh9sKkBNc:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/q0YeKzau2cU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/05/this-week-i-learned-19-may-2013-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/05/this-week-i-learned-19-may-2013-edition/</feedburner:origLink></item>
		<item>
		<title>The Problem with Resolutions</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/PYvMjvuN-2M/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/05/the-problem-with-resolutions/#comments</comments>
		<pubDate>Mon, 13 May 2013 23:58:30 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[resolutions]]></category>
		<category><![CDATA[self improvement]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=428</guid>
		<description><![CDATA[I guess you could technically claim that I didn’t fail at the resolutions I made earlier this year. The year isn’t over, however I believe that having long term goals such as these may be a bad idea. At this &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/05/the-problem-with-resolutions/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>I guess you could technically claim that I didn’t fail at the resolutions I made earlier this year. The year isn’t over, however I believe that having long term goals such as these may be a bad idea. At this point, I believe that many of the resolutions I made [I.e. Learning R, meeting people who dealt with airline systems, and learning GridGain] may not be the best use of my time.</p>
<p>It might be a better use of my time to do periodical reviews of my current skillsets and recent tasks rather than to push forward blindly.</p>
<p>I&#8217;m not giving up on learning new things. I&#8217;m just not going to limit myself to a list.</p>
<p>Some of the technologies/tools I’ve been learning lately:</p>
<ol>
<li>OpenStack</li>
<li>ArchLinux</li>
</ol>
<p>Some technologies I would like to learn:</p>
<ol>
<li><span style="line-height: 13px">Storm</span></li>
<li>Ansible</li>
</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=PYvMjvuN-2M:VZSPxWfi6hY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=PYvMjvuN-2M:VZSPxWfi6hY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=PYvMjvuN-2M:VZSPxWfi6hY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=PYvMjvuN-2M:VZSPxWfi6hY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=PYvMjvuN-2M:VZSPxWfi6hY:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=PYvMjvuN-2M:VZSPxWfi6hY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=PYvMjvuN-2M:VZSPxWfi6hY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/PYvMjvuN-2M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/05/the-problem-with-resolutions/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/05/the-problem-with-resolutions/</feedburner:origLink></item>
		<item>
		<title>Don’t let the User Fail</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/8P2_C9g4XR4/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/05/dont-let-the-user-fail/#comments</comments>
		<pubDate>Fri, 03 May 2013 00:42:21 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[deploying]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openstack]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=425</guid>
		<description><![CDATA[One of the things that has been bothering me quite a bit as of late is debugging setup issues with OpenStack. Usually this consists of tracking down errors amongst 12 different log files when something goes wrong. There are multiple &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/05/dont-let-the-user-fail/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>One of the things that has been bothering me quite a bit as of late is debugging setup issues with OpenStack. Usually this consists of tracking down errors amongst 12 different log files when something goes wrong. There are multiple issues going on here. Firstly, the guides for setting up OpenStack, Folsom, are not so great, or situated for different environments (multinode <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">vs</span> single-node). [That being said, DevStack is pretty cool and easy to use]  Secondly, debugging a new setup and learning at the same time can be a pain.</p>
<p>The major issue of installing OpenStack could be solved through a dedicated install process. However, the larger issue is that the user is allowed to fail so quickly. It&#8217;s similar to refusing to validate an email address prior to submission and processing on a website. My suggestion is that many of these issues can be solved by doing step by step confirmations of the process. For example, if you were to install a web framework, the installation process/script should confirm:</p>
<ol>
<li>That a server is installed</li>
<li>The installing user has permissions, or can be elevated to the permission level, to install the web application</li>
<li>Copy the files over to the web server and start the web application</li>
<li>The web application prompts for a configuration on the first run (I.e. Checking for writable permissions at the get go, setting up users, etc.)</li>
</ol>
<p>Asking a system administrator to do all of these manual confirmations causes quite a few issues. For example, Some web applications have an issue with the database configuration after the web site has been put in use.  Lastly, if a script fails it should fail in a sandbox rather than the live environment. <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">Gentoo</span> sandboxes <span class="GINGER_SOFATWARE_correct">ebuilds</span> prior to installing the <span class="GINGER_SOFATWARE_correct">executables</span> on the system.</p>
<p>Another thing to note, if a user is configuring a database on install ask for the host, confirm that the host is enabled, and then allow for a database selection.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=8P2_C9g4XR4:Eqe7bs4XGpk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=8P2_C9g4XR4:Eqe7bs4XGpk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=8P2_C9g4XR4:Eqe7bs4XGpk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=8P2_C9g4XR4:Eqe7bs4XGpk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=8P2_C9g4XR4:Eqe7bs4XGpk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=8P2_C9g4XR4:Eqe7bs4XGpk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=8P2_C9g4XR4:Eqe7bs4XGpk:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/8P2_C9g4XR4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/05/dont-let-the-user-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/05/dont-let-the-user-fail/</feedburner:origLink></item>
		<item>
		<title>Apache Wicket [In Action]: A Review and How It Relates to the Java World</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/KWAGX8zE5LI/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/04/apache-wicket-in-action-a-review-and-how-it-relates-to-the-java-world/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 07:01:23 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=423</guid>
		<description><![CDATA[Java is a great tool for creating software. It is well designed, modular, has a wide array of platforms that it can run on, performs well, it&#8217;s very extendable, and it has a large community with lots of support. However, &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/04/apache-wicket-in-action-a-review-and-how-it-relates-to-the-java-world/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Java is a great tool for creating software. It is well designed, modular, has a wide array of platforms that it can run on, performs well, it&#8217;s very extendable, and it has a large community with lots of support. However, <span class="GINGER_SOFATWARE_correct">it&#8217;s</span> support for websites and related services is severely lacking. It&#8217;s bad enough that frameworks that extend the existing infrastructure have massive pitfalls that you later discover.</p>
<p>For the most part Apache Wicket solves many of the web related issues that J2EE (JSP) has. If you are to follow the prescribed way of doing things, it can actually be quite pleasant. However, there are a few thorny patches with Wicket. I will get to those later.</p>
<p><span style="text-decoration: underline">Wicket In Action</span> like a marriage. During the honeymoon, everything is great. Everyone is happy, and then later discontent grows and things go up and down. However, unlike a marriage, you don&#8217;t really get an ending. This is a rather good way to end things, but some of the lesser parts of the book were rather disappointing. One of the big selling points of Wicket is that it is a framework that assumes that the developer has already prototyped the pages in HTML prior to starting with Wicket [The pages are adapted into Wicket-<span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">ized</span> and <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">previewable</span> pages]. This upside was enough to ignore the placement of the HTML files, in the class path rather than the web resources section.</p>
<p>I jumped into this book with lots of enthusiasm after reading the introduction. I even bore through some of the non-stated setup issues in the book. The book starts off by creating a project, from scratch, however I went the Maven route (which I discovered is <span class="GINGER_SOFATWARE_correct">the better</span> way to go). The book mentions maven, but it doesn&#8217;t mention how to build your application or to generate a project. I believe that I went the correct way because Maven helped to <span class="GINGER_SOFATWARE_correct">setup</span> all of the application servers and the folder structures. The book started by having the user to jump in, examine a few code segments, and then to start on a sample (full featured) e-commerces application. The store was oddly pleasant; the goal was to sell <span class="GINGER_SOFATWARE_correct">cheeses</span> online. The application started from a few sample view pages, it went on to creating a reusable shopping cart, and finally on to a membership mechanism. This is a very straightforward and to-the point way of starting a new framework. It&#8217;s already addressing the needs of the majority of its audience.</p>
<p>Another nice thing to point out about the introduction is that it did not try to cover all of the material at once. It would frequently describe what you were doing, but would mention the chapter where the concepts were explained in depth later on. Something that pleased me was that the code listings did not include a listing number. They were <span class="GINGER_SOFATWARE_correct">place</span> in the correct location of the text. After you&#8217;re done with the sample application, you should be quite proud of yourself. This is similar to your first website.</p>
<p>However, the book got a little disappointing when describing the more detailed <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">interworkings</span> of Wicket: sessions, <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">bookmarkable</span> pages, and layering/rendering. The book improves when it gets to the Ajax functionality and a brief mention of dependency injection and Wicket. The book gets a little rough in the Spring through Hibernate sections and then better in the testing section. The book ends in a rather low note on SEO, production configuration, and JMX. If I had known more about JMX, I would have probably had a better opinion of the ending.</p>
<p>Overall I am not sure if I can say that the less than stellar sections of the book were entirely the authors&#8217; or the book&#8217;s fault. It quite possibly may be the technology&#8217;s fault.  I would strongly recommend the book if you are new to Wicket.</p>
<p>Lastly, here are some direct tips that I had to discover on my own that helped out a lot:</p>
<ul>
<li>Use an <a href="http://wicket.apache.org/start/quickstart.html" target="_blank">Apache Wicket Quickstart for Maven</a>: This will generate a sample project with Jetty support.</li>
<li>Use the <a href="https://github.com/wicketstuff/core/wiki/Annotation" target="_blank"><span class="GINGER_SOFATWARE_correct">WicketStuff</span> annotation MountPoint</a> to define where pages are referenced. This will help to debug and directly navigate to pages.</li>
<li>When creating HTML pages <span class="GINGER_SOFATWARE_correct">use</span> the Wicket namespace: &lt;html xmlns:wicket=&#8221;<a title="http://wicket.apache.org&quot;&gt;" href="http://wicket.apache.org%22%3E/" target="_blank">http://wicket.apache.org&#8221;&gt;</a></li>
</ul>
<p>&nbsp;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=KWAGX8zE5LI:2vmGk4D0TxE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=KWAGX8zE5LI:2vmGk4D0TxE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=KWAGX8zE5LI:2vmGk4D0TxE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=KWAGX8zE5LI:2vmGk4D0TxE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=KWAGX8zE5LI:2vmGk4D0TxE:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=KWAGX8zE5LI:2vmGk4D0TxE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=KWAGX8zE5LI:2vmGk4D0TxE:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/KWAGX8zE5LI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/04/apache-wicket-in-action-a-review-and-how-it-relates-to-the-java-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/04/apache-wicket-in-action-a-review-and-how-it-relates-to-the-java-world/</feedburner:origLink></item>
		<item>
		<title>My Two Cents on Interviewing Software Engineers</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/YoH3JFNgy9w/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/04/my-two-cents-on-interviewing-software-engineers/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 05:41:27 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[interviewing]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=418</guid>
		<description><![CDATA[In the technology industry, interviewing someone is a tough process. It is a very complex problem that attempts to solve a collection of goals into a [best case] mutually satisfactory outcome. The interviewer needs a person who will fit in &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/04/my-two-cents-on-interviewing-software-engineers/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>In the technology industry, interviewing someone is a tough process. It is a very complex problem that attempts to solve a collection of goals into a [best case] mutually satisfactory outcome. The interviewer needs a person who will fit in the working environment, perform tasks that are expected, has the needed skills, and is competent to do that job, all while avoiding an undesirable hire. The interviewee is looking for a new position in a reasonable environment, with people they can trust, and that helps them obtain the lifestyle/financial goals that they wish to achieve. There are three outcomes of this process: hire, wait for more experience, or don’t hire. Dancing around the decision, or making this process more difficult helps neither party.</p>
<p>What I’ve found incredibly frustrating is the attitude of many of the interviewers that I have been interviewed by. Most of the individuals whom I have been interviewed by have been highly combative. They want you to prove that you know what they want you to know, whilst simultaneously proving that you would be a good cultural fit. For example, smaller organizations will throw out Google/Microsoft like interview questions just for appearances. Is this necessary for determining the quality of the applicant? I don’t believe that it is. Unless your industry requires every engineer to make close estimations, it appears to me that it is more of a way to build an unrealistic ‘tough-guy’ image. There is absolutely no reason for an interviewer to be combative with an interviewee. The goal, on the company’s side, is to find out if the applicant would provide value for the company. If an individual’s average day is fairly easy going, why make the interview stressful? It’s akin to demanding an auditioning actor to recite the entirety of Shakespeare’s work when interviewing for a non-speaking role in a 30 second commercial.</p>
<p>Another issue that I’ve found is the amount of criticism of interview code. I’ve had a range of this: “code portfolios,” sample programs prior to the interview, temporary assignments, IQ tests, talk and coding, and white board exercises. Only a few of these coding practices are reasonable, the others are unrealistic and stressful. The IQ/aptitude test was a part of the application process at IBM. It was a little silly, and timed, but I guess I was within their upper and/or lower limits for acceptance. The test was online and it was after the interview, so it wasn’t so stressful. I’ve had an organization request a coding portfolio; that is a horrible idea. Portfolios are required of those who do visual work, but code portfolios suffer from a lack of context, industry acceptance, and lack of time to compare and contrast multiple candidates’ submissions. I’ve had to work with one group temporarily [after the interview] as a trial period. This wasn’t so bad for a few reasons, one the company paid for my travel to get me there (going from the US to Europe), was only for a short time and lastly, it isn’t unreasonable to ask for this when considering very long distance applications. However, the downside to this is that it negatively impacts the discreteness of interviewing a new workplace.</p>
<p>I tend to like coding samples prior to the interview. If you’re given a problem set to choose from, it gives the interviewee a chance to emulate the conditions in which they would be working in. The interviewee is able to ponder, on his/her own schedule, about the problem, design, code, test, and package the code. I am not a fan of coding on a whiteboard. It is a completely different experience from how one codes. It strips away the tools and contexts, and expects the individual to perform their tasks in a completely foreign way. If the interviewer was asking for high level details, this request isn’t too far fetched. From my experience, there are a lot of organizations that attempt to have the interviewer watch an interviewee code via a live collaborative editor while on the phone. These are some of the worst interviews I’ve ever had. The task is not humanly possible. The tasks are usually set up in a professor/student manner. The process is usually: a problem is presented, thinking occurs, have the interviewee talk through a problem, code while explaining the code, and to use a foreign editor at the same time. To make things worse, this is all done while the interviewee is holding a phone and typing on a keyboard. It is not humanly possible for an individual to communicate, and solve deep problems at the same time, to make things worse you’re being judged at the same time.</p>
<p>Lastly, I have been asked to code up a problem or two, with the interviewer on a computer. This has been done in a peer-wise and non-peer-wise fashion. Usually this involves a small problem, and you’re given a new project in an IDE. At times, this may be a little tough if the IDE is unfamiliar, but this at least attempts to reproduce the working environment.</p>
<p><b>What are some of the questions that I would like to be asked?</b></p>
<p>I believe that an interview should be more for an inquisitive time between an interviewer and interviewee. There is no benefit from trying to make a stressful interview even more stressful via combative techniques. So I think there are a few questions that would make it easier:</p>
<ol>
<li>Ask questions related to the projects that the interviewee has worked on before. [Preferably a non-work based project]</li>
<li>Ask about some of the challenges faced on the projects. For example, if the project required a high level of performance, how did they solve the communication issues between components? If the project dealt with numbers or precision or money, ask how they solved the issues with floating point math.</li>
<li>Ask what an individual project taught the interviewee.</li>
<li>Ask about times where the interviewee has conflict with another coworker; ask how he or she would have resolved the issue. (Don’t ask for opinions or gossip surrounding the conflict)</li>
<li>Ask about what blogs/technical content they follow.</li>
</ol>
<p>These questions get the interviewee to talk more about what they should be confident on talking about. The questions also demonstrate the ability to work with others, willingness to adapt, interests, technical strong points, experience, passion, and potential weak points. Lastly, to the interviewer, consider the individual that you are communicating, with being hostile won’t do you any favors if you have to work with them later.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=YoH3JFNgy9w:DLNB9ItT4tw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=YoH3JFNgy9w:DLNB9ItT4tw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=YoH3JFNgy9w:DLNB9ItT4tw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=YoH3JFNgy9w:DLNB9ItT4tw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=YoH3JFNgy9w:DLNB9ItT4tw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=YoH3JFNgy9w:DLNB9ItT4tw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=YoH3JFNgy9w:DLNB9ItT4tw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/YoH3JFNgy9w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/04/my-two-cents-on-interviewing-software-engineers/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/04/my-two-cents-on-interviewing-software-engineers/</feedburner:origLink></item>
		<item>
		<title>3 Strikes Budget Rental Car: You’re Out!</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/noy-GKx0-I4/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/03/3-strikes-budget-rental-car-youre-out/#comments</comments>
		<pubDate>Sun, 24 Mar 2013 00:03:15 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[alamo]]></category>
		<category><![CDATA[budget]]></category>
		<category><![CDATA[customer-service]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[rental cars]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=413</guid>
		<description><![CDATA[I&#8217;ve been a loyal renter of cars from Budget rental car. They don&#8217;t&#8217; have a particular set level of status, or give points, I don&#8217;t mind, I like things to stay simple. In some periods I&#8217;ve had to rent a &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/03/3-strikes-budget-rental-car-youre-out/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been a loyal renter of cars from Budget rental car. They don&#8217;t&#8217; have a particular set level of status, or give points, I don&#8217;t mind, I like things to stay simple. In some periods I&#8217;ve had to rent a car for work every week for 4 months. [That was my longest renting streak with Budget]. However there have been 3 major issues that I&#8217;ve had with Budget:</p>
<p>1. Need to change your contract during the time you have the car? Call up Budget and you&#8217;ll be sent to sales. This is a new sales avenue for them. They will make an adjustment to the contract at a new rate and charge a fee to do this [if you prepaid].<br />
2. Have a <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">misconnect</span> or a schedule change with a flight? Despite that they work alongside the airlines, they do not acknowledge that <span class="GINGER_SOFATWARE_noSuggestion GINGER_SOFATWARE_correct">misconnects</span> and huge delays do happen.<br />
3. Mysterious dings/scratches. I returned my car in ATL last Thursday evening. A ding was found <span class="GINGER_SOFATWARE_correct">on</span> a wheel well. [How this got there is beyond me and there was no indication of neighboring marks that would give more hints to this] The issue here is that no inspection was done after receiving the car. They agents refused to inspect the car and demanded that I sign the damage form blank. How this will be billed/handled by insurance or credit card is beyond me.</p>
<p>More information on the second complaint: I&#8217;ve had an issue or two where I&#8217;ve had to change my contract/arrival times with the rental company. I&#8217;ve never been able to get to local branch where I reserved my car. All of the listings for that location are SEO optimized to go to the national number, which then forwards you to sales rather than customer service. After getting tired of the whole pricing, I was told by the agent at the ROC Budget Rental company that the new price was based on &#8220;Market Demand.&#8221; That ignores the fact that by not picking up the car they now have more supply and less demand. They attempted to reprice a week long rental that was originally $172 to $530+. Finally, after threatening to cancel my reservation for next week, he made a (his words) &#8220;manual one time price fix.&#8221; I knew the market price for a last minute car rental. It was $350 via Alamo. Are they any better? We&#8217;ll see.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=noy-GKx0-I4:6etghuwGUSU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=noy-GKx0-I4:6etghuwGUSU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=noy-GKx0-I4:6etghuwGUSU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=noy-GKx0-I4:6etghuwGUSU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=noy-GKx0-I4:6etghuwGUSU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=noy-GKx0-I4:6etghuwGUSU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=noy-GKx0-I4:6etghuwGUSU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/noy-GKx0-I4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/03/3-strikes-budget-rental-car-youre-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/03/3-strikes-budget-rental-car-youre-out/</feedburner:origLink></item>
		<item>
		<title>Things I learned a week or so ago</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/SHL2Picz1WI/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/03/things-i-learned-a-week-or-so-ago/#comments</comments>
		<pubDate>Sun, 10 Mar 2013 19:33:32 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bumblebee]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=410</guid>
		<description><![CDATA[These few items are a few things that I found a week or so ago, but I hadn&#8217;t had the time to post them: If the Nvidia package has difficulty finding the version number for the kernel, which is an &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/03/things-i-learned-a-week-or-so-ago/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>These few items are a few things that I found a week or so ago, but I hadn&#8217;t had the time to post them:</p>
<ul>
<li>If the Nvidia package has difficulty finding the version number for the kernel, which is an issue for 3.7 and higher <span class="GRcorrect">then</span> link the Versions<span class="GRcorrect">.</span>h file to /usr/src/<span class="GRcorrect">linux</span>/include/<span class="GRcorrect">linux</span>/.</li>
<li>If you have &#8220;AutoAddDevices&#8221; in your <span class="GRnoSuggestion GRcorrect">xorg</span><span class="GRcorrect">.</span><span class="GRnoSuggestion GRcorrect">conf</span> file, your mouse and keyboard may not be found when X starts up.</li>
<li>For Gentoo users and people who manually build their applications, if you get an error <span class="GRcorrect">on</span> the build, make sure you that you reduce the number of concurrent builds when searching for the error. This is a matter of reducing the argument -jXX to -j1. This will help you resolve an issue where groupware_dav in the KDEPIM-runtime package fails to build. The solution to that issue: The build was having an issue with a <span class="GRnoSuggestion GRcorrect">libsasl</span> library, and required for a revdep-rebuild.</li>
<li>For those who have an <span class="GRcorrect">NVidia</span> Optima: you may get an error that &#8220;Cannot load <span class="GRnoSuggestion GRcorrect">glx</span> on :0.&#8221; This causes for the graphics performance to be less than stellar, and for KDE Desktop Effects to not operate. To resolve this issue: Make sure that the Intel/Mesa graphics driver is reinstalled and to switch the default OpenGL reference to be Xorg-server rather than <span class="GRcorrect">NVidia</span>. [Use the "eselect opengl set " command to accomplish this] Setting the OpenGL setting will not affect Bumblebee&#8217;s OpenGL switching.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=SHL2Picz1WI:ZTTXokHXbgw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=SHL2Picz1WI:ZTTXokHXbgw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=SHL2Picz1WI:ZTTXokHXbgw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=SHL2Picz1WI:ZTTXokHXbgw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=SHL2Picz1WI:ZTTXokHXbgw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=SHL2Picz1WI:ZTTXokHXbgw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=SHL2Picz1WI:ZTTXokHXbgw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/SHL2Picz1WI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/03/things-i-learned-a-week-or-so-ago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/03/things-i-learned-a-week-or-so-ago/</feedburner:origLink></item>
		<item>
		<title>Review: “What Compsci textbooks don’t tell you: Real world code sucks”</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/-eemf6nz8JU/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/03/what-compsci-textbooks-dont-tell-you-real-world-code-sucks/#comments</comments>
		<pubDate>Sat, 09 Mar 2013 20:47:48 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=407</guid>
		<description><![CDATA[I&#8217;ve been catching up on my reading queue. I&#8217;ve been quite busy in the last few months that many articles has slipped by me, and they&#8217;re in my backlog. One article I&#8217;ve been meaning to review is: &#8220;What Compsci textbooks &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/03/what-compsci-textbooks-dont-tell-you-real-world-code-sucks/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been catching up on my reading queue. I&#8217;ve been quite busy in the last few months that many articles has slipped by me, and they&#8217;re in my backlog. One article I&#8217;ve been meaning to review is: <a href="http://www.theregister.co.uk/2012/12/21/financial_software_disasters/print.html" target="_blank">&#8220;What Compsci textbooks don&#8217;t tell you: Real world code sucks.&#8221;</a> The author attempts to make a claim that textbooks should acknowledge the messy world of software development, or should be less than stellar.</p>
<p>I agree with a few of the author&#8217;s points on what causes bad code/designs, however I believe that the author misses the point when he relates it to the content of textbooks. Textbooks are meant to be condensed learning resources. They tend not to be fluffy and full of relatable content. With a textbook one should be able to reliably consume the facts associated with the subject, and not the current commentary of the industry surrounding it. Textbook-code that was relatable to practice would be an inefficient method of delivery to the reader. Unless it is briefly mentioned, it would be silly and unprofessional for a computer science textbook to make snide remarks on real-world coding practices, gender politics/representation in the computer industry, how most technologies are not used fully, or any other non-topic rants within a textbook. A good text book will stand the test of time.</p>
<p>In short, I believe that Mr. Mandl, the author, would be more interested in industry and learning social trends.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=-eemf6nz8JU:rnbM12q1oz4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=-eemf6nz8JU:rnbM12q1oz4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=-eemf6nz8JU:rnbM12q1oz4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=-eemf6nz8JU:rnbM12q1oz4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=-eemf6nz8JU:rnbM12q1oz4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=-eemf6nz8JU:rnbM12q1oz4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=-eemf6nz8JU:rnbM12q1oz4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/-eemf6nz8JU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/03/what-compsci-textbooks-dont-tell-you-real-world-code-sucks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/03/what-compsci-textbooks-dont-tell-you-real-world-code-sucks/</feedburner:origLink></item>
		<item>
		<title>PSA: Software Development Tip: Clean out your Code Base</title>
		<link>http://feedproxy.google.com/~r/theexceptioncatcher/~3/kSkiroaDuQA/</link>
		<comments>http://theexceptioncatcher.com/blog/2013/02/psa-software-development-tip-clean-out-your-code-base/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 09:00:05 +0000</pubDate>
		<dc:creator>shicks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[build systems]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://theexceptioncatcher.com/blog/?p=401</guid>
		<description><![CDATA[There is a diplomatic mindset that many developers have: It’s better to orphan code, than it is to delete it. This, although less destructive in the short term, can become very destructive in the long run. Leaving orphaned code may: &#8230;<p class="read-more"><a href="http://theexceptioncatcher.com/blog/2013/02/psa-software-development-tip-clean-out-your-code-base/">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>There is a diplomatic mindset that many developers have: It’s better to orphan code, than it is to delete it. <span class="GRcorrect">This</span>, although less destructive in the short term, can become very destructive in the long run. Leaving orphaned code may:</p>
<ul>
<li>Encourage Reuse later on</li>
<li>Dramatically increase build times</li>
<li>Increase the amount of time needed to perform version control [A bigger code base takes longer to examine]</li>
<li>Reduces one’s ability to navigate through the code.</li>
<li>Increase the executable size</li>
<li>Increase maintenance times</li>
</ul>
<p>So in short: If the code is no longer needed and used, remove the dead code. If you’re using source control properly, the change can be reverted.</p>
<p>If the team you are working with still insists on orphaning code, at least have them to agree on periodic spring cleaning of the project.</p>
<hr />
<p>&nbsp;</p>
<p>Good News to those who use Maven and are working on J2EE web projects in IntelliJ: <a href="http://brunoaranda.blogspot.com/2007/11/debugging-web-application-with-intellij.html" target="_blank">Here’s a guide.</a></p>
<p>&nbsp;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=kSkiroaDuQA:KPe5fqcuI3s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=kSkiroaDuQA:KPe5fqcuI3s:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=kSkiroaDuQA:KPe5fqcuI3s:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=kSkiroaDuQA:KPe5fqcuI3s:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=kSkiroaDuQA:KPe5fqcuI3s:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/theexceptioncatcher?a=kSkiroaDuQA:KPe5fqcuI3s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/theexceptioncatcher?i=kSkiroaDuQA:KPe5fqcuI3s:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/theexceptioncatcher/~4/kSkiroaDuQA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://theexceptioncatcher.com/blog/2013/02/psa-software-development-tip-clean-out-your-code-base/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://theexceptioncatcher.com/blog/2013/02/psa-software-development-tip-clean-out-your-code-base/</feedburner:origLink></item>
	</channel>
</rss>
