<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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>equals &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/equals/</link>
	<description>Feed of posts on WordPress.com tagged "equals"</description>
	<pubDate>Sat, 28 Nov 2009 15:29:16 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[I have grown apart from my peers...]]></title>
<link>http://stairwaytosuccess.wordpress.com/2009/11/25/i-have-grown-apart-from-my-peers/</link>
<pubDate>Wed, 25 Nov 2009 18:14:32 +0000</pubDate>
<dc:creator>thegrowth</dc:creator>
<guid>http://stairwaytosuccess.wordpress.com/2009/11/25/i-have-grown-apart-from-my-peers/</guid>
<description><![CDATA[Sad but true, there&#8217;s no avoiding it, its clear as the blazing sun on a hot summer day. I have]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sad but true, there&#8217;s no avoiding it, its clear as the blazing sun on a hot summer day. I have grown apart from those I once used to be close with. Not out of anger or resentment, but more out of personal growth. We just don&#8217;t have much we can relate to.</p>
<p>It does bother me, because a while back I commented on how lonely I am, not from a lack of company, but from a a lack of equals.</p>
<p>I know I haven&#8217;t caught up with friends in a while, but I sense things will be a bit awkward, because they follow my posts on social networking sites and probably have realized by now that I am quite a fascinating character. </p>
<p>I wish I could express to them properly that my online persona and my real world persona are quite different. I have no filter online, I speak what I think. I find it easier to write my thoughts than convey it in speech. Hence why they get so much volume online but in person its like I am a different being.</p>
<p>I won&#8217;t dumb down though. This is me, and I like where I am headed. Yes its not been rosy, yes I still have doubts about the path ahead, but who I am today as compared to me a few years back is like night and day.</p>
<p>Any friend of mine that wishes I were still that timid, insecure kid is not a good friend as they don&#8217;t want me to progress. We can&#8217;t stay on the same spot hoping things will come our way. You have to take risks in life, learn to think outside your box. </p>
<p>I wonder if this will affect my chances of meeting a great gal. I chuckled writing that. The thought has crossed my mind, that maybe I intimidate people. Sometimes I do come off as wordy, but that&#8217;s just me though. I don&#8217;t want to sugarcoat things for anyone. Best to know real me, than some pretentious clown. I am confident in my abilities, I believe God has granted me a gift, and I pray everyday he guides me to my promised land. Why should I feel guilty for that? </p>
<p>People limit themselves. You don&#8217;t have to be like everyone else. Why not give yourself a shot at doing something with your life? How many think ahead, 5, 10, 20 years from now? What are your plans for your life? I don&#8217;t want to be stuck behind some desk, working 9 to 5, slaving for some corporation, worried about bills and whatnot. </p>
<p>So on this thanksgiving eve, I realize I do have a lot to be thankful for.</p>
<p>I am thankful for, the gift of life&#8230;no one knows when they&#8217;ll go. Some had it yesterday but are gone today. I am still here and thankful for it.</p>
<p>I am thankful for, resilience you&#8217;d be surprised at how hard I try to better myself and how many close calls I&#8217;ve had. Not everyone can walk in my shoes without folding.</p>
<p>I am thankful for, lovers, haters, backbiters, doubters, you name it. Everyone has a role, and they have all played a part.</p>
<p>I am thankful for, those who only know me on the surface and never took time to really get to know me. They&#8217;ll be surprised when my time comes.</p>
<p>I am thankful for, God blessing me with this gift because basically what he did was guarantee that I wouldn&#8217;t have a normal existence.</p>
<p>So yes whilst everything I asked for hasn&#8217;t fallen into my laps, I can still breathe a sigh of relief because I know I achieved a lot this year. The sky is the limit, I just hope I never get dissuaded from following my passion.</p>
<p>Happy thanksgiving!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Comparators and sorted sets]]></title>
<link>http://eyalsch.wordpress.com/2009/11/23/comparators/</link>
<pubDate>Mon, 23 Nov 2009 23:38:35 +0000</pubDate>
<dc:creator>Eyal Schneider</dc:creator>
<guid>http://eyalsch.wordpress.com/2009/11/23/comparators/</guid>
<description><![CDATA[Java suggests two techniques for defining an ordering on a collection of objects. The first is imple]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Java suggests two techniques for defining an ordering on a collection of objects. The first is implementing the Comparator interface, as a stand alone comparison mechanism. The second is making the objects comparable, by making their class/es implement the Comparable interface.  </p>
<p>When the ordering is inherent to the class nature, such as with class Integer, implementing the Comparable interface makes sense. In the other cases, we don&#8217;t want to add specific ordering logic to the class implementation. Instead, we implement comparators on a need to basis. We may also want to implement multiple comparators for the same class, thus having many ordering schemes.</p>
<p>Regardless of the interface we choose to implement (Comparable/Comparator), there are some important rules to follow. Suppose that we need a class for maintaining a set of points in the plane, ordered by their distance from a fixed point. Let&#8217;s first define a class for representing a point:    </p>
<pre class="brush: java;">
public class Point{
    private int x;
    private int y;
    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }
    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }

    public boolean equals(Object other){
        if (!(other instanceof Point))
            return false;
        Point otherPoint = (Point) other;
        return x==otherPoint.x &#38;&#38; y==otherPoint.y;
    }

    public int hashCode(){
        return x ^ y;
    }

    public double distanceFrom(Point other){
        int dx = x-other.x;
        int dy = y-other.y;
        return Math.sqrt(dx*dx+dy*dy);
    }

    public String toString(){
        return &#34;(&#34;+x+&#34;,&#34;+y+&#34;)&#34;;
    }

 }
</pre>
<p>And now let&#8217;s define the OrderedPointSet class, which uses a TreeSet with a comparator for maintaining the sorted set of points efficiently: </p>
<pre class="brush: java;">

public class OrderedPointSet {
    private SortedSet&#60;Point&#62; points;
  private Point refPoint;
  public OrderedPointSet(final Point refPoint){
        this.refPoint = refPoint;
        points = new TreeSet&#60;Point&#62;(new Comparator&#60;Point&#62;(){
            public int compare(Point p1, Point p2) {
                double dist1 = refPoint.distanceFrom(p1);
                double dist2 = refPoint.distanceFrom(p2);    
                if (dist1&#62;dist2)
                    return 1;
                if (dist2&#62;dist1)
                    return -1;
                return 0;
            }
        });
    }
    public void add(Point p){
        points.add(p);
    }
    //returns the reference point followed by a list of points ordered in ascending distance from it

    public String toString(){
        return refPoint+&#34;:&#34;+points.toString();
    }

    //Other methods
    ....
}
</pre>
<p>We can now test our implementation: </p>
<pre class="brush: java;">
OrderedPointSet ps = new OrderedPointSet(new Point(0,0));
ps.add(new Point(1,5));
ps.add(new Point(10,10));
ps.add(new Point(5,20));
ps.add(new Point(5,5));
System.out.println(ps);
</pre>
<p>The output contains all points, with their right order:  </p>
<p>(0,0):[(1,5), (5,5), (10,10), (5,20)]<br />
 </p>
<p>Apparently the job is done. However, the implementation has a major flaw, that can be detected with the following test scenario:  </p>
<pre class="brush: java;">
OrderedPointSet ps = new OrderedPointSet(new Point(0,0));
ps.add(new Point(5,10));
ps.add(new Point(2,11));
ps.add(new Point(5,5));
System.out.println(ps);
</pre>
<p>We expect to see 3 points in the output, but we see only two:   </p>
<p>(0,0):[(5,5), (5,10)] </p>
<p>How did this happen? The first two points, though not equal, have the same distance from the reference point  (square root of 125). The TreeSet implementation (as well as other SortedSet implementations) never invokes the equals() method on its items, and relies only on the comparator implementation for determining equality. Therefore, from its point of view, points (5,10) and (2,11) are equal. When trying to add the latter, the collection stays unchanged, because it obeys the contract of Set.add(), which doesn&#8217;t permit overriding. As a consequence, another part of Set&#8217;s contract is broken: we add two distinct items (according to equals method), and yet one of them is rejected.<br />
The problem originates from the comparator implementation above, which doesn&#8217;t define an ordering <em>consistent with equals, </em>as required by the SortedSet documentation. The formal definition is as follows:  </p>
<blockquote><p><strong>The ordering imposed by a comparator c on a set of elements S is said to be consistent with equals if and only if c.compare(e1, e2)==0 has the same boolean value as e1.equals(e2) for every e1 and e2 in S.  </strong>      </p></blockquote>
<p>Actually, for solving the problem described above it suffices to enforce only one direction of this rule: if two items are equal according to the comparator, they must be equal according to the equals() method. However, failing to comply with the other direction will result in a different violation of the Set interface -  the collection may accept two items despite the fact that they are equal according to equals().<br />
Returning to our example, the fixed version of the comparator enforces <em>consistency with equals </em>by breaking distance ties of distinct points arbitrarily:</p>
<pre class="brush: java;">
public int compare(Point p1, Point p2) {
    double dist1 = refPoint.distanceFrom(p1);
    double dist2 = refPoint.distanceFrom(p2);    
    if (dist1&#62;dist2)
        return 1;    
    if (dist2&#62;dist1)
        return -1;
 
    int dx = p1.getX()-p2.getX();
    if (dx != 0)
        return dx;
    return p1.getY()-p2.getY();
}
</pre>
<p>Proving that the consistency rule holds for this code is easy:</p>
<p>Let p1,p2 be points.</p>
<p>(Direction 1) Assume that p1.equals(p2). Then, p1.x=p2.x, and p1.y=p2.y. In this case, when running compare(p1,p2), conditions on lines 4 , 6 and 10 will not be met. The returned value is then p1.y-p2.y, which is 0, as requested.<br />
(Direction 2) Assume that compare(p1,p2)=0. That means that the method must have terminated at line 12 (the other return statements never return 0). Therefore we know that p1.y=p2.y. Also, we know that condition on line 10 was not met, hence p1.x=p2.x. In other words, p1 and p2 are identical, so p1.equals(p2) is true, as requested.</p>
<p>Summing up, when implementing a Comparator (or Comparable)  interface intended to be used in some SortedSet implementation, make sure the comparator complies with the <em>consistency with equals </em>rule. This will guarantee that the collection respects the Set contract, and does not exhibit weird behaviours. After implementing the comparator, it may be wise to <strong>prove </strong>that the consistency property really holds.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sobrescrevendo equals e hashCode Métodos em Java]]></title>
<link>http://raphaelrodrigues.wordpress.com/2009/11/19/sobrescrevendo-equals-e-hashcode-metodos-em-java/</link>
<pubDate>Thu, 19 Nov 2009 23:19:24 +0000</pubDate>
<dc:creator>raphaelrodrigues</dc:creator>
<guid>http://raphaelrodrigues.wordpress.com/2009/11/19/sobrescrevendo-equals-e-hashcode-metodos-em-java/</guid>
<description><![CDATA[Assunto muito batido, mas vi que é presença marcante no exame, e muito importante no dia-a-dia. Até ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Assunto muito batido, mas vi que é presença marcante no exame, e muito importante no dia-a-dia. Até porque todo projeto java usa API de Collection (nunca conheci nenhuma que não usasse), logo para fazer um bom uso de ordenação, mapeamento chave x valor, exclusão de repetição, etc.. , se faz necessário implementar pelo menos o método equals, e sempre é bom implementar o hashCode tb.</p>
<p>Pra começar, vamos ver a assinatura dos dois métodos:</p>
<p>public boolean equals (Object o)</p>
<p>public int hashCode()</p>
<p>Logo, a primeira coisa para sobrescrever esses métodos, a classe filha deve usar uma assinatura igual. Algo como abaixo, daria erro de compilação por violar a regra de sobrescrita.</p>
<p>protected boolean equals(Object o)</p>
<p>Outro perigo tb:</p>
<p>int a = 2;</p>
<p>Integer b = 2;</p>
<p>b.equals(a); //imprime true, compila perfeito, usa autobox</p>
<p>a.equals(b);//não compila, a é um primitivo não possui método equals</p>
<p>Continuando, equals tem uma única utilidade: Dizer se dois objetos são ou não iguais. Caso, vc não o sobrescreva o equals da classe Object por padrão testa a referência. Logo, se duas variáveis apontam para a mesma referência, equals retornará verdadeira.</p>
<p>hashCode também tem a sua implementação padrão, porém ela está intimimante ligada a perfomance. Imagina várias caixas numeradas, e dentro varias bolas. Se vc pretende inserir uma bola nova numerada, vc vai na caixa marcada e dentro vc ordena com mais facilidade e de forma mais rápida. O princípio é o mesmo, com hashCode, o int que o método retorna diz para o java em qual grupo deve-se achar aquele objeto, e daí roda o equals para todo elemento de dentro da caixa. Claro caso vc não o implemente, o hashCode rodará para todos os elementos da coleção.</p>
<p>Para o exame, provavelmente algo falando sobre contrato do equals e hashCode vai cair. Contrato é o conjunto de regras que dizem se esse dois métodos foram implementados de maneira correta. Não necessariamente forma correta é estar só compilando.</p>
<p>A principal das regras é a que diz: &#8220;<strong>Caso dois objetos são iguais através do método equals, então seu hashCodes devem ser iguais&#8221; </strong>e <strong>&#8220;Se dois objetos pelo método equals são diferentes, nada pode-se dizer à respeito do hashCode&#8221;</strong>.</p>
<p>Coisas estranhas do tipo:</p>
<p>public int hashCode(){</p>
<p>return Math.random(x);</p>
<p>}</p>
<p>Violam também o contrato, pois imagine que pra cada vez que equals for chamado numa instância do objeto que o contém, ele terá um hashCode diferente&#8230;</p>
<p>Assunto Fácil! Acho que por hoje é só&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Writing an Eclipse Plug-in (Part 12): Common Navigator: Keeping the Tree Open When a New Resource is Added]]></title>
<link>http://cvalcarcel.wordpress.com/2009/11/18/writing-an-eclipse-plug-in-part-12-common-navigator-keeping-the-tree-open-when-a-new-resource-is-added/</link>
<pubDate>Thu, 19 Nov 2009 01:46:46 +0000</pubDate>
<dc:creator>cvalcarcel</dc:creator>
<guid>http://cvalcarcel.wordpress.com/2009/11/18/writing-an-eclipse-plug-in-part-12-common-navigator-keeping-the-tree-open-when-a-new-resource-is-added/</guid>
<description><![CDATA[Welcome back, boys and girls. In this installment of Writing an Eclipse Plug-in we add the phenomena]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Welcome back, boys and girls. In this installment of <strong>Writing an Eclipse Plug-in</strong> we add the phenomenally simple behavior of keeping the expanded tree nodes open when we add new projects.</p>
<p>The Use Case:</p>
<ol>
<li>Create a custom project.</li>
<li>Open one of the nodes</li>
<li>Create another custom project</li>
<li>Both projects should appear and the first projects node should still be opened</li>
</ol>
<p>In our usual test-driven behavior, try the above and see the navigator fail the test. Let&#8217;s fix that.</p>
<h2>What to do</h2>
<ol>
<li>Open the <strong>customnavigator ContentProvider</strong>.</li>
<li>Change <strong>resourceChanged</strong> with the following bold code:</li>
<p>ContentProvider.java</p>
<pre class="brush: java;">
    @Override
    public void resourceChanged(IResourceChangeEvent event) {
        TreeViewer viewer = (TreeViewer) _viewer;

        TreePath[] treePaths = viewer.getExpandedTreePaths();
        viewer.refresh();
        viewer.setExpandedTreePaths(treePaths);
    }
</pre>
<li>Add this field definition to the top of the file:</li>
<pre class="brush: java;">
    private Map&#60;String, Object&#62; _wrapperCache = new HashMap&#60;String, Object&#62;();
</pre>
<li>Make the following changes to <strong>createCustomProjectParents()</strong>:</li>
<pre class="brush: java;">
    private Object[] createCustomProjectParents(IProject[] projects) {
        Object[] result = null;

        List&#60;Object&#62; list = new ArrayList&#60;Object&#62;();
        for (int i = 0; i &#60; projects.length; i++) {
            Object customProjectParent = _wrapperCache.get(projects[i].getName());
            if (customProjectParent == null) {
                customProjectParent = createCustomProjectParent(projects[i]);
                _wrapperCache.put(projects[i].getName(), customProjectParent);
            }

            if (customProjectParent != null) {
                list.add(customProjectParent);
            } // else ignore the project
        }

        result = new Object[list.size()];
        list.toArray(result);

        return result;
    }
</pre>
<li>Start the <strong>runtime workbench</strong>, create a project, open one of the tree nodes, and create another project. The first project should look the same (the node you opened should still be opened)</li>
</ol>
<p>Take a bow.</p>
<h2>Why Did We Do That?</h2>
<p>When you play with the custom navigator you can&#8217;t help but notice how many things the navigator does not do including maintain its look when a new project is added. Since my current goal in life is to scratch my CNF itch here is why the steps above work.</p>
<p>Change <strong>resourceChanged()</strong> with the following bold code:</p>
<p><strong><code>ContentProvider.java</code></strong></p>
<pre class="brush: java;">
    @Override
    public void resourceChanged(IResourceChangeEvent event) {
        TreeViewer viewer = (TreeViewer) _viewer;

        TreePath[] treePaths = viewer.getExpandedTreePaths();
        viewer.refresh();
        viewer.setExpandedTreePaths(treePaths);
    }
</pre>
<p>In order to get the above behavior to work we could have also used <strong>TreeViewer.getExpandedElements()/setExpandedElements()</strong> instead of <strong>TreeViewer.getExpandedTreePaths()/setExpandedTreePaths()</strong>. For whatever reason, <strong>TreeViewer.getExpandedElements()/setExpandedElements()</strong> works just as well as <strong>TreeViewer.getExpandedTreePaths()/setExpandedTreePaths()</strong>. One day (I&#8217;ll care enough to) I&#8217;ll figure out why.</p>
<p>If you recall, in order to get the navigator to update itself we have to call <strong>viewer.refresh()</strong>. Well, in order to get the viewer to display whatever it is we opened we have to ask it what was opened before the <strong>refresh()</strong>; hence the call to <strong>viewer.getExpandedTreePaths()</strong>. After we refresh the viewer then we have to tell it which nodes to reopen as it closes all of them on a refresh; hence the call to <strong>viewer.setExpandedTreePaths(treePaths)</strong>.</p>
<p>Pretty easy. Start the runtime workbench and create a project, open a node and create a new project. Hmm. <strong>Still doesn&#8217;t work</strong>.</p>
<p>The reason why the code above doesn&#8217;t work is because of the way the resource elements are wrapped; every time <strong>getChildren()</strong> is called we create new wrappers. New wrappers means new object references. New object references means new values returned from <strong>hashCode()</strong>. New <strong>hashCode()</strong> values means that <strong>equals()</strong> will behave as if the same project is really a new project. Nothing confuses the viewer more than giving it the impression that new nodes need to be displayed. To fix this we need to <strong>cache the wrappers</strong> around the projects and return them when we can and create new ones when needed. The current code is straightforward and, in the current situation, <strong>wrong</strong>.</p>
<p>It is time to clean up obviously sloppy code (especially since we need it to behave differently. It didn&#8217;t look so bad at the time).</p>
<pre class="brush: java;">
    private Map&#60;String, Object&#62; _wrapperCache = new HashMap&#60;String, Object&#62;();

    ...

    private Object[] createCustomProjectParents(IProject[] projects) {
        Object[] result = null;

        List&#60;Object&#62; list = new ArrayList&#60;Object&#62;();
        for (int i = 0; i &#60; projects.length; i++) {
            Object customProjectParent = _wrapperCache.get(projects[i].getName());
            if (customProjectParent == null) {
                customProjectParent = createCustomProjectParent(projects[i]);
                _wrapperCache.put(projects[i].getName(), customProjectParent);
            }

            if (customProjectParent != null) {
                list.add(customProjectParent);
            } // else ignore the project
        }

        result = new Object[list.size()];
        list.toArray(result);

        return result;
    }
</pre>
<p>The code above checks the cache for the project wrapper. If it&#8217;s not there, create it. Return the existing or new object. This is much more efficient than what we had before, but we didn&#8217;t need it until now (that&#8217;s my story and I&#8217;m sticking to it).</p>
<p>Now try the use case steps.</p>
<p><a href="http://cvalcarcel.wordpress.com/files/2009/11/customplugin-part-12-expanded-nodes.png"><img class="aligncenter size-medium wp-image-707" title="customplugin-part-12-expanded-nodes" src="http://cvalcarcel.wordpress.com/files/2009/11/customplugin-part-12-expanded-nodes.png?w=191" alt="" width="191" height="300" /></a></p>
<p>The cat should be alive.</p>
<h2>What Just Happened?</h2>
<p>Oh, c&#8217;mon! Didn&#8217;t you just execute the steps right from the beginning? You asked the viewer for the expanded nodes, refreshed the viewer, and then told it which nodes to reopen.</p>
<p>The code to cache the wrappers was pretty simple. I am proud of how little code we continue to write.</p>
<p>customnavigator: 13 code files and 1 properties file<br />
customplugin: 11 code files and 2 properties file</p>
<p>Bear in mind that most of the code isn&#8217;t very complicated. I&#8217;ll try harder next time.</p>
<p>Rock on.</p>
<h2>Code</h2>
<pre class="brush: java;">
/**
 * Coder beware: this code is not warranted to do anything.
 * Copyright Oct 17, 2009 Carlos Valcarcel
 */
package customnavigator.navigator;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;

import customplugin.natures.ProjectNature;

/**
 * @author carlos
 */
public class ContentProvider implements ITreeContentProvider, IResourceChangeListener {

    private static final Object[]   NO_CHILDREN = {};
    private Map&#60;String, Object&#62; _wrapperCache = new HashMap&#60;String, Object&#62;();
    private Viewer _viewer;

    public ContentProvider() {
        ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
    }

    /*
     * (non-Javadoc)
     * @see
     * org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
     */
    @Override
    public Object[] getChildren(Object parentElement) {
        Object[] children = null;
        if (IWorkspaceRoot.class.isInstance(parentElement)) {
            IProject[] projects = ((IWorkspaceRoot)parentElement).getProjects();
            children = createCustomProjectParents(projects);
        } else if (ICustomProjectElement.class.isInstance(parentElement)) {
            children = ((ICustomProjectElement) parentElement).getChildren();
        } else {
            children = NO_CHILDREN;
        }

        return children;
    }

    /*
     * (non-Javadoc)
     * @see
     * org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
     */
    @Override
    public Object getParent(Object element) {
        Object parent = null;

        if (IProject.class.isInstance(element)) {
            parent = ((IProject)element).getWorkspace().getRoot();
        } else if (ICustomProjectElement.class.isInstance(element)) {
            parent = ((ICustomProjectElement)element).getParent();
        } // else parent = null if IWorkspaceRoot or anything else

        return parent;
    }

    /*
     * (non-Javadoc)
     * @see
     * org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
     */
    @Override
    public boolean hasChildren(Object element) {
        boolean hasChildren = false;

        if (IWorkspaceRoot.class.isInstance(element)) {
            hasChildren = ((IWorkspaceRoot)element).getProjects().length &#62; 0;
        } else if (ICustomProjectElement.class.isInstance(element)) {
            hasChildren = ((ICustomProjectElement)element).hasChildren();
        }
        // else it is not one of these so return false

        return hasChildren;
    }

    /*
     * (non-Javadoc)
     * @see
     * org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
     */
    @Override
    public Object[] getElements(Object inputElement) {
        // This is the same as getChildren() so we will call that instead
        return getChildren(inputElement);
    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.jface.viewers.IContentProvider#dispose()
     */
    @Override
    public void dispose() {
        ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
    }

    /*
     * (non-Javadoc)
     * @see
     * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
     */
    @Override
    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        _viewer = viewer;
    }

    @Override
    public void resourceChanged(IResourceChangeEvent event) {
        TreeViewer viewer = (TreeViewer) _viewer;
        TreePath[] treePaths = viewer.getExpandedTreePaths();
        viewer.refresh();
        viewer.setExpandedTreePaths(treePaths);
    }

    private Object createCustomProjectParent(IProject parentElement) {

        Object result = null;
        try {
            if (parentElement.getNature(ProjectNature.NATURE_ID) != null) {
                result = new CustomProjectParent(parentElement);
            }
        } catch (CoreException e) {
            // Go to the next IProject
        }

        return result;
    }

    private Object[] createCustomProjectParents(IProject[] projects) {
        Object[] result = null;

        List&#60;Object&#62; list = new ArrayList&#60;Object&#62;();
        for (int i = 0; i &#60; projects.length; i++) {
            Object customProjectParent = _wrapperCache.get(projects[i].getName());
            if (customProjectParent == null) {
                customProjectParent = createCustomProjectParent(projects[i]);
                _wrapperCache.put(projects[i].getName(), customProjectParent);
            }

            if (customProjectParent != null) {
                list.add(customProjectParent);
            } // else ignore the project
        }

        result = new Object[list.size()];
        list.toArray(result);

        return result;
    }

}
</pre>
<h2>References</h2>
<p>http://www.eclipsezone.com/eclipse/forums/t107049.html</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pink Training Pictures]]></title>
<link>http://usiequality.wordpress.com/2009/11/18/pink-training-pictures/</link>
<pubDate>Wed, 18 Nov 2009 11:14:17 +0000</pubDate>
<dc:creator>usiequality</dc:creator>
<guid>http://usiequality.wordpress.com/2009/11/18/pink-training-pictures/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://usiequality.wordpress.com/files/2009/11/lgbt1.jpg"><img class="aligncenter size-medium wp-image-143" title="Pink Training 2009 " src="http://usiequality.wordpress.com/files/2009/11/lgbt1.jpg?w=225" alt="" width="225" height="300" /></a><a href="http://usiequality.wordpress.com/files/2009/11/equality1.jpg"><img class="aligncenter size-medium wp-image-144" title="USI Equality Banner" src="http://usiequality.wordpress.com/files/2009/11/equality1.jpg?w=225" alt="" width="225" height="300" /></a><a href="http://usiequality.wordpress.com/files/2009/11/laura1.jpg"><img class="aligncenter size-medium wp-image-146" title="Laura" src="http://usiequality.wordpress.com/files/2009/11/laura1.jpg?w=225" alt="" width="225" height="300" /></a><a href="http://usiequality.wordpress.com/files/2009/11/linda1.jpg"><img class="aligncenter size-medium wp-image-147" title="Linda" src="http://usiequality.wordpress.com/files/2009/11/linda1.jpg?w=300" alt="" width="300" height="225" /></a><a href="http://usiequality.wordpress.com/files/2009/11/kal-and-laura1.jpg"><img class="aligncenter size-medium wp-image-148" title="KAL and Laura" src="http://usiequality.wordpress.com/files/2009/11/kal-and-laura1.jpg?w=300" alt="" width="300" height="225" /></a><a href="http://usiequality.wordpress.com/files/2009/11/kal-and-ailbhe1.jpg"><img class="aligncenter size-medium wp-image-149" title="KAL and Ailbhe" src="http://usiequality.wordpress.com/files/2009/11/kal-and-ailbhe1.jpg?w=300" alt="" width="300" height="225" /></a><a href="http://usiequality.wordpress.com/files/2009/11/anna-from-noise1.jpg"><img class="aligncenter size-medium wp-image-151" title="Anna from noise" src="http://usiequality.wordpress.com/files/2009/11/anna-from-noise1.jpg?w=300" alt="" width="300" height="225" /></a><a href="http://usiequality.wordpress.com/files/2009/11/emily-12.jpg"><img class="aligncenter size-medium wp-image-157" title="Emily" src="http://usiequality.wordpress.com/files/2009/11/emily-12.jpg?w=225" alt="" width="225" height="300" /></a><a href="http://usiequality.wordpress.com/files/2009/11/equals-and-tonie3.jpg"><img class="aligncenter size-medium wp-image-159" title="EQUALS and Tonie Walsh" src="http://usiequality.wordpress.com/files/2009/11/equals-and-tonie3.jpg?w=300" alt="" width="300" height="225" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Smoke and Honey]]></title>
<link>http://mirrorpalace.wordpress.com/2009/11/15/smoke-and-honey/</link>
<pubDate>Sun, 15 Nov 2009 22:10:48 +0000</pubDate>
<dc:creator>Laria</dc:creator>
<guid>http://mirrorpalace.wordpress.com/2009/11/15/smoke-and-honey/</guid>
<description><![CDATA[Gossamer shadows stretch between us. His lips taste of smoke and honey; The magic of now and eternit]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Gossamer shadows stretch between us.<br />
His lips taste of smoke and honey;<br />
The magic of now and eternity.<br />
A moment later, he pulls back.<br />
The hot shadows between us never fades.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[''I Don't Realy Care What You Have To Say!'']]></title>
<link>http://untoldlie.co.uk/2009/11/12/i-dont-realy-care-what-you-have-to-say/</link>
<pubDate>Thu, 12 Nov 2009 22:30:53 +0000</pubDate>
<dc:creator>Stephen</dc:creator>
<guid>http://untoldlie.co.uk/2009/11/12/i-dont-realy-care-what-you-have-to-say/</guid>
<description><![CDATA[feeling a bit more cheerefull right about now&#8230; hummm&#8230; wonder how long it could last]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>feeling a bit more cheerefull right about now&#8230; hummm&#8230; wonder how long it could last&#8230; lets hope this is for the long time&#8230;</p>
<p>being single sucks a little bit, i miss not being single, but at the same time being single is so much easier. i deffo dont wanna be single to long&#8230; but i wanna be for just a little bit more&#8230;</p>
<p>i think im way to fussy&#8230; like&#8230; he has to be taller than me, he has to be stronger than me (not realy hard, but hey) he can&#8217;t be camp,  hes gotta smell nice, dark hair, nice eyes, good taste in music, blah blah blah.</p>
<p>i totaly lost the plot of this post now&#8230; :S dammnit this is what happens when you go off and do something else.</p>
<p>ahh well.</p>
<p>moving on.</p>
<p>something that fills me with a lot of hope these days&#8230; I Now Pronounce You Chuck And Larry!</p>
<p>what a fucking amaising film! it almost equals p.s. i love you for me.  I dont even know why, it just makes me feel a lot better about me and about my life, and it kinda shows how things are changing for gay people.</p>
<p>wow, just watered my plant, thank god i remembered to do that, otherwise&#8230; who knows? it might die. and I wouldnt want that.</p>
<p>college tomorrow. =D</p>
<p>escape from this house.</p>
<p>it feels so empty now.</p>
<p>kinda like my head. but apparently thats always empty, seeing as im an air head and all that.</p>
<p>i wanna move out and get my own place now, i wanna move to canada&#8230;</p>
<p>night peoples&#8230; or day&#8230; or afternoon&#8230; or morning&#8230; whatever&#8230; whereever you are.</p>
<p>Xx.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Obama Appeasement Equals Weakness...]]></title>
<link>http://louesc.wordpress.com/2009/11/12/ma-appeasement-equals-weakness/</link>
<pubDate>Thu, 12 Nov 2009 01:10:15 +0000</pubDate>
<dc:creator>louesc</dc:creator>
<guid>http://louesc.wordpress.com/2009/11/12/ma-appeasement-equals-weakness/</guid>
<description><![CDATA[This article shows that with all of Obama Appeasement Equals Weakness. Please bare in mind that this]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This article shows that with all of Obama Appeasement Equals Weakness. Please bare in mind that this article is against Israel and I am Pro Israeli and support Israel in all that they do to protect there great Nation. Israel is one of Americas greatest Allies. I posted this article to show you how the world views Obama&#8217;s weak Foreign Policy.</p>
<p>&#60;https://www.americanpatriotsprevail.com/Obama_Appeasement_Equals.html&#62;</p>
<p><em>Reject Tyranny and Defend Liberty!</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[When equals() is not equal enough]]></title>
<link>http://ajesse.wordpress.com/2009/10/27/when-equals-is-not-equal-enough/</link>
<pubDate>Tue, 27 Oct 2009 12:36:21 +0000</pubDate>
<dc:creator>ajesse</dc:creator>
<guid>http://ajesse.wordpress.com/2009/10/27/when-equals-is-not-equal-enough/</guid>
<description><![CDATA[The other day we were struggling doing comparisions with BigDecimals in a distributed application wi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The other day we were struggling doing comparisions with BigDecimals in a distributed application with BigDecimals originating from different sources. As we had learned we used equals() to compare the objects and even though everything seemed correct, even in the debugger, the logic that indicated an equality condition never was executed.</p>
<p>Check these two methods, and try to predict the outcome:</p>
<pre style="border:1px dashed #999999;overflow:auto;background-color:#ffffe0;font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;"><code>  private void sample1() {
    BigDecimal one1 = new BigDecimal("1");
    BigDecimal one2 = new BigDecimal("1.000");

    System.out.println("Comparing new BigDecimal(\"1\") and BigDecimal(\"1.000\"):");
    if (one1.equals(one2)) {
      System.out.println("  equals() indicates equality...");
    } else {
      System.out.println("  equals() indicates different values...");
      if (one1.compareTo(one2) == 0) {
        System.out.println("    but comparesTo() thinks the two BigDecimals are equal.");
      } else {
        System.out.println("    and comparesTo() thinks the same.");
      }
    }
  }

  private void sample2() {
    BigDecimal one1 = new BigDecimal(1);
    BigDecimal one2 = one1.setScale(3);

    System.out.println("Comparing new BigDecimal(1) and BigDecimal(1).setScale(3):");
    if (one1.equals(one2)) {
      System.out.println("  equals() indicates equality...");
    } else {
      System.out.println("  equals() indicates different values...");
      if (one1.compareTo(one2) == 0) {
        System.out.println("    but comparesTo() thinks the two BigDecimals are equal.");
      } else {
        System.out.println("    and comparesTo() thinks the same.");
      }
    }
  }
</code></pre>
<p>Looking into the <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html">Javadoc (Java 5) of BigDecimals</a> gave a first hints:</p>
<blockquote><p>Note: care should be exercised if BigDecimal objects are used as keys in a SortedMap or elements in a SortedSet since BigDecimal&#8217;s natural ordering is inconsistent with equals. See Comparable, SortedMap or SortedSet for more information.</p></blockquote>
<p>and</p>
<blockquote><p>Compares this BigDecimal with the specified Object for equality. Unlike compareTo, this method considers two BigDecimal objects equal only if they are equal in value and scale (thus 2.0 is not equal to 2.00 when compared by this method).</p></blockquote>
<p>That definitely was a bit unexpected, but at least documented.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to develop algebraic thinking through number operations]]></title>
<link>http://keepingmathsimple.wordpress.com/2009/10/23/how-to-develop-algebraic-thinking-through-number-operations/</link>
<pubDate>Fri, 23 Oct 2009 03:11:00 +0000</pubDate>
<dc:creator>Erlina Ronda</dc:creator>
<guid>http://keepingmathsimple.wordpress.com/2009/10/23/how-to-develop-algebraic-thinking-through-number-operations/</guid>
<description><![CDATA[Here is a list of sample tasks and ways for developing algebraic thinking while learning about numbe]]></description>
<content:encoded><![CDATA[Here is a list of sample tasks and ways for developing algebraic thinking while learning about numbe]]></content:encoded>
</item>
<item>
<title><![CDATA[Why Persephone?]]></title>
<link>http://mirrorpalace.wordpress.com/2009/10/06/why-persephone/</link>
<pubDate>Tue, 06 Oct 2009 12:56:15 +0000</pubDate>
<dc:creator>Laria</dc:creator>
<guid>http://mirrorpalace.wordpress.com/2009/10/06/why-persephone/</guid>
<description><![CDATA[In my quest to better understand Persephone, I have found myself pausing at this particular point. W]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In my quest to better understand Persephone, I have found myself pausing at this particular point. Why is it that Hades chose Persephone—or Kore—to be his wife? It was not merely her maidenhood, her sexual innocence; and nor was it her gentle, sunlit nature. To boil it down to her as the ‘essence of spring’ does an injustice to this goddess – for she is the embodiment of change, of all of the seasons, of the natural order. But as Kore, she was not such things. She was <em>just</em> Demeter’s daughter, <em>just</em> the maiden accompanied by nymphs. And yet Hades saw something in her, this girl—or rather, this pretty puppet, a flower not yet opened—and he fell in love with her. The heart of one such as Hades was warmed by her and, inflamed by Eros’ eager smiles, he stole her away.</p>
<p>I believe that Hades recognised his equal in Persephone. He did not part the earth and incite Demeter into almost killing gods and humans everywhere just so that he could have a pretty little doll sit on his lap. No: he brought her into the Underworld and helped her become his equal. And she, in return, accepted the pomegranate seeds—Hera’s seeds; the seeds of marriage—and they were wed.</p>
<p>One might wonder how, and why, Hades and Persephone are equals. Prior to his abduction of her, they were not: in <em>spirit</em> they were, but in terms of influence they were all but opposites. Persephone was responsible only for spring growth, for the gentle blossoming of flowers; and Hades was the King of the Underworld. Persephone was also living her immortal life in Demeter’s shadow; she was watched constantly by her, and those that vied for her hand were turned away by her mother, not by her. If Hades had not abducted Persephone she, arguably, might never have reached her full potential: she would have likely lived forever in her mother’s shadow, responsible only for the beginning of spring.</p>
<p>With the help of Zeus and Gaia, according to the <em>Homeric Hymn to Demeter</em>, Hades was able to steal away Persephone, unnoticed by all but Helios and Hekate. There is significance in this: Helios, lord of the sun, sees everything that occurs throughout the day; Hekate, queen of necromancy and ghosts, would know of everything that occurs throughout the night. Thus the transition of Kore to Persephone—girl to woman—is echoed not only in Persephone’s annual return from the Underworld and the awakening of the earth, but also in the time in which she was taken: at dusk or dawn, the in-between times.</p>
<p>In art and myth, Persephone is often described as a “young” goddess. She is a youth; stolen from the sunlight before she can achieve her true form, and yet she is not a child. She is at the in-between stage, the ‘dawn’ of womanhood: she is the quintessential woman-child. In abrupt, modern terms, she is a teenager. She does not yet know the delights and sorrows of being a woman; she is not a matron, and she will <em>never</em> be a crone. She is caught at a stage of hormones, a twist of cool logic and sharp emotions – and thus can be seen in how she behaves as Queen of the Underworld.</p>
<p>Persephone’s relationship with Adonis (which I will discuss in more detail further on) is an echo of this transition. After his death, he spends half of the year in the Underworld with her, and half with in the world above with Aphrodite. To coincide with this, Adonis would spend the autumn winter months with Persephone, and the spring and summer months with Aphrodite: thus their relationship echoes the themes of life-death-rebirth that are so common in the Greek mythologies.</p>
<p>When Persephone is stolen from the world, Demeter proves that she is willing to go to any lengths to get her back. She refuses to let the living things taste fruit and feel warmth—both fruit and heat here symbolising <em>life</em>, as food and energy are required for most, if not all, life-forms. (It is also ironic, then, that the only fruit that can be found in the Underworld—the pomegranate—still grew without Demeter’s influence; if she had killed that, too, Persephone might never have become the Queen of the Underworld.) Thus both Demeter and Persephone are here goddesses of winter; of the hard, cruel, cold months where—and this would have been particularly true in antiquity—jagged, icy death reigns and humanity becomes the prey, rather than the predator.</p>
<p>And then, when Persephone returns from the Underworld, she and her mother bless the earth with life – the flowers begin to grow; the fruits shine; the snows recede. Demeter and Persephone, then, are goddesses of the seasons—for Demeter brings about the changes of summer and winter and Persephone rules spring (as Kore, <em>the maiden</em>, goddess of spring growth) and autumn (as Persephone Karpophoros, <em>the bringer of fruit</em>, goddess of the harvest).</p>
<p>As Queen of the Underworld, Persephone is a much more merciful, benevolent ruler than Hades – and such is shown in how she treats the (would-be) heroes that find their way into the Underworld. When Herakles entered the Underworld, he was ‘welcomed like a brother by Persephone’ (Diodorus Siculus, <em>Library of History</em>); and according to Apollodorus in his <em>Bibliotheca</em>, Herakles passed up victory in his wrestling competition with the Underworld god Menoites ‘at the request of Persephone.’ When Psykhe reached Persephone’s palace, she ‘declined the soft cushion and the rich food offered by her hostess,’ (Apuleius, <em>The Golden Ass</em>) and when she reported the trial that Aphrodite had tasked her with, Persephone immediately filled the box of beauty for her. Persephone took favour on Sisyphus and released him from the Underworld; and when Orpheus sang of his love for Eurydice, he ‘persuaded her to assist him in his desires and to allow him to bring up his dead wife from Haides’ (Diodorus Siculus, <em>Library of History</em>).</p>
<p>However, Persephone also proves that she is not a goddess with whom one can trifle with; when Peirithoos plans to kidnap her from the Underworld for his wife, the youth Persephone blossoms into a woman and deals swiftly with him: ‘Peirithoos now decided to seek the hand of Persephone in marriage, and when he asked Theseus to make the journey with him Theseus at first endeavoured to dissuade him and to turn him away from such a deed as being impious; but since Peirithoos firmly insisted upon it Theseus was bound by the oaths to join with him in the deed. And when they had at last made their way below to the regions of Haides, it came to pass that because of the impiety of their act they were both put in chains, and although Theseus was later let go by reason of the favour with which Herakles regarded him, Peirithoos because of the impiety remained in Haides, enduring everlasting punishment; but some writers of myths say that both of them never returned.’ (Diodorus Siculus, <em>Library of History</em>).</p>
<p>In discussing Persephone and her transition—after her abduction at Hades’ hands—from child to woman, it is inevitable that one must discuss who she has ever taken as a lover. Unlike many of the gods, Persephone did not have numerous lovers – only Hades (to whom she gave birth to the Erinyes, according to the Orphic Hymns 29 and 70), Zeus (to whom she birthed Zagreus, according to the Orphic Hymn 29, Hyginus, Diodorus Siculus, Nonnus and Suidas; and Melinoe, according to the Orphic Hymn 71) and Adonis.</p>
<p>Persephone’s infamous love-affair with Adonis produced no children, and, strangely, did not incite the jealousy or wrath of her husband Hades (though Ares, only the paramour of Aphrodite, was envious enough of Adonis to kill him, according to some classical writers). It could be argued that Persephone’s relationship with Adonis is symbolic of the process of rebirth. Before his death, Adonis spent a third of his year with Persephone—I suggest that this third was the very end of autumn, the whole of winter, and the very beginning of spring. As such, Aphrodite would be cold and in mourning in the months when sex and love would, especially in antiquity, have not been at the forefront of the minds of humankind; and his emergence from the Underworld would coincide with Persephone’s own. Thus the relationship of Adonis, Aphrodite and Persephone would symbolise the entire theme of life-death-rebirth: Aphrodite as the ruler of life, Persephone as the ruler of death, and Adonis as the transition between their realms. Adding to this, both Aphrodite and Persephone share the epithet Despoina—<em>the ruling goddess</em>, or <em>the mistress</em>—and this, I think, lends further credence to the idea proposed.</p>
<p>Persephone’s relationship with Zeus was one of the most devastating of unions: the King of Life and the Queen of Death. As such, perhaps Zagreus was doomed from the very offset – born of trickery and lies, for, according to such authors as Nonnus, Zeus took the shape of a <em>drakon</em> (a dragon; a serpent) and ravished Persephone. Zagreus was a colossal explosion of Fate—for Zeus and Persephone both influence it, and have been influenced by it—as well as the primal stirrings of desire. Thus Zagreus—and, in turn, Dionysos—is a god with influence over life, death <em>and</em> fate, for he commands his followers to take their destinies into their own hands and twist them into oblivion.</p>
<p>In answer to the question proposed by the very title of this essay—<em>Why Persephone?</em>—I give this: Hades chose Persephone because she was his perfect opposite: feminity to his masculinity, warmth to his cold and light to his darkness. Between them, Hades and Persephone are, also, the very embodiment of two principles that rule supreme in the psyche of humans – the notion of life after death, and the promise of rebirth. They are fair rulers of the Underworld and just governors of fate; and in their capable hands, I am assured that the flow of life, death and rebirth will continue as long as the Moirai—the Fates—see fit.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Equals]]></title>
<link>http://ldspoetrybykellymiller.wordpress.com/2009/09/21/equals/</link>
<pubDate>Tue, 22 Sep 2009 04:46:00 +0000</pubDate>
<dc:creator>lillypad73</dc:creator>
<guid>http://ldspoetrybykellymiller.wordpress.com/2009/09/21/equals/</guid>
<description><![CDATA[With the Light of Christ we&#8217;re made as equalsEndowed with the ability to thinkAnd recognize He]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>With the Light of Christ we&#8217;re made as equals<br />Endowed with the ability to think<br />And recognize Heavenly calls<br />There to spiritually explore and drink</p>
<p>As we meditate we&#8217;re oft sensitive<br />To truths that teach and guide<br />With self-improvement as the motive<br />The Light will grow inside</p>
<p>Sometimes we think or say<br />A new thought and know it&#8217;s true<br />As it too shows us the way<br />To expand in Light anew</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Teaching for conceptual understanding of the equal sign]]></title>
<link>http://keepingmathsimple.wordpress.com/2009/09/19/teaching-for-conceptual-understanding-of-the-equal-sign/</link>
<pubDate>Sat, 19 Sep 2009 12:55:00 +0000</pubDate>
<dc:creator>Erlina Ronda</dc:creator>
<guid>http://keepingmathsimple.wordpress.com/2009/09/19/teaching-for-conceptual-understanding-of-the-equal-sign/</guid>
<description><![CDATA[Here&#8217;s how I sequence my lesson to develop pupil&#8217;s understanding of the meaning of the e]]></description>
<content:encoded><![CDATA[Here&#8217;s how I sequence my lesson to develop pupil&#8217;s understanding of the meaning of the e]]></content:encoded>
</item>
<item>
<title><![CDATA[What pupils think about the equal sign, “=”]]></title>
<link>http://keepingmathsimple.wordpress.com/2009/09/19/what-pupils-think-about-the-equal-sign-%e2%80%9c%e2%80%9d/</link>
<pubDate>Sat, 19 Sep 2009 07:21:00 +0000</pubDate>
<dc:creator>Erlina Ronda</dc:creator>
<guid>http://keepingmathsimple.wordpress.com/2009/09/19/what-pupils-think-about-the-equal-sign-%e2%80%9c%e2%80%9d/</guid>
<description><![CDATA[I gave a set of questions to a group of Grade 6 and 7 pupils in a public school. Here are two of the]]></description>
<content:encoded><![CDATA[I gave a set of questions to a group of Grade 6 and 7 pupils in a public school. Here are two of the]]></content:encoded>
</item>
<item>
<title><![CDATA[Life=Risk Motivation!]]></title>
<link>http://tinyfilms.wordpress.com/2009/09/17/liferisk-motivation/</link>
<pubDate>Thu, 17 Sep 2009 03:44:51 +0000</pubDate>
<dc:creator>tinyfilms</dc:creator>
<guid>http://tinyfilms.wordpress.com/2009/09/17/liferisk-motivation/</guid>
<description><![CDATA[This Is Soo True:]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>This Is Soo True:</strong></p>
<p><strong><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/0yetHqWODp0&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/0yetHqWODp0&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Difference between ‘==’ and ‘equals’ operator for comparison:]]></title>
<link>http://rakishmuse.wordpress.com/2009/09/16/java-basics-comparision-operator/</link>
<pubDate>Wed, 16 Sep 2009 16:15:53 +0000</pubDate>
<dc:creator>Bharath</dc:creator>
<guid>http://rakishmuse.wordpress.com/2009/09/16/java-basics-comparision-operator/</guid>
<description><![CDATA[The comparison operator for objects may confuse some of the java novice programmers. In this article]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="margin-bottom:0;">The comparison operator for objects may confuse some of the java novice programmers. In this article I am going to shed some thoughts on, when and where to use ‘equals’ and ‘==’ operators.</p>
<p>The ‘==’ operator is used to check if the two objects which are being compared are of the same object reference or not. This means to say that comparison is done on the memory location in which the objects are created / located. We use the ‘==’ operator to check whether the objects which we are being compared are the aliases or not. Object alias means, an object which is allocated on the memory and have different names to access the object location. For instance refer the sample code below:</p>
<address></address>
<address><strong><span style="font-size:x-small;"><strong>String a</strong> = <strong><span style="color:#7f0055;font-size:x-small;"><span style="color:#7f0055;font-size:x-small;">new</span></span><span style="font-size:x-small;"> String(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;Bharath&#8221;</span></span><span style="font-size:x-small;">);</span></strong></span></strong></address>
<address><strong><span style="font-size:x-small;"><strong> </strong></span></strong><span style="font-size:x-small;"><strong>String b = <strong><span style="color:#7f0055;font-size:x-small;"><span style="color:#7f0055;font-size:x-small;">new</span></span><span style="font-size:x-small;"> String(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;Bharath&#8221;</span></span><span style="font-size:x-small;">);</span></strong></strong></span></address>
<address><span style="font-size:x-small;"><strong>S</strong></span><span style="font-size:x-small;"><strong>ystem</strong>.</span><em><span style="color:#0000c0;font-size:x-small;"><span style="color:#0000c0;font-size:x-small;">out</span></span><span style="font-size:x-small;">.println(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;</span></span></em><em><strong><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">String &#8216;==&#8217; operator output &#62;&#8212;-&#62; &#8220;</span></span></strong><span style="font-size:x-small;"><strong> + (a == b));</strong> <span style="color:#3f7f5f;font-size:x-small;"><span style="color:#3f7f5f;font-size:x-small;">// always results false, as the reference of object &#8216;a&#8217; is different </span></span><span style="color:#3f7f5f;font-size:x-small;"><span style="color:#3f7f5f;font-size:x-small;"> from reference of object &#8216;b&#8217;</span></span></span></em></address>
<address><strong><em> </em></strong> </address>
<p style="margin-bottom:0;">The ‘equals’ operator is used to compare the value / property contained in the comparing objects. For instance refer the sample code below:</p>
<address><strong> </strong> </address>
<address><strong>String a</strong> = <strong><span style="color:#7f0055;font-size:x-small;"><span style="color:#7f0055;font-size:x-small;">new</span></span><span style="font-size:x-small;"> String(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;Bharath&#8221;</span></span><span style="font-size:x-small;">);</span></strong></address>
<address><strong> </strong><strong>String b = <strong><span style="color:#7f0055;font-size:x-small;"><span style="color:#7f0055;font-size:x-small;">new</span></span><span style="font-size:x-small;"> String(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;Bharath&#8221;</span></span><span style="font-size:x-small;">);</span></strong></strong></address>
<address><span style="font-size:x-small;"><strong>System.</strong></span><em><span style="color:#0000c0;font-size:x-small;"><span style="color:#0000c0;font-size:x-small;">out</span></span><span style="font-size:x-small;">.println(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;String &#8216;equals&#8217; operator output &#62;&#8212;-&#62; &#8220;</span></span><span style="font-size:x-small;"> + a.equals(b));</span><span style="color:#3f7f5f;font-size:x-small;"><span style="color:#3f7f5f;font-size:x-small;">// results true because, the contents/property in both the objects &#8216;a&#8217;</span></span><span style="color:#3f7f5f;font-size:x-small;"><span style="color:#3f7f5f;font-size:x-small;"> and &#8216;b&#8217; are the same.</span></span></em></address>
<address><em><span style="color:#3f7f5f;font-size:x-small;"></span></em> </address>
<address><em></em></address>
<address><span style="color:#3f7f5f;font-size:x-small;"><span style="font-size:x-small;"><span style="color:#000000;"><strong><span style="text-decoration:underline;">example of object reference:</span></strong></span></span></span></address>
<address></address>
<p><span style="color:#3f7f5f;font-size:x-small;"><span style="font-size:x-small;"><span style="color:#000000;"><br />
</span></span></span> </p>
<address></address>
<address><strong>String a</strong> = <strong><span style="color:#7f0055;font-size:x-small;"><span style="color:#7f0055;font-size:x-small;">new</span></span><span style="font-size:x-small;"> String(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;Bharath&#8221;</span></span><span style="font-size:x-small;">);</span></strong></address>
<address><strong></strong><strong>String b = <strong><span style="color:#7f0055;font-size:x-small;"><span style="color:#7f0055;font-size:x-small;">new</span></span><span style="font-size:x-small;"> String(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;Bharath&#8221;</span></span><span style="font-size:x-small;">);</span></strong></strong></address>
<address><strong><strong></strong></strong><strong><strong><span style="font-size:x-small;"><span style="font-size:x-small;">String c= b;</span></span></strong></strong></address>
<address><span style="font-size:x-small;"><span style="font-size:x-small;"><span style="font-size:x-small;"><strong>System.</strong></span><em><span style="color:#0000c0;font-size:x-small;"><span style="color:#0000c0;font-size:x-small;"><strong>out</strong></span></span><span style="font-size:x-small;"><strong>.</strong>println</span></em></span></span><em><span style="font-size:x-small;">(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;comparison of &#8216;c&#8217; and &#8216;b&#8217; output &#62;&#8212;-&#62; &#8220;</span></span><span style="font-size:x-small;">+(c==b)); </span><span style="color:#3f7f5f;font-size:x-small;"><span style="color:#3f7f5f;font-size:x-small;">//results true as object &#8216;c&#8217; is reference of object &#8216;b&#8217;; in other words &#8216;c&#8217; is an alias of &#8216;b&#8217;</span></span></em></address>
<address><em><span style="color:#3f7f5f;font-size:x-small;"></span></em><em><span style="color:#0000c0;font-size:x-small;"><span style="color:#0000c0;font-size:x-small;"><span style="color:#000000;"><strong>System</strong></span>.out</span></span><span style="font-size:x-small;">.println(</span><span style="color:#2a00ff;font-size:x-small;"><span style="color:#2a00ff;font-size:x-small;">&#8220;comparison of &#8216;c&#8217; and &#8216;a&#8217; output &#62;&#8212;-&#62; &#8220;</span></span><span style="font-size:x-small;">+(c==a));</span><span style="color:#3f7f5f;font-size:x-small;"><span style="color:#3f7f5f;font-size:x-small;">//results false as object &#8216;c&#8217; is not a reference of object &#8216;b&#8217;</span></span></em></address>
<p> </p>
<p> </p>
<address> </address>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[All men are equal]]></title>
<link>http://keepingmathsimple.wordpress.com/2009/09/16/all-men-are-equal/</link>
<pubDate>Wed, 16 Sep 2009 07:46:00 +0000</pubDate>
<dc:creator>Erlina Ronda</dc:creator>
<guid>http://keepingmathsimple.wordpress.com/2009/09/16/all-men-are-equal/</guid>
<description><![CDATA[A king addressed his subjects form the palace&#8217;s balcony: &#8220;All men are equal.&#8221;One s]]></description>
<content:encoded><![CDATA[A king addressed his subjects form the palace&#8217;s balcony: &#8220;All men are equal.&#8221;One s]]></content:encoded>
</item>
<item>
<title><![CDATA[DON'T CALL ME FAT!!]]></title>
<link>http://rizzlekicks.wordpress.com/2009/09/13/dont-call-me-fat/</link>
<pubDate>Sun, 13 Sep 2009 19:56:08 +0000</pubDate>
<dc:creator>rizzlekicks</dc:creator>
<guid>http://rizzlekicks.wordpress.com/2009/09/13/dont-call-me-fat/</guid>
<description><![CDATA[One of the funniest videos I&#8217;ve ever seen on Youtube.. and the presenter&#8217;s actually pret]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of the funniest videos I&#8217;ve ever seen on Youtube.. and the presenter&#8217;s actually pretty funny. Definitely not a waste of 4 minutes 49 seconds.</p>
<p><span style="display:block;width:425px;margin:0 auto;"> <embed src='http://widgets.vodpod.com/w/video_embed/Groupvideo.3412251' type='application/x-shockwave-flash' AllowScriptAccess='always' pluginspage='http://www.macromedia.com/go/getflashplayer' wmode='transparent' flashvars='' /></p>
<div style="font-size:10px;">more about &#8220;<a href="http://vodpod.com/watch/2102969-dont-call-me-fat?pod=rizzlekicks">DON&#8217;T CALL ME FAT!!</a>&#8220;, posted with <a href="http://vodpod.com?r=wp">vodpod</a></div>
<p></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Women as sex objects]]></title>
<link>http://randyhubby.wordpress.com/2009/08/21/women-as-sex-objects/</link>
<pubDate>Fri, 21 Aug 2009 17:45:57 +0000</pubDate>
<dc:creator>Nils</dc:creator>
<guid>http://randyhubby.wordpress.com/2009/08/21/women-as-sex-objects/</guid>
<description><![CDATA[Yesterday I talked about taking a nice gander at a young woman&#8217;s breasts while standing in lin]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Yesterday I talked about taking a nice gander at a young woman&#8217;s breasts while standing in line at a Wendy&#8217;s. Was it wrong of me to appreciate the view? Am I a chauvinist because the first thing that enters my mind when I see her and her three friends is sex?</p>
<p>This has long been a struggle for me. I was raised to treat women as equals and to appreciate women for their intelligence and numerous other important qualities. Along with that message is that women should not be treated as sex objects.</p>
<p>Or should that be: &#8220;women are more than just sex objects?&#8221; There is a distinction.</p>
<p>We are sexual beings. It&#8217;s simple biology. Victorian attitudes stifled sex and suggested that desire was evil. One of the primary goals of &#8220;Women&#8217;s liberation&#8221; was to release women from the bonds of being solely objects of procreation. That directly lead to the idea that women can do nearly any job as well as a man. What it also did was say that women could want to be sexual beings, could seek sex and enjoy sex. Think &#8220;Sex and the City.&#8221;</p>
<p>So today we live in a society that is an odd mash-up of latent Victorian attitudes and hyper-sexuality. How many conservatives have been caught preaching an abstinence/anti-sex message while enjoying mistresses or even prostitutes? Sounds like more of that sexual hypocrisy. Which magazines put sexy women on their covers? Playboy and Penthouse? Not just! You&#8217;d think that women&#8217;s magazines would put sexy men on the covers but no — they show women the sexy women they&#8217;re supposed to emulate.</p>
<p>Does the woman at the beach wearing the skimpiest of bikinis care that I take a good look at her? I don&#8217;t whistle. I don&#8217;t ask for sex. I don&#8217;t grope. I simply look and appreciate. If I were sitting with her in my office and she was wearing attractive but appropriate business attire I would most certainly treat her as a professional. I&#8217;d value her opinion as much as any man. But, even in the office, I couldn&#8217;t — at some time — escape at least some fleeting notion that I&#8217;d like to see her naked.</p>
<p>Do women look at men the same way? Do women look at a hunk and dream of what&#8217;s in his pants? Would I be offended if a woman looked at me as a sex object. Not hardly. I wish my wife would.</p>
<p>As I say, I love my wife and I appreciate her many admirable attributes. But I&#8217;m afraid that she is a latent Victorian. In any other way she is a liberal, modern woman. But she is as nonvisually oriented as I am visual. I want to see her naked. I want to be able to appreciate everything there is to see when we&#8217;re making love. She wants to turn the light off.</p>
<p>I&#8217;ll explore these issues more in coming posts. While I prefer foreplay and intercourse I have been largely relegated to, well — in the words of Chance from &#8220;Being There&#8221; — &#8220;I like to watch.&#8221;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Diabetics, avoid mixing Prescriptions with Herbals!]]></title>
<link>http://kuyamarc.info/2009/08/21/diabetics-avoid-mixing-prescriptions-with-herbals/</link>
<pubDate>Thu, 20 Aug 2009 19:00:00 +0000</pubDate>
<dc:creator>Kuya Marc</dc:creator>
<guid>http://kuyamarc.info/2009/08/21/diabetics-avoid-mixing-prescriptions-with-herbals/</guid>
<description><![CDATA[While the cost of prescription medication is on the rise and the recession is affecting everyone, wo]]></description>
<content:encoded><![CDATA[While the cost of prescription medication is on the rise and the recession is affecting everyone, wo]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Khthonios and Hekate Khthonia]]></title>
<link>http://mirrorpalace.wordpress.com/2009/08/19/hermes-khthonios-and-hekate-khthonia/</link>
<pubDate>Tue, 18 Aug 2009 23:47:25 +0000</pubDate>
<dc:creator>Laria</dc:creator>
<guid>http://mirrorpalace.wordpress.com/2009/08/19/hermes-khthonios-and-hekate-khthonia/</guid>
<description><![CDATA[Hermes is, perhaps, one of the more underappreciated gods. He is an Olympian, and thus respected for]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hermes is, perhaps, one of the more underappreciated gods. He is an Olympian, and thus respected for that: but that is not all he is. He has another duty, far more grand than his role in the myths as a simple messenger, and that is the role of guiding the dead to their final resting place. He lead the dead from their bodies to the Underworld, to be taken in Kharon’s boat into the realm of gloomy Hades. In this role, he becomes a god not just of the earth and skies, but of <em>beneath</em> the earth: he becomes a Khthonic god. He becomes Hermes Diaktoros or Pompaios—the guide—and Hermes Kataibatês, the descender.</p>
<p>When Persephone was abducted by Hades, it was Hermes who, at Zeus’ eventual request, flew down to the Underworld to retrieve her. It was not Zeus himself, nor, indeed, any of the other gods, Olympian or not. It was him: the messenger of the gods both above and below the world. Although Persephone did not accompany him back, it would later become Hermes who would descend to take and return her when her six months in the gloomy Underworld had ended.</p>
<p>Perhaps it was in this role, guide rather than messenger, that Hermes Khthonios became so intricately involved with Hekate. She, Persephone’s minister; he, Persephone’s guide. Pausanias and Propertius allude to Hermes Khthonios lying with, and producing children with, Underworld goddesses or nymphai: Daeira and Brimo. Daeira, mother of Eleusis by Hermes, was identified with Hekate through their joint connections to the Eleusinian Mysteries; and Brimo, a goddess of the Underworld, was identified with both Daeira and Hekate. The name ‘Brimo’—the angry, the terrifying—is frequently considered an epithet of Hekate’s—therefore making Hekate the consort of Hermes Khthonios, and, if the connections between Hekate-Daeira and Daeira-Brimo hold, the mother of Eleusis by Hermes.</p>
<p>Further to this, Hermes Khthonios and Hekate did not have just Persephone in common. Both were also guides of the dead: Hermes Khthonios directed souls down to the mouth of the Underworld, and Hekate lead them back up as ghosts. Perhaps, then, they could be said to have a dualistic relationship; for they are both antagonistic and companionable towards one-another, for Hermes Khthonios restricted the shades of the dead, and Hekate Khthonia freed them.</p>
<p>Both Hermes and Hekate have yet another shared aspect. One of Hekate’s two sacred animals is the dog, particularly the hounds of the Underworld (the <em>kunes khthonioi</em>), due to Queen Hekabe’s metamorphosis into a black bitch. According to Apollonius Rhodius, Lycophron, Ovid and Virgil, to name but a few, Hekate’s arrival from gloomy Hades to the mortal world was heralded by the ‘baying in the night’ of dogs. Hermes, too, has a connection with dogs, as the god of animal husbandry and the god of guard dogs. Thus, Hermes and Hekate are bound further: her arrival incites dogs to bay, creatures of which he has dominion, perhaps as a warning to those who would venture into the goddess’ path (and thus be beyond Hermes’ protection of the home and of travellers).</p>
<p>Although one’s personal experiences and alternative sources may contradict a sexual relationship between Hermes Khthonios and Hekate, it is undeniable that there <em>is</em> a relationship. They are the opposite of one-another, the perfect companions and the perfect balance: Olympian-Khthonian and Khthonian-Titanide; light-shadow and shadow-light; sky-earth and earth-sky; and feminine male and masculine female.</p>
<p>Hermes Khthonios could not exist without Hekate Khthonia, and vice-versa. They need each other: the Underworld, the mortal world and Mount Olympus all need balance to exist and flourish, and Hermes and Hekate provide the joined worlds with some of that balance. They are Divinities with a foot in each world, tethering one to the next and yet keeping them separate. They are Underworld gods, earth gods, sea gods, sky gods: and they could not truly exist in any other form.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux Users: What&rsquo;s Important to YOU?]]></title>
<link>http://kuyamarc.info/2009/08/18/linux-users-whats-important-to-you/</link>
<pubDate>Tue, 18 Aug 2009 09:30:00 +0000</pubDate>
<dc:creator>Kuya Marc</dc:creator>
<guid>http://kuyamarc.info/2009/08/18/linux-users-whats-important-to-you/</guid>
<description><![CDATA[As I peruse Twitter, especially the Linux accounts like LinuxPower, I’m beginning to wonder what’s i]]></description>
<content:encoded><![CDATA[As I peruse Twitter, especially the Linux accounts like LinuxPower, I’m beginning to wonder what’s i]]></content:encoded>
</item>
<item>
<title><![CDATA[Thoughts on Thanatos]]></title>
<link>http://mirrorpalace.wordpress.com/2009/08/17/thoughts-on-thanatos/</link>
<pubDate>Mon, 17 Aug 2009 18:20:48 +0000</pubDate>
<dc:creator>Laria</dc:creator>
<guid>http://mirrorpalace.wordpress.com/2009/08/17/thoughts-on-thanatos/</guid>
<description><![CDATA[Death. He is maggots sliding through empty veins, gnawing at dead flesh. He is the flames that burn ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Death.</p>
<p>He is maggots sliding through empty veins, gnawing at dead flesh. He is the flames that burn to accept the bodies of those no longer in this world. He is the son of black Nyx, and yet his touch—gentle, unassuming, soothing—can strike at any given moment. He was born dead: he has never known warm sunlight or open-mouthed kisses; he does not understand what it means to breathe. He does not know how to live, how to survive.</p>
<p>He is limitless, unstoppable; and yet he tempers his own power. He binds himself to the rules of the Underworld, and to the word of his Lord, Hades. He is the steadfast companion of his drowsing brother, Hypnos; and he rides in his mother’s chariot as she draws her thin mists over the world each night. He lives alone but for his butterflies – magnificent, beating, pulsing, <em>alive</em>. They remind him of his oaths, and they keep him grounded when he would otherwise drift with shadow.</p>
<p>He is not cruel. He does not laugh as he takes the souls of the newly-dead. He inhales their spirits—dead lips to dead lips, cold flesh to cold flesh—and takes them to the mouth of the Underworld. It is not his duty to do this, and yet he does: he cares, though he cannot name such tender feelings, for he does not understand them. He is the brother of the Moirae, the Fates, and he is the minister of Hades. He is a king of kings: neither Hades nor his brothers can control him, try as they might.</p>
<p>He is not violent death: he is the gentle slipping-away of one’s final breath. He is the final blankness that touches the eyes of corpses; he is the carrion, hopping closer to stare at the tantalising flesh of the dead. He is the cycle of life and death, the pulse of mortality. Some say that he is born and he dies with each breath humans take – some say that he was never even born, he simply <em>was</em>, simply <em>is</em>.</p>
<p>He is the everlasting search for truth. He cannot be swayed to leniency, but he is merciful, and he is gentle. He is beyond remorse, beyond guilt; and yet his shoulders are weighed down by the magnitude of his own power. Every death he brings rests heavily upon him, a fresh load for him to carry, and he can barely bring himself to do as he must – but, yes, he must. He cannot control himself any more than Hades, Poseidon and Zeus can: for he is death, and death answers truly to nobody, not even itself. He ignores his screeching, violent sisters and draws his butterflies about him like a cloak. He is a child, a youth, an adult; all of these and none of these. He is what best helps those who look upon him – but he is always dark-eyed, for death is nothing if not the wrapping of shadows around throat and skin.</p>
<p>He is Thanatos. He has a thousand names, truly, but he is who he is, regardless of what he is called. He will visit any who ask, and many who do not: for he is death, death, death.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Eris and Aphrodite: The Gods of Survival]]></title>
<link>http://mirrorpalace.wordpress.com/2009/08/16/eris-and-aphrodite-the-gods-of-survival/</link>
<pubDate>Sun, 16 Aug 2009 15:48:53 +0000</pubDate>
<dc:creator>Laria</dc:creator>
<guid>http://mirrorpalace.wordpress.com/2009/08/16/eris-and-aphrodite-the-gods-of-survival/</guid>
<description><![CDATA[Aphrodite and Eris: love and discord. One might think that these two goddesses share little in commo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Aphrodite and Eris: love and discord. One might think that these two goddesses share little in common – the former is concerned with bringing people together; the latter with tearing them apart – but they have more to do with each-other than one would assume.</p>
<p>For several years, the idea that Eris is Aphrodite and Ares’ daughter has stuck with me. I am unsure where the idea came from—Eris is described as Ares’ sister, and therefore as Zeus and Hera’s daughter, or else as Erebus and Nyx’s daughter by the classical writers—but it is an idea that has pervaded my thoughts for as long as I’ve known of their mythologies. Perhaps it is that Eris’ name is so similar to Eros’, or that she seems the opposite of both Harmonia and Eros, who are <em>both</em> described as children of Aphrodite. Perhaps it is none of these – just a whim inspired by nothing at all. Perhaps not.</p>
<p>Aphrodite and Eris share something that can, and is, offered to them: apples. The myth of Eris’ role in the Trojan War—the golden apple of discord, inscribed with the word <em>kallistē</em>, which was awarded to Aphrodite by Paris—is infamous. Apples, of course, have the symbolism of sexuality, sexual seduction, forbidden things and knowledge. It is fitting, then, that it went to Aphrodite, mother of Love and Seduction, as opposed to Hera or Athena.</p>
<p>Both of the goddesses are linked also by their domains. Aphrodite rules the heart – love, hate, obsession, need; and Eris, too, rules the heart – fury, discontent, anger, rivalry. Aphrodite caresses those who gain her favour, bringing them carefully to their full potential; and Eris takes a different approach, striking with tooth and nail until their skin is hard enough to protect their fragile souls from those who would harm them.</p>
<p>As goddess of love, Aphrodite overlaps her domain with Eris: both can be seen as goddesses of rivalry and competition. Aphrodite holds the epithets of <em>Makhanitis</em> and <em>Apatouros</em> – deviser and the deceptive one, respectively. Both, then, as goddesses of rivalry, are also goddesses of survival: for how can anything survive if it not constantly challenged and forced to change? These goddesses both contribute to the survival of everything—the flowers that become brightly coloured to attract bees; the rabbits that develop faster legs; the primates that walk upright and begin to develop speech—nothing is without their influence, and so nothing can legitimately claim existence beyond their influence.</p>
<p>Finally, both Eris and Eros are credited, sometimes, as being children of Nyx; and at the same time, Aphrodite holds the epithet <em>Melainis</em> (black; of night). Aphrodite, then, is linked to the Protogenos goddess of night, and Eris and Eros are named children of night. Both Aphrodite and Eris are called companions of Ares, too; as goddesses of rivalry, of strife, of pulsing hate.</p>
<p>Regardless of whether or not they are mother and daughter, though, there is no denying that they are closely linked. Without them, there could be no survival; without them, there would be nothing.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
