<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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>of if's and else's ...</title>
	<link>http://blogs.exist.com/erle</link>
	<description>erle. geek. blog. anything. everything.</description>
	<pubDate>Mon, 08 Nov 2010 12:11:01 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>And then it hit me &#8230;</title>
		<link>http://blogs.exist.com/erle/2010/11/08/and-then-it-hit-me/</link>
		<comments>http://blogs.exist.com/erle/2010/11/08/and-then-it-hit-me/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 11:57:11 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2010/11/08/and-then-it-hit-me/</guid>
		<description><![CDATA[&#160;I used to think that programming is all about mastering the control&#160;
structures of a programming language and wielding them to solve a problem.
&#160;
That was college.
&#160;
Time has a way of changing perspectives.
&#160;
Now, it is all about metrics. Any coding monkey can write a program&#160;
but it takes a skilled programmer to write elegant code.
&#160;
Code that reveals itself.
&#160;
Code [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;I used to think that programming is all about mastering the control&nbsp;</p>
<div>structures of a programming language and wielding them to solve a problem.</div>
<div>&nbsp;</div>
<div>That was college.</div>
<div>&nbsp;</div>
<div>Time has a way of changing perspectives.</div>
<div>&nbsp;</div>
<div>Now, it is all about metrics. Any coding monkey can write a program&nbsp;</div>
<div>but it takes a skilled programmer to write elegant code.</div>
<div>&nbsp;</div>
<div>Code that reveals itself.</div>
<div>&nbsp;</div>
<div>Code that doesn&#8217;t introduce a chain reaction of problems when modified.</div>
<div>&nbsp;</div>
<div>Code that has a minimal amount of external dependencies.</div>
<div>&nbsp;</div>
<div>Code that doesn&#8217;t repeat in many places.</div>
<div>&nbsp;</div>
<div>Code that speaks an idea well.</div>
<div>&nbsp;</div>
<div>Code that lets you modify it without actually modifying it.</div>
<div>&nbsp;</div>
<div>Code that is consistent with a paradigm.</div>
<div>&nbsp;</div>
<div>Code that doesn&#8217;t change a lot.</div>
<div>&nbsp;</div>
<div>&#8230;</div>
<div>&nbsp;</div>
<div>And code that works.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>The journey is one of discovery and revelations, coupled with countless&nbsp;</div>
<div>ruined evenings and unspeakable tweets and status updates.</div>
<div>&nbsp;</div>
<div>&#8216;pag programmer pa &#8216;do!</div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2010/11/08/and-then-it-hit-me/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Of the Cebu Ubuntu Release Party</title>
		<link>http://blogs.exist.com/erle/2010/10/24/of-the-cebu-ubuntu-release-party/</link>
		<comments>http://blogs.exist.com/erle/2010/10/24/of-the-cebu-ubuntu-release-party/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 08:03:42 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2010/10/24/of-the-cebu-ubuntu-release-party/</guid>
		<description><![CDATA[Last night we had the first ever Cebu Ubuntu Release Party for Maverick Meerkat. 
It was organized by a group aptly called Cebuntu (Cebu + Ubuntu) which draws most
of its members from the linux enthusiasts of istorya.net.
I wasn&#8217;t expecting the party to be that grand(honestly). There was food (real food
like lechon and rice!) and the [...]]]></description>
			<content:encoded><![CDATA[<p>Last night we had the first ever Cebu Ubuntu Release Party for Maverick Meerkat. </p>
<p>It was organized by a group aptly called <a href="http://www.cebuntu.com">Cebuntu</a> (Cebu + Ubuntu) which draws most<br />
of its members from the linux enthusiasts of istorya.net.</p>
<p>I wasn&#8217;t expecting the party to be that grand(honestly). There was food (real food<br />
like lechon and rice!) and the place was posh (The Jive Restobar in Lahug) and<br />
overlooking Cebu city.</p>
<p>This release party was  happening in sync with most release parties in the country,<br />
particularly the one in Orange and Bronze in Makati. Streaming videos were exchanged.<br />
Nap made an impromptu speech. He didn&#8217;t know he was speaking until after he was<br />
called (he had a memorable look on his face, as Jev pointed out).  </p>
<p>We distributed CDs, stickers (thanks to another member who printed them),<br />
exchanged ideas on how to spread the gospel of linux and Ubuntu all over the Visayas<br />
region (we are not limiting ourselves to Cebu!) and discussed <a href="https://launchpad.net/bugs/1">Ubuntu&#8217;s  bug no. 1</a><br />
(filed by Mark Shuttleworth himself). We also discussed on how best to<br />
convert users to ubuntu (wow them with compiz effects) and how to dominate the<br />
world (start in the schools). We also had a brief discussion with regards to the<br />
usage and guidelines of the Ubuntu trademark and logos.</p>
<p>But best of all, we elected our first contact person to represent the chapter.<br />
We wanted to be recognized as the official Cebu chapter of the Ubuntu local<br />
community here in the Philippines (so we can tell sponsors, business people,<br />
schools,etc. that we do represent a real organization and that they can take<br />
us seriously) and as Nap pointed out, the first step is to have a contact person<br />
to represent us so he can link that person up with the current LoCo head.</p>
<p>Congrats to Scriptwarlock, by the way, for being that contact person!</p>
<p>After a ravaged lechon and a brief photo-op, we left the party with hopes<br />
and dreams that someday we will see Ubuntu being commonly used in Cebu<br />
in lieu of pirated windows (or even non-pirated ones). And maybe, just maybe,<br />
we can then say proudly that we squashed Ubuntu&#8217;s Bug No. 1 here in Cebu!</p>
<p>So, if you are in Cebu and you are an Ubuntu user, please participate and become<br />
a member of <a href="http://www.cebuntu.com">Cebuntu</a>. Our forum is <a href="http://www.cebuntu.org">Cebuntu</a> and most of our members hang out in<br />
IRC, in the #cebuntu channel in Freenode.</p>
<p>Pictures will appear on this blog post after I&#8217;ve gotten them from Jan and Nap.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
PS: Thanks to the sponsors, the lechon was yummy and the place, nice!<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2010/10/24/of-the-cebu-ubuntu-release-party/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Green Eclipse Editor Color Theme</title>
		<link>http://blogs.exist.com/erle/2009/11/05/green-eclipse-editor-color-theme/</link>
		<comments>http://blogs.exist.com/erle/2009/11/05/green-eclipse-editor-color-theme/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 11:48:02 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2009/11/05/green-eclipse-editor-color-theme/</guid>
		<description><![CDATA[I am anal when it comes to editors.
The first thing I check out if I&#8217;m planning to use a particular editor for the long haul is if its color theme can be modified to my taste. Additional bonus is if it has a way to import/export those themes, so I can just find a color [...]]]></description>
			<content:encoded><![CDATA[<p>I am anal when it comes to editors.</p>
<p>The first thing I check out if I&#8217;m planning to use a particular editor for the long haul is if its color theme can be modified to my taste. Additional bonus is if it has a way to import/export those themes, so I can just find a color theme in the internet and import it to my editor.</p>
<p>These days, my IDE of choice is Eclipse. Apart from being fast and powerful, it has all those features I mentioned above. This blog entry is about a theme I&#8217;ve created that I&#8217;ve been using for almost 3 years now.</p>
<p>I named it the &#8220;Green Pintado&#8221;(green-painted ones) theme. It is a modification of a theme I&#8217;ve used before in Xcode which I have also created myself.</p>
<p>As the name implies, it is a green theme. Much of the colors are based on green and the colors that stand out against it or blend harmoniously with it.</p>
<p>Below you will find a screenshot of the theme being used.</p>
<p><img src="http://blogs.exist.com/erle/files/2009/11/screenshot3.png" /></p>
<p>And here is the link to the Eclipse Preference File -&gt; <a href="http://editor-color-themes.googlecode.com/files/green-pintado.epf">http://editor-color-themes.googlecode.com/files/green-pintado.epf</a></p>
<p>To install it, on Eclipse, go to File &gt; Import &gt; General &gt; Preferences , browse for the file, click Finish. Voila!</p>
<p>By the way, I&#8217;ve created a google project to act as a repository for all the syntax highlighting color themes I have created and those that will be contributed in the future. If you want your theme to be included in there, please visit <a href="http://code.google.com/p/editor-color-themes/">http://code.google.com/p/editor-color-themes/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2009/11/05/green-eclipse-editor-color-theme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A little bit on unit testing code with major runtime dependency</title>
		<link>http://blogs.exist.com/erle/2008/05/21/a-little-bit-on-unit-testing-code-with-major-runtime-dependency/</link>
		<comments>http://blogs.exist.com/erle/2008/05/21/a-little-bit-on-unit-testing-code-with-major-runtime-dependency/#comments</comments>
		<pubDate>Wed, 21 May 2008 16:42:12 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2008/05/21/a-little-bit-on-unit-testing-code-with-major-runtime-dependency/</guid>
		<description><![CDATA[There are times when you want to unit test a part of your code. Maybe for proof-of-concept that it works, or you just wanna be sure that it works before you hit that execute button.
The thing is, that part of the code requires that a runtime mechanism be running.
Am I talking gibberish ? Let me [...]]]></description>
			<content:encoded><![CDATA[<p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">There are times when you want to unit test a part of your code. Maybe for proof-of-concept that it works, or you just wanna be sure that it works before you hit that execute button.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">The thing is, that part of the code requires that a runtime mechanism be running.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">Am I talking gibberish ? Let me give you an example: Suppose you are writing an eclipse plugin, and you are writing an action that would delete an item from a tree. That&rsquo;s a fairly generic operation, so you start writing an action class that accepts an object and another object that you can use to find the parent of that object. Then you write the actual action method which finds the parent of this object and deletes it.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">public class DeleteItemAction extends something&lt;br /&gt;<br />
{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;private ITreeContentProvider provider;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;public DeleteItemAction( ITreeContentProvider provider )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.provider = provider;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;public void doAction( Object object )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object parentObject = contentProvider.getParent( object );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; ( (Something) parentObject ).removeChild( object );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;<br />
}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">Perfect. Now, I can write a test for this code.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">@Test&lt;br /&gt;<br />
public void testDeleteItemAction()&lt;br /&gt;<br />
{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;List&amp;lt;object&amp;gt; objectList = getObjects();&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;ITreeContentProvider provider = getContentProvider( objectList );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;Object firstObject = objectList.get( 0 ); &amp;nbsp;&amp;nbsp;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;assertTrue(objectList.contains( firstObject ) );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;DeleteItemAction action = new DeleteItemAction( provider );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;action.doAction( firstObject );</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;assertFalse( objectList.contains( firstObject ) );&lt;br /&gt;<br />
}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">
Then you suddenly remember that you have to prompt your user if he really wants to delete it or cancel. So you then scrambled to your other codes and look for that message-box-launching code,.. you found it,.. you copy-paste it.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">public class DeleteItemAction extends something&lt;br /&gt;<br />
{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;private ITreeContentProvider provider;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;public DeleteItemAction( ITreeContentProvider provider )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.provider = provider;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void doAction( Object object )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox messageBox =&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new MessageBox( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.ICON_QUESTION |&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SWT.YES | SWT.NO );&lt;br /&gt;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messageBox.setMessage( &amp;quot;Do you want to delete this object&amp;quot; );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messageBox.setText( &amp;quot;Delete object?&amp;quot; );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int response = messageBox.open();&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( response == SWT.YES )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object parentObject = contentProvider.getParent( object );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ( (Something) parentObject ).removeChild( object );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;<br />
}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">And you smirk and say, damn, I&rsquo;m good. Then you run your test.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">Surprise. It doesn&rsquo;t run. The code you copy and pasted pops up a message box,.. and you need to run your test as an eclipse plugin test in order for the entire eclipse runtime mechanism to be running when you perform the test,.. for the message box to pop-up! The hassles you get for a want of a test to exercise a simple code.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">So what do you do ? Do you give up and just click &ldquo;Run eclipse plugin test&rdquo; and wait for ages for it to load? Or do you restructure your code so you can still just &ldquo;Run junit test&rdquo; and still be able to test your code ?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">I prefer the latter. Turns out, it was easy.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">Abstract. Abstract the part that requires the runtime mechanism. In this case, the code that calls the message box. Move it out of the generic code, make it protected, so it could be overridden. And when you write your junit test, create a mock class that extends it and override the &ldquo;heavy code&rdquo; with something that just returns true.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">To illustrate:</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">public class DeleteItemAction extends something&lt;br /&gt;<br />
{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;private ITreeContentProvider provider;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;public DeleteItemAction( ITreeContentProvider provider )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.provider = provider;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;public void doAction( Object object )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( showWarningAndPrompt() )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object parentObject = contentProvider.getParent( object );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;( (Something) parentObject ).removeChild( object );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}</code><br />
<code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;protected boolean showWarningAndPrompt()&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MessageBox messageBox =&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new MessageBox( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.ICON_QUESTION |&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SWT.YES | SWT.NO );</code><code style="font-style: normal; font-weight: normal; ">messageBox.setMessage( &amp;quot;Do you want to delete this object&amp;quot; );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;messageBox.setText( &amp;quot;Delete object?&amp;quot; );</code><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int response = messageBox.open();&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( response == SWT.YES )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">and in your test</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">@Test&lt;br /&gt;<br />
public void testDeleteItemAction()&lt;br /&gt;<br />
{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;List&amp;lt;object&amp;gt; objectList = getObjects();&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;ITreeContentProvider provider = getContentProvider( objectList );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;Object firstObject = objectList.get( 0 );</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;assertTrue(objectList.contains( firstObject ) );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;DeleteItemAction action = new DeleteItemActionMock( provider );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;action.doAction( firstObject );</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp; &amp;nbsp;assertFalse( objectList.contains( firstObject ) );</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">private class DeleteItemActionMock extends DeleteItemAction&lt;br /&gt;<br />
{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;public DeleteItemActionMock( ITreeContentProvider contentProvider )&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super( contentProvider );&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&amp;nbsp;&amp;nbsp;</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; "><code style="font-style: normal; font-weight: normal; ">&amp;nbsp;&amp;nbsp;&amp;nbsp; protected boolean showWarningAndPrompt()&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;&lt;br /&gt;<br />
&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;<br />
}</code></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">
The latter doesn&rsquo;t need the entire eclipse runtime to run,.. it&rsquo;s just another junit test.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">Additional benefit ? Your code has now a better structure.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">I believe this technique has a name already. I just don&rsquo;t know.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1em; padding-right: 0pt; padding-bottom: 0.5em; padding-left: 0pt; display: block; ">I hate it when wordpress mangles my code.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2008/05/21/a-little-bit-on-unit-testing-code-with-major-runtime-dependency/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It&#8217;s hard being a geek</title>
		<link>http://blogs.exist.com/erle/2008/02/13/its-hard-being-a-geek/</link>
		<comments>http://blogs.exist.com/erle/2008/02/13/its-hard-being-a-geek/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 17:59:59 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2008/02/13/its-hard-being-a-geek/</guid>
		<description><![CDATA[You think being a geek is easy ? It&#8217;s not. There are things that we compulsively do that can easily burn a normal  person. If you have a compulsive need to do what I am about to list here,.. then as Yoda said,.. &#8220;The force is strong on this one &#8230;&#8221;.
1. The need to [...]]]></description>
			<content:encoded><![CDATA[<p>You think being a geek is easy ? It&#8217;s not. There are things that we compulsively do that can easily burn a normal  person. If you have a compulsive need to do what I am about to list here,.. then as Yoda said,.. &#8220;The force is strong on this one &#8230;&#8221;.</p>
<p>1. The need to constantly check Slashdot and Digg when a command you issued on the commandline hasn&#8217;t finished yet.</p>
<ul>
<li>Have you ever done a &#8220;svn co&#8221; or compiled a huge maven project, and while waiting for it to finish, you constantly switch to your second ubuntu workspace so you could check Slashdot and Digg already opened on a browser there ?</li>
<li>Bonus : You actually added a keyboard shortcut  so you could easily switch workspaces? (Not that there isn&#8217;t a builtin shortcut, but Alt-1 and Alt-2 is way easier).</li>
</ul>
<p>2. The need to slap that tech salesperson who told that other customer how Windows is much better than mac or linux.</p>
<p>3. The need to get on an &#8220;overheard&#8221; debate about any tech stuff ( C++ vs Java, Rails vs PHP, KDE vs Gnome, Eclipse vs Idea vs Netbeans, Ant vs Maven, Starwars vs Star Trek, etc.). You get my drift.</p>
<p>4. The need to have a practical working knowledge and understanding of techs whose names are 3 to 6 letter acronyms ( AJAX, XML-RPC, ROR , SOAP, J2EE, EJB ,.. FHM, MTC, GMA, ABS-CBN, :)) ).</p>
<p>5. The need to read</p>
<ul>
<li> All interviews of Linus Torvalds, Richard Stallman, Steve Wozniak ,&#8230; etc.</li>
<li> All news about black holes, expanding galaxies, extra-solar planets,&#8230; etc.</li>
<li>All XKCD and Dilbert comic strips.</li>
<li>All your friend&#8217;s Twit.</li>
<li>All articles bashing Vista.</li>
<li>The latest news on Hans Reiser&#8217;s trial.</li>
<li>The latest commit message on the open source project you&#8217;ve contributed on.</li>
<li>The blogs of the committers of those high profile open source projects.</li>
<li>The latest analysis on the nature of the force and their usage by several notable sith&#8217;s and jedi (Nap included).</li>
<li>&#8230;.</li>
</ul>
<p>6. The need to have a god-like familiarity of several technologies while being a &#8220;jack of all trades, master of none&#8221; on the rest.</p>
<p>7. The need to blog about your being a geek.</p>
<p>8. The need to constantly switch from working (coding) to doing &#8220;all of the above&#8221;, while simultaneously writing your next blog, Gimp-ing the logo of &#8220;the next great software that you&#8217;re gonna write&#8221; and educating your cubiclemate on what being RESTful means.</p>
<p>I rest here. Its 1:52 AM, I should be sleeping instead of blogging. If you think that sleeping time should be converted to &#8220;coding/blogging/making a website&#8221; time ,.. the force is strong in you!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2008/02/13/its-hard-being-a-geek/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adding a Box in GWT</title>
		<link>http://blogs.exist.com/erle/2008/02/05/adding-a-box-in-gwt/</link>
		<comments>http://blogs.exist.com/erle/2008/02/05/adding-a-box-in-gwt/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 12:03:27 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2008/02/05/adding-a-box-in-gwt/</guid>
		<description><![CDATA[A few days ago ( from the writing of this entry ), I tried to search the web on how to add a box in GWT. You know, that box that nicely envelops your user interface elements. Sadly, the only relevant hit that I got was an entry in the GWT mailing list of a [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago ( from the writing of this entry ), I tried to search the web on how to add a box in GWT. You know, that box that nicely envelops your user interface elements. Sadly, the only relevant hit that I got was an entry in the GWT mailing list of a guy asking the same thing, and him being told to &#8220;learn CSS&#8221;. So, I set off to learn it on my own, and here&#8217;s what I found so far:</p>
<ol>
<li>You create a panel (HorizontalPanel or VerticalPanel) to act as the box. We will call this the &#8220;box panel&#8221;.</li>
<li>This panel must only have a single element. So, if you have a form with multiple elements, wrap it first in another panel (HorizontalPanel or VerticalPanel), then add it to your &#8220;box panel&#8221;.</li>
<li>Don&#8217;t set any properties for this &#8220;box panel&#8221;, like border width or spacing.</li>
<li>Set the style of this &#8220;box panel&#8221; to &#8220;panelBox&#8221; and add this CSS element to your CSS file:</li>
</ol>
<p><code>.panelBox {<br />
padding: 3mm 3mm 3mm 3mm;<br />
border: 1px;<br />
border-color: #e0e0e0;<br />
border-style: solid<br />
}</code></p>
<p>To give you a quick example, say we are writing a data-entry form that contains various informations:</p>
<p><code>package com.erle.client.components;</code><br />
<code>import com.google.gwt.user.client.ui.Composite;<br />
import com.google.gwt.user.client.ui.HTML;<br />
import com.google.gwt.user.client.ui.HorizontalPanel;<br />
import com.google.gwt.user.client.ui.RadioButton;<br />
import com.google.gwt.user.client.ui.TextArea;<br />
import com.google.gwt.user.client.ui.TextBox;<br />
import com.google.gwt.user.client.ui.VerticalPanel;</code><br />
<code>public class PersonalInfoComposite extends Composite<br />
{<br />
private TextBox fname;<br />
private TextBox mname;<br />
private TextBox lname;<br />
private RadioButton male;<br />
private RadioButton female;<br />
private TextArea currentAddress;</code><br />
<code>public PersonalInfoComposite()<br />
{<br />
HorizontalPanel boxPanel = new HorizontalPanel(); // This is the panel that will be the box</code><br />
<code>VerticalPanel userInterfacePanel = new VerticalPanel(); /* This will be the panel that will hold the user interface elements */<br />
userInterfacePanel.setSpacing( 7 );</code><br />
<code>userInterfacePanel.add( new HTML("First Name") );</code><br />
<code>fname = new TextBox();<br />
userInterfacePanel.add( fname );</code><br />
<code>userInterfacePanel.add( new HTML("Middle Name") );</code><br />
<code>mname = new TextBox();<br />
userInterfacePanel.add( mname );</code><br />
<code>userInterfacePanel.add( new HTML("Surname Name") );</code><br />
<code>lname = new TextBox();<br />
userInterfacePanel.add( lname );</code><br />
<code>userInterfacePanel.add( new HTML("Gender") );</code><br />
<code>male = new RadioButton("gender" , "Male");<br />
female = new RadioButton( "gender" , "Female");<br />
userInterfacePanel.add( male );<br />
userInterfacePanel.add( female );</code><br />
<code>userInterfacePanel.add( new HTML("Current Address") );<br />
currentAddress = new TextArea();<br />
userInterfacePanel.add( currentAddress );</code><br />
<code>boxPanel.setStyleName( "panelBox" ); // Set the style to panelBox<br />
boxPanel.add( userInterfacePanel ); // Make the box panel as the main widget of this composite.</code><br />
<code>initWidget( boxPanel );<br />
}<br />
}</code></p>
<p>Then, in your CSS file, just add the CSS snippet above, then add this composite to your application.</p>
<p>Some screenshot:</p>
<p><a href='http://blogs.exist.com/erle/files/2008/02/screenshot.JPG' title='screenshot.JPG'><img src='http://blogs.exist.com/erle/files/2008/02/screenshot.JPG' alt='screenshot.JPG' /></a></p>
<p>Forgive wordpress&#8217;s inability to clearly display source code.</p>
<p>Happy GWT hacking.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2008/02/05/adding-a-box-in-gwt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Trying out GWT</title>
		<link>http://blogs.exist.com/erle/2008/02/05/trying-out-gwt/</link>
		<comments>http://blogs.exist.com/erle/2008/02/05/trying-out-gwt/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 11:34:27 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2008/02/05/trying-out-gwt/</guid>
		<description><![CDATA[I won&#8217;t even begin with what GWT is. It&#8217;s clear that if you are reading this blog, then you have a faint idea what it is.
First off, a few days ago, I started experimenting with GWT, trying to fathom its mysteries, trying to make sense of this new (for me) technology that google has come [...]]]></description>
			<content:encoded><![CDATA[<p>I won&#8217;t even begin with what GWT is. It&#8217;s clear that if you are reading this blog, then you have a faint idea what it is.</p>
<p>First off, a few days ago, I started experimenting with GWT, trying to fathom its mysteries, trying to make sense of this new (for me) technology that google has come up with.</p>
<p>The goal was simple:</p>
<ul>
<li>To learn how to develop a web user interface with this technology.</li>
<li>To learn how to wire this web user interface to a backend engine.</li>
<li>To learn how to style and add flavor to the application created with it.</li>
<li>To know (like a sort of recipe) how to do the usual things I want to do when developing web applications.</li>
</ul>
<p>So, off I go.</p>
<p>First thing I noticed was the minimal HTML and Javascript that I had to write. Wow, I&#8217;m writing the web user interface in Java. Ain&#8217;t that cool? You see, previously, when you sit down to write a web application, first thing you do is to open MS Frontpage or Dreamweaver ( or emacs/vi if your a hardcore ) and pump up a beautiful webpage using the wysiwyg tool they&#8217;ve got. It gets boring quickly when you realize that more than fifty percent of your time is spent trying to hunt down browser incompatibilities. Then you try adding server side scripts to your webpage to make it dynamic (true in PHP and JSP, don&#8217;t know with others), and spend some time wiring the user interface so that it connects with your backend. Painful.</p>
<p>So, what do you do in GWT (I hear you ask) ? First, you google the term &#8220;GWT&#8221;. Then you read the documentation that they have on their website. Then, after that initial hurdle of creating your first project, you start coding! in Java! Using Swing-style of developing user interfaces! The thing is, GWT has its own libraries of user interface elements called widgets, and you assemble your web application using these components. It is by no means complete, so, they give you the option of being able to create more components. Ask google how. The idea is, you might not be able to create an aesthetically pleasing web interface quickly, but you can easily add functionality as fast as you can think and type. You can easily prototype an idea, but not a design ( well, yes, you can, if you go with google&#8217;s default look and feel ). Good for programmers, bad for designers. Well, of course, you can always go by the &#8220;create the webpage and add the controls via ID&#8221; route but where&#8217;s the fun in that? By the way, you add flavor to your GWT application via CSS, so keep a Core CSS Reference handy.</p>
<p>So far, I&#8217;m immensely enjoying it.  But then again, I&#8217;m developing a webapp, not a website, and my taste for color is so bland you&#8217;d puke.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2008/02/05/trying-out-gwt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>To summarize what I think about Trillanes and co.</title>
		<link>http://blogs.exist.com/erle/2007/12/03/to-summarize-what-i-think-about-trillanes-and-co/</link>
		<comments>http://blogs.exist.com/erle/2007/12/03/to-summarize-what-i-think-about-trillanes-and-co/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 12:45:08 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2007/12/03/to-summarize-what-i-think-about-trillanes-and-co/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><img src="http://bp1.blogger.com/_tRT-Ic12iFM/R1A5b90sTzI/AAAAAAAAAFc/xlsWQQP-ODU/s1600-R/TRILLANES.jpg" alt="Trillanes" height="220" width="204" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2007/12/03/to-summarize-what-i-think-about-trillanes-and-co/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What kind of a soul are you?</title>
		<link>http://blogs.exist.com/erle/2007/11/15/what-kind-of-a-soul-are-you/</link>
		<comments>http://blogs.exist.com/erle/2007/11/15/what-kind-of-a-soul-are-you/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 06:01:23 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2007/11/15/what-kind-of-a-soul-are-you/</guid>
		<description><![CDATA[



You Are a Seeker Soul





You are on a quest for knowledge and life challenges.
You love to be curious and ask a ton of questions.
Since you know so much, you make for an interesting conversationalist.
Mentally alert, you can outwit almost anyone (and have fun doing it!).Very introspective, you can be silently critical of others.
And your quiet [...]]]></description>
			<content:encoded><![CDATA[<p><code></code></p>
<table align="center" border="0" cellpadding="2" cellspacing="0" width="350">
<tr>
<td align="center" bgcolor="#eeeeee"><font face="Georgia, Times New Roman, Times, serif"><br />
<strong>You Are a Seeker Soul</strong><br />
</font></td>
</tr>
<tr>
<td bgcolor="#dddddd"><img src="http://images.blogthings.com/whatkindofsoulareyouquiz/seeker-soul.jpg" height="100" width="100" /><br />
<font color="#000000"><br />
You are on a quest for knowledge and life challenges.<br />
You love to be curious and ask a ton of questions.<br />
Since you know so much, you make for an interesting conversationalist.<br />
Mentally alert, you can outwit almost anyone (and have fun doing it!).</font><font color="#000000">Very introspective, you can be silently critical of others.<br />
And your quiet nature makes it difficult for people to get to know you.<br />
You see yourself as a philosopher, and you take everything philosophically.<br />
Your main talent is expressing and communicating ideas.</font><font color="#000000">Souls you are most compatible with: Hunter Soul and Visionary Soul<br />
</font></td>
</tr>
</table>
<p align="center"><a href="http://www.blogthings.com/whatkindofsoulareyouquiz/">What Kind of Soul Are You?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2007/11/15/what-kind-of-a-soul-are-you/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The search is over</title>
		<link>http://blogs.exist.com/erle/2007/11/09/the-search-is-over/</link>
		<comments>http://blogs.exist.com/erle/2007/11/09/the-search-is-over/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 08:31:33 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2007/11/09/the-search-is-over/</guid>
		<description><![CDATA[There is a song I&#8217;ve been searching for sometime now, I first heard it as the intro to Wolfgang&#8217;s Center of the Sun on their acoustica performance, it was sung by the UP ensemble,.. and wow,.. it is very beautiful. Since that time, I&#8217;ve been looking for it, wanting to know  what the song [...]]]></description>
			<content:encoded><![CDATA[<p>There is a song I&#8217;ve been searching for sometime now, I first heard it as the intro to Wolfgang&#8217;s Center of the Sun on their acoustica performance, it was sung by the UP ensemble,.. and wow,.. it is very beautiful. Since that time, I&#8217;ve been looking for it, wanting to know  what the song was. Just this day, I got a big break,.. I was looking at the comments on Wolfgang&#8217;s Center of the Sun Acoustica performance on Youtube when a guy gave the title to that song. Heaven!</p>
<p>The song&#8217;s title is Hymne by Era.</p>
<p>Here&#8217;s a youtube link to the song and the &#8220;possible&#8221; lyrics &#8230; <img src='http://blogs.exist.com/erle/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><em>http://www.youtube.com/watch?v=Uv4e8ox-kpg</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2007/11/09/the-search-is-over/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

