<?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>novo devblog</title>
	<atom:link href="http://novodev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://novodev.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 08 Mar 2010 23:00:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='novodev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>novo devblog</title>
		<link>http://novodev.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://novodev.wordpress.com/osd.xml" title="novo devblog" />
	<atom:link rel='hub' href='http://novodev.wordpress.com/?pushpress=hub'/>
		<item>
		<title>gource &#8211; repository history visualization</title>
		<link>http://novodev.wordpress.com/2010/03/08/gource-repository-history-visualization/</link>
		<comments>http://novodev.wordpress.com/2010/03/08/gource-repository-history-visualization/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 22:42:45 +0000</pubDate>
		<dc:creator>novo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://novodev.wordpress.com/?p=85</guid>
		<description><![CDATA[Today I found out about gource. A little tool for visualizing repository(git, cvs, mercurial etc.) history. I was playing with it for a while, here you see the history of my project since the beginning of january(when i created git repository): The visualization can be generated with the simple command: gource --stop-at-end To save the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=85&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I found out about gource. A little tool for visualizing repository(git, cvs, mercurial etc.) history. I was playing with it for a while, here you see the history of my project since the beginning of january(when i created git repository):</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='450' height='284' src='http://www.youtube.com/embed/b9vsYFhZ27E?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>The visualization can be generated with the simple command:<br />
<code><br />
gource --stop-at-end<br />
</code></p>
<p>To save the visualization in a video file, just execute(on linux):<br />
<code><br />
gource --stop-at-end --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 gource.avi<br />
</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/novodev.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/novodev.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/novodev.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/novodev.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/novodev.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/novodev.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/novodev.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/novodev.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=85&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://novodev.wordpress.com/2010/03/08/gource-repository-history-visualization/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0c5b2df852de72df4794eb4dc54ccf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">novo</media:title>
		</media:content>
	</item>
		<item>
		<title>Signals</title>
		<link>http://novodev.wordpress.com/2010/03/07/signals/</link>
		<comments>http://novodev.wordpress.com/2010/03/07/signals/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 02:49:13 +0000</pubDate>
		<dc:creator>novo</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[nstd]]></category>
		<category><![CDATA[signals]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://novodev.wordpress.com/?p=43</guid>
		<description><![CDATA[I wanted to have a signal/events mechanism in my engine, so first i looked up some libraries which are already implemented - less code to write and maintain is always better. I liked the Qt signal/slot mechanism, but it is slow(string based) and needs the code to be preprocessed by Qt toolchain. It works nice for GUI apps, but it's useless when it comes to games. The second choice was libsigc++, the library used by gtk. It's much nicer in terms of speed, and also does not require any code preprocessing, but has one big flaw: it requires the class to derive from the <code>sigc::trackable</code> object. This can be omitted by the usage of <code>sigc::connection</code> objects returned by the connect function. This in turn requires to manage those connections manually, either storing them in a container or having them as members in the given receiver class. For me this is too much hassle.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=43&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wanted to have a signal/events mechanism in my engine, so first i looked up some libraries which are already implemented &#8211; less code to write and maintain is always better. I liked the Qt signal/slot mechanism, but it is slow(string based) and needs the code to be preprocessed by Qt toolchain. It works nice for GUI apps, but it&#8217;s useless when it comes to games. The second choice was libsigc++, the library used by gtk. It&#8217;s much nicer in terms of speed, and also does not require any code preprocessing, but has one big flaw: it requires the class to derive from the <code>sigc::trackable</code> object. This can be omitted by the usage of <code>sigc::connection</code> objects returned by the connect function. This in turn requires to manage those connections manually, either storing them in a container or having them as members in the given receiver class. For me this is too much hassle.</p>
<p>In the end I decided to implement my own signals. The goal was the ease of use of the Qt signals with the speed and native C++ implementation as in libsigc++. Since I already use FastDelegate through out my code, there was no need for implementing a delegate mechanism. The only thing that had to be done was the signals themself. The signal functionality can be divided into two categories. Emitting the signals and connecting signal handlers. The first part is pretty obvious. I have a separate template signal class depending on the number of arguments. For now I implemented signals for methods/functions with 0 up to 3 arguments(if I need a signal taking more arguments it&#8217;s pretty much copy+paste).</p>
<p>The second type of functionality, connecting handlers, is a little more complicated. The most important thing is that when the instance of the object connected to the given signal gets destroyed, the signal should remove the callback from it&#8217;s list of handlers. For this, C++ has a killer feature: destructors. The simplest approach, used in libsigc++, is to create a connection object that will disconnect the callback from the signal when it gets destroyed. As I stated earlier I don&#8217;t like the need to have to manage those connections manually. The solution of course is a base class(again this approach is used in libsigc++), which will manage all the connections of the derived class. The problem arises when you have a class that already derives from another class. You could use virtual inheritance but this is what I would like to avoid at all cost.</p>
<p><span id="more-43"></span><br />
My solution was to implement <code>SignalConnector</code> class that would manage all connections. Is is something like <code>sigc::trackable</code>, but you don&#8217;t need to derive from it, you can have it as a member in the handler class. There is also a interface <code>ISignalHandler</code> that has one abstract method <code>signal_connector()</code> which returns the reference to the objects <code>SignalConnector</code>. As a cherry on top, I implemented simple <code>SignalsAwareObject</code> base class which in turn implements <code>ISignalHandler</code>. The signals can be connected directly using the <code>SignalConnector</code>, or one of the helper template methods implemented in <code>ISignalHandler</code>. This way there are 3 options when it comes to deciding how the class will handle signals:</p>
<ul>
<li>Manually using <code>SignalConnecto</code>r class &#8211; most troublesome choice and offers no benefits.</li>
<li>Implement <code>ISignalHandler</code> interface &#8211; When the class can&#8217;t derive from <code>SignalsAwareObject</code>. This gives the access to all of the helper methods defined in <code>ISignalHandle</code>r, but still the class have to have it&#8217;s own <code>SignalConnector</code> and return it through <code>signal_connector()</code> method.</li>
<li>Derive from the <code>SignalsAwareObject</code> &#8211; The best choice if applicable. No connection management required.</li>
</ul>
<p>Here is a full example of usage(all 3 methods are shown):</p>
<pre>#define _B(METHOD) fastdelegate::bind(&amp;METHOD, this)

void foo(int val){
  std::cout &lt;&lt; &quot;foo(&quot; &lt;&lt; val &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
}

struct Test1{
    Test1()           {    }
    virtual ~Test1()  {    }

    void connect(Signal &amp;signal){
      m_connector.connect(signal, _B(Test1::some_callback) );
    }

    void some_callback(int val){
      std::cout &lt;&lt; &quot;Test1::some_callback(&quot; &lt;&lt; val &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
    }
  private:
    SignalConnector m_connector;
};

struct Test2: public ISignalHandler{
    Test2()           {    }
    virtual ~Test2()  {    }

    void some_callback(int val){
      std::cout &lt;&lt; &quot;Test2::some_callback(&quot; &lt;&lt; val &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
    }

    const SignalConnector&amp; signal_connector() const{ return m_connector; }
    SignalConnector m_connector;
};

struct Test3: public SignalsAwareObject{
  Test3()           {    }
  virtual ~Test3()  {    }

  void callback(int val){
    std::cout &lt;&lt; &quot;Test2::some_callback(&quot; &lt;&lt; val &lt;&lt; &quot;)&quot; &lt;&lt; std::endl;
  }
};

void test_connections(){
  using namespace nstd;
  {
    Signal    OnEvent;
    connect(OnEvent, &amp;foo);
    {
      Test1 t1;
      Test2 t2;
      Test3 t3;
      connect(OnEvent, &amp;t2, &amp;Test2::some_callback);
      connect(OnEvent, &amp;t3, &amp;Test3::callback);
      t1.connect(OnEvent;);
      OnEvent(1);
    }
    OnEvent(2);
  }

  {
    Test1 t1;
    Test2 t2;
    Test3 t3;
    {
      Signal  OnEvent;
      connect(OnEvent, &amp;t2, &amp;Test2::some_callback);
      connect(OnEvent, &amp;t3, &amp;Test3::callback);
      t1.connect(OnEvent);
      OnEvent(3);
    }
  }
}
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/novodev.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/novodev.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/novodev.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/novodev.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/novodev.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/novodev.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/novodev.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/novodev.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=43&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://novodev.wordpress.com/2010/03/07/signals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0c5b2df852de72df4794eb4dc54ccf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">novo</media:title>
		</media:content>
	</item>
		<item>
		<title>Seaching through STL containers</title>
		<link>http://novodev.wordpress.com/2010/03/04/seaching-through-stl-containers/</link>
		<comments>http://novodev.wordpress.com/2010/03/04/seaching-through-stl-containers/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:58:38 +0000</pubDate>
		<dc:creator>novo</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[stl]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://novodev.wordpress.com/?p=23</guid>
		<description><![CDATA[Recently I discovered that I often search through STL containers(mostly vector) using the following syntax(pseudo code): for(iterator it=begin(); it!=end(); ++it){ if( it-&#62;key()==key ){ // do something. } } I know there is std::find but it uses operator== so if I have one for my class I would have to create a temporary object to compare [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=23&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently I discovered that I often search through STL containers(mostly vector) using the following syntax(pseudo code):</p>
<pre>for(iterator it=begin(); it!=end(); ++it){
  if( it-&gt;key()==key ){
    // do something.
  }
}
</pre>
<p>I know there is <code>std::find</code> but it uses <code>operator==</code> so if I have one for my class I would have to create a temporary object to compare to or overload the operator for the given type. The first approach is useless in most cases, and the second one is more or less also useless since i can have 2 getters returning the same type and the <code>operator==</code> would work only for one of them. </p>
<p>On the other hand, there is std::find_if function which takes a predicate as a last argument and returns the object that satisfies predicate(obj)==true. This allows for a per vector/object customization of the search. The downside is that I would have to write a predicate for each vector type. I can have multiple predicates per class for different search conditions.</p>
<p>I found the solution to be quite simple. I implemented a predicate class for use with <code>std::find_if</code> that takes the getter address and the desired value and uses this getter for comparison. This way I have a little piece of code that allows me to search through every container using specific criterion(the given getter).</p>
<p><span id="more-23"></span><br />
Here is the example usage:</p>
<pre>
// Sample structure
struct TT{
  TT(int _key, const std::string &amp;_value) :key(_key), value(_value){}
  int id() const                          { return key;             }

  int           key;
  std::string   value;
};
typedef std::vector&lt;TT&gt;  Vector;

// And the searching(for an element with id()==10)
Vector::iterator it=std::find_if( v.begin(),
                                  v.end(),
                                  nstd::make_cmp(&amp;TT::id, 10) );
if( it!=v.end() ) std::cout &lt;&lt; "found: " &lt;&lt; it-&gt;value &lt;&lt; std::endl;
else              std::cout &lt;&lt; "not found\n";
</pre>
<p>and here&#8217;s the predicate along with <code>make_cmp()</code> function for easier usage(without the copy constructor and assignment operator for clarity):</p>
<pre>namespace nstd{
  template&lt;class Owner, class KeyType, class RetType&gt;
  struct CmpGetter{
      typedef RetType (Owner::*Getter)() const;

      CmpGetter(Getter getter, KeyType key)
      :m_getter(getter), m_key(key){
      }
      bool operator()(const Owner &amp;obj){
        if( (obj.*m_getter)() == m_key )
          return true;
        return
          false;
      }

    private:
      Getter    m_getter;
      KeyType   m_key;
  };

  template&lt;class Owner, class KeyType, class RetType&gt;
  CmpGetter&lt;Owner, KeyType, RetType&gt;
  make_cmp( RetType (Owner::*getter)() const, KeyType key ){
    return CmpGetter&lt;Owner, KeyType, RetType&gt;(getter, key);
  }
}
</pre>
<p>This approach can be easily converted so it uses member value instead of accessor, but in my code 99% of the time all of the members are private/protected and access to them is wrapped in accessors so I don&#8217;t need the code to compare members.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/novodev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/novodev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/novodev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/novodev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/novodev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/novodev.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/novodev.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/novodev.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=23&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://novodev.wordpress.com/2010/03/04/seaching-through-stl-containers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0c5b2df852de72df4794eb4dc54ccf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">novo</media:title>
		</media:content>
	</item>
		<item>
		<title>Launch</title>
		<link>http://novodev.wordpress.com/2010/02/21/launch/</link>
		<comments>http://novodev.wordpress.com/2010/02/21/launch/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 22:09:44 +0000</pubDate>
		<dc:creator>novo</dc:creator>
				<category><![CDATA[Site related]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Site]]></category>

		<guid isPermaLink="false">http://novodev.wordpress.com/?p=7</guid>
		<description><![CDATA[I planned to start a homepage of some sorts for a long time. At the beginning I wanted to write it by myself, but as web development isn&#8217;t something that I like it was never completed. Now the time has come that I&#8217;ve decided that it&#8217;s just easier to sign to wordpress and have the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=7&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I planned to start a homepage of some sorts for a long time. At the beginning I wanted to write it by myself, but as web development isn&#8217;t something that I like it was never completed. Now  the time has come that I&#8217;ve decided that it&#8217;s just easier to sign to wordpress and have the page running in few clicks, so here it is. It doesn&#8217;t mean I&#8217;ll never complete my own homepage, if I do <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;ll move the content and post a notice here.</p>
<p>As for the blog content, I will be posting my thought&#8217;s and ideas about coding here. Probably it&#8217;ll be mostly about game development since this is my area of interest, but I&#8217;m not locking my self on one subject. There won&#8217;t be any photos(except for screens <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), love stories etc. If you&#8217;re after one, I&#8217;m sorry to disappoint <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So here it is, I hope you&#8217;ll find something useful here.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/novodev.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/novodev.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/novodev.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/novodev.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/novodev.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/novodev.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/novodev.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/novodev.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=novodev.wordpress.com&amp;blog=12165927&amp;post=7&amp;subd=novodev&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://novodev.wordpress.com/2010/02/21/launch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0c5b2df852de72df4794eb4dc54ccf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">novo</media:title>
		</media:content>
	</item>
	</channel>
</rss>
