<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://www.compiledmonkey.com/wp-atom.php">
	<title type="text">CompiledMonkey.com</title>
	<subtitle type="text">A daily look at all things geek.</subtitle>

	<updated>2009-07-13T00:42:11Z</updated>
	<generator uri="http://wordpress.org/" version="2.8.1">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://www.compiledmonkey.com" />
	<id>http://www.compiledmonkey.com/feed/atom/</id>
	

			<link rel="self" href="http://feeds.feedburner.com/Compiledmonkeycom" type="application/atom+xml" /><entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[Book Review: ASP.NET MVC in Action]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/uNAtjufN-ts/" />
		<id>http://www.compiledmonkey.com/?p=269</id>
		<updated>2009-07-13T00:42:11Z</updated>
		<published>2009-07-13T00:40:36Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Books" /><category scheme="http://www.compiledmonkey.com" term="ASP.NET MVC" /><category scheme="http://www.compiledmonkey.com" term="Book Review" /><category scheme="http://www.compiledmonkey.com" term="C#" /><category scheme="http://www.compiledmonkey.com" term="CodeCampServer" /><category scheme="http://www.compiledmonkey.com" term="Dependency Injection" /><category scheme="http://www.compiledmonkey.com" term="Manning" /><category scheme="http://www.compiledmonkey.com" term="TDD" />		<summary type="html"><![CDATA[I&#8217;ve had the pleasure of being able to review ASP.NET MVC in Action in it&#8217;s early access form.  If you&#8217;ve not heard of this program, Manning has a program called MEAP (Manning Early Access Program) which allows you to purchase the book before it&#8217;s published and gain access to it in PDF form as the [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2009/07/12/book-review-asp-net-mvc-in-action/"><![CDATA[<p>I&#8217;ve had the pleasure of being able to review <a href="http://www.manning.com/palermo/" target="_blank">ASP.NET MVC in Action</a> in it&#8217;s early access form.  If you&#8217;ve not heard of this program, Manning has a program called MEAP (Manning Early Access Program) which allows you to purchase the book before it&#8217;s published and gain access to it in PDF form as the author makes the chapters available.  In this case, I&#8217;ve been reading parts of the book nearly a year before it will be physically published in Sept 2009.  I highly recommend checking that out, as I&#8217;ve participated a number of times.  In fact, I purchased <a href="http://www.manning.com/skeet/" target="_blank">C# in Depth, 2nd edition</a> over the weekend in MEAP.  I have access to the 1st edition via PDF, access to the 2nd edition in PDF, and will receive a hard copy when the 2nd edition is published.  An excellent way to receive books in my opinion.  Anyway, on to my review of ASP.NET MVC in Action.</p>
<p>Being a book on a new technology, it&#8217;s a given that the author took the time to discuss the details of the framework.  Every major difference between ASP.NET and ASP.NET MVC is covered in detail.  The author presents the fundamentals of the framework in a very easy to understand format.  If you&#8217;ve never heard of the MVC pattern, you&#8217;ll find comfort in this book.  In fact, the pattern is even discussed outside of the Microsoft .NET implementation.  These are common expectations with a book on new technology, and the  author was able to deliver on all of them.</p>
<p>What makes this book standout to me, is the <a href="http://code.google.com/p/codecampserver/" target="_blank">CodeCampServer</a> project mentioned throughout this book.  The author created this open source project, using ASP.NET MVC and a host of best practices.  I had actually been following the project before I knew the book was being written.  Being able to read about the technology, then quickly download the source for the CodeCampServer project to see it in a real-world application, is a real treat.  It&#8217;s rare to find a book that extends beyond the text, that provides a real application you can use to understand the points outside of the text.  How do I structure my ASP.NET MVC project in the real-world, outside of a book sample?  How does TDD apply to ASP.NET MVC?  How does Dependency Injection fit in the ASP.NET MVC framework?  These are real questions that you&#8217;ll ask yourself, that most books wouldn&#8217;t touch.  With this book and the CodeCampServer project, you&#8217;ll find answers to those questions.</p>
<p>I&#8217;m very happy with this book.  I would definitely recommend it to anyone interested in ASP.NET MVC.  Getting the &#8220;beyond the text&#8221; that comes with the CodeCampServer is just icing on the cake, truly.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2009/07/12/book-review-asp-net-mvc-in-action/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2009/07/12/book-review-asp-net-mvc-in-action/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2009/07/12/book-review-asp-net-mvc-in-action/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[My first submission to the App Store]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/DWQGxIcF65Q/" />
		<id>http://www.compiledmonkey.com/?p=267</id>
		<updated>2009-01-29T01:41:37Z</updated>
		<published>2009-01-29T01:41:37Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Programming" /><category scheme="http://www.compiledmonkey.com" term="App Store" /><category scheme="http://www.compiledmonkey.com" term="iPhone SDK" />		<summary type="html"><![CDATA[I sat down and coded my first beginning to end application for the iPhone last weekend.  It&#8217;s nothing major and I suspect it won&#8217;t find many downloads, but it was a good learning experience for me.
There&#8217;s a lot to do once you&#8217;ve decided you&#8217;re going to sit down and create an application for the [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2009/01/28/my-first-submission-to-the-app-store/"><![CDATA[<p>I sat down and coded my first beginning to end application for the iPhone last weekend.  It&#8217;s nothing major and I suspect it won&#8217;t find many downloads, but it was a good learning experience for me.</p>
<p>There&#8217;s a lot to do once you&#8217;ve decided you&#8217;re going to sit down and create an application for the iPhone.  It&#8217;s not just a few hours of coding with a few minutes of deployment following.  There are a lot of profiles and certificates required just to get the in-progress application on your phone for testing.  Then you&#8217;ll go through that process again once you&#8217;re ready for App Store distribution.</p>
<p>My app, called iPhoneDev, is a simple RSS reader for the main development forum at iPhone Dev SDK.  Version 1.0.0, which is still &#8220;In Review&#8221; by Apple, is the most simplistic implementation possible.  On load, it parses the XML feed and inserts each thread into a cell in a UITableView.  If you select one of the cells it will launch Safari and load the thread.  About as simple as it gets. <img src='http://www.compiledmonkey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I have a ton of ideas for the application, all of which are simply for my learning benefit.  I&#8217;m working on interacting with the Accelerometer to reload the list.  If it passes the Apple sanity check, I&#8217;ll be sure to let you know about it. <img src='http://www.compiledmonkey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2009/01/28/my-first-submission-to-the-app-store/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2009/01/28/my-first-submission-to-the-app-store/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2009/01/28/my-first-submission-to-the-app-store/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[Twitter Integration on iPhone Dev SDK]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/PQy9TKjbGjo/" />
		<id>http://www.compiledmonkey.com/?p=264</id>
		<updated>2009-01-23T14:48:10Z</updated>
		<published>2009-01-23T14:48:10Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Programming" /><category scheme="http://www.compiledmonkey.com" term="iPhone Dev SDK" /><category scheme="http://www.compiledmonkey.com" term="Twitter" /><category scheme="http://www.compiledmonkey.com" term="vBulletin" />		<summary type="html"><![CDATA[Over at iPhone Dev SDK, we&#8217;re using the vBulletin forum software for the community.  I&#8217;ve always been a fan of the software package.  It has an excellent modding community of developers and the software itself opens the doors for plug-ins.
I&#8217;m also a big fan of Twitter.  I was asked recently how I [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2009/01/23/twitter-integration-on-iphone-dev-sdk/"><![CDATA[<p>Over at iPhone Dev SDK, we&#8217;re using the <a href="http://www.vbulletin.com/">vBulletin</a> forum software for the community.  I&#8217;ve always been a fan of the software package.  It has an excellent modding community of developers and the software itself opens the doors for plug-ins.</p>
<p>I&#8217;m also a big fan of Twitter.  I was asked recently how I use Twitter, and essentially, why it is important.  I&#8217;m not sure I had a great answer on the spot but after some reflection, I would think of Twitter like RSS, only with the ability to have updates <em>pushed</em> to you instead of manually pulling them.  That&#8217;s a big benefit and one I think is often overlooked.</p>
<p>With iPhone Dev SDK, I&#8217;m always looking for ways to improve the exchange of information.  An idea I came up with was integrating our main forum&#8217;s threads with Twitter.  So, I created a <a href="http://twitter.com/iphonedevsdk">Twitter account for iPhone Dev SDK</a> and set out to use the Twitter API to send status updates when new threads were created.  I quickly realized that it may be overwhelming for a follower to receive a tweet about every new thread, so instead I adjusted the plug-in to send status updates once a thread in the main forum has become popular.  This distinction is made after a certain number of posts have been made in a specific thread.</p>
<p>If you want to stay up to date on the popular discussions in the largest iPhone developer community, follow <a href="http://twitter.com/iphonedevsdk">@iphonedevsdk</a> on Twitter!</p>
<p>I do plan on packaging this code up as an official plug-in to vBulletin and releasing it to the community as open source.  It&#8217;s currently on a private GitHub repository.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2009/01/23/twitter-integration-on-iphone-dev-sdk/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2009/01/23/twitter-integration-on-iphone-dev-sdk/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2009/01/23/twitter-integration-on-iphone-dev-sdk/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[Stack Overflow]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/GE0h2Fsa_eU/" />
		<id>http://www.compiledmonkey.com/?p=262</id>
		<updated>2009-01-20T21:23:07Z</updated>
		<published>2009-01-20T21:23:07Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Programming" /><category scheme="http://www.compiledmonkey.com" term="Stack Overflow" />		<summary type="html"><![CDATA[Defined by the site itself, &#8220;Stack Overflow is a programming Q &#038; A site that&#8217;s free&#8221;.  I think it&#8217;s interesting that they mention it&#8217;s free.  I mean, would anyone use it if it wasn&#8217;t?  No.
I had seen Stack Overflow quite some time ago, but didn&#8217;t really take an interest at that point. [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2009/01/20/stack-overflow/"><![CDATA[<p>Defined by the site itself, &#8220;Stack Overflow is a programming Q &#038; A site that&#8217;s free&#8221;.  I think it&#8217;s interesting that they mention it&#8217;s free.  I mean, would anyone use it if it wasn&#8217;t?  No.</p>
<p>I had seen <a href="http://stackoverflow.com/">Stack Overflow</a> quite some time ago, but didn&#8217;t really take an interest at that point.  Over the weekend I stumbled across the site again and spent some time reading through the questions.  I&#8217;ve found some of the theory and best practices discussions very interesting.</p>
<p>Overall, I feel like there&#8217;s a bit of a Microsoft .NET bias going on.  Normally I&#8217;d be completely cool with that but I&#8217;m not really doing any .NET work these days.  Being able to group by tag is helpful however, and it keeps the exact default experience going on.  Which is pretty cool.</p>
<p>If you have any interest in programming, give it a look.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2009/01/20/stack-overflow/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2009/01/20/stack-overflow/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2009/01/20/stack-overflow/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[360&#124;iDev &#8211; iPhone Developer Conference]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/ccPqBe7N8Fo/" />
		<id>http://www.compiledmonkey.com/?p=253</id>
		<updated>2009-01-05T21:11:23Z</updated>
		<published>2009-01-05T21:11:23Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Life" /><category scheme="http://www.compiledmonkey.com" term="360|iDev" /><category scheme="http://www.compiledmonkey.com" term="Conferences" /><category scheme="http://www.compiledmonkey.com" term="iPhone Dev SDK" />		<summary type="html"><![CDATA[I booked my flight today for the 360&#124;iDev iPhone Developer Conference.  I&#8217;ll be speaking in the business track with a session called, &#8220;You&#8217;ve shipped your app, now what?&#8221;  I&#8217;m definitely looking forward to it and want to get an idea of how many members of the iPhone Dev SDK community will be there. [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2009/01/05/360idev-iphone-developer-conference/"><![CDATA[<p>I booked my flight today for the <a href="http://www.360idev.com/" target="_new">360|iDev iPhone Developer Conference</a>.  I&#8217;ll be speaking in the business track with a session called, &#8220;You&#8217;ve shipped your app, now what?&#8221;  I&#8217;m definitely looking forward to it and want to get an idea of how many members of the iPhone Dev SDK community will be there.  I&#8217;m hoping we can get together for a dinner one night or something similar.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2009/01/05/360idev-iphone-developer-conference/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2009/01/05/360idev-iphone-developer-conference/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2009/01/05/360idev-iphone-developer-conference/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[New Year, New Company]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/Sq3L_WsoH8E/" />
		<id>http://www.compiledmonkey.com/?p=249</id>
		<updated>2008-12-31T21:12:25Z</updated>
		<published>2008-12-31T21:12:25Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Life" /><category scheme="http://www.compiledmonkey.com" term="PCG" /><category scheme="http://www.compiledmonkey.com" term="Xperts" />		<summary type="html"><![CDATA[I&#8217;ve been working at Xperts, Inc., a local educational-software company, since September 2007 in the capacity of Senior Technology Architect.  We develop IEP software for Virginia, Georgia, Pennsylvania, and Washington called iep.online.  The product has been around for roughly 10 years and has seen a lot of development time.
My focus hasn&#8217;t been directly [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2008/12/31/new-year-new-company/"><![CDATA[<p>I&#8217;ve been working at Xperts, Inc., a local educational-software company, since September 2007 in the capacity of Senior Technology Architect.  We develop IEP software for Virginia, Georgia, Pennsylvania, and Washington called iep.online.  The product has been around for roughly 10 years and has seen a lot of development time.</p>
<p>My focus hasn&#8217;t been directly on the product, but rather the supporting software systems and hardware infrastructure and configuration.  The challenges of working in an environment where we host the software for our clients in a <a href="http://en.wikipedia.org/wiki/Software_as_a_service" target="_new">Software as a Service (SaaS)</a> model, and commonly experience hundreds of concurrent users at any given time, has been enjoyable.</p>
<p>I feel like I&#8217;ve learned a lot in my time at Xperts.  I&#8217;ve expanded my technical abilities during my time here.  I came in with a strong Microsoft .NET background and lesser capabilities in Java.  I&#8217;ve continued my .NET work for a number of projects at Xperts, but have been far more focused on Java technology.  I&#8217;ve been using a MacBook Pro as my workstation and have truly become attached to the productivity increases I&#8217;ve discovered by using Mac OS X.  Before my time at Xperts, I had no experience with JavaServer Faces, Hibernate, and Python.  Yet, utilizing JavaServer Faces and Hibernate, I&#8217;ve built a high profile portal and load-balancing system that&#8217;s used by every customer.  I&#8217;ve gained a true appreciation for these technologies and have enjoyed the experience of learning them in detail.</p>
<p>In addition to the programming specific tasks, I&#8217;ve taken on a number of other technology roles.  I migrated the team from CVS to Subversion for source control management.  I researched, proposed, implemented, and manage our new Help Desk solution using the amazing JIRA product from Atlassian.  I worked hand in hand with our Manager of Network Operations to completely revamp our ASP environment configuration and implementation.  We&#8217;ve experienced a lot of success after that migration.  I&#8217;ve had a lot of interesting experiences during my time at Xperts.</p>
<p>Tomorrow, I&#8217;ll be an official employee of Public Consulting Group, headquartered in Boston, as a Senior Technical Architect II.  PCG has acquired Xperts and the majority of employees will be joining PCG to continue our efforts in the IEP space.  I&#8217;m very excited to join PCG, which employs 600 professionals across the United States, 180 of which are in the Education group.  That&#8217;s a huge jump from our office of 20 employees.  A lot of the details are unknown to me at this point as we were made aware yesterday.  I&#8217;m excited because my team is staying together and PCG offers excellent MED and RTI solutions, which our customers are asking for.  There should be plenty of opportunities for us, as one company, to offer a wider range of solutions to those in the education community.  I&#8217;m very excited about that.</p>
<p>So, here&#8217;s to a new start in 2009! <img src='http://www.compiledmonkey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2008/12/31/new-year-new-company/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2008/12/31/new-year-new-company/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2008/12/31/new-year-new-company/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[My 2009 New Year&#8217;s Resolutions]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/VbUYQbavr4U/" />
		<id>http://www.compiledmonkey.com/?p=247</id>
		<updated>2008-12-31T04:10:14Z</updated>
		<published>2008-12-31T04:10:14Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Life" /><category scheme="http://www.compiledmonkey.com" term="Resolutions" />		<summary type="html"><![CDATA[- Enjoy everyday with my wife and son.
- Bring a new baby into the world.
- Get back into shape.
- Complete 50% at least of my masters degree.
- Double the footprint of iPhone Dev SDK.
- Build a non-trivial Mac/iPhone application.
- Blog more often, move away from Twitter.
- Double the number of contracts 913solutions, LLC was awarded [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2008/12/30/my-2009-new-years-resolutions/"><![CDATA[<p>- Enjoy everyday with my wife and son.<br />
- Bring a new baby into the world.<br />
- Get back into shape.<br />
- Complete 50% at least of my masters degree.<br />
- Double the footprint of iPhone Dev SDK.<br />
- Build a non-trivial Mac/iPhone application.<br />
- Blog more often, move away from Twitter.<br />
- Double the number of contracts 913solutions, LLC was awarded in 2008.<br />
- Create a play area in the backyard for Carter.<br />
- Take an interest in a new area of my company&#8217;s business.<br />
- Conceptualize and implement one of my many ideas.<br />
- Gain subject matter expertise in a new area of technology.</p>
<p>I suspect this will be an evolving list but this is a solid start. <img src='http://www.compiledmonkey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2008/12/30/my-2009-new-years-resolutions/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2008/12/30/my-2009-new-years-resolutions/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2008/12/30/my-2009-new-years-resolutions/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[Built-in &#8220;yes_no&#8221; type for Hibernate]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/yQG5Peznp80/" />
		<id>http://www.compiledmonkey.com/?p=231</id>
		<updated>2008-10-21T20:39:04Z</updated>
		<published>2008-10-21T20:39:04Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Programming" /><category scheme="http://www.compiledmonkey.com" term="Hibernate" /><category scheme="http://www.compiledmonkey.com" term="Java" />		<summary type="html"><![CDATA[Today I was working on some code and ran across an interesting situation while trying to create a Hibernate mapping file for an entity.  My entity has a property called isAdministrator that has the type boolean.  The corresponding column in the database table represents true/false with the character Y or N.  At [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2008/10/21/built-in-yes_no-type-for-hibernate/"><![CDATA[<p>Today I was working on some code and ran across an interesting situation while trying to create a Hibernate mapping file for an entity.  My entity has a property called isAdministrator that has the type boolean.  The corresponding column in the database table represents true/false with the character Y or N.  At runtime, Hibernate would toss casting exceptions as I&#8217;d attempt to query the database for this field.</p>
<p>I quickly realized where my problem was and thought I&#8217;d need to write some ugly code to make this work.  After a few quick Google searches I discovered the &#8220;yes_no&#8221; type.  By adding this attribute to my XML configuration for the mapping, Hibernate automatically takes care of the translation process.  Neat, huh?  In case you&#8217;re wondering, there&#8217;s a &#8220;true_false&#8221; type in there as well.</p>
<p><code>&lt;property name="isAdmin" column="isAdmin" type="yes_no" /&gt;</code></p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2008/10/21/built-in-yes_no-type-for-hibernate/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2008/10/21/built-in-yes_no-type-for-hibernate/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2008/10/21/built-in-yes_no-type-for-hibernate/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[You should be using Dependency Injection]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/fgIPQ9eSZ3k/" />
		<id>http://www.compiledmonkey.com/?p=223</id>
		<updated>2008-10-06T19:02:41Z</updated>
		<published>2008-10-06T19:02:41Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Programming" /><category scheme="http://www.compiledmonkey.com" term="Dependency Injection" /><category scheme="http://www.compiledmonkey.com" term="Google Guice" /><category scheme="http://www.compiledmonkey.com" term="Spring" />		<summary type="html"><![CDATA[Over the last few months I&#8217;ve been getting myself reacquainted to the Java world.  I built a reasonably simple JavaServer Faces application.  I tend to instinctively follow Domain-Driven Design and separate levels of abstraction reasonably well.  Towards the end of the v1 release, I was informed that we&#8217;d need a build for [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2008/10/06/you-should-be-using-dependency-injection/"><![CDATA[<p>Over the last few months I&#8217;ve been getting myself reacquainted to the Java world.  I built a reasonably simple JavaServer Faces application.  I tend to instinctively follow <a href="http://en.wikipedia.org/wiki/Domain-driven_design">Domain-Driven Design</a> and separate levels of abstraction reasonably well.  Towards the end of the v1 release, I was informed that we&#8217;d need a build for another environment of ours.  The front end code remains unchanged for the most part.  What would be radically different was the service layer code I wrote that had an implementation specific to our environment.</p>
<p>Time was a concern, as it always is, and I nearly forked the code base to begin on a version specifically for that second environment.  Before I did, I took a crack at <a href="http://martinfowler.com/articles/injection.html">Dependency Injection</a> with <a href="http://code.google.com/p/google-guice/">Google Guice</a> to see if that could be a potential solution.  With my original implementation, I had a set of controllers that were marked as JSF beans.  Each controller had instances of service classes as needed.  Those service classes interacted with the entities and performed persistence by way of Hibernate (Yeah, I know, I should have split those).  Anyway, as you can see, there was a direct dependency on the service classes and my controllers.  Everything is tightly coupled in this situation.</p>
<p>What I did was create a set of interfaces that described the functionality in my service classes.  Essentially a one-to-one, an interface for each service class.  I refactored my controllers to use the interfaces in place of the concrete service classes themselves.  Next, I created an &#8220;environment two&#8221; set of service classes that implemented the newly created interfaces.  So, with the help of Google Guice and some refactoring, I had a single code base that adjusted its implementation based on the environment it was in and a code base that&#8217;s fully ready for unit testing.</p>
<p>Dependency Injection is important.  In the most simplest of terms, it gives you loosely coupled software components.  Having that gives you flexibility.  Flexibility in the sense of what I described, or testability, or an architecture that can be reused without rewriting a lot of code.  You should be using it, in every project, if for nothing more than a simplistic approach to software engineering.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2008/10/06/you-should-be-using-dependency-injection/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2008/10/06/you-should-be-using-dependency-injection/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2008/10/06/you-should-be-using-dependency-injection/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Chris Stewart</name>
						<uri>http://</uri>
					</author>
		<title type="html"><![CDATA[Book Review: Seam In Action]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Compiledmonkeycom/~3/guUFH8PORVE/" />
		<id>http://www.compiledmonkey.com/?p=216</id>
		<updated>2008-10-04T20:37:08Z</updated>
		<published>2008-10-04T20:37:08Z</published>
		<category scheme="http://www.compiledmonkey.com" term="Books" /><category scheme="http://www.compiledmonkey.com" term="Book Review" /><category scheme="http://www.compiledmonkey.com" term="JBoss" /><category scheme="http://www.compiledmonkey.com" term="Seam" />		<summary type="html"><![CDATA[Not too many months ago, I was evaluating a number of Java frameworks for a project I was starting.  One of those frameworks was JBoss Seam.  Seam brings together J2EE technologies such as Enterprise Java Beans 3.0, Java Server Faces, POJOs, and a wealth of rich web components.
Many of us are familiar with [...]]]></summary>
		<content type="html" xml:base="http://www.compiledmonkey.com/2008/10/04/book-review-seam-in-action/"><![CDATA[<p><a href="http://www.manning.com/affiliate/idevaffiliate.php?id=1049_105"><img alt="" src="http://www.manning.com/dallen/dallen_cover150.jpg" title="Seam in Action" style="float: left;" /></a>Not too many months ago, I was evaluating a number of Java frameworks for a project I was starting.  One of those frameworks was <a href="http://www.jboss.com/products/seam">JBoss Seam</a>.  Seam brings together J2EE technologies such as Enterprise Java Beans 3.0, Java Server Faces, POJOs, and a wealth of rich web components.</p>
<p>Many of us are familiar with the &#8220;In Action&#8221; series of books from Manning.  They are quite simply some of the most highly respected technology books available.  I purchased this book knowing the kind of quality I could expect, and I wasn&#8217;t let down.  The presentation and quality of the material was as I expected.  Some of the key areas of focus were those that are most important in Seam; the Seam life cycle, inversion of control, state management, persistence, and transactions.  Obviously many of these topics exist outside of Seam but what the Seam framework does is provide added features for these key items.  The book focuses heavily on each and really drills into the improvements made.</p>
<p>I&#8217;ve done a lot of scrounging around the web for tutorials, guides, and articles about Seam.  This book is far and away the best <em>resource</em> I&#8217;ve found.  Everything else has been a mere reference.  If you are like me, and want a real resource on the topic, you&#8217;ll be happy with this purchase.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.compiledmonkey.com/2008/10/04/book-review-seam-in-action/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.compiledmonkey.com/2008/10/04/book-review-seam-in-action/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.compiledmonkey.com/2008/10/04/book-review-seam-in-action/</feedburner:origLink></entry>
	</feed>
