<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Black Eternal</title>
	<atom:link href="http://blacketernal.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blacketernal.wordpress.com</link>
	<description>...how abstract thy harvest rose doth fall, consigned to the flames of woe in sweet modesty...</description>
	<lastBuildDate>Tue, 29 Nov 2011 18:21:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blacketernal.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Black Eternal</title>
		<link>http://blacketernal.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blacketernal.wordpress.com/osd.xml" title="Black Eternal" />
	<atom:link rel='hub' href='http://blacketernal.wordpress.com/?pushpress=hub'/>
		<item>
		<title>C++: A minimalistic symbolic expression tree interpreter</title>
		<link>http://blacketernal.wordpress.com/2011/11/27/c-a-minimalistic-symbolic-expression-tree-interpreter/</link>
		<comments>http://blacketernal.wordpress.com/2011/11/27/c-a-minimalistic-symbolic-expression-tree-interpreter/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 17:03:06 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[binary_function]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[function object]]></category>
		<category><![CDATA[functor]]></category>
		<category><![CDATA[symbolic expression]]></category>
		<category><![CDATA[tr1]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=1043</guid>
		<description><![CDATA[Binary or more generally, N-ary trees are very useful in symbolic computation, predicate calculus and so on. Suppose we want to implement something simple, like an expression tree that can encode arithmetic formulas, something that could possibly look like this (I&#8217;ve added the node outputs as edge labels): &#160; So we have: Leaf nodes, or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=1043&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Binary or more generally, N-ary trees are very useful in symbolic computation, predicate calculus and so on.</p>
<p>Suppose we want to implement something simple, like an expression tree that can encode arithmetic formulas, something that could possibly look like this (I&#8217;ve added the node outputs as edge labels):</p>
<p><a href="http://blacketernal.files.wordpress.com/2011/11/binary_tree_sample1.png"><img src="http://blacketernal.files.wordpress.com/2011/11/binary_tree_sample1.png?w=630" alt="Binary symbolic expression tree" title="binary_tree_sample"   class="alignleft size-full wp-image-1057" /></a></p>
<div style="clear:left;">&nbsp;</div>
<p>So we have:</p>
<ol>
<li>Leaf nodes, or terminals, which generally contain a value (be it random or corresponding to some value from the dataset etc)</li>
<li>Non-leaf nodes, or functions, which execute an operation on their input</li>
</ol>
<p>Let&#8217;s see how we can express this in C++, but first, since we are also interested in benchmarking our tree interpreter, we introduce an object counter using the <a href="http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern">Curiously Recurring Template Pattern (CRTP)</a>.</p>
<p><pre class="brush: cpp; light: true;">
// Object counter
template &lt;typename T&gt;
struct ObjectCounter
{
    ObjectCounter()
    {
        ++objects_created;
        ++objects_alive;
    }

    virtual ~ObjectCounter()
    {
        --objects_alive;
    }

    static long int objects_created;
    static long int objects_alive;
};

template &lt;typename T&gt; long int ObjectCounter&lt;T&gt;::objects_created(0);
template &lt;typename T&gt; long int ObjectCounter&lt;T&gt;::objects_alive(0);
</pre><br />
The different types of nodes should have a base class:<br />
<pre class="brush: cpp; light: true;">
enum {TERMINAL, FUNCTION}; // node types

class Node : public ObjectCounter&lt;Node&gt;
{
public:
    explicit Node(int type) : nodeType(type), evaluated(false), evalValue(0.0) {}
    virtual ~Node() {}
    int Type() const { return nodeType; }
    void Type(int type) { nodeType = type; }
    bool Evaluated() const { return evaluated; }
    void Evaluated(bool value) { evaluated = value; }
    double EvalValue() const { return evalValue; }
    void EvalValue(double value) { evalValue = value; }
    virtual double Evaluate() =0; //!&lt; update eval values and flags

protected:
    int nodeType;
    bool evaluated;
    double evalValue;
};
</pre><br />
The <code>Terminal</code> is easiest to declare:<br />
<pre class="brush: cpp; light: true;">
class Terminal : public Node
{
public:
    Terminal() : Node(TERMINAL) {}
    ~Terminal() {}
    double Value() const { return val; }
    void Value(double value_) { val = value_; }

    double Evaluate() { return val; }

private:
    double val;
};
</pre><br />
For our <code>Function</code> class, we need to think about how we design and use our operators. Since I&#8217;m lazy, I wanted to use the binary operators from <a href="http://new.cplusplus.com/reference/std/functional/">functional</a> header, but using them raises one important issue: we&#8217;d like to store them in a container, like <code>std::vector</code>, which is not possible for operators like <code>std::plus</code>, <code>std::minus</code>, <code>std::multiplies</code> and <code>std::divides</code> due to the fact that their base class, <code>std::binary_function</code> is not a polymorphic base class (and if it were, I would need to store pointers to it, not copies). In short, something like<br />
<pre class="brush: cpp; light: true;">
typedef std::binary_function&lt;double,double,double&gt; binary_op;
std::vector&lt;binary_op&gt; functions;</pre> would not work.</p>
<p>Therefore, for our functions vector we need a function type that can wrap polymorphic function objects.<br />
This is where we consider our options: we want binary operators that accept and return double values.<br />
Before we start considering the alternatives, let&#8217;s take a look at how our <code>Function</code> class might look like:<br />
<pre class="brush: cpp; light: true;">
class Function : public Node
{
public:
    Function() : Node(FUNCTION) {}
    ~Function()
    {
        for (auto i = children.begin(); i != children.end(); ++i)
            delete *i;
    }
    void setOp(binary_op&amp; op_) { op = op_; }
    std::vector&lt;Node*&gt;&amp; Children() { return children; }
    const std::string&amp; Symbol() const { return symbol; }
    void setSymbol(std::string&amp; symbol_) { symbol = symbol_; }

    double operator()(double a, double b) {
        return op(a,b);
    }

    double Evaluate()
    {
        EvalValue( (*this)(Children()[0]-&gt;Evaluate(), Children()[1]-&gt;Evaluate()) );
        return EvalValue();
    }
</pre><br />
So a <code>Function</code> uses its () operator to apply a <code>binary_op</code> to its arguments. The problem is how do we define and use the <code>binary_op</code>.</p>
<ol>
<li>
First and easiest, <code>boost::function</code>:<br />
<pre class="brush: cpp; light: true;">
typedef boost::function&lt;double(double,double)&gt; binary_op;
</pre>
</li>
<li>
Second, and a little bit &#8220;more lightweight&#8221;, is the <code>std::tr1::function</code> from the new C++0x standard:<br />
<pre class="brush: cpp; light: true;">
typedef std::tr1::function&lt;double(double,double)&gt; binary_op;
</pre>
</li>
</ol>
<h4 style="margin-top:2px;">Benchmark</h4>
<p>At this point, I was already very curious to see how well this tree interpreter performs. I tested its speed against a C# tree interpreter that is part of <a href="http://dev.heuristiclab.com/trac/hl/core">HeuristicLab</a>, which is a framework for heuristic and evolutionary algorithms developed in C# using .NET 4.0, and also against an older project of mine which has a different (and less generic) design: different function node types which have different methods defining the operations they perform.</p>
<p>So I got the following figures:</p>
<ul>
<li>HeuristicLab arithmetic grammar tree interpreter: 3.37e+007 nodes/s</li>
<li>Other project (more straightforward): 4.49e+007 nodes/s</li>
</ul>
<p>At this point I was really curious to see how the minimalistic approach would perform, but unfortunately the figures were rather disappointing:</p>
<ul>
<li>Using <code>boost::function</code>: 2.45e+007 nodes/s</li>
<li>Using <code>std::tr1::function</code>: 3.1e+007 nodes/s</li>
</ul>
<p>Surprisingly, <code>boost::function</code> is quite slow, and although <code>std::tr1::function</code> is a bit faster, I still wasn&#8217;t happy.</p>
<p>This is when internet research comes in handy, as I have discovered the following way of wrapping function objects:<br />
<pre class="brush: cpp; light: true;">
typedef double (*binary_op)(double,double);
template&lt;typename F&gt; typename F::result_type
functor(typename F::first_argument_type arg1, typename F::second_argument_type arg2)
{
    return F()(arg1, arg2);
}
</pre></p>
<p>Using the function above requires a small correction to the code. Where we previously had:<br />
<pre class="brush: cpp; light: true;">
std::vector&lt;binary_op&gt; functions;
functions.push_back(std::plus&lt;double&gt;());
</pre><br />
now we must have:<br />
<pre class="brush: cpp; light: true;">
std::vector&lt;binary_op&gt; functions;
functions.push_back(functor&lt; std::plus&lt;double&gt; &gt;);
</pre></p>
<p>This approach gives a substantial speed boost: 3.54e+007 nodes/s, which is still not great, but, considering the simplicity of the design (a couple of node classes, a tree class and an evaluation function), I think its pretty ok.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/1043/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/1043/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/1043/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=1043&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/11/27/c-a-minimalistic-symbolic-expression-tree-interpreter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>

		<media:content url="http://blacketernal.files.wordpress.com/2011/11/binary_tree_sample1.png" medium="image">
			<media:title type="html">binary_tree_sample</media:title>
		</media:content>
	</item>
		<item>
		<title>Broken</title>
		<link>http://blacketernal.wordpress.com/2011/08/03/broken/</link>
		<comments>http://blacketernal.wordpress.com/2011/08/03/broken/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 20:12:09 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[something]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=1033</guid>
		<description><![CDATA[&#8220;Things get broken. Some things can be put back together, if you recover all the lost pieces and their nature is such that they can be fixed. Except some things can never be fixed or repaired or put back together and given a new purpose.&#8221; &#8220;Like a broken vase, you mean? Those things always get [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=1033&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8220;Things get broken. Some things can be put back together, if you recover all the lost pieces and their nature is such that they can be fixed. Except some things can never be fixed or repaired or put back together and given a new purpose.&#8221;</p>
<p>&#8220;Like a broken vase, you mean? Those things always get broken. Their second nature. Don&#8217;t use big words.&#8221;</p>
<p>&#8220;I mean when you drop something and it breaks in a million pieces, and you try to put it back together. you can&#8217;t restore its wholeness, and you think.. ok. it happened. I can&#8217;t be sad, it&#8217;s no big deal, everything is a transformation.&#8221; </p>
<p>&#8220;everything is. you can be sad, but you know it can&#8217;t be helped. sad or not sad.&#8221;</p>
<p>&#8220;but, everything that was created and I mean things and maybe also people, all of them have not been created without a purpose and that when something is broken, shattered or destroyed, even before it dies, it looses its purpose in this world, its essence, its &#8216;aiua&#8217;. like a watch that can&#8217;t tell time anymore.&#8221; </p>
<p>&#8220;destroyed but not defeated. isn&#8217;t that what Hemingway said? purpose &#8212; maybe thats true, but maybe it was meant to be this way. and things get broken, and maybe they die or they change and get another life, and you could call that a purpose, or at least a necessary step towards a greater.. destiny. if there is such a thing as destiny for things that get broken. or for people&#8221;</p>
<p>&#8220;reasoning is not right, things get complicated this way, and such a complicated purpose equals no purpose at all. destiny? can we even mention it or think about it, when we spend most of our lives not knowing it and maybe only seconds before death comes and slides our eyelids shut, with its skeleton hand, maybe only then we get a glimpse and if we&#8217;re lucky, with our last breath we acknowledge the fact that we&#8217;ve not lived in vain?&#8221; </p>
<p>&#8220;Especially people are weird this way. you should follow nature instead, its infinite simplicity.&#8221;</p>
<p>&#8220;the nature&#8230; of time&#8221;</p>
<p>&#8220;and space, and the human race&#8221;</p>
<p>&#8220;which one of us is the imaginary one?&#8221;</p>
<p>&#8220;you are. and I&#8217;m tired&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/1033/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/1033/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/1033/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/1033/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/1033/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/1033/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/1033/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=1033&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/08/03/broken/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>Saturday</title>
		<link>http://blacketernal.wordpress.com/2011/06/25/saturday/</link>
		<comments>http://blacketernal.wordpress.com/2011/06/25/saturday/#comments</comments>
		<pubDate>Sat, 25 Jun 2011 21:12:14 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[nature and organization]]></category>
		<category><![CDATA[to you]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=1020</guid>
		<description><![CDATA[&#8220;Have you ever been in love? Horrible isn&#8217;t it? It makes you so vulnerable. It opens your chest and it opens up your heart and it means that someone can get inside you and mess you up. You build up all these defenses, you build up a whole suit of armor, so that nothing can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=1020&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;Have you ever been in love? Horrible isn&#8217;t it? It makes you so vulnerable. It opens your chest and it opens up your heart and it means that someone can get inside you and mess you up. You build up all these defenses, you build up a whole suit of armor, so that nothing can hurt you, then one stupid person, no different from any other stupid person, wanders into your stupid life&#8230;You give them a piece of you. They didn&#8217;t ask for it. They did something dumb one day, like kiss you or smile at you, and then your life isn&#8217;t your own anymore. Love takes hostages. It gets inside you. It eats you out and leaves you crying in the darkness, so simple a phrase like &#8216;maybe we should be just friends&#8217; turns into a glass splinter working its way into your heart. It hurts. Not just in the imagination. Not just in the mind. It&#8217;s a soul-hurt, a real gets-inside-you-and-rips-you-apart pain. I hate love.&#8221; &#8212; Neil Gaiman</p></blockquote>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='630' height='385' src='http://www.youtube.com/embed/OT-bMVoG2oI?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/1020/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/1020/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/1020/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/1020/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/1020/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/1020/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/1020/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/1020/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=1020&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/06/25/saturday/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>The world is all that is the case</title>
		<link>http://blacketernal.wordpress.com/2011/06/12/the-world-is-all-that-is-the-case/</link>
		<comments>http://blacketernal.wordpress.com/2011/06/12/the-world-is-all-that-is-the-case/#comments</comments>
		<pubDate>Sun, 12 Jun 2011 16:51:39 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[tractatus]]></category>
		<category><![CDATA[wittgenstein]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=969</guid>
		<description><![CDATA[I&#8217;ve always loved logic, because it makes life simple, clear, in a sense almost beautiful. Wittgenstein, in his Tractatus Logico-Philosophicus: 1 The world is all that is the case. 1.1 The world is the totality of facts, not of things. 1.11 The world is determined by the facts, and by their being all the facts. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=969&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always loved logic, because it makes life simple, clear, in a sense almost beautiful.  </p>
<p>Wittgenstein, in his <a href="http://www.amazon.co.uk/Tractatus-Logico-Philosophicus-Routledge-Classics-Wittgenstein/dp/0415254086/ref=sr_1_1?ie=UTF8&amp;qid=1307896246&amp;sr=8-1">Tractatus Logico-Philosophicus</a>:</p>
<blockquote><p>
<strong>1</strong> The world is all that is the case.</p>
<p><strong>1.1</strong> The world is the totality of facts, not of things. </p>
<p><strong>1.11</strong> The world is determined by the facts, and by their being <em>all</em> the facts.</p>
<p><strong>1.12</strong> For the totality of facts determines what is the case, and also whatever is not the case.</p>
<p><strong>1.13</strong> The facts in the logical space are the world.</p>
<p><strong>1.2</strong> The world divides into facts.</p>
<p><strong>1.21</strong> Each item can be the case or not the case while everything else remains the same.
</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/969/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/969/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/969/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=969&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/06/12/the-world-is-all-that-is-the-case/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>Generic Image Library: Save Raw Image Data to File</title>
		<link>http://blacketernal.wordpress.com/2011/06/02/generic-image-library-save-raw-image-data-to-file/</link>
		<comments>http://blacketernal.wordpress.com/2011/06/02/generic-image-library-save-raw-image-data-to-file/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 13:53:19 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[generic image library]]></category>
		<category><![CDATA[gil]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[write image to file]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=925</guid>
		<description><![CDATA[GIL (Generic Image Library) is &#8220;a C++ generic library which allows for writing generic imaging algorithms with performance comparable to hand-writing for a particular image type&#8221; and it&#8217;s now part of the Boost Libraries. Today I wanted to implement a save_to_image function for a project I was working on this week, and I thought about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=925&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.boost.org/doc/libs/1_46_1/libs/gil/doc/index.html" title="Generic Image Library">GIL</a> (<b>G</b>eneric <b>I</b>mage <b>L</b>ibrary) is &#8220;<em>a C++ generic library which allows for writing generic imaging algorithms with performance comparable to hand-writing for a particular image type</em>&#8221; and it&#8217;s now part of the <a href="http://www.boost.org" title="Boost Libraries">Boost Libraries</a>.</p>
<p>Today I wanted to implement a <code>save_to_image</code> function for a project I was working on this week, and I thought about using <b>GIL</b>. So after reading the docs I figured out how it works and it&#8217;s remarkably simple.</p>
<p>If we have the raw image data (or can produce it in some way), in the form of three channel vectors:<br />
<pre class="brush: cpp; light: true;">
unsigned char r[width*height]; // red
unsigned char g[width*height]; // green
unsigned char b[width*height]; // blue
</pre></p>
<p>Then we can write it to a png file, for example, like this:<br />
<pre class="brush: cpp; light: true;">
#include &lt;boost/gil/extension/io/png_io.hpp&gt;
boost::gil::rgb8c_planar_view_t view = boost::gil::planar_rgb_view(width, height, r, g, b, width);
boost::gil::png_write_view(&quot;gil.png&quot;, view);
</pre></p>
<p>Also, if your image data also contains an alpha channel, then it&#8217;s just:<br />
<pre class="brush: cpp; light: true;">
unsigned char a[width*height]; // red
</pre></p>
<p><pre class="brush: cpp; light: true;">
#include &lt;boost/gil/extension/io/png_io.hpp&gt;
boost::gil::rgba8c_planar_view_t view = boost::gil::planar_rgba_view(width, height, r, g, b, a, width);
boost::gil::png_write_view(&quot;gil.png&quot;, view);
</pre></p>
<p>Don&#8217;t forget to link your program with <code>-lpng</code> and, if you run into compile errors, try the following workaround:</p>
<p><pre class="brush: cpp; light: true;">
/* work around some libpng errors */
#define png_infopp_NULL (png_infopp)NULL
#define int_p_NULL (int*)NULL
</pre></p>
<p style="text-align:left;" class="getsocial"><a title="Like This!" href="http://getsociallive.com/gslike.php?likeurl=http%3A%2F%2Fblacketernal.wordpress.com%2F2011%2F06%2F02%2Fgeneric-image-library-save-raw-image-data-to-file%2F&amp;liketitle=Generic%20Image%20Library%3A%20Save%20Raw%20Image%20Data%20to%20File" rel="nofollow" target="_blank"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gslk4.png?w=49&#038;h=23" width="49" height="23" alt="Like This!" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/925/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/925/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/925/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/925/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/925/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/925/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/925/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=925&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/06/02/generic-image-library-save-raw-image-data-to-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>

		<media:content url="http://getsocialserver.files.wordpress.com/2010/08/gslk4.png" medium="image">
			<media:title type="html">Like This!</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Euler Problems 39 and 75</title>
		<link>http://blacketernal.wordpress.com/2011/05/30/project-euler-problems-39-and-75-2/</link>
		<comments>http://blacketernal.wordpress.com/2011/05/30/project-euler-problems-39-and-75-2/#comments</comments>
		<pubDate>Mon, 30 May 2011 18:33:48 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Project Euler]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=917</guid>
		<description><![CDATA[If p is the perimeter of a right angle triangle, {a, b, c}, which value, for p ≤ 1000, has the most solutions? The solution to this problem is using the following formulas for the iterative generation of new Pythagorean triples: where: This can be done easily using recursion:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=917&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>If p is the perimeter of a right angle triangle, {a, b, c}, which value, for p ≤ 1000, has the most solutions?
</p></blockquote>
<p>The solution to this problem is using the following formulas for the iterative generation of new Pythagorean triples:</p>
<div style="text-align:center;">
<img src='http://s0.wp.com/latex.php?latex=%28a_1%2Cb_1%2Cc_1%29%3D%28a_0%2Cb_0%2Cc_0%29+%5Ccdot+U&amp;bg=f7f7f7&amp;fg=242424&amp;s=0' alt='(a_1,b_1,c_1)=(a_0,b_0,c_0) &#92;cdot U' title='(a_1,b_1,c_1)=(a_0,b_0,c_0) &#92;cdot U' class='latex' /><br />
<img src='http://s0.wp.com/latex.php?latex=%28a_2%2Cb_2%2Cc_2%29%3D%28a_0%2Cb_0%2Cc_0%29+%5Ccdot+A&amp;bg=f7f7f7&amp;fg=242424&amp;s=0' alt='(a_2,b_2,c_2)=(a_0,b_0,c_0) &#92;cdot A' title='(a_2,b_2,c_2)=(a_0,b_0,c_0) &#92;cdot A' class='latex' /><br />
<img src='http://s0.wp.com/latex.php?latex=%28a_3%2Cb_3%2Cc_3%29%3D%28a_0%2Cb_0%2Cc_0%29+%5Ccdot+D&amp;bg=f7f7f7&amp;fg=242424&amp;s=0' alt='(a_3,b_3,c_3)=(a_0,b_0,c_0) &#92;cdot D' title='(a_3,b_3,c_3)=(a_0,b_0,c_0) &#92;cdot D' class='latex' />
</div>
<p>where:</p>
<div style="text-align:center;">
<img src='http://s0.wp.com/latex.php?latex=U+%5Cequiv+%5Cleft%5B+%5Cbegin%7Barray%7D%7Bccc%7D++1+%26+2+%26+2+%5C%5C++-2+%26+-1+%26+-2+%5C%5C++2+%26+2+%26+3+%5Cend%7Barray%7D+%5Cright%5D%2C%5C+++A+%5Cequiv+%5Cleft%5B+%5Cbegin%7Barray%7D%7Bccc%7D++1+%26+2+%26+2+%5C%5C++2+%26+1+%26+2+%5C%5C++2+%26+2+%26+3+%5Cend%7Barray%7D+%5Cright%5D%2C%5C+++D+%5Cequiv+%5Cleft%5B+%5Cbegin%7Barray%7D%7Bccc%7D++-1+%26+-2+%26+-2+%5C%5C++2+%26+1+%26+2+%5C%5C++2+%26+2+%26+3+%5Cend%7Barray%7D+%5Cright%5D++&amp;bg=f7f7f7&amp;fg=242424&amp;s=0' alt='U &#92;equiv &#92;left[ &#92;begin{array}{ccc}  1 &amp; 2 &amp; 2 &#92;&#92;  -2 &amp; -1 &amp; -2 &#92;&#92;  2 &amp; 2 &amp; 3 &#92;end{array} &#92;right],&#92;   A &#92;equiv &#92;left[ &#92;begin{array}{ccc}  1 &amp; 2 &amp; 2 &#92;&#92;  2 &amp; 1 &amp; 2 &#92;&#92;  2 &amp; 2 &amp; 3 &#92;end{array} &#92;right],&#92;   D &#92;equiv &#92;left[ &#92;begin{array}{ccc}  -1 &amp; -2 &amp; -2 &#92;&#92;  2 &amp; 1 &amp; 2 &#92;&#92;  2 &amp; 2 &amp; 3 &#92;end{array} &#92;right]  ' title='U &#92;equiv &#92;left[ &#92;begin{array}{ccc}  1 &amp; 2 &amp; 2 &#92;&#92;  -2 &amp; -1 &amp; -2 &#92;&#92;  2 &amp; 2 &amp; 3 &#92;end{array} &#92;right],&#92;   A &#92;equiv &#92;left[ &#92;begin{array}{ccc}  1 &amp; 2 &amp; 2 &#92;&#92;  2 &amp; 1 &amp; 2 &#92;&#92;  2 &amp; 2 &amp; 3 &#92;end{array} &#92;right],&#92;   D &#92;equiv &#92;left[ &#92;begin{array}{ccc}  -1 &amp; -2 &amp; -2 &#92;&#92;  2 &amp; 1 &amp; 2 &#92;&#92;  2 &amp; 2 &amp; 3 &#92;end{array} &#92;right]  ' class='latex' /></div>
<p>This can be done easily using recursion:</p>
<p><pre class="brush: cpp;">
/* Project Euler - Problems 39 and 75

   39. If p is the perimeter of a right angle triangle, {a, b, c},
       which value, for p ≤ 1000, has the most solutions?

   75. Find the number of different lengths of wire that can form
       a right angle triangle in only one way.

   http://mathworld.wolfram.com/PythagoreanTriple.html */

#include &lt;iostream&gt;
#include &lt;cmath&gt;
#include &lt;vector&gt;

using namespace std;

typedef unsigned long ulong;

#define N 1500000

class Problem39
{
public:
    void solve();
private:
    vector&lt;int&gt; p_;
    void r_(ulong a, ulong b, ulong c);
};

void
Problem39::r_(ulong a, ulong b, ulong c)
{
    ulong p = a + b + c;
    if (p &gt; N) return;
    for (ulong i = p-1; i &lt; N; i += p)
    {
        p_[i] += 1;
    }

    r_( a - 2*b + 2*c, 2*a - b + 2*c, 2*a - 2*b + 3*c );

    r_( a + 2*b + 2*c, 2*a + b + 2*c, 2*a + 2*b + 3*c );

    r_( -a + 2*b + 2*c, -2*a + b + 2*c, -2*a + 2*b + 3*c );
}

void
Problem39::solve()
{
    p_ = vector&lt;int&gt;(N, 0);
    r_ (3,4,5);

    ulong c = 0, max = p_[0], p;
    for (int i = 0; i &lt; N; ++i)
    {
        if (max &lt; p_[i])
        {
            max = p_[i];
            p = i+1;
        }
        if (p_[i] == 1)
            c++;
    }
    cout &lt;&lt; &quot;p = &quot; &lt;&lt; p &lt;&lt; &quot; (&quot; &lt;&lt; max &lt;&lt; &quot; solutions)&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;c = &quot; &lt;&lt; c &lt;&lt; endl;
}

int main(void)
{
    Problem39 p;
    p.solve();
    return 0;
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/917/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/917/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/917/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/917/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/917/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/917/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/917/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/917/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=917&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/05/30/project-euler-problems-39-and-75-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>Noica &#8212; jurnal filozofic (fragmente)</title>
		<link>http://blacketernal.wordpress.com/2011/04/23/noica-jurnal-filozofic-fragmente/</link>
		<comments>http://blacketernal.wordpress.com/2011/04/23/noica-jurnal-filozofic-fragmente/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 19:10:43 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Poetry]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[jurnal filozofic]]></category>
		<category><![CDATA[noica]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=865</guid>
		<description><![CDATA[Caut să văd ce va trebui încercat la Școală: a gândi &#8212; cum se spune &#8212; viu. Dar ce înseamnă a gândi viu? Cred că două lucruri: 1) A proceda prin întreguri, nu prin părți; întru câtva organic, nu de la simplu la compus; în nici un caz fals cartezian (fiindcă nici Descartes nu gândea [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=865&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="text-align:justify;">
Caut să văd ce va trebui încercat la Școală: a gândi &#8212; cum se spune &#8212; viu. Dar ce înseamnă a gândi viu?</p>
<p>Cred că două lucruri: 1) A proceda prin întreguri, nu prin părți; întru câtva organic, nu de la simplu la compus; în nici un caz fals cartezian (fiindcă nici Descartes nu gândea așa), geometric și sistematic. 2) A lăsa întregurile să reiasă din elementul infinitezimal; a gândi deci, până la un punct, intuitiv: văzând &#8212; nu făcând, construind.</p>
<p>Pentru ultimul punct, Aristotel &#8212; singura dată când mă atrage &#8212; are un exemplu sugestiv. Închipuiți-vă o oaste, spune el; o oaste pusă pe fugă în neorânduială. La un moment dat (asta e tot: ”la un moment dat”), un soldat se oprește. În jurul lui se opresc alți patru&#8211;cinci. Apoi, în jurul nucleului format de ei se strând și alții, și iată dintr-o dată oastea întreagă întorcând fața către dușman și gata să primească din nou lupta.</p>
<p>Asta înseamnă ”viu”: unul singur, elementul infinitezimal poate să coaguleze restul. Un singur individ vertebrează totul. Nu urci matematic și gradat, de la simplu la compus, ci urci, fără compoziție, de la simplu la întreg. E paradoxul vieții, dar e paradoxul oricărei vieți. </p>
<p>Și mă gândesc la o concluzie ciudată: un adevărat colectivism e mai individualist decât cel care își zice așa. Sau invers: un adevărat individualism ar trebui să fie colectivist. Căci numai acesta din urmă, cel care deține întregul, știe adevăratul preț al părții. În oastea lui Aristotel, soldatul înseamnă ceva, poate ceva. Ce poate el dincolo?</p>
<p>Încă unul din scandalurile vieții, în istorie și dincolo de istorie.</p>
<p>*</p>
<p>Tulburătoare, vorba aceasta a lui Simmel: ”viața ca totalitate de fiecare clipă”. Așa o văd acum; așa este. În fiecare ceas simți că ești un întreg. Ai goluri, firește, dar le cunoști, deci le-ai umplut într-un oarecare fel. Ești o ființă împlinită.</p>
<p>Dar citești o carte: cum puteai trăi până acum fără gândurile ei? Legi o prietenie nouă: cum te puteai crede întreg fără ea? Abia acum simți golul adevărat, golul pe care ar fi trebuit să-l simți. Dar acum ești ”întreg”. Totalitate de fiecare clipă. Trăim alături unii de alții, totalitate lângă totalitate, într-o lume care nu totalizează, dar care se totalizează, parcă, în noi.</p>
<p>*</p>
<p>Singurătatea absolută? O concep câteodată așa: în tren, pe un culoar ticsit, stând pe geamantan. Ești atunci departe nu numai de orice om, mai ales de cei care te împiedică să te miști; dar ești departe și de orice punct fix în spațiu. Ești undeva, între o stație și alta, rupt de ceva, în drup spre altceva, scos din timp, scos din rost, purtat de tren, purtând după tine un alt tren, cu oameni, situații, mărfuri, idei, una peste alta, în vagoane pe care le lași în stații, le pierzi între stații, le uiți în spații, golind lumea, gonind peste lume, singur, mai singur, nicăieri de singur.</p>
<p>Ești undeva, între o stație și alta,<br />
rupt de ceva,<br />
în drup spre altceva,<br />
scos din timp,<br />
scos din rost,<br />
purtat de tren,<br />
purtând după tine un alt tren,<br />
cu oameni, situații, mărfuri, idei,<br />
una peste alta,<br />
în vagoane pe care le lași în stații,<br />
le pierzi între stații,<br />
le uiți în spații,<br />
golind lumea,<br />
gonind peste lume,<br />
singur,<br />
mai singur,<br />
nicăieri de singur.
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/865/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/865/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/865/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/865/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/865/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/865/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/865/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/865/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=865&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/04/23/noica-jurnal-filozofic-fragmente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>Saving my face</title>
		<link>http://blacketernal.wordpress.com/2011/04/10/saving-my-face/</link>
		<comments>http://blacketernal.wordpress.com/2011/04/10/saving-my-face/#comments</comments>
		<pubDate>Sun, 10 Apr 2011 11:26:30 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[drastic fantastic]]></category>
		<category><![CDATA[kt tunstall]]></category>
		<category><![CDATA[saving my face]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=860</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=860&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='630' height='385' src='http://www.youtube.com/embed/72R4wnpowXk?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/860/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=860&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/04/10/saving-my-face/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>Transfigurare</title>
		<link>http://blacketernal.wordpress.com/2011/03/09/transfigurare/</link>
		<comments>http://blacketernal.wordpress.com/2011/03/09/transfigurare/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 16:27:40 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Poetry]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[arghezi]]></category>
		<category><![CDATA[suflet]]></category>
		<category><![CDATA[transfigurare]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/?p=858</guid>
		<description><![CDATA[Cu toate că i-am spus că nu vreau, Mi-a dat noaptea-n somn să beau Întuneric, și am băut urna întreagă. Ce-o fi să fie, o să se aleagă. Puteam să știu că-n zeama ei suava Albastră-alburie, era otravă ? M-am îmbătat ? Am murit ? Lasați-mă să dorm&#8230; M-am copilărit. Cine mai bate, nu sunt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=858&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cu toate că i-am spus că nu vreau,<br />
Mi-a dat noaptea-n somn să beau<br />
Întuneric, și am băut urna întreagă.<br />
Ce-o fi să fie, o să se aleagă.</p>
<p>Puteam să știu că-n zeama ei suava<br />
Albastră-alburie, era otravă ?<br />
M-am îmbătat ? Am murit ?<br />
Lasați-mă să dorm&#8230; M-am copilărit.</p>
<p>Cine mai bate, nu sunt acasă,<br />
Cine întreabă, lasă&#8230;<br />
Cui mai pot să-i ies în drum<br />
Cu sufletul meu de acum?&#8230;</p>
<p><strong><em>&#8212; Tudor Arghezi</em></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/858/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=858&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/03/09/transfigurare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
		<item>
		<title>Somebody get me out of here</title>
		<link>http://blacketernal.wordpress.com/2011/02/23/somebody-get-me-out-of-here/</link>
		<comments>http://blacketernal.wordpress.com/2011/02/23/somebody-get-me-out-of-here/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 21:50:26 +0000</pubDate>
		<dc:creator>blacketernal</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blacketernal.wordpress.com/2011/02/23/somebody-get-me-out-of-here/</guid>
		<description><![CDATA[I don&#8217;t need an education I learned all I need from you They&#8217;ve got me on some medication My point of balance was askew It keeps my temperature from rising My blood is pumping through my veins Chorus: Somebody get me out of here I&#8217;m tearing at myself Nobody gives a damn about me or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=853&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='630' height='385' src='http://www.youtube.com/embed/WXICN7Ng58o?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p><em>I don&#8217;t need an education<br />
I learned all I need from you<br />
They&#8217;ve got me on some medication<br />
My point of balance was askew<br />
It keeps my temperature from rising<br />
My blood is pumping through my veins</p>
<p>Chorus:<br />
Somebody get me out of here<br />
I&#8217;m tearing at myself<br />
Nobody gives a damn about me or anybody else</p>
<p>I wear myself out in the morning<br />
You&#8217;re asleep when I get home<br />
Please don&#8217;t call me self defending<br />
You know it cuts me to the bone<br />
And it&#8217;s really not surprising<br />
I hold a force I can&#8217;t contain</p>
<p>Chorus</p>
<p>And still you call me co-dependent<br />
Somehow you lay the blame on me<br />
And still you call me co-dependent<br />
Somehow you lay the blame on me</p>
<p>Somebody get me out of here<br />
I&#8217;m tearing at myself<br />
I&#8217;ve got to make a point these days<br />
To extricate myself</p>
<p>Chorus</p>
<p>And still you call me co-dependent<br />
Somehow you lay the blame on me<br />
And still you call me co-dependent</p>
<p>Somehow you lay the blame on me</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blacketernal.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blacketernal.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blacketernal.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blacketernal.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blacketernal.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blacketernal.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blacketernal.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blacketernal.wordpress.com/853/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blacketernal.wordpress.com&amp;blog=2998125&amp;post=853&amp;subd=blacketernal&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blacketernal.wordpress.com/2011/02/23/somebody-get-me-out-of-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dd475bb4720eccba534ce817f1a7a4bb?s=96&#38;d=monsterid&#38;r=X" medium="image">
			<media:title type="html">blacketernal</media:title>
		</media:content>
	</item>
	</channel>
</rss>
