<?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>Wed, 21 May 2008 16:53:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<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>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>The thing is, that part of the code requires that a runtime mechanism be running.</p>
<p>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&#8217;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><code>public class DeleteItemAction extends something<br />
{<br />
private ITreeContentProvider provider;<br />
public DeleteItemAction( ITreeContentProvider provider )<br />
{<br />
this.provider = provider;<br />
}<br />
</code></p>
<p><code>     public void doAction( Object object )<br />
{<br />
Object parentObject = contentProvider.getParent( object );<br />
( (Something) parentObject ).removeChild( object );<br />
}<br />
}</code></p>
<p>Perfect. Now, I can write a test for this code.</p>
<p><code>@Test<br />
public void testDeleteItemAction()<br />
{<br />
List<object> objectList = getObjects();<br />
ITreeContentProvider provider = getContentProvider( objectList );<br />
Object firstObject = objectList.get( 0 );</object>    </code></p>
<p><code>     assertTrue(objectList.contains( firstObject ) );     </code></p>
<p><code>     DeleteItemAction action = new DeleteItemAction( provider );<br />
action.doAction( firstObject );<br />
</code></p>
<p><code>     assertFalse( objectList.contains( firstObject ) );<br />
}<br />
</code><br />
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><code>public class DeleteItemAction extends something<br />
{<br />
private ITreeContentProvider provider;<br />
public DeleteItemAction( ITreeContentProvider provider )<br />
{<br />
this.provider = provider;<br />
}<br />
</code></p>
<p><code>     public void doAction( Object object )<br />
{<br />
MessageBox messageBox =<br />
new MessageBox( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.ICON_QUESTION |<br />
SWT.YES | SWT.NO );<br />
messageBox.setMessage( "Do you want to delete this object" );<br />
messageBox.setText( "Delete object?" );        </code></p>
<p><code>         int response = messageBox.open();<br />
if ( response == SWT.YES )<br />
{<br />
Object parentObject = contentProvider.getParent( object );<br />
( (Something) parentObject ).removeChild( object );<br />
}<br />
}<br />
}<br />
</code><br />
And you smirk and say, damn, I&#8217;m good. Then you run your test.</p>
<p>Surprise. It doesn&#8217;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>So what do you do ? Do you give up and just click &#8220;Run eclipse plugin test&#8221; and wait for ages for it to load? Or do you restructure your code so you can still just &#8220;Run junit test&#8221; and still be able to test your code ?</p>
<p>I prefer the latter. Turns out, it was easy.</p>
<p>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 &#8220;heavy code&#8221; with something that just returns true.</p>
<p>To illustrate: <code></code></p>
<p><code>public class DeleteItemAction extends something<br />
{<br />
private ITreeContentProvider provider;<br />
public DeleteItemAction( ITreeContentProvider provider )<br />
{<br />
this.provider = provider;<br />
}</code> <code></code></p>
<p><code>     public void doAction( Object object )<br />
{<br />
if ( showWarningAndPrompt() )<br />
{<br />
Object parentObject = contentProvider.getParent( object );<br />
( (Something) parentObject ).removeChild( object );<br />
}</code><br />
<code>}</code></p>
<p><code>     protected boolean showWarningAndPrompt()<br />
{<br />
MessageBox messageBox =<br />
new MessageBox( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), SWT.ICON_QUESTION |<br />
SWT.YES | SWT.NO );<br />
</code><code>messageBox.setMessage( "Do you want to delete this object" );<br />
messageBox.setText( "Delete object?" );</code><code>          </code></p>
<p><code>         int response = messageBox.open();<br />
if ( response == SWT.YES )<br />
return true;<br />
else<br />
return false;<br />
}</code></p>
<p><code>}</code></p>
<p>and in your test</p>
<p><code>@Test<br />
public void testDeleteItemAction()<br />
{<br />
List<object> objectList = getObjects();<br />
ITreeContentProvider provider = getContentProvider( objectList );<br />
Object firstObject = objectList.get( 0 );</object>    </code></p>
<p><code>     assertTrue(objectList.contains( firstObject ) );     </code></p>
<p><code>     DeleteItemAction action = new DeleteItemActionMock( provider );<br />
action.doAction( firstObject );<br />
</code></p>
<p><code>     assertFalse( objectList.contains( firstObject ) );</code></p>
<p><code>}</code></p>
<p><code>private class DeleteItemActionMock extends DeleteItemAction<br />
{<br />
public DeleteItemActionMock( ITreeContentProvider contentProvider )<br />
{<br />
super( contentProvider );<br />
}   </code></p>
<p><code>    protected boolean showWarningAndPrompt()<br />
{<br />
return true;<br />
}<br />
}<br />
</code><br />
The latter doesn&#8217;t need the entire eclipse runtime to run,.. it&#8217;s just another junit test.</p>
<p>Additional benefit ? Your code has now a better structure.</p>
<p>I believe this technique has a name already. I just don&#8217;t know.</p>
<p>I hate it when wordpress mangles my code.</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><br />
.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><br />
package com.erle.client.components;</code><br />
<code><br />
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><br />
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><br />
public PersonalInfoComposite()<br />
{<br />
HorizontalPanel boxPanel = new HorizontalPanel(); // This is the panel that will be the box</code><br />
<code><br />
VerticalPanel userInterfacePanel = new VerticalPanel(); /* This will be the panel that will hold the user interface elements */<br />
userInterfacePanel.setSpacing( 7 );</code><br />
<code><br />
userInterfacePanel.add( new HTML("First Name") );</code><br />
<code><br />
fname = new TextBox();<br />
userInterfacePanel.add( fname );</code><br />
<code><br />
userInterfacePanel.add( new HTML("Middle Name") );</code><br />
<code><br />
mname = new TextBox();<br />
userInterfacePanel.add( mname );</code><br />
<code><br />
userInterfacePanel.add( new HTML("Surname Name") );</code><br />
<code><br />
lname = new TextBox();<br />
userInterfacePanel.add( lname );</code><br />
<code><br />
userInterfacePanel.add( new HTML("Gender") );</code><br />
<code><br />
male = new RadioButton("gender" , "Male");<br />
female = new RadioButton( "gender" , "Female");<br />
userInterfacePanel.add( male );<br />
userInterfacePanel.add( female );</code><br />
<code><br />
userInterfacePanel.add( new HTML("Current Address") );<br />
currentAddress = new TextArea();<br />
userInterfacePanel.add( currentAddress );</code><br />
<code><br />
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><br />
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>
		<item>
		<title>A Love Story by A Flamenco Guitar</title>
		<link>http://blogs.exist.com/erle/2007/11/07/a-love-story-by-a-flamenco-guitar/</link>
		<comments>http://blogs.exist.com/erle/2007/11/07/a-love-story-by-a-flamenco-guitar/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 12:15:35 +0000</pubDate>
		<dc:creator>erle</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blogs.exist.com/erle/2007/11/07/a-love-story-by-a-flamenco-guitar/</guid>
		<description><![CDATA[A Love Story by A Flamenco Guitar
Dirty fingers,
On a black guitar,
I watched in awe,
As he played a flamenco.
His tune, erupting in pain,
And pausing with bliss,
A lover&#8217;s heart
Rekindling a kiss.
His four fingers,
Chasing a joyful tune.
Two lovers in love,
Under a lightless moon &#8230;
Then a calm,
A lonely melody.
A lover&#8217;s heart,
Bleeding in agony.
Then he strummed
A violent tune.
A lover&#8217;s rage,
A [...]]]></description>
			<content:encoded><![CDATA[<p><strong>A Love Story by A Flamenco Guitar</strong></p>
<p>Dirty fingers,<br />
On a black guitar,<br />
I watched in awe,<br />
As he played a flamenco.</p>
<p>His tune, erupting in pain,<br />
And pausing with bliss,<br />
A lover&#8217;s heart<br />
Rekindling a kiss.</p>
<p>His four fingers,<br />
Chasing a joyful tune.<br />
Two lovers in love,<br />
Under a lightless moon &#8230;</p>
<p>Then a calm,<br />
A lonely melody.<br />
A lover&#8217;s heart,<br />
Bleeding in agony.</p>
<p>Then he strummed<br />
A violent tune.<br />
A lover&#8217;s rage,<br />
A heart in ruin.</p>
<p>Then he stopped.<br />
Two hearts gone cold.<br />
His guitar betrayed,<br />
A secret untold.</p>
<p>Was it &#8230;<br />
A tragic love story,<br />
Written in tears?<br />
Or just me<br />
Reminiscing the years &#8230;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>what better way to start a new blog than to post a poem. <img src='http://blogs.exist.com/erle/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.exist.com/erle/2007/11/07/a-love-story-by-a-flamenco-guitar/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
