<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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/"
	>

<channel>
	<title>Basil Vandegriend: Professional Software Development</title>
	<link>http://www.basilv.com/psd</link>
	<description></description>
	<pubDate>Mon, 12 May 2008 20:30:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Assessing Service Oriented Architecture</title>
		<link>http://www.basilv.com/psd/blog/2008/assessing-service-oriented-architecture</link>
		<comments>http://www.basilv.com/psd/blog/2008/assessing-service-oriented-architecture#comments</comments>
		<pubDate>Mon, 12 May 2008 20:30:38 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Architecture]]></category>

		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/assessing-service-oriented-architecture</guid>
		<description><![CDATA[I have always been skeptical of Service Oriented Architecture (SOA) and web services since they first came on the scene. This was not necessarily a rational skepticism, but was instead more of a visceral response to all the hype. As the years passed by, SOA and web services stuck around and I heard it mentioned [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/assessing-service-oriented-architecture/feed</wfw:commentRss>
		</item>
		<item>
		<title>Working with Java 5 Annotations</title>
		<link>http://www.basilv.com/psd/blog/2008/working-with-java-5-annotations</link>
		<comments>http://www.basilv.com/psd/blog/2008/working-with-java-5-annotations#comments</comments>
		<pubDate>Sun, 04 May 2008 21:09:17 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/working-with-java-5-annotations</guid>
		<description><![CDATA[Annotations are a new language feature introduced in Java 5 that allows Java code elements such as classes or methods to be annotated with structured metadata. This metadata can then be used at compile-time or at run-time by other code. Annotations are commonly used to provide configuration information for infrastructure frameworks to provide cross-cutting functionality.
Using [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/working-with-java-5-annotations/feed</wfw:commentRss>
		</item>
		<item>
		<title>Creating Custom Tags Using JSP</title>
		<link>http://www.basilv.com/psd/blog/2008/creating-custom-tags-using-jsp</link>
		<comments>http://www.basilv.com/psd/blog/2008/creating-custom-tags-using-jsp#comments</comments>
		<pubDate>Thu, 24 Apr 2008 22:12:01 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[JSP]]></category>

		<category><![CDATA[reuse]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/creating-custom-tags-using-jsp</guid>
		<description><![CDATA[Java Server Pages (JSP) is a Java technology for rendering dynamic web pages. Unlike servlets written directly in Java, JSP files contain special markup to identify java or JSP code. The normal (non-markup) text is interpreted as HTML. Early in JSP&#8217;s evolution, custom tags were introduced as a way of providing reusable functionality, particularly reusable [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/creating-custom-tags-using-jsp/feed</wfw:commentRss>
		</item>
		<item>
		<title>Automatically Populating Audit Columns in Hibernate</title>
		<link>http://www.basilv.com/psd/blog/2008/automatically-populating-audit-columns-in-hibernate</link>
		<comments>http://www.basilv.com/psd/blog/2008/automatically-populating-audit-columns-in-hibernate#comments</comments>
		<pubDate>Sun, 13 Apr 2008 22:32:30 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Hibernate]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/automatically-populating-audit-columns-in-hibernate</guid>
		<description><![CDATA[Audit columns are a common design pattern used to record data creation and modification information for database tables. A typical implementation of this pattern is to add four columns to every non-static database table: CREATE_USER, CREATE_TIMESTAMP, UPDATE_USER, and UPDATE_TIMESTAMP. The create columns are populated only when a record is initially populated, while the update columns [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/automatically-populating-audit-columns-in-hibernate/feed</wfw:commentRss>
		</item>
		<item>
		<title>Improving Performance via Eager Fetching in Hibernate</title>
		<link>http://www.basilv.com/psd/blog/2008/improving-performance-via-eager-fetching-in-hibernate</link>
		<comments>http://www.basilv.com/psd/blog/2008/improving-performance-via-eager-fetching-in-hibernate#comments</comments>
		<pubDate>Sun, 16 Mar 2008 01:35:46 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Hibernate]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/improving-performance-via-eager-fetching-in-hibernate</guid>
		<description><![CDATA[My previous article started discussing Hibernate relationships, focusing on lazy versus non-lazy relationships. This article continues the theme by discussing how to improve performance when dealing with relationships in Hibernate through a feature called eager fetching.
Hibernate&#8217;s abstraction of database access behind getter and setter methods on domain objects hides potentially inefficient database access. Mindlessly using [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/improving-performance-via-eager-fetching-in-hibernate/feed</wfw:commentRss>
		</item>
		<item>
		<title>Avoid Non-Lazy Relationships in Hibernate</title>
		<link>http://www.basilv.com/psd/blog/2008/avoid-non-lazy-relationships-in-hibernate</link>
		<comments>http://www.basilv.com/psd/blog/2008/avoid-non-lazy-relationships-in-hibernate#comments</comments>
		<pubDate>Thu, 06 Mar 2008 05:39:07 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Hibernate]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/avoid-non-lazy-relationships-in-hibernate</guid>
		<description><![CDATA[Support for entity relationships is a great time-saving feature in Hibernate, but it can also be a trap for the unsuspecting developer. Handling relationships between entities can be a complex business, and I for one am glad for all the support that Hibernate provides. Hibernate&#8217;s assistance, however, can do more harm than good when it [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/avoid-non-lazy-relationships-in-hibernate/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hibernate and Logging</title>
		<link>http://www.basilv.com/psd/blog/2008/hibernate-and-logging</link>
		<comments>http://www.basilv.com/psd/blog/2008/hibernate-and-logging#comments</comments>
		<pubDate>Sat, 23 Feb 2008 22:08:40 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Hibernate]]></category>

		<category><![CDATA[log4j]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/hibernate-and-logging</guid>
		<description><![CDATA[Hibernate tries to hide the details of dealing with relational databases, but it is at best a leaky abstraction. At its most basic level, Hibernate is a framework that issues SQL commands to the database. Sometimes it does not do what you would expect or want (more on that in future articles). Therefore it is [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/hibernate-and-logging/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hibernate Tips and Tricks</title>
		<link>http://www.basilv.com/psd/blog/2008/hibernate-tips-and-tricks</link>
		<comments>http://www.basilv.com/psd/blog/2008/hibernate-tips-and-tricks#comments</comments>
		<pubDate>Sat, 23 Feb 2008 21:58:22 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Hibernate]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/hibernate-tips-and-tricks</guid>
		<description><![CDATA[Hibernate is a de facto standard for object-relational mapping. One of my recent projects involved the use of the latest version of Hibernate (3.2). Since I had not used Hibernate since its version 2 days,  I picked up the authoritative reference Java Persistence with Hibernate which is co-authored by Gavin King, the founder of [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/hibernate-tips-and-tricks/feed</wfw:commentRss>
		</item>
		<item>
		<title>How to Handle Null Values in Code</title>
		<link>http://www.basilv.com/psd/blog/2008/how-to-handle-null-values-in-code</link>
		<comments>http://www.basilv.com/psd/blog/2008/how-to-handle-null-values-in-code#comments</comments>
		<pubDate>Fri, 01 Feb 2008 14:56:59 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/how-to-handle-null-values-in-code</guid>
		<description><![CDATA[One fairly common coding style I have seen from more experienced developers is what I will call highly-aggressive null checking. Such developers have most likely been burned by null pointer exceptions in the past and hence have evolved a style of coding which confirms that parameters or fields are non-null before using them. The code [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/how-to-handle-null-values-in-code/feed</wfw:commentRss>
		</item>
		<item>
		<title>Inspiring Great Design</title>
		<link>http://www.basilv.com/psd/blog/2008/inspiring-great-design</link>
		<comments>http://www.basilv.com/psd/blog/2008/inspiring-great-design#comments</comments>
		<pubDate>Sun, 13 Jan 2008 21:35:02 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[requirements]]></category>

		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2008/inspiring-great-design</guid>
		<description><![CDATA[I recently acquired a design tool – a set of IDEO method cards, where each card presents a design approach or a method of gaining inspiration. IDEO&#8217;s design philosophy is to keep people at the center of the design process, and the four categories they divide the cards into reflect this:

Ask people to help.
Look at [...]]]></description>
		<wfw:commentRss>http://www.basilv.com/psd/blog/2008/inspiring-great-design/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
