<?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/"
	>

<channel>
	<title>Umut AYDIN</title>
	<atom:link href="http://umut.mobi/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://umut.mobi/blog</link>
	<description>open source internet and mobile technologies</description>
	<lastBuildDate>Wed, 24 Feb 2010 15:13:50 +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>Making A Game: Neverath</title>
		<link>http://umut.mobi/blog/2010/02/24/making-a-game-neverath/</link>
		<comments>http://umut.mobi/blog/2010/02/24/making-a-game-neverath/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 14:34:53 +0000</pubDate>
		<dc:creator>Umut AYDIN</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Server-Side]]></category>
		<category><![CDATA[Start-up]]></category>
		<category><![CDATA[Browser Based Games]]></category>
		<category><![CDATA[Neverath]]></category>
		<category><![CDATA[nGine]]></category>
		<category><![CDATA[nTurn]]></category>

		<guid isPermaLink="false">http://umut.mobi/blog/?p=37</guid>
		<description><![CDATA[Neverath is a browser-based fantasy role playing game with turn-based battle engine. Unlike many other browser-based games, players can go anywhere around the map and they don&#8217;t need to dialog windows to make an action.
Neverath works on our new generation browser-based game engine which we called nGine and it has a turn-based battle engine which [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.neverath.com">Neverath</a> is a browser-based fantasy role playing game with turn-based battle engine. Unlike many other browser-based games, players can go anywhere around the map and they don&#8217;t need to dialog windows to make an action.</p>
<p>Neverath works on our new generation browser-based game engine which we called nGine and it has a turn-based battle engine which we called nTurn.</p>
<p>nGine provides a map system. It calculates how many boxes can be shown on available browser window then builds the map.</p>
<p>nTurn is a battle system just like a chess match. Unlike chess, nTurn can handle more than 2 players. Basically, it calculates moves automatically and divides to players as many as it can at the time.</p>
<p>Please visit <a href="http://blog.neverath.com">official development blog</a> for more details.</p>
]]></content:encoded>
			<wfw:commentRss>http://umut.mobi/blog/2010/02/24/making-a-game-neverath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Json Support for Propel in Symfony</title>
		<link>http://umut.mobi/blog/2009/11/22/json-support-for-propel-in-symfony/</link>
		<comments>http://umut.mobi/blog/2009/11/22/json-support-for-propel-in-symfony/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 13:19:01 +0000</pubDate>
		<dc:creator>Umut AYDIN</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Propel]]></category>
		<category><![CDATA[Server-Side]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[task]]></category>

		<guid isPermaLink="false">http://umut.mobi/blog/?p=29</guid>
		<description><![CDATA[JSON is a perfect way to use an object in backend and frontend.
Here, I&#8217;m gonna create a Symfony task to modify your table models for adding toJson method. toJson method returns a JSON object from your table model.

    symfony generate:task propel:add-toJson-method

Run the command above. That will create a task file into lib/tasks/propelAddtoJsonmethodTask.class.php
Edit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://json.org" rel="nofollow">JSON</a> is a perfect way to use an object in backend and frontend.</p>
<p>Here, I&#8217;m gonna create a <a href="http://www.symfony-project.org" rel="nofollow">Symfony</a> task to modify your table models for adding <em>toJson</em> method. <em>toJson</em> method returns a JSON object from your table model.</p>
<blockquote><p>
    symfony generate:task propel:add-toJson-method
</p></blockquote>
<p>Run the command above. That will create a task file into <em>lib/tasks/propelAddtoJsonmethodTask.class.php</em><br />
Edit that file via your code or text editor and find the commented line including <strong>add your code here</strong><br />
There&#8217;s where we are going to put our codes.</p>
<p>First we need to find model directory. If there is a broken link or something to get us unable to reach model directory we throw an exception.</p>
<blockquote><p>
    $models = array();</p>
<p>    $dir = realpath(dirname(__FILE__) . &#8216;/../model/&#8217;);<br />
    if (!is_dir($dir))<br />
    {<br />
      throw new Exception(&#8217;Unable to find model directory&#8217;);<br />
    }
</p></blockquote>
<p>If we find model directory then we need to find all model classes. Actually, to find Peer classes is fine. We won&#8217;t touch any other files. At that point, we need to aware of that we can&#8217;t modify any file under sub directories. Because they&#8217;ll be re-created at next <a href="http://www.symfony-project.org/book/1_2/08-Inside-the-Model-Layer" rel="nofollow">building process</a>. If we can&#8217;t find any file that we needed we throw an exception.</p>
<blockquote><p>
    $dh = opendir($dir);<br />
    while (($file = readdir($dh)) !== false)<br />
    {<br />
      if (substr($file, -4) == &#8216;.php&#8217;)<br />
      {<br />
        $model = explode(&#8217;.', $file);<br />
        if (substr($model[0], -4) == &#8216;Peer&#8217;)<br />
        {<br />
          array_push($models, $model[0]);<br />
        }<br />
      }<br />
    }<br />
    closedir($dh);</p>
<p>    if (!count($models))<br />
    {<br />
      throw new Exception(&#8217;There is no class for any table in model directory&#8217;);<br />
    }</p>
<p>    sort($models);
</p></blockquote>
<p>In next step, we need to parse those files and find a place to put our code.</p>
<blockquote><p>
    foreach ($models as $m)<br />
    {<br />
      $tablePeer = new $m();</p>
<p>      if (!method_exists($tablePeer, &#8216;toJson&#8217;))<br />
      {<br />
        $code = trim(file_get_contents($dir . &#8216;/&#8217; . $m . &#8216;.php&#8217;));<br />
        if (substr($code, -2) == &#8216;?>&#8217;)<br />
        {<br />
          $code = trim(substr($code, 0, strlen($code) -2));<br />
        }</p>
<p>        if (substr($code, -1) != &#8216;}&#8217;)<br />
        {<br />
          throw new Exception($m . &#8216;: unable to parse&#8217;);<br />
        }</p>
<p>        $code = trim(substr($code, 0, strlen($code) -1));<br />
        $code .= &#8220;\n  static public function toJson(&#8221; . &#8216;$obj&#8217; . &#8220;) {\n    &#8221; . &#8216;return json_encode($obj->toArray());&#8217; . &#8220;\n  }\n&#8221;;<br />
        $code .= &#8220;}\n&#8221;;</p>
<p>        file_put_contents($dir . &#8216;/&#8217; . $m . &#8216;.php&#8217;, $code);<br />
      }<br />
    }
</p></blockquote>
<p>Now, we can call our task in command line:</p>
<blockquote><p>symfony propel:add-toJson-method</p></blockquote>
<p><a href="http://umut.mobi/download/propelAddtoJsonmethodTask.class.phps" rel="nofollow">Click here</a> to see source code.</p>
<p>Also, you can use Propel Behaviors in Symfony to perform that. Documentation is online at <a href="http://www.symfony-project.org/cookbook/1_2/en/behaviors" rel="nofollow">http://www.symfony-project.org/cookbook/1_2/en/behaviors</a></p>
]]></content:encoded>
			<wfw:commentRss>http://umut.mobi/blog/2009/11/22/json-support-for-propel-in-symfony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solr Search Engine</title>
		<link>http://umut.mobi/blog/2009/11/03/solr-search-engine/</link>
		<comments>http://umut.mobi/blog/2009/11/03/solr-search-engine/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 09:03:35 +0000</pubDate>
		<dc:creator>Umut AYDIN</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Server-Side]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Compile]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[PECL]]></category>
		<category><![CDATA[Search Engine]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://umut.mobi/blog/?p=21</guid>
		<description><![CDATA[You can find what Solr is exactly at http://lucene.apache.org/solr/#intro if you don&#8217;t know already. I&#8217;m gonna tell you how to compile it yourself:
If you have given an error about PHP version you need to change version controller to your current PHP version in php_solr.c (For example, I changed it to 5.2.6) The developer asks for [...]]]></description>
			<content:encoded><![CDATA[<p>You can find what Solr is exactly at <a href="http://lucene.apache.org/solr/#intro" rel="nofollow">http://lucene.apache.org/solr/#intro</a> if you don&#8217;t know already. I&#8217;m gonna tell you how to compile it yourself:</p>
<p><em>If you have given an error about PHP version you need to change version controller to your current PHP version in php_solr.c (For example, I changed it to 5.2.6) The developer asks for 5.2.11 version but I have no idea why. I asked him about that but no answer yet. If anything comes up I&#8217;ll update this post immediately.<br />
</em></p>
<p>First of all, download the source from <a href="http://pecl.php.net/get/solr-0.9.5.tgz">here.</a></p>
<blockquote><p>apt-get install libcurl4-openssl-dev<br />
apt-get install libxml2-dev<br />
phpize<br />
./configure<br />
make install</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://umut.mobi/blog/2009/11/03/solr-search-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10</title>
		<link>http://umut.mobi/blog/2009/10/28/ubuntu-9-10/</link>
		<comments>http://umut.mobi/blog/2009/10/28/ubuntu-9-10/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 14:26:52 +0000</pubDate>
		<dc:creator>Umut AYDIN</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://umut.mobi/blog/?p=18</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display2.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://umut.mobi/blog/2009/10/28/ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Ilani &#8211; Grafik Tasarimci (Graphic Designer)</title>
		<link>http://umut.mobi/blog/2009/10/13/is-ilani-grafik-tasarimci-graphic-designer/</link>
		<comments>http://umut.mobi/blog/2009/10/13/is-ilani-grafik-tasarimci-graphic-designer/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 08:11:17 +0000</pubDate>
		<dc:creator>Umut AYDIN</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Jobs]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Turkish]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://umut.mobi/blog/?p=9</guid>
		<description><![CDATA[# Iyi derecede Html, Xhtml, JS, css ve web 2,0 bilgisine sahip
# Flash Tasarim(Adobe Flash)  ve Tercihen Action Script  konularina hakim
# Özgün Tasarim yetenegine sahip
# Windows platformunda Photoshop, illustrator, Flash gibi tasarim araçlarini çok iyi seviyede  kullanabilen
# Güncel Web tasarim araçlarini iyi seviyede kullanabilen
# Yüksek algilama, hayal ve gösterim yetenegine sahip
# Motivasyonu [...]]]></description>
			<content:encoded><![CDATA[<p># Iyi derecede Html, Xhtml, JS, css ve web 2,0 bilgisine sahip<br />
# Flash Tasarim(Adobe Flash)  ve Tercihen Action Script  konularina hakim<br />
# Özgün Tasarim yetenegine sahip<br />
# Windows platformunda Photoshop, illustrator, Flash gibi tasarim araçlarini çok iyi seviyede  kullanabilen<br />
# Güncel Web tasarim araçlarini iyi seviyede kullanabilen<br />
# Yüksek algilama, hayal ve gösterim yetenegine sahip<br />
# Motivasyonu yüksek, analitik dü?ünce yetenegi gelismis<br />
# Ögrenmeye Açik<br />
# Erkek Adaylar için Askerligini tamamlamis ve ya en az 2 yil tecili bulunan<br />
# Temel ingilizce bilgisi<br />
# En az 2 yil aktif is tecrübesi<br />
# Tercihen Anadolu yakasinda ikamet eden</p>
<p>Guncel ozgecmislerinizi dogrudan bana iletebilirsiniz. (me-at-umut-dot-mobi)</p>
<p><strong>Güncelleme: </strong>Pozisyon doldu.</p>
]]></content:encoded>
			<wfw:commentRss>http://umut.mobi/blog/2009/10/13/is-ilani-grafik-tasarimci-graphic-designer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common Problems in Planning a Project</title>
		<link>http://umut.mobi/blog/2009/07/28/common-problems-in-planning-a-project/</link>
		<comments>http://umut.mobi/blog/2009/07/28/common-problems-in-planning-a-project/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 10:15:09 +0000</pubDate>
		<dc:creator>Umut AYDIN</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Start-up]]></category>
		<category><![CDATA[5 Important Truths]]></category>
		<category><![CDATA[Common Problems]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://umut.mobi/blog/?p=3</guid>
		<description><![CDATA[Main purpose of software projects is that making useful, user-friendly and qualified solutions for customers. According to market research companies, many of software projects can’t see the end of river. There are 5 important truths that I’m gonna say about that kind of projects.
    * First analysis and report part takes long [...]]]></description>
			<content:encoded><![CDATA[<p>Main purpose of software projects is that making useful, user-friendly and qualified solutions for customers. According to market research companies, many of software projects can’t see the end of river. There are <strong>5 important truths</strong> that I’m gonna say about that kind of projects.</p>
<p>    * First analysis and report part takes long time more than necessary. Analysis or reporting team confuses by the details.<br />
    * Because of first approach, development team needs more time to work productive. That means there will be useless period of time.<br />
    * Many times, a request which is asking in during development part changes existed modules. Thus the project gets more risky. Realizing problems take long time.<br />
    * After all these situations, team gets away from first analysis of the project. They work overtime to catch the plan or they redesign the project. First way makes team exhausted day by day and the second way takes long time. Both are wasting time.<br />
    * While team deciding to budget, they don’t think about extras or requests. Thus project needs to more money eventually.</p>
]]></content:encoded>
			<wfw:commentRss>http://umut.mobi/blog/2009/07/28/common-problems-in-planning-a-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
