<?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>Dirk's Metric/k</title>
	<atom:link href="http://dirksmetric.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dirksmetric.wordpress.com</link>
	<description>documenting the growth of a PhD thesis and the world this happens in</description>
	<lastBuildDate>Mon, 08 Sep 2008 20:57:28 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='dirksmetric.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/7e513ad40775cc7c1672136af30bae3c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Dirk's Metric/k</title>
		<link>http://dirksmetric.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dirksmetric.wordpress.com/osd.xml" title="Dirk&#8217;s Metric/k" />
		<item>
		<title>open source &#8230; movies!</title>
		<link>http://dirksmetric.wordpress.com/2008/09/08/open-source-movies/</link>
		<comments>http://dirksmetric.wordpress.com/2008/09/08/open-source-movies/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 20:40:23 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Real life]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[open source movie]]></category>
		<category><![CDATA[Valkaama]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/?p=30</guid>
		<description><![CDATA[Everyone knows open source. Software. Right? It&#8217;s not about being for free (that&#8217;s usually an extra), it&#8217;s about giving the user access to the sources of the software to change it, customize it, extend it, integrate it, repair it, understand it, learn from it, &#8230;
The success of open source software is based on the principle [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=30&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Everyone knows open source. Software. Right? It&#8217;s not about being for free (that&#8217;s usually an extra), it&#8217;s about giving the user access to the sources of the software to change it, customize it, extend it, integrate it, repair it, understand it, learn from it, &#8230;</p>
<p>The success of open source software is based on the principle that if you are going to consume something that you have the right to understand how it was produced, and that you are allowed to go for something different or pick it up. And it is the only way that allows thousands of people to work together on projects that are much larger than what each one alone could accomplish. Like building a <a href="http://www.getfirefox.com/" target="_blank">web-browser</a> that is faster, safer, and more reliable than the one that used to be installed on 99% of all running systems.</p>
<p>But who said that open source is a software thing? Think of making music or movies. Most of us have seen the one or other movie end titles (you know, all the names that are shown after the hero has kissed the girl). They put these names there because the film could not be made without them. Including all the weird positions after the last wookie actor and before the &#8220;very special thanks goes to&#8221;. Because you need that many people, it&#8217;s usually a big money subject to make good evening filling movies. But making good software used to be a big money subject as well before open source.</p>
<p>This is where <a href="http://www.valkaama.com/" target="_blank">Valkaama</a> and other <a href="http://en.wikipedia.org/wiki/Open_Source_Filmmaking">open source movie</a> projects pick up. Allow anyone who likes to participate in making the movie. Script, act, film, speak, sing, play, cut, edit, improve, &#8230; as with open source software, you need access to the source &#8220;code&#8221; of the movie. The script, all raw filmed material, original sound, music (with original tracks), film editing plan, dubbed scenes, etc. Only then you are able to pick up a specific aspect of the film and change it for improvement. The animated short-movie <a href="http://en.wikipedia.org/wiki/Elephants_Dream" target="_new">Elephants Dream</a> was the first that was released under an open-source license.</p>
<p><span style="text-align:center; display: block;"><a href="http://dirksmetric.wordpress.com/2008/09/08/open-source-movies/"><img src="http://img.youtube.com/vi/bsGEWHNJ3s8/2.jpg" alt="" /></a></span></p>
<p>Valkaama is one of the first full feature-length film projects in HD1080p standard that is close to going public. <a href="http://www.valkaama.com/index.php?page=media">Two trailers</a> including all trailer sources have been released under the Creative Commons<a class="textlink" href="http://creativecommons.org/licenses/by-sa/3.0/" target="_new">Attribution &#8211; Share Alike 3.0</a> license on the project website.</p>
<p><span style="text-align:center; display: block;"><a href="http://dirksmetric.wordpress.com/2008/09/08/open-source-movies/"><img src="http://img.youtube.com/vi/IyP0U2IRcAo/2.jpg" alt="" /></a></span></p>
<p>The movie tells the story of two unlike young men, each seeking for his personal future, that are thrown together by fate to travel to &#8216;Valkaama&#8217; to find what each is looking for. As their paths cross, they do not realize how much of their journey has already been determined by their pasts.</p>
<p>I have seen an early cut of the movie. I like it a lot. But as with large scale, high-quality software, large scale, high-quality movies need many helping hands. If you are into movies, this might be your thing. Have a look on the project&#8217;s website: <a href="http://www.valkaama.com/">http://www.valkaama.com/</a></p>
<p><em>disclaimer: the author is personally acquainted with the project leader of Valkaama</em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=30&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2008/09/08/open-source-movies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/bsGEWHNJ3s8/2.jpg" medium="image" />

		<media:content url="http://img.youtube.com/vi/IyP0U2IRcAo/2.jpg" medium="image" />
	</item>
		<item>
		<title>gmf knowledge: positioning of external labels</title>
		<link>http://dirksmetric.wordpress.com/2008/06/21/gmf-knowledge-positioning-of-external-labels/</link>
		<comments>http://dirksmetric.wordpress.com/2008/06/21/gmf-knowledge-positioning-of-external-labels/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 17:51:22 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[GMF]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gmf]]></category>
		<category><![CDATA[graphical modeling framework]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/?p=20</guid>
		<description><![CDATA[This post is the first in a series of posts where I write down what I have found out about the Eclipse Graphical Modeling Framework (GMF) by hard work, deep digging in the web and trial-and-error. These posts are meant to complement the existing documentation of GMF. I hope that this knowledge helps others in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=20&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><em>This post is the first in a series of posts where I write down what I have found out about the Eclipse Graphical Modeling Framework (GMF) by hard work, deep digging in the web and trial-and-error. These posts are meant to complement the existing documentation of GMF. I hope that this knowledge helps others in solving their problems faster than me.</em></p>
<p>This post (or say tutorial if you like) treats the definition and positioning of external labels of nodes and arcs (or connections) in a GMF diagram. For the rest of this post we assume that you are familiar with the basic GMF workflow of deriving an editor from an .ecore file. If not, you should start with the <a href="http://wiki.eclipse.org/index.php/GMF_Tutorial">official GMF Tutorial</a> first and come back when you are done.</p>
<p><strong>1. </strong>First you need a node class and an arc class in your Ecore meta model, each having a property which you would like to display as a label of this node.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/ecore_diagram.png"><img class="size-medium wp-image-21" src="http://dirksmetric.files.wordpress.com/2008/06/ecore_diagram.png?w=267&#038;h=239" alt="A node and an arc class with two properties." width="267" height="239" /></a></p>
<p>We define two classes <strong>Node</strong> and <strong>Arc</strong>. We are not concerned with the references between these classes here. They could be completely unrelated for the purpose of defining a label. We will use attribute <strong>name</strong> of class <strong>Node</strong> and attribute <strong>weight</strong> of class <strong>Arc</strong> as properties we want to display as labels. A sample attribute specification could be the following.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/ecore_diagram_attribute_properties.png"><img class="size-medium wp-image-22" src="http://dirksmetric.files.wordpress.com/2008/06/ecore_diagram_attribute_properties.png?w=300&#038;h=264" alt="Properties specification of attribute \" width="300" height="264" /></a></p>
<p><strong>2. </strong>Next you need an appropriate graphics definition. Open your <em>.gmfgraph</em> file. I assume you defined a <em>Figure Descriptor</em> for your node or Arc. For an external node label, create a new <em>Figure Descriptor</em>, e.g. <strong>NodeNameFigure</strong> that only contains a <em>Label</em>, e.g. <strong>NodeNameLabel</strong>, and a <strong>Child Access</strong> to this label. We have to create this separate Figure Descriptor to make sure that our label is not internal to the graphics of our node. To label an arc (a connection), just add a <em>Label</em> and a <em>Child Access</em> to the corresponding <em>Figure Descriptor </em>of the Arc, e.g. <strong>ArcFigure</strong>.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_figures.png"><img class="size-medium wp-image-23" src="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_figures.png?w=300&#038;h=124" alt="Figure Descriptor definitions for the labels" width="300" height="124" /></a></p>
<p>Now we need to declare the labels themselves. Create a <em>Diagram Label</em> for the node, e.g. <strong>nodeName</strong> and set its <em>Figure</em> to the <em>Figure Descriptor</em> for the label that you&#8217;ve just created, e.g. <strong>NodeNameFigure</strong>. Done. This automatically makes this label an external label.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_label_node.png"><img class="size-medium wp-image-24" src="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_label_node.png?w=300&#038;h=196" alt="Diagram Label definition for an external label" width="300" height="196" /></a></p>
<p>For the arc&#8217;s label also create a <em>Diagram Label</em>, e.g. <strong>arcWeight</strong> in our case; set its <em>Figure</em> to the <em>Figure Descriptor</em> of the arc&#8217;s figure, e.g. <strong>ArcFigure</strong> and set the <em>Accessor</em> to the corresponding <em>Child Accessor</em>, e.g. <strong>getFigureWeight</strong>. To control the distance of the label of the arc&#8217;s label to the arc, add a <em>Label Offset Facet</em>. Set its attributes X and Y to the distance you would like the label have from its arc. Done.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_label_arc.png"><img class="size-medium wp-image-25" src="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_label_arc.png?w=300&#038;h=245" alt="Diagram Label definition for the label of a connection" width="300" height="245" /></a></p>
<p><strong>3. </strong>Now comes the mapping of graphics to the meta model. Open your<em> .gmfmap</em> file of your project. The relation between the graphics and meta model is defined by <em>Feature Label Mapping</em>s. Again I assume that you&#8217;ve already defined Node Mappings and <em>Link Mapping</em>s for your classes, we now add their labels.</p>
<p>For the node, find the corresponding Node Mapping. In our example this a node mapping for a <strong>Transition</strong> class which <em>specializes </em>the earlier <strong>Node</strong> class. Hence the <strong>Transition</strong> class also has the <strong>name</strong> attribute. At the <em>Node Mapping</em>, add a <em>Feature Label Mapping</em> and set the following properties: <em>Diagram Label</em> is the one you&#8217;ve just defined for your node class, e.g. <strong>nodeName</strong>. In <em>Features</em> choose the class attributes you want to display in the label, one attibute is suffcient; in our case this is <strong>name</strong>. Done.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/gmfmap_label_node.png"><img class="size-medium wp-image-26" src="http://dirksmetric.files.wordpress.com/2008/06/gmfmap_label_node.png?w=300&#038;h=241" alt="Feature Label Mapping definition of an external label" width="300" height="241" /></a></p>
<p>For the arc, find the corresping <em>Link Mapping</em>, again in our example we specialized class <strong>Arc</strong> to class <strong>ArcToPlace</strong>; hence it also has the <strong>weight</strong> attribute. To add the label, add a <em>Feature Label Mapping</em> and set the corresponding properties, this time use the label defined for the arc.</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/gmfmap_label_arc.png"><img class="size-medium wp-image-27" src="http://dirksmetric.files.wordpress.com/2008/06/gmfmap_label_arc.png?w=300&#038;h=187" alt="Feature Label Mapping definition for a label of an arc." width="300" height="187" /></a></p>
<p>4. Create the .gmfgen file. You can now refine the positioning of the arc label. Locate it in the tree. It will be in <em>Gen Diagram</em> <strong>&lt;YourDiagram&gt;</strong> / <em>Gen Link</em> <strong>&lt;YourLink&gt;EditPart</strong> / <em>Gen Link Label</em> <strong>&lt;YourLink&gt;&lt;Attribute&gt;EditPart</strong>. Its sub-features control the distance of the label to the link (that you&#8217;ve just set above). The property <em>Diagram Label</em> / <em>Alignment</em> of the <em>Gen Link Label</em> allows you to specify where the label shall be positioned along the link (beginning, middle, end).</p>
<p style="text-align:center;"><a href="http://dirksmetric.files.wordpress.com/2008/06/gmfgen_label_arc.png"><img class="size-medium wp-image-28" src="http://dirksmetric.files.wordpress.com/2008/06/gmfgen_label_arc.png?w=300&#038;h=234" alt="Gen Link Label definition of an arc label" width="300" height="234" /></a></p>
<p>Unfortunately, such a refined definition is not available for external labels of nodes. You have to do this in the source code (see below).</p>
<p><strong>5. </strong>Generate the source code. Your arc label is now fine, but you can fine touch your node label, specifically the distiance of the external node label to its node. Open the <em>Edit Part source file</em> of your node in <strong> &lt;your-package&gt;.diagram.edit.part</strong>, e.g. <strong>TransitionEditPart.java</strong> . Now locate the method <strong>addBorderItem()</strong> in this class. It is responsible for registering the external label within a certain distance at your node&#8217;s graphics. The statement<br />
<code>locator.setBorderItemOffset(new Dimension(-20, -20));<br />
borderItemContainer.add(borderItemEditPart.getFigure(), locator);</code></p>
<p>specifies the distance of your label. Replace (-20,-20) by the values you like. I prefer (-5,-5) for a close distance.</p>
<p>That&#8217;s it. Run your editor and enjoy your labels.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=20&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2008/06/21/gmf-knowledge-positioning-of-external-labels/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/ecore_diagram.png?w=267" medium="image">
			<media:title type="html">A node and an arc class with two properties.</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/ecore_diagram_attribute_properties.png?w=300" medium="image">
			<media:title type="html">Properties specification of attribute \</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_figures.png?w=300" medium="image">
			<media:title type="html">Figure Descriptor definitions for the labels</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_label_node.png?w=300" medium="image">
			<media:title type="html">Diagram Label definition for an external label</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/gmfgraph_label_arc.png?w=300" medium="image">
			<media:title type="html">Diagram Label definition for the label of a connection</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/gmfmap_label_node.png?w=300" medium="image">
			<media:title type="html">Feature Label Mapping definition of an external label</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/gmfmap_label_arc.png?w=300" medium="image">
			<media:title type="html">Feature Label Mapping definition for a label of an arc.</media:title>
		</media:content>

		<media:content url="http://dirksmetric.files.wordpress.com/2008/06/gmfgen_label_arc.png?w=300" medium="image">
			<media:title type="html">Gen Link Label definition of an arc label</media:title>
		</media:content>
	</item>
		<item>
		<title>Self-organizing systems illustrated</title>
		<link>http://dirksmetric.wordpress.com/2008/05/04/self-organizing-systems-illustrated/</link>
		<comments>http://dirksmetric.wordpress.com/2008/05/04/self-organizing-systems-illustrated/#comments</comments>
		<pubDate>Sun, 04 May 2008 14:44:51 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[PhD]]></category>
		<category><![CDATA[PhD Notes]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[metronome]]></category>
		<category><![CDATA[self-healing]]></category>
		<category><![CDATA[Self-Organisation]]></category>
		<category><![CDATA[self-organizing]]></category>
		<category><![CDATA[self-stabilizing]]></category>
		<category><![CDATA[self-X]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/?p=18</guid>
		<description><![CDATA[
This video shows a physical, self-organizing system.
These days a lot of people talk about such kinds of systems for information technology, called self-X systems. Self-X like self-healing, self-organizing, self-stabilizing. The self-X paradigm envisions software systems that come with some inherent dynamics to automatically keep a complex system in a &#8220;good&#8221; state while it is constantly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=18&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="text-align:center; display: block;"><a href="http://dirksmetric.wordpress.com/2008/05/04/self-organizing-systems-illustrated/"><img src="http://img.youtube.com/vi/W1TMZASCR-I/2.jpg" alt="" /></a></span></p>
<p>This video shows a physical, self-organizing system.</p>
<p>These days a lot of people talk about such kinds of systems for information technology, called self-X systems. Self-X like <a title="ADT mag article on self-healing systems" href="http://adtmag.com/article.asp?id=8132">self-healing</a>, <a title="Self-organization" href="Self-organizing systems - in a video">self-organizing</a>, <a title="self-stabilization" href="http://en.wikipedia.org/wiki/Self-stabilization">self-stabilizing</a>. The self-X paradigm envisions software systems that come with some inherent dynamics to automatically keep a complex system in a &#8220;good&#8221; state while it is constantly under &#8220;bad&#8221; influences. A &#8220;bad&#8221; influence are request to a web server, the &#8220;good&#8221; state is that the server responds. State-of-the-art technology allows that a web server stays &#8220;good&#8221; as longs as there are not too many requests. In case of a (distributed) denial-of-service attack the server will no longer respond to each request; &#8220;bad&#8221; influence. A self-X web server would be able to deal with this by</p>
<ul>
<li>distinguishing &#8220;bad&#8221; from &#8220;good&#8221; requests,</li>
<li>automatically providing additional capacity (in memory, CPU and network) for the &#8220;good&#8221; requests, and</li>
<li>efficiently denying all &#8220;bad&#8221; requests with minimal effort.</li>
</ul>
<p>This sound too good, to be true. And its obviously not easy to achieve &#8211; otherwise we would already have such kinds of systems everywhere. The automatic software updates your operating system and web browser performs these days is one of the first industrial applications of this idea. The <a href="http://dirksmetric.wordpress.com/2007/08/16/anatomy-of-the-skype-network/">skype login mechanism</a> is another example. I guess you want more of this. That&#8217;s why a lot of people are researching self-X systems, mostly by thinking of <a title="Shlomi Dolev, Self-stabilization." href="http://books.google.de/books?id=UPdnRDX-ygQC">clever algorithms</a>, architectures, <a title="about 6.1 million hits" href="http://www.google.com/search?hl=en&amp;q=self-organizing+network&amp;btnG=Google+Search">network technologies</a> etc.</p>
<p>But the development of these systems requires some profound understanding of self-organization. The good news is that many disciplines have some concept of self-organizing system. The bad news is that these concepts are different although they have something in common. Of course, chemistry, physics and informatics cannot have the same definition of self-organizing system &#8211; each talks about different things. But this does not help when one tries to build such a system.</p>
<p>As a starting point, though, I think the five self-organizing metronomes are very illustrative. Let&#8217;s have a look on them again:</p>
<p><span style="text-align:center; display: block;"><a href="http://dirksmetric.wordpress.com/2008/05/04/self-organizing-systems-illustrated/"><img src="http://img.youtube.com/vi/W1TMZASCR-I/2.jpg" alt="" /></a></span></p>
<p>Each metronome on its own is a single entity that can swing if it is pushed. The movement of one metronome&#8217;s pendulum is independent of the other metronomes. That&#8217;s why the five metronomes swing non-synchronized in the beginning of the clip. Think of yourself trying to synchronize all of them. By stopping and pushing each metronome one after the other. You will most likely not succeed.</p>
<p>What then happens in the clip is that the metronomes are coupled. This coupling is key in this self-organizing system. The coupling happens by putting all metronomes on a common board and placing this board on two rolls such that the board can move in the direction of the pendulum movement. The metronome was not changed, or more precisely, the mechanism of the pendulum was not changed. But by the laws of physics, the movement of the pendulum applies a force to the ground of the metronome, which is the board. So now, the metronomes are coupled &#8211; each applies &#8220;its&#8221; force to the board &#8211; the sum of these forces pushes the board, which moves, which pushes the metronomes. As a result each pendulum is &#8220;pushed&#8221; by the others. Instead of five independent metronomes we got five coupled metronomes.</p>
<p>Now by another law of physics, the entire system seeks an energetically optimal point. This optimal point lies in a synchronization of the moving parts such that the entire system looses as few energy as possible. If one pendulum is out-of-sync with the others, its movement will dampen the movement of the others and vice versa, and dampening means loss of energy. Actually, because of dampening, the system gets into a synchronized state at all. In the worst case, all metronomes have to stop to get the system synchronized. But luckily, each metronome can give away energy on its own (each metronome has its own dampening mechanism). Therefore, the system can reach a state where each pendulum has been dampened such that it is no longer dampened by the movement of the other metronomes.</p>
<p>I am no physicist, so I am not aware of all details of this process, nor can I explain them appropriately. But what I can say for sure is that the synchronization was achieved by two things:</p>
<ol>
<li>The coupling mechanism allows communication (i.e exchange of energy) between the parts that shall be synchronized.</li>
<li>Each part is designed in a way that the part can be influenced via the coupling mechanism, most importantly by push and repulsion.</li>
</ol>
<p>The difficulty in computer science is that we have to find such coupling and interaction mechanisms in a world where there are no laws like the laws of physics &#8211; well, not yet.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=18&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2008/05/04/self-organizing-systems-illustrated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/W1TMZASCR-I/2.jpg" medium="image" />

		<media:content url="http://img.youtube.com/vi/W1TMZASCR-I/2.jpg" medium="image" />
	</item>
		<item>
		<title>Recovering data from a damaged FAT32 hard disk drive</title>
		<link>http://dirksmetric.wordpress.com/2008/01/20/recovering-data-from-a-damaged-fat32-hard-disk-drive/</link>
		<comments>http://dirksmetric.wordpress.com/2008/01/20/recovering-data-from-a-damaged-fat32-hard-disk-drive/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 16:06:18 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Computer life]]></category>
		<category><![CDATA[data recovery]]></category>
		<category><![CDATA[dd_rescue]]></category>
		<category><![CDATA[dd_rhelp]]></category>
		<category><![CDATA[fat32]]></category>
		<category><![CDATA[hard disk]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[recover]]></category>
		<category><![CDATA[vfat]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2008/01/20/recovering-data-from-a-damaged-fat32-hard-disk-drive/</guid>
		<description><![CDATA[I just want to wrap up how I managed to recover the data from a laptop&#8217;s damaged hard disk drive. The 40GB disk was formatted with FAT32, had a Windows XP and some serious I/O error problems preventing it from booting.
I cleaned up my external 80 GB HDD, plugged it via USB into the laptop [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=17&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I just want to wrap up how I managed to recover the data from a laptop&#8217;s damaged hard disk drive. The 40GB disk was formatted with FAT32, had a Windows XP and some serious I/O error problems preventing it from booting.</p>
<p>I cleaned up my external 80 GB HDD, plugged it via USB into the laptop and booted the system with the latest Knoppix-CD. I reformatted the entire disk (/dev/sda1) with the ext3 file system, mounted it with (# mkdir /media/sda1 ; mount -t auto /dev/sda1 /media/sda1) and gave full access to the entire disk (# cd /media/sda1 ; chmod 777 *).</p>
<p>Since Knoppix is missing the dd_rhelp script, I downloaded the latest package and put it on that external  disk (into /media/sda1/dd_rhelp). The damaged disk in the laptop was /dev/hda1. I set disk-access parameters for that disk back to basic but safe, disabling DMA and higher level PIO mode access:<br />
<code># hdparm -m 0 -d 0 -p 0 -A 0 -X 08 /dev/hda</code><br />
This makes things horribly slow in copying the large chunks of good data, but it improved the overall process since it can handle bad blocks in a better fashion. Next, I edited the dd_rhelp script and set the values &#8220;max_bs=1024&#8243; and &#8220;min_bs=64&#8243; in /media/sda1/dd_rhelp/dd_rhelp. The standard values of dd_rhelp are fine, but slow down the copying of data if the disk is damaged to a larger degree.</p>
<p>Ready to copy the data. Change to root with &#8220;su&#8221; and then run<br />
<code># /media/sda1/dd_rhelp/dd_rhelp /dev/sda1 /media/sda1/sda1_backup.img</code><br />
This process makes a bit-per-bit copy of the entire disk and writes it to the image sda1_backup.img. Any bit that cannot be read by the program will be zero. This takes a while. Quite a while. For my 40GB about a week. Which had nothing to do with the hdparm above but with the overall state of the disk (I ran the process twice). You may kill the dd_rhelp and the dd_rescue processes at any time and continue later on. dd_rhelp writes a log file that keeps track of the overall progress that has been made.</p>
<p>When you are done make a copy of the rescued image /media/sda1/sda1_backup.img and get yourself another hard drive that is at least as big as the image you just rescued or make some space on another hard drive. You will have to create a new FAT32 partition that is at least as big as the image. If the file system of the disk from where you just rescued the data has file system X, create a new X partition of that size. In my case, that new partition mounted as /media/sdb6. Now, copy the data from the image to that partition with<br />
<code># dd if=/media/sda1/sda1_backup.img of=/dev/sdb6</code><br />
Mounted /dev/sdb6 and saw the data. You can now run any file system/data/rescue operations on that disk (or the image file) or copy what&#8217;s left of it.</p>
<p>Update: compiled some data in a <a href="http://www.google.com/notebook/public/13391255910222927091/BDSe5QgoQ57vTvvki">How To: Recover Windows Partitions</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=17&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2008/01/20/recovering-data-from-a-damaged-fat32-hard-disk-drive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
		<item>
		<title>Fixing problems with Exim4 and ClamAV after apt-get upgrade</title>
		<link>http://dirksmetric.wordpress.com/2007/10/14/fixing-problems-with-exim4-and-clamav-after-apt-get-upgrade/</link>
		<comments>http://dirksmetric.wordpress.com/2007/10/14/fixing-problems-with-exim4-and-clamav-after-apt-get-upgrade/#comments</comments>
		<pubDate>Sun, 14 Oct 2007 22:24:14 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Computer life]]></category>
		<category><![CDATA[clamav]]></category>
		<category><![CDATA[exim4]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2007/10/14/fixing-problems-with-exim4-and-clamav-after-apt-get-upgrade/</guid>
		<description><![CDATA[So this was one of the weeks where I learned Linux configuration the hard way. I simply thought of getting my virtual server up to the most recent version. It was/is running a Debian 3.1 (Sarge), I guess. You&#8217;ll probably realize by now that I know a lot about my server&#8230;
Anyway, I simply ran
apt-get upgrade
which [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=16&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So this was one of the weeks where I learned Linux configuration the hard way. I simply thought of getting my virtual server up to the most recent version. It was/is running a Debian 3.1 (Sarge), I guess. You&#8217;ll probably realize by now that I know a lot about my server&#8230;</p>
<p>Anyway, I simply ran<br />
<code>apt-get upgrade</code><br />
which brought about 20+ packages to the most recent version. Including exim, my mail agent, and clamav, a virus-scanner that runs with mail agents. I guess because of a version change in either exim, or clamav, or both I was asked to do so configuration stuff which I followed to my best knowledge and guess. However, I ended up with bouncing mails to my server. After a while, I found out that clamav got a version change, but the configuration on the system didn&#8217;t go with it. The exim4 logfile /var/log/exim4/paniclog kept telling me <code>malware acl condition: clamd: unable to connect to UNIX socket /var/run/clamav/clamd.ctl (Connection refused)</code> While exim4 was already properly calling clamav, clamav refused to answer.</p>
<p>A little bit of search with that phrase revealed the following page http://koivi.com/exim4-config/ which was quite instructive to me to some degree. There was a problem with the access privileges to the clamav runtime files from exim4. So gave some privileges:<br />
<code>adduser clamav Debian-exim</code><br />
which was already done before. I then checked that /etc/clamav/clamd.conf contains a line that reads:<br />
<code>AllowSupplementaryGroups</code><br />
Done. Then I gave permissions for the /var/run/clamav directory to allow for the correct user to use it:<br />
<code>chown Debian-exim.Debian-exim /var/run/clamav</code><br />
Since /var/run/clamav/ contained a file freshclam.pid I also ran<br />
<code>chown Debian-exim.Debian-exim /var/run/clamav/freshclam.pid</code><br />
Now a restart with<br />
<code>/etc/init.d/clamav-daemon restart</code><br />
gave me an error that AllowSupplementaryGroups in /etc/clamav/clamd.conf requires a BOOL value. Luckily Ping! from the <a href="http://www.clarkconnect.com/forums/showflat.php?Cat=0&amp;Number=95122&amp;Main=95104">ClarkConnect Forums</a> pointed out that</p>
<blockquote><p>In my /etc/clamd.conf file, there was an error in every line that required a BOOL value. I had to add &#8220;yes&#8221; or &#8220;1&#8243; to the followin options to get the clamd to succeed</p></blockquote>
<p>I did that to each line of /etc/clamav/clamd.conf that had no argument next to it and the<br />
<code>/etc/init.d/clamav-daemon restart</code><br />
succeeded. However, I still got bouncing mails and /var/run/clamav/clamd.ctl was still missing. It appears that clamav and exim4 just need the existence of that file, no specific content, plus proper access rights. A<br />
<code>touch /var/run/clamav/clamd.ctl<br />
chown Debian-exim.Debian-exim /var/run/clamav/clamd.ctl<br />
/etc/init.d/clamav-daemon restart</code><br />
did the trick. Thanks to <a href="http://aioshin.blogspot.com/2006/02/quick-how-to-on-installing-amavis.html">aioshin</a>.</p>
<p><strong>update</strong> Well&#8230; that didn&#8217;t help&#8230; therefore I did it the hard way:<br />
<code>apt-get --purge remove clamav clamav-base clamav-daemon clamav-freshclam libclamav1<br />
apt-get -t sarge install clamav clamav-daemon<br />
adduser clamav Debian-exim<br />
reboot</code><br />
Thanks to <a href="http://archives.neohapsis.com/archives/postfix/2005-08/1753.html">D.J.Fan</a>. After the apt install, I told the setup to take the package maintainer&#8217;s version of the configuration file. A choice I made wrong earlier&#8230; grrr.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=16&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2007/10/14/fixing-problems-with-exim4-and-clamav-after-apt-get-upgrade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
		<item>
		<title>Skype &#8220;Crisis&#8221; is coming to an end</title>
		<link>http://dirksmetric.wordpress.com/2007/08/17/skype-crisis-is-coming-to-an-end/</link>
		<comments>http://dirksmetric.wordpress.com/2007/08/17/skype-crisis-is-coming-to-an-end/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 07:38:45 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Computer life]]></category>
		<category><![CDATA[Real life]]></category>
		<category><![CDATA[Mesh network]]></category>
		<category><![CDATA[Skype]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2007/08/17/skype-crisis-is-coming-to-an-end/</guid>
		<description><![CDATA[The guys at Skype must have had a tough night. My client logs in again and I just saw about 2.8 million nodes can do the same. Still I just popped out again, so it&#8217;s not been solved yet entirely.
even though it is too early to call out anything definite yet we are now seeing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=15&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The guys at Skype must have had a tough night. My client logs in again and I just saw about 2.8 million nodes can do the same. Still I just popped out again, so it&#8217;s not been solved yet entirely.</p>
<blockquote><p>even though it is too early to call out anything definite yet we are now seeing signs of improvement in our sign-on performance. We continue to monitor the situation through Europe waking up this morning and have more for you in approximately 4 hours.</p>
<p>My client is now occasionally bringing in stacks of unread multichats. Hope yours too.</p></blockquote>
<p>from <a href="http://heartbeat.skype.com/2007/08/looking_slightly_better_at_070.html">http://heartbeat.skype.com/2007/08/looking_slightly_better_at_070.html</a></p>
<p>I&#8217;m still up with my <a href="http://dirksmetric.wordpress.com/2007/08/16/skype-network-problems/">initial guess</a> that it has nothing to do with the client code, since we did not have to update the clients (unless Skype has some silent module update built-in). Must have been something with the <a href="http://dirksmetric.wordpress.com/2007/08/16/anatomy-of-the-skype-network/">supernodes</a>. It&#8217;ll be interesting to see how the network recovers slowly during the day.</p>
<p>Anyway, it was fun to participate in blogging about something ongoing. Though I hardly get the point as it&#8217;s quite some sort of procrastination&#8230; I better get back to my work. Speaking of which: I have to write a journal article.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=15&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2007/08/17/skype-crisis-is-coming-to-an-end/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
		<item>
		<title>Officially Addicted</title>
		<link>http://dirksmetric.wordpress.com/2007/08/16/officially-addicted/</link>
		<comments>http://dirksmetric.wordpress.com/2007/08/16/officially-addicted/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 17:03:44 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Lost and Found]]></category>
		<category><![CDATA[addiction]]></category>
		<category><![CDATA[caffeine]]></category>
		<category><![CDATA[coffee]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2007/08/16/officially-addicted/</guid>
		<description><![CDATA[I knew for quite some time that I wouldn&#8217;t get my PhD without a profound caffeine addiction. Now, I&#8217;m quite a step closer to my degree: I am 81% Addicted to Coffee, found at 85m²
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=14&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I knew for quite some time that I wouldn&#8217;t get my PhD without a profound caffeine addiction. Now, I&#8217;m quite a step closer to my degree: <a href="http://mingle2.com/bb/view/how-addicted-to-coffee-are-you">I am 81% Addicted to Coffee</a>, found at <a href="http://www.85qm.de/archives/554-Wie-suechtig-bist-Du-nach-Kaffee.html">85m²</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=14&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2007/08/16/officially-addicted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
		<item>
		<title>Anatomy of the Skype network</title>
		<link>http://dirksmetric.wordpress.com/2007/08/16/anatomy-of-the-skype-network/</link>
		<comments>http://dirksmetric.wordpress.com/2007/08/16/anatomy-of-the-skype-network/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 14:52:48 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Computer life]]></category>
		<category><![CDATA[Real life]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[ad-hoc network]]></category>
		<category><![CDATA[Mesh network]]></category>
		<category><![CDATA[Skype]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2007/08/16/anatomy-of-the-skype-network/</guid>
		<description><![CDATA[This is a follow-up to my earlier post on &#8220;Skype Network Problems&#8220;. I&#8217;ve just remembered an analysis of the Skype P2P Protocol from the Columbia University that might give some insight on what&#8217;s wrong. The subsequent quotes are taken from: &#8220;An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol&#8220;, Salman A.Baset, Henning Schulzrinne, 2004, Columbia [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=13&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is a follow-up to my earlier post on &#8220;<a href="http://dirksmetric.wordpress.com/2007/08/16/skype-network-problems/">Skype Network Problems</a>&#8220;. I&#8217;ve just remembered an analysis of the Skype P2P Protocol from the Columbia University that might give some insight on what&#8217;s wrong. The subsequent quotes are taken from: &#8220;<a href="http://www1.cs.columbia.edu/~library/TR-repository/reports/reports-2004/cucs-039-04.pdf">An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol</a>&#8220;, Salman A.Baset, Henning Schulzrinne, 2004, Columbia University</p>
<blockquote><p>Login is perhaps the most critical function to the Skype operation. It is during this process a [skype client] authenticates its user name and password with the login server, advertises its presence to other peers and its buddies, determines the type of NAT and firewall it is behind, and discovers online Skype nodes with public IP addresses. We observed that these newly discovered nodes were used to maintain connection with the Skype network should the [super node] to which [the skype client] was connected became unavailable.</p></blockquote>
<p>Each skype client can become a super node if it has sufficient CPU cycles, memory and bandwidth to spare. The super nodes form a fully meshed network (each super node knows the IP of each other super node that is logged on).</p>
<blockquote><p>We observed that a SC must establish a TCP connection with a [super node] in order to connect to the Skype network. If it cannot connect to a super node, it will report a login failure.</p></blockquote>
<p>So, if there is a problem with reaching super nodes in general, the whole network goes down. Now since a skype client can connect to the network once in a while, there is no general failure of the super nodes, but appearantly, we get disconnected from all neighboring super nodes after a short period of time.</p>
<blockquote><p>After a [skype client] is connected to a [super node], the [skype client] must authenticate the user name and password with the Skype login server. The login server is the only central component in the Skype network.</p></blockquote>
<p>As we can log on to the network for a couple of minutes, the problem is unlikely to be <a title="Skype heartbeat message on the problem" href="http://heartbeat.skype.com/2007/08/problems_with_skype_login.html">with the login server alone</a>, although they constitute the <a href="http://blogs.nmss.com/communications/2007/08/skype-network-1.html">single point of failure</a> in the network. (otherwise, we couldn&#8217;t log in at all like when entering an unknown username/password combination). Finally, the entire super node mesh network us bootstrapped by seven hard-coded super node IPs.</p>
<blockquote><p>After logging in for the first time after installation, [the host cache] was initialized with seven IP address and port pairs. We observed that upon first login, [the host cache] was always initialized with these seven IP address and port pairs except for a rare random occurrence. In the case where [the host cache] was initialized with more than seven IP addresses<br />
and port pairs, it always contained those seven IP address and port pairs. It was with one of these IP address and port entries a [skype client] established a TCP connection when a user used that [skype client] to log onto the Skype network for the first time after installation. We call these IP address and port pairs bootstrap super nodes.</p></blockquote>
<p>Consequently, there seems to be a problem that certainly involves the bootstrap super nodes as a client always tries to reach these to connect to the network. I believe that the network suffers a combination of unstable state of the overlay network and high loads on the (bootstrap) super nodes.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=13&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2007/08/16/anatomy-of-the-skype-network/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
		<item>
		<title>Skype Network Problems</title>
		<link>http://dirksmetric.wordpress.com/2007/08/16/skype-network-problems/</link>
		<comments>http://dirksmetric.wordpress.com/2007/08/16/skype-network-problems/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 11:37:50 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Computer life]]></category>
		<category><![CDATA[Real life]]></category>
		<category><![CDATA[ad-hoc network]]></category>
		<category><![CDATA[Skype]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2007/08/16/skype-network-problems/</guid>
		<description><![CDATA[Since this morning, I&#8217;m experiencing some severe Skype network problems. The client disconnects regularly, needs about 5 minutes to reconnect and drops the connection quite soon again (about a minute later). Likewise, the number of client that are logged in has dropped to about 2.5 million. Which also means that the p2p network is just [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=12&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Since this morning, I&#8217;m experiencing some severe Skype network problems. The client disconnects regularly, needs about 5 minutes to reconnect and drops the connection quite soon again (about a minute later). Likewise, the number of client that are logged in has dropped to about 2.5 million. Which also means that the p2p network is just about half the size that it&#8217;s used to be. If a good portion of the Skype users experiences the same problems, I guess the network is not present at all as any joining node leaves the network quite fast again.</p>
<p>One might draw the conclusion that although there is a 2.5 million node network, it is more of a virtual kind, as it might be fast changing due to failing nodes and missing links. This behavior is actually quite close to ad-hoc networks. I&#8217;m interested to see what the Skype guys find out about the cause for this behavior: <a title="Skype Heartbeat on Login Problems" href="http://heartbeat.skype.com/2007/08/problems_with_skype_login.html">http://heartbeat.skype.com/2007/08/problems_with_skype_login.htm</a> (thanks to <a title="AvionarU on the Skype login problem" href="http://www.avionaru.ro/2007/08/16/skype-login-down/trackback/">AvionarU</a> for the link)</p>
<p>[<strong>edit 14:06</strong>] Ok, here&#8217;s an educated guess about what might be going on: It appears to me that the network gets fragmented. Nodes (Clients) get disconnected or disconnect themselves for some reason. A node getting disconnected also disconnects other nodes from the network, especially if they are one of the heavy duty nodes that constitute the hubs of the Skype network. Then millions of nodes try to reconnect to other hubs, causing quite some load to them and maybe causing them to go down again. It could be some sort of vicious circle.</p>
<p>[<strong>edit 14:31</strong>] That&#8217;s a new record: my client get&#8217;s to know about 509.071 connected clients in the Skype network. Looks like there are quite some people that have problems connection to the network. Quoting <a href="http://heartbeat.skype.com/2007/08/problems_with_skype_login.html">Skype heartbeat</a>:</p>
<blockquote><p>UPDATED: Some of you may be having problems logging in to Skype. Our engineering team has determined that it’s a software issue and hopes to have this resolved quickly. Meanwhile, you can simply leave your Skype client running and as soon as the issue is resolved, you will be logged in. We apologize for the inconvenience.</p></blockquote>
<p>[<strong>edit 15:22</strong>] Skype Heartbeat says: &#8220;We expect this to be resolved within 12 to 24 hours.&#8221;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=12&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2007/08/16/skype-network-problems/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
		<item>
		<title>Using GNU autotools</title>
		<link>http://dirksmetric.wordpress.com/2007/07/18/using-gnu-autotools/</link>
		<comments>http://dirksmetric.wordpress.com/2007/07/18/using-gnu-autotools/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 09:28:42 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Computer life]]></category>
		<category><![CDATA[Lost and Found]]></category>
		<category><![CDATA[autotools]]></category>
		<category><![CDATA[GNU]]></category>

		<guid isPermaLink="false">http://dirksmetric.wordpress.com/2007/07/18/using-gnu-autotools/</guid>
		<description><![CDATA[Maybe this is ridiculous, but I never remember the program calls for using GNU autotools. And the Google search always gives me lots of information I never wanted to know. It&#8217;s just the order of calls, so here we go:
autoheader
aclocal
autoconf
automake ----add-missing
./configure
make
Fine. Now I have a place where I can look things up.
edit: occasionally (read: in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=11&subd=dirksmetric&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Maybe this is ridiculous, but I never remember the program calls for using GNU autotools. And the Google search always gives me lots of information I never wanted to know. It&#8217;s just the order of calls, so here we go:</p>
<p><code>autoheader<br />
aclocal<br />
autoconf<br />
automake ----add-missing<br />
./configure<br />
make</code></p>
<p>Fine. Now I have a place where I can look things up.</p>
<p><em>edit:</em> occasionally (read: in case checking out sources from a CVS under cygwin) the file format is wrong. Put a<br />
<code>dos2unix *</code>before the first line above.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/dirksmetric.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/dirksmetric.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dirksmetric.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dirksmetric.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dirksmetric.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dirksmetric.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dirksmetric.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dirksmetric.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dirksmetric.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dirksmetric.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dirksmetric.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dirksmetric.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dirksmetric.wordpress.com&blog=343268&post=11&subd=dirksmetric&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dirksmetric.wordpress.com/2007/07/18/using-gnu-autotools/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6977f9ec2434f648d0cd24e9527b0373?s=96&#38;d=identicon" medium="image">
			<media:title type="html">dirk</media:title>
		</media:content>
	</item>
	</channel>
</rss>