<?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:ymaps="http://api.maps.yahoo.com/Maps/V2/AnnotatedMaps.xsd">

<channel>
	<title>iTopiaBlog</title>
	<atom:link href="http://blog.itopia.de/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.itopia.de</link>
	<description>liVe iN oRder tO lEArN</description>
	<lastBuildDate>Thu, 15 Apr 2010 17:16:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mit Gunther Wegner ins bezaubernd vielfältige Venezuela</title>
		<link>http://blog.itopia.de/mit-gunther-wegner-ins-bezaubernd-vielfaeltige-venezuela/268</link>
		<comments>http://blog.itopia.de/mit-gunther-wegner-ins-bezaubernd-vielfaeltige-venezuela/268#comments</comments>
		<pubDate>Thu, 15 Apr 2010 17:14:45 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Reisen]]></category>
		<category><![CDATA[Gunther Wegner]]></category>
		<category><![CDATA[Reise]]></category>
		<category><![CDATA[Südamerika]]></category>
		<category><![CDATA[Venezuela]]></category>
		<category><![CDATA[viventura]]></category>
		<category><![CDATA[vortrag]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=268</guid>
		<description><![CDATA[Ist Venezuela auch euer Traumziel? Holt euch Venezuela doch einfach zu euch nach Hause.
Nehmt am neuen Veranstaltung bei facebook eingerichtet worden, in der ihr ab sofort Fragen posten könnt, die von dem Spezialisten täglich beantwortet werden.
Gunther Wegner ist durch seine vielen Reisen ein ausgewiesener Südamerikaexperte mit dem Schwerpunkt Venezuela. Auf seiner Homepage Venezuela Tag in [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.itopia.de/wp-content/uploads/2010/04/Gunther-Wegner-beim-Venezuela-Tag-150x150.jpg" alt="Gunther Wegner beim Venezuela Tag" title="Gunther Wegner beim Venezuela Tag" width="150" height="150" class="alignleft size-thumbnail wp-image-269" />Ist Venezuela auch euer Traumziel? Holt euch Venezuela doch einfach zu euch nach Hause.</p>
<p>Nehmt am neuen <a href=""http://www.facebook.com/event.php?eid=112978068720123&amp;index=1">Venezuela-Chat</a> teil, der ab sofort mit dem Venezuela-Experten Gunther Wegner startet. 14 Tage wird er euch alle Fragen rund um Venezuela, sein Buch &#8220;Mit dem Rucksack durch Venezuela&#8221; und rund um seine Person beantworten. Wir wünschen euch jetzt schon viel Spaß beim Löchern.</p>
<p>Hierzu ist eine <a href=""http://www.facebook.com/viventura.de#!/viventura.de?v=app_2344061033">Veranstaltung bei facebook</a> eingerichtet worden, in der ihr ab sofort Fragen posten könnt, die von dem Spezialisten täglich beantwortet werden.</p>
<p>Gunther Wegner ist durch seine vielen Reisen ein ausgewiesener Südamerikaexperte mit dem Schwerpunkt Venezuela. Auf seiner Homepage <a href=""http://www.gwegner.de/" target="_blank">www.gwegner.de</a> könnt ihr viele Fotos und Reiseberichte rund um Südamerika finden. Er präsentiert sehr erfolgreich Reisevorträge und hat neben Venezuela auch Publikationen über den Amazonas und Brasilien veröffentlicht. Er wird die Fragen nicht nur rein sachlich beantworten, vielmehr ist er der Typ, der euch dieses unbeschreiblich vielfältige Land durch persönliche Anekdoten und Insiderinformationen näherbringen wird.</p>
<p>Gunther war in diesem Jahr u.a. im Februar bei einem stimmungsvollen <a href=""http://viventura.de/blog/venezuela/wir-erlebten-venezuelas-schonheit-und-vielfaltigkeit-in-90-minuten/" target="_blank">Venezuela Tag</a> in Berlin eingeladen und hat hier &#8220;sein&#8221; Land in einem vielfältigen und sehr interessanten Vortrag präsentiert. Er zog mit vielen erheiternden Anekdoten sowie wunderschönen Bildern alle Gäste in seinen Bann. Der höchste Wasserfall der Welt, traumhafte Karibikstrände und die majestätischen Tafelberge waren nur einige der Highlights seiner spannenden Präsentation.</p>
<p><img src="http://blog.itopia.de/wp-content/uploads/2010/04/Venezolanische-Karibikküste-300x225.jpg" alt="Venezolanische Karibikküste" title="Venezolanische Karibikküste" width="300" height="225" class="aligncenter size-medium wp-image-271" /></p>
<p>Mehr Informationen findet Ihr hier:</p>
<ul>
<li> <a href=""http://www.viventura.de/">www.viventura.de</a></li>
<li><a href=""http://www.facebook.com/viventura.de#!/viventura.de?v=app_2344061033">Facebook Veranstaltung</a></li>
</ul>
<div class="wp_geo_map" id="wp_geo_map_268" style="width:100%; height:300px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/mit-gunther-wegner-ins-bezaubernd-vielfaeltige-venezuela/268/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>6.42375 -66.58973</georss:point><geo:lat>6.42375</geo:lat><geo:long>-66.58973</geo:long>	</item>
		<item>
		<title>Symfony: Propel: Criteria SQL (hibernate sql)</title>
		<link>http://blog.itopia.de/symfony-propel-criteria-sql-hibernate-sql/265</link>
		<comments>http://blog.itopia.de/symfony-propel-criteria-sql-hibernate-sql/265#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:34:41 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[criteria]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=265</guid>
		<description><![CDATA[Hi Volks,
today I had a lot of testing with the symfony criteria object. And everyone who knows about the problem to get the raw SQL query out of the criteria object.
There is a toString method, but the result just looks like this:

SELECT  FROM media, media_category WHERE media.FEATURED=? AND media.MEDIATYPE IN (?,?) AND 1=1 AND [...]]]></description>
			<content:encoded><![CDATA[<p>Hi Volks,</p>
<p>today I had a lot of testing with the symfony criteria object. And everyone who knows about the problem to get the raw SQL query out of the criteria object.</p>
<p>There is a toString method, but the result just looks like this:<br />
<code><br />
SELECT  FROM media, media_category WHERE media.FEATURED=? AND media.MEDIATYPE IN (?,?) AND 1=1 AND media_category.CID NOT IN (?,?,?,?) AND media.MID=media_category.MID GROUP BY media.MID<br />
Parameters to replace: array (<br />
  0 =><br />
  array (<br />
    'table' => 'media',<br />
    'column' => 'FEATURED',<br />
    'value' => true,<br />
  ),<br />
  1 =><br />
  array (<br />
    'table' => 'media',<br />
    'column' => 'MEDIATYPE',<br />
    'value' => 'video',<br />
  ),<br />
  2 =><br />
  array (<br />
    'table' => 'media',<br />
    'column' => 'MEDIATYPE',<br />
    'value' => 'audio',<br />
  ),<br />
  3 =><br />
  array (<br />
    'table' => 'media_category',<br />
    'column' => 'CID',<br />
    'value' => 10,<br />
  ),<br />
  4 =><br />
  array (<br />
    'table' => 'media_category',<br />
    'column' => 'CID',<br />
    'value' => 9,<br />
  ),<br />
  5 =><br />
  array (<br />
    'table' => 'media_category',<br />
    'column' => 'CID',<br />
    'value' => 4,<br />
  ),<br />
  6 =><br />
  array (<br />
    'table' => 'media_category',<br />
    'column' => 'CID',<br />
    'value' => 7,<br />
  )<br />
)<br />
</code></p>
<p>And it is very strange to fill the question marks by hand with the related values from the parameters array.</p>
<p>So I wrote a function which does this for me:</p>
<p><code><br />
  function getCriteriaSQL($c, $select = '*')<br />
  {<br />
    $params = array();<br />
    $r = BasePeer::createSelectSql($c, $params);<br />
    $o = str_replace('?', '%s', $r);</p>
<p>    $ggg = array();<br />
    foreach($params AS $e)<br />
    {<br />
      if(is_integer($e['value']) OR is_bool($e['value']))<br />
      {<br />
        $ggg[] = $e['value'];<br />
      }<br />
      else<br />
      {<br />
        $ggg[] = "'".$e['value']."'";<br />
      }<br />
    }</p>
<p>    $sql = vsprintf($o, $ggg);</p>
<p>    $sql = str_replace('SELECT ', 'SELECT '.$select, $sql);</p>
<p>    return $sql;<br />
  }<br />
</code></p>
<p>I just wanted to share this with you and I appreciate your comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/symfony-propel-criteria-sql-hibernate-sql/265/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symfony: How to build a dojo dijit autocompleter sfForm widget</title>
		<link>http://blog.itopia.de/symfony-how-to-dojo-dijit-autocompleter-sfform-widget/260</link>
		<comments>http://blog.itopia.de/symfony-how-to-dojo-dijit-autocompleter-sfform-widget/260#comments</comments>
		<pubDate>Thu, 29 Oct 2009 13:20:36 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[AJAX/AXAH]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[autocompleter]]></category>
		<category><![CDATA[dijit]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[sfform]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=260</guid>
		<description><![CDATA[I was searching long time for a good auto completer widget, but I couldn&#8217;t find one. So I created it by my self.
I did the same with the build in symfony auto completer widget. When I have time I&#8217;ll post it, too.
I hope I could help someboby with this small tutorial. Please give me feedback [...]]]></description>
			<content:encoded><![CDATA[<p>I was searching long time for a good auto completer widget, but I couldn&#8217;t find one. So I created it by my self.<br />
I did the same with the build in symfony auto completer widget. When I have time I&#8217;ll post it, too.<br />
I hope I could help someboby with this small tutorial. Please give me feedback if there are any questions or suggestions.</p>
<p>Now lets start:</p>
<p><strong>1. Copy the dojo package to the js folder</strong><br />
Resulting path to dojo.js: <em>web/js/dojoToolkit/dojo/dojo.js</em></p>
<p><strong>2. Enable dojo.js</strong><br />
If not yet happend elsewhere:<br />
Modify the view.yml: <em>apps/[YOUR_APP]/config/view.yml</em><br />
<code><br />
default:<br />
  javascripts:    [dojoToolkit/dojo/dojo.js]<br />
</code></p>
<p><strong>3. Create the widget</strong><br />
<em>lib/widget/itWidgetFormInputTextDijitAutocomplete.php</em><br />
<code><br />
class itWidgetFormInputTextDijitAutocomplete extends sfWidgetForm<br />
{<br />
  /**<br />
   * Constructor.<br />
   *<br />
   * Available options:<br />
   *<br />
   *  * model:           Name of the Model<br />
   *  * searchfield:     Table field in which will be searched<br />
   *  * action:          Optional: request action or url<br />
   *  * value_method:    Optional: getter for form field value<br />
   *  * output_method:   Optional: getter for form field name<br />
   *  * criteria_method: Optional: getter for additional cirteria<br />
   *  * add_empty:       Optional: add emtpy value option to the list<br />
   *  * choices:         An array of possible choices (n/a)<br />
   *  * formatter:       A callable to call to format the checkbox choices<br />
   *<br />
   * @see sfWidgetForm<br />
   */<br />
  protected function configure($options = array(), $attributes = array())<br />
  {<br />
    $this->addRequiredOption('model');<br />
    $this->addRequiredOption('search_field');<br />
    $this->addOption('action', 'default/ajaxAutocomplete');<br />
    $this->addOption('value_method',  'getPrimaryKey');<br />
    $this->addOption('output_method', 'getPrimaryKey');<br />
    $this->addOption('choices', array());<br />
    $this->addOption('criteria_method', '');<br />
    $this->addOption('formatter', array($this, 'formatter'));<br />
    $this->addOption('add_empty', false);<br />
  }</p>
<p>  /**<br />
   * Renders the widget as HTML.<br />
   *<br />
   * @param  string The name of the HTML widget<br />
   * @param  mixed  The value of the widget<br />
   * @param  array  An array of HTML attributes<br />
   * @param  array  An array of errors<br />
   *<br />
   * @return string A HTML representation of the widget<br />
   *<br />
   * @see sfWidgetForm<br />
   */<br />
  public function render($name, $value = null, $attributes = array(), $errors = array())<br />
  {<br />
    $choices = $this->getOption('choices');<br />
    if ($choices instanceof sfCallable)<br />
    {<br />
      $choices = $choices->call();<br />
    }</p>
<p>    $baseAttributes = array(<br />
      'action' => $this->getOption('action'),<br />
      'name'  => $name,<br />
      'type'  => 'text',<br />
      'value' => $value,<br />
      'id'    => $id = $this->generateId($name, self::escapeOnce($name)),<br />
    );</p>
<p>    return call_user_func($this->getOption('formatter'), $this, $baseAttributes);<br />
  }</p>
<p>  /**<br />
   * Renders the input fields as HTML.<br />
   *<br />
   * @param widget<br />
   * @param attributes<br />
   *<br />
   * @return string A HTML representation of the input fields<br />
   */<br />
  public function formatter($widget, $attributes)<br />
  {<br />
    sfLoader::loadHelpers(array('Form', 'Url'));<br />
    $request = sfContext::getInstance()->getRequest();<br />
    $field_id      =  $attributes['id'];<br />
    $field_name    =  $attributes['name'];<br />
    $ajax_field_id = 'ajax_'.$attributes['id'];<br />
    $out_field_id  = 'out_'.$attributes['id'];<br />
    $object        = @call_user_func(array($this->getOption('model').'Peer', 'retrieveByPk'), $attributes['value']);<br />
    $default_out   = $request->getParameter('ajax_'.$attributes['name'], is_object($object) ? call_user_func(array(&#038;$object, $this->getOption('output_method'))) : '');<br />
    $default_value = $request->getParameter($attributes['name'],  is_object($object) ? $attributes['value'] : '');</p>
<p>    $html = '';<br />
    $ajaxParams=array(<br />
      'model'            => $this->getOption('model'),<br />
      'value_method'     => $this->getOption('value_method'),<br />
      'output_method'    => $this->getOption('output_method'),<br />
      'search_field'     => $this->getOption('search_field'),<br />
      'criteria_method'  => $this->getOption('criteria_method'),<br />
      'field_name'       => 'ajax_'.$attributes['name']<br />
    );<br />
    if($this->getOption('add_empty')===false) $ajaxParams['add_empty'] = 'false';<br />
    elseif($this->getOption('add_empty')===true) $ajaxParams['add_empty'] = 'true';<br />
    else $ajaxParams['add_empty'] = $this->getOption('add_empty');</p>
<p>    $requestUrl = url_for($attributes['action'].'?'.http_build_query($ajaxParams), true);<br />
    $requestUrl = str_replace('frontend_dev.php/', '', $requestUrl);<br />
    $requestUrl = str_replace('backend_dev.php/', 'backend.php/', $requestUrl);</p>
<p>    $html .= <<<EOF<br />
&lt;script type="text/javascript"&gt;<br />
  dojo.require("dojo.data.ItemFileReadStore");<br />
  dojo.require("dijit.form.FilteringSelect");<br />
&lt;/script&gt;<br />
&lt;div dojoType="dojo.data.ItemFileReadStore"<br />
       jsId="{$field_id}Store" url="{$requestUrl}"&gt;&lt;/div&gt;<br />
EOF;</p>
<p>    $input_text = <<<EOF<br />
&lt;input dojoType="dijit.form.FilteringSelect"<br />
	store="{$field_id}Store"<br />
        class="medium"<br />
        id="{$field_id}"<br />
        name="{$field_name}"<br />
        value="{$default_value}"<br />
        hasDownArrow="true",<br />
        invalidMessage="",<br />
        ignoreCase="true" /&gt;<br />
}<br />
</code></p>
<p><strong>4. Create action for the AJAX request</strong><br />
<em>apps/[APP_NAME]/modules/default/actions/actions.class.php</em><br />
<code><br />
&lt;?php<br />
class defaultActions extends sfActions<br />
{<br />
  public function executeAjaxAutocomplete($request)<br />
  {<br />
    $model                  = $request->getParameter('model');<br />
    $criteria_method        = $request->getParameter('criteria_method');<br />
    $add_empty              = $request->getParameter('add_empty', 'false');<br />
    $this->value_method     = $request->getParameter('value_method');<br />
    $this->output_method    = $request->getParameter('output_method');</p>
<p>    $peer_object = $model.'Peer';</p>
<p>    if($criteria_method!='') $criteria = call_user_func(array($peer_object, $criteria_method));<br />
    else $criteria = new Criteria();</p>
<p>    $search_field  = $request->getParameter('search_field');<br />
    $field_name    = $request->getParameter('field_name');<br />
    $var           = $request->getParameter($field_name);</p>
<p>    $j_object = array('identifier' => 'abbreviation', 'items'=>array());</p>
<p>    $search_field = strtoupper($search_field);</p>
<p>    $sql_field = constant($peer_object.'::'.$search_field);</p>
<p>    $c = $criteria;<br />
    $c->add($sql_field, $var . '%', Criteria::LIKE);<br />
    $this->list = call_user_func(array($peer_object,'doSelect'), $c);</p>
<p>    if($add_empty!='false')<br />
    {<br />
      $j_object['items'][] = array(<br />
        'name'         => $add_empty=='true' ? '' : $add_empty,<br />
        'label'        => '',<br />
        'abbreviation' => ''<br />
      );<br />
    }</p>
<p>    foreach($this->list AS $v)<br />
    {<br />
      $j_object['items'][] = array(<br />
        'name'         => call_user_func(array(&#038;$v, $this->output_method)),<br />
        'label'        => call_user_func(array(&#038;$v, $this->output_method)),<br />
        'abbreviation' => call_user_func(array(&#038;$v, $this->value_method))<br />
      );<br />
    }<br />
    $this->j_object = $j_object;<br />
  }<br />
}<br />
</code></p>
<p><strong>5. Create template for the AJAX request</strong><br />
<em>apps/[APP_NAME]/modules/default/templates/ajaxAutocompleteSuccess.php</em><br />
<code><br />
&lt;?php decorate_with(false); ?&gt;<br />
&lt;?php print_r(json_encode($j_object)); ?&gt;<br />
</code></p>
<p><strong>6. Insert the new widget into your sfForm</strong><br />
<em>apps/[APP_NAME]/modules/default/templates/ajaxAutocompleteSuccess.php</em><br />
<code><br />
...<br />
# $widgets['user_id'] = new sfWidgetFormInput();<br />
$widgets['user_id'] = new stWidgetFormInputTextDijitAutocomplete(array(<br />
            'model'           => 'User',<br />
            'search_field'    => 'username',<br />
            'value_method'    => 'getId',<br />
            'output_method'   => 'getUsername',<br />
            'criteria_method' => 'getCriteriaRegisteredUsers'<br />
          ));<br />
</code></p>
<p><strong>6. Clear symfony cache</strong></p>
<p><strong>Links:</strong></p>
<ul>
<li>http://api.dojotoolkit.org/jsdoc/1.3.2/dijit.form.FilteringSelect</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/symfony-how-to-dojo-dijit-autocompleter-sfform-widget/260/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: String nach Wortende kürzen</title>
		<link>http://blog.itopia.de/php-string-nach-wortende-kurzen/256</link>
		<comments>http://blog.itopia.de/php-string-nach-wortende-kurzen/256#comments</comments>
		<pubDate>Tue, 17 Feb 2009 10:53:12 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[substr]]></category>
		<category><![CDATA[Wortende]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=256</guid>
		<description><![CDATA[Das Problem hatte vielleicht schon manch einer. Hier eine Lösung:
function getShortTextByWord($string, $len)
  {
    $string = substr($string, 0, $len);
    $string_end = strrpos($string, ' ');
    if($string_end) $string = substr($string, 0, $string_end);
    return $string;
  }
]]></description>
			<content:encoded><![CDATA[<p>Das Problem hatte vielleicht schon manch einer. Hier eine Lösung:</p>
<p><code>function getShortTextByWord($string, $len)<br />
  {<br />
    $string = substr($string, 0, $len);<br />
    $string_end = strrpos($string, ' ');<br />
    if($string_end) $string = substr($string, 0, $string_end);<br />
    return $string;<br />
  }</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/php-string-nach-wortende-kurzen/256/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code/Folder compare, sync, diff and merge with Mac OS X</title>
		<link>http://blog.itopia.de/codefolder-compare-sync-diff-and-merge-with-mac-os-x/252</link>
		<comments>http://blog.itopia.de/codefolder-compare-sync-diff-and-merge-with-mac-os-x/252#comments</comments>
		<pubDate>Fri, 19 Dec 2008 21:57:54 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[compare]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[Folder]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=252</guid>
		<description><![CDATA[Long time I was searching for an application which does what you can read in the title of this posting.
I was working with Mac OS X panther, so it was even more difficult to find an app, because of an old OS and a G4 Prozessor.
Now with my new Mac I can use and test [...]]]></description>
			<content:encoded><![CDATA[<p>Long time I was searching for an application which does what you can read in the title of this posting.<br />
I was working with Mac OS X panther, so it was even more difficult to find an app, because of an old OS and a G4 Prozessor.</p>
<p>Now with my new Mac I can use and test the recent apps for my needs. In the windows and linux world are the following apps very popular:</p>
<ul>
<li><a href="http://www.scootersoftware.com/">beyond compare</a> | comm. | win</li>
<li><a href="http://meld.sourceforge.net/">meld</a> | free | linux</li>
</ul>
<p>For Mac OS X however it&#8217;s hard to find such popular and worth proved tools. These days I found a saving <a href="http://echeng.com/journal/2006/11/23/i-want-beyond-compare-2-for-mac-os-x/">blog post</a> from <a href="http://echeng.com">echeng</a> and many useful comments for my problem.</p>
<p>For a better overview I made a list of the mentioned  code/folder compare, sync, diff and merge applications:</p>
<ul>
<li><a href="http://zscompare.shareware.de/">zsCompare</a> | comm. | mac os x</li>
<li><a href="http://www.econtechnologies.com/site/Pages/ChronoSync/chrono_overview.html">ChronoSync</a> | comm. | mac os x</li>
<li><a href="http://www.syntevo.com/smartsynchronize/index.jsp">SmartSynchroniz</a> | comm. | windows, linux, mac os x</li>
<li><a href="http://www.araxis.com/merge-overview.html">Araxis Merge</a> | comm. | windows, mac os x</li>
<li><a href="http://www.bytewash.com/Bytewash/Match.html">Match</a> | comm. | windows, linux</li>
<li><a href="http://www.deltopia.com/compare-merge-sync">DeltaWalker</a> | comm. | windwos, linux, mac os x</li>
<li><a href="http://www.sourcegear.com/diffmerge/">diffmerge</a> | free | windows, linux, mac os x</li>
<li><a href="http://www.guiffy.com/">Guiffy</a> | comm. | windows, linux, mac os x</li>
<li><a href="http://changesapp.com/">changesapp</a> | comm. | mac os x leo</li>
</ul>
<p>My decision flew to <strong>diffmerge</strong> because it&#8217;s free and does what I want &#8211; albeit not very intuitive but it does &#8211; namely show me the differences between folders and the exact differernces in the file contents.</p>
<p>When I have the time I&#8217;ll enhance more information. You&#8217;re invited to help  me <img src='http://blog.itopia.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Thx to <a href="http://echeng.com">echeng</a> and the commentators.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/codefolder-compare-sync-diff-and-merge-with-mac-os-x/252/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cartagena, es wird Zeit für Sandstrand und Karibik</title>
		<link>http://blog.itopia.de/cartagena-sandstrand-karibik/241</link>
		<comments>http://blog.itopia.de/cartagena-sandstrand-karibik/241#comments</comments>
		<pubDate>Thu, 11 Dec 2008 11:00:40 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Kolumbien]]></category>
		<category><![CDATA[Reisen]]></category>
		<category><![CDATA[Altstadt]]></category>
		<category><![CDATA[Cafe del Mar]]></category>
		<category><![CDATA[Cartagena]]></category>
		<category><![CDATA[Chiva]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=241</guid>
		<description><![CDATA[Die letzten Tage will ich unbedingt im Norden am Strand der kolumbianischen Karibiküste in Cartagena verbringen.
Die Stadt, welche nach der gleichnamigen Stadt in Spanien benannt ist, hat knapp eine Mio. Einwohner.
Wegen der günstigen Lage ist Cartagena die touristisch meist besuchteste Stadt in Kolumbien, weswegen hier auch der Sicherheitsgrad relativ hoch ist. Mir ist das dadurch [...]]]></description>
			<content:encoded><![CDATA[<p>Die letzten Tage will ich unbedingt im Norden am Strand der kolumbianischen <strong>Karibiküste</strong> in <strong>Cartagena</strong> verbringen.</p>
<p>Die Stadt, welche nach der gleichnamigen Stadt in Spanien benannt ist, hat knapp eine Mio. Einwohner.<br />
Wegen der günstigen Lage ist Cartagena die touristisch meist besuchteste Stadt in Kolumbien, weswegen hier auch der Sicherheitsgrad relativ hoch ist. Mir ist das dadurch aufgefallen, da in Cartagena auch Nachts &#8211; zumindest in der Altstadt am Hafen &#8211;  an jeder Straßenecke (Straßen und Gassen sind übrigens gut ausgeleuchtet) mind. ein Polizist sitzt.</p>
<p>Das Stadtzentrum ist komplett von einer dicken Mauer &#8211; welche Teils noch mit Kannonen ausgestattet ist &#8211; umgeben, auf welcher man schön entlang spazieren kann. Cartagena ist mit den im andalusischen Stil erbauten Kathedralen und Palästen eine wirklich sehr schöne Stadt und sollte unbedingt besucht werden.</p>
<p>Abends ist hier alles auf den Beinen und man muss auf der Straße aufpassen, dass man nicht von einem <strong>Chiva</strong> überfahren wird, die hier schon fast in Kolonnen durch die Straßen brausen. Das sind bunte, altmodische Partybusse, wie ich sie auch schon in Quito kennen gelernt hatte. An einer Stelle kann man in den Bus gegen eine Gebühr einsteigen und wird dann mit lauter Musik, lustigem Geschrei und reichlich Alkohol durch die Stadt gefahren. Gelegentlich wird an Sehenswürdigkeiten oder Bars angehalten. Endstation ist meist einer der vielen Nachtclubs, in dem dann weiter gefeiert werden kann, solange einem bei der Fahrt nicht schlecht geworden ist.</p>
<p>Es gibt viele Freiluft-Restaurants, die sich förmlich um einen Schlagen, wenn man abends durch die Straßen schländert, bei denen man dann aber ziemlich von den Starßenverkäufern genervt wird, auch während man isst. Am besten gefiel mir das Restaurant bzw. Bar <strong>Cafe del Mar</strong>, direkt auf der Stadtmauer mit tollem Ausblick auf das Meer und das Lichterspiel der Stadt.</p>
<p><!-- Flickr foto stream - Start --><br />
<iframe width="400" height="400" src="http://www.flickr.com/slideShow/index.gne?user_id=53569658@N00&tags=cartagena" frameBorder="0" scrolling="no"></iframe><br />
<!-- Flickr foto stream - End --></p>
<div class="wp_geo_map" id="wp_geo_map_241" style="width:100%; height:300px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/cartagena-sandstrand-karibik/241/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>10.4142522 -75.5263291</georss:point><geo:lat>10.4142522</geo:lat><geo:long>-75.5263291</geo:long>	</item>
		<item>
		<title>Festival de Cine y Video de Santa Fe de Antioquia</title>
		<link>http://blog.itopia.de/festival-de-cine-y-video-de-santa-fe-de-antioquia/233</link>
		<comments>http://blog.itopia.de/festival-de-cine-y-video-de-santa-fe-de-antioquia/233#comments</comments>
		<pubDate>Wed, 10 Dec 2008 10:41:23 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Kolumbien]]></category>
		<category><![CDATA[Reisen]]></category>
		<category><![CDATA[Festival]]></category>
		<category><![CDATA[Film]]></category>
		<category><![CDATA[Santa Fe]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=233</guid>
		<description><![CDATA[Ca. eine Stunde von Medellín fand dieser Tage das Festival de Cine y Video in Santa Fe de Antioquia statt. Zu diesem Anlass werden in 10-15 Versammlungsräumen oder Gasthäusern kostenlos verschiedene (Kurz-)Filme und Ihre Macher vorgestellt.
Santa Fe ist ein typisch kolumbianisches Dorf-Städtchen, gar nicht zu vergleichen mit dem Trubel in einer Stadt wie Medellín. Hier [...]]]></description>
			<content:encoded><![CDATA[<p>Ca. eine Stunde von Medellín fand dieser Tage das <strong>Festival de Cine y Video</strong> in <strong>Santa Fe de Antioquia</strong> statt. Zu diesem Anlass werden in 10-15 Versammlungsräumen oder Gasthäusern kostenlos verschiedene (Kurz-)Filme und Ihre Macher vorgestellt.</p>
<p>Santa Fe ist ein typisch kolumbianisches Dorf-Städtchen, gar nicht zu vergleichen mit dem Trubel in einer Stadt wie Medellín. Hier hab ich mich sofort wohl gefühlt.</p>
<p><!-- Flickr foto stream - Start --><br />
<iframe width="400" height="400" src="http://www.flickr.com/slideShow/index.gne?user_id=53569658@N00&tags=santa" frameBorder="0" scrolling="no"></iframe><br />
<!-- Flickr foto stream - End --></p>
<div class="wp_geo_map" id="wp_geo_map_233" style="width:100%; height:300px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/festival-de-cine-y-video-de-santa-fe-de-antioquia/233/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>6.566388979822327 -75.83587646484375</georss:point><geo:lat>6.566388979822327</geo:lat><geo:long>-75.83587646484375</geo:long>	</item>
		<item>
		<title>Medellín Fußball Stadion</title>
		<link>http://blog.itopia.de/medellin-fusball-stadion/221</link>
		<comments>http://blog.itopia.de/medellin-fusball-stadion/221#comments</comments>
		<pubDate>Tue, 09 Dec 2008 10:14:45 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Kolumbien]]></category>
		<category><![CDATA[Reisen]]></category>
		<category><![CDATA[Fußball]]></category>
		<category><![CDATA[Medellín]]></category>
		<category><![CDATA[Stadion]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=221</guid>
		<description><![CDATA[Wie schon erwähnt war von meinen ganzen Unternehmungen letzte Woche noch ziemlich erledigt, weswegen ich die ersten Tage hier nur gemütlich durch die Stadt geschländert bin und mich dann abends angeregt mit den anderen Backpacker unterhalten  habe. 
 
Dabei bekam ich mit, dass ein großes Fußballspiel stattfinden sollte. Nämlich Dep Ind Medellin (es gibt [...]]]></description>
			<content:encoded><![CDATA[<p>Wie schon erwähnt war von meinen ganzen Unternehmungen letzte Woche noch ziemlich erledigt, weswegen ich die ersten Tage hier nur gemütlich durch die Stadt geschländert bin und mich dann abends angeregt mit den anderen Backpacker unterhalten  habe. </p>
<p><a href="http://blog.itopia.de/wp-content/uploads/2008/12/dim.gif"><img src="http://blog.itopia.de/wp-content/uploads/2008/12/dim.gif" alt="" title="Dep Ind Medellin" width="200" height="200" class="alignleft size-full wp-image-220" style="border: 1px #333 solid; padding: 2px; margin: 3px;" /></a> </p>
<p>Dabei bekam ich mit, dass ein großes Fußballspiel stattfinden sollte. Nämlich <strong>Dep Ind Medellin</strong> (es gibt noch den Erzrivalen Nacional Medellin) gegen <strong>Bogota</strong>. In Kolumbien ist Fußball eine der beliebtesten Sportarten und dass die Südamerikaner im Stadion etwas emotionaler sind als die deutschen und ich mir das nicht entgehen lassen will &#8211; zumal das Station zu Fuß nur 10 min entfernt liegt &#8211; verabredete ich mich mit zwei Holländern, einem Argentinier und einem Kanadier zu dem Spiel. Die ganze Stadt war in blau und rot, ich sah keinen einzigen Bogota-Fan, auch im Stadion nicht. Obwohl das Stadion leider nicht ganz ausverkauft war fand ich die Stimmung super und die Atmosphärse super (mit den Andenhügeln im Hintergrund). Wobei ich sagen muss, dass die Fans, als ich damals in Quito im Stadion war, etwas durchgeknallter waren. </p>
<p><!-- Flickr foto stream - Start --><br />
<iframe width="400" height="400" src="http://www.flickr.com/slideShow/index.gne?user_id=53569658@N00&tags=medellin, futbol" frameBorder="0" scrolling="no"></iframe><br />
<!-- Flickr foto stream - End --></p>
<p>Karten bekamen wir übrigens für ca. 12.000 COP vor dem Station. Cool war, dass der private Verkäufer das Geld erst wollte, als die Kontrolleure uns mit dem Ticket durchgelassen hatten. Das Spiel ging nach einem Freistoßtor 1:0 für Ind. Medellin aus.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/medellin-fusball-stadion/221/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auf nach Medellín, Komlubien</title>
		<link>http://blog.itopia.de/medellin-komlubien/216</link>
		<comments>http://blog.itopia.de/medellin-komlubien/216#comments</comments>
		<pubDate>Sun, 07 Dec 2008 10:13:29 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Kolumbien]]></category>
		<category><![CDATA[Reisen]]></category>
		<category><![CDATA[Hostel]]></category>
		<category><![CDATA[Medellín]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=216</guid>
		<description><![CDATA[Nachdem ich in den drei Tagen in Manizales so viel unternommen hatte, war ich nach der fünfstündigen Autofahrt bei Nacht nach Medellín ziemlich geplättet. Ja, diesmal bin ich mit einer Art Minivan (acht Sitze) gefahren, da mir das für die kurze Strecke von ca. 250 km am bequemsten und schnellsten erschien, kostete allerdings auch fast [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich in den drei Tagen in <strong>Manizales</strong> so viel unternommen hatte, war ich nach der fünfstündigen Autofahrt bei Nacht nach <strong>Medellín</strong> ziemlich geplättet. Ja, diesmal bin ich mit einer Art Minivan (acht Sitze) gefahren, da mir das für die kurze Strecke von ca. 250 km am bequemsten und schnellsten erschien, kostete allerdings auch fast doppelt soviel (70.000 COP) als mit dem normalen Bus. </p>
<p>Die Strecke war sehr holprig, auf Grund der schlechten Straßenverhältnisse. Der Regen setzt dem Asphalt hier stark zu, auch war die Straße oft durch Erdrutsche von den Hängen halb seitig blockiert, was manche Anwohner in der Nähe solcher Straßenschäden dazu ermutigt durch Regeln des Verkehrs ein paar Pesos dazu zu verdienen. </p>
<p>Unser Fahrer hat sich während der Fahrt bestimmt 20 Mal bekreuzigt. Bei dem Fahrstil auch empfehlenswert. Einem kleinem Jungen und einer älteren Dame schlug die kurvenreiche Fahrt ziemlich auf den Magen, worauf der Fahrer sich dann &#8211; mit Tüten um sich werfend &#8211; mehr Sorgen über seine Teppiche machte als um die Witterungsverhältnisse. Zum Teil mussten wir durch  30cm hoch überlaufene Straßen fahren, aber je näher wir an Medellín kamen, desto besser wurde glücklicherweise das Wetter.</p>
<p>Angekommen bin ich so gegen sieben Uhr morgens. Mit einem Taxi bin ich dann in das vom <strong>Lonely Planet</strong> empfohlene Hostel <strong>Palm Tree</strong>, welches fast im Zentrum von Medellín liegt, gefahren. Auch hier wurde ich wieder sehr freundlich empfangen und habe zum Glück auch ohne Reservierung noch eine Stockbett-Etage in einem Zwei-Mann-Dormitorio bekommen.</p>
<p>Nachdem ich mich nochmal hingelegt hatte traf ich Mittags im gleichen Hostel alte Bekannte wieder, denen ich zuvor schon in Manizales begegnet war. Tsja, so ist das eben wenn man den gleichen Reiseführer benutzt (ist mir dann noch häufiger passiert).</p>
<p><!-- Flickr foto stream - Start --><br />
<iframe width="400" height="400" src="http://www.flickr.com/slideShow/index.gne?user_id=53569658@N00&tags=medellin" frameBorder="0" scrolling="no"></iframe><br />
<!-- Flickr foto stream - End --></p>
<p>Die Atmosphäre hier im Palm Tree ist super, was sicher auch den netten Gastgeberinnen zu verdanken war, die sich immer gerne mit den Gästen unterhalten, Tipps geben und auch mal mit zum Feiern gehen. Internet gibs for free, auch eine Gitarre hängt hier herum, die abends oft zur guten Stimmung begetrug. Einen Nachteil gab es allerdings, mein Zimmer lag direkt an der Straße, auf welcher ab sechs Uhr morgens LKWs, Busse und Motorräder mit einem Höllenlärm durch brummen. Aber ansonsten  wirklich sehr zu empfehlen.</p>
<div class="wp_geo_map" id="wp_geo_map_216" style="width:100%; height:300px;"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/medellin-komlubien/216/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<georss:point>6.2512899 -75.5759735</georss:point><geo:lat>6.2512899</geo:lat><geo:long>-75.5759735</geo:long>	</item>
		<item>
		<title>La Hacienda Guayabal &#8211; Chinchiná, Kolumbien</title>
		<link>http://blog.itopia.de/hacienda-guayabal-chinchina-kolumbien/197</link>
		<comments>http://blog.itopia.de/hacienda-guayabal-chinchina-kolumbien/197#comments</comments>
		<pubDate>Fri, 05 Dec 2008 17:41:24 +0000</pubDate>
		<dc:creator>Tschela</dc:creator>
				<category><![CDATA[Kolumbien]]></category>
		<category><![CDATA[Reisen]]></category>
		<category><![CDATA[Café]]></category>
		<category><![CDATA[Chinchiná]]></category>
		<category><![CDATA[Hacienda Guayabal]]></category>
		<category><![CDATA[Kaffee]]></category>

		<guid isPermaLink="false">http://blog.itopia.de/?p=197</guid>
		<description><![CDATA[Eigentlich wollte ich ja nur so zwei Tage in Manizales verbringen, um die Busfahrt nach Medellín zu verkürzen. Daraus wurden jetzt aber fast vier Tage, weil es hier einfach so viel zu erleben gibt, wie z.B. auch die beeindruckende La Hacienda Guayabal in Chinchiná das Herz des komlumbianischen Kaffeeanbaus.
Die Fahrt dort hin dauerte von Manizales [...]]]></description>
			<content:encoded><![CDATA[<p>Eigentlich wollte ich ja nur so zwei Tage in Manizales verbringen, um die Busfahrt nach Medellín zu verkürzen. Daraus wurden jetzt aber fast vier Tage, weil es hier einfach so viel zu erleben gibt, wie z.B. auch die beeindruckende <strong><a href="http://guayabal.tripod.com">La Hacienda Guayabal</a></strong> in <strong>Chinchiná </strong>das Herz des komlumbianischen Kaffeeanbaus.</p>
<p>Die Fahrt dort hin dauerte von Manizales mit öffentlichen Verkehrsmitteln und ein paar Mal Umsteigen ca. 45 Minuten. Die Hacienda liegt im Gegensatz zu Manizales (2150m) in 1400m Höhe, was man auch gleich am Temperaturunterschied merkt. In Manizales schwanken das Wetter und  die Temperaturen stark zw. 10 und 25 Grad, wobei es in Chichiná das ganze Jahr über 21 +/- 1 Grad hat. Ein perfektes Mikroklima für den Kaffeeanbau, um das ganze Jahr über ernten zu können, statt wie gewöhnlich nur im letzten Quartal des Jahres.</p>
<p>Man kann das grossflächige Kaffeeanbaugebiet schon vom Bus aus sehen, aber noch beeindruckender ist es, wenn man direkt mitten drin Steht. Besonders angetan war ich von dem wirklich ökologischen Anbauverfahren. Es wird nichts weggeworfen, alles was nicht verkauft werden kann fliesst wieder z.B. als Dünger zurück in den Anbaukreislauf. </p>
<p>Das ganze Anbaugebiet macht gar nicht den Eindruck grossindustrieller Landwirtschaft, viel mehr hat man hier das Gefühl, sich in einem botanischen Garten zu befinden, aus dem man gar nicht mehr weg will.</p>
<p>Obwohl wir ohne Anmeldung auf die Hacieda kamen, wurde uns gleich eine dreistündige Führung angeboten, in der man uns den kompletten Zyklus vom Zögling bis zur gemalenen Kaffeebohne (21 Monate) erklärte.</p>
<p>Die Pflücker bekommen für ein Kilo Bohnen ca. 300 COP, umgerechnet ca. 10 Cent, davon müssen sie Kost und Logie bezahlen.</p>
<p>Nach der Tour gabs dann noch ein leckers Almuerzo (Abendessen) mit Spiegelei, Gebratenem Schweinefleisch, Wurst, Bohnen, Reis, Avokado Tomaten etc. Und zum Nachtisch, sehr süsse Feigen mit Käse. Achja den ganzen Tag über bekamen natürlich wir frisch gemalenen Kaffee.</p>
<p>Ich habe leider zu spät erfahren, dass man auf der Hacienda auch übernachen kann, sonst wäre ich noch einen Tag länger hier geblieben um zu relaxen.</p>
<p><!-- Flickr foto stream - Start --><br />
<iframe width="400" height="400" src="http://www.flickr.com/slideShow/index.gne?user_id=53569658@N00&tags=guayabal" frameBorder="0" scrolling="no"></iframe><br />
<!-- Flickr foto stream - End --></p>
<p>Sehr gut fand ich auch, dass man hier nach der Tour nicht versucht hat, uns irgendwelche Souviniers oder dergleichen anzudrehen. Eine wirklich gelungene Tour, so wie alle anderen von Manizales aus auch.</p>
<p>Gestern Nacht bin ich hier in Medellín angekommen. Dazu schreib ich Tage mal was.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itopia.de/hacienda-guayabal-chinchina-kolumbien/197/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
