<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bekir Dağ</title>
    <link>https://bekirdag.com/</link>
    <description>Recent content on Bekir Dağ</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© This post is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License，please give source if you likes to quote or reproduce.</copyright>
    <lastBuildDate>Fri, 20 Feb 2026 10:00:00 +0000</lastBuildDate>
    <atom:link href="https://bekirdag.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building Docdex: A Local-First Structural Index for LLM Coding Workflows</title>
      <link>https://bekirdag.com/post/building-docdex-a-local-first-structural-index-for-llm-coding-workflows/</link>
      <pubDate>Fri, 20 Feb 2026 10:00:00 +0000</pubDate>
      <guid>https://bekirdag.com/post/building-docdex-a-local-first-structural-index-for-llm-coding-workflows/</guid>
      <description>&lt;h1 id=&#34;building-docdex-a-local-first-structural-index-for-llm-coding-workflows&#34;&gt;Building Docdex: A Local-First Structural Index for LLM Coding Workflows&lt;/h1&gt;&#xA;&lt;p&gt;I use LLMs every day for software development. They’ve become part of my thinking process — refactoring, architecture validation, API design, debugging. They’re incredibly powerful.&lt;/p&gt;&#xA;&lt;p&gt;But they’re stateless.&lt;/p&gt;&#xA;&lt;p&gt;And that statelessness costs tokens.&lt;/p&gt;&#xA;&lt;p&gt;A large portion of model usage isn’t spent solving the actual problem. It’s spent rediscovering the repository — re-reading files, inferring structure, guessing dependencies, reconstructing context. Every session starts from scratch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CI CD for Game Development</title>
      <link>https://bekirdag.com/post/ci-cd-for-game-development/</link>
      <pubDate>Mon, 13 Nov 2023 11:01:41 +0300</pubDate>
      <guid>https://bekirdag.com/post/ci-cd-for-game-development/</guid>
      <description>&lt;h1 id=&#34;cicd-for-game-development&#34;&gt;CI/CD for Game Development&lt;/h1&gt;&#xA;&lt;p&gt;At present, the field of Game CI/CD is in its nascent stages, and there are numerous issues that need resolution. Our development process is complex, necessitating a robust procedure and deployment structure. This approach aims to resolve several challenges:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Developing collaboratively as a team.&lt;/li&gt;&#xA;&lt;li&gt;Automating server builds and deployments.&lt;/li&gt;&#xA;&lt;li&gt;Managing multiple environments such as development, staging, and production.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;During my search for game CI solutions, I discovered &lt;a href=&#34;https://game.ci/&#34;&gt;Game CI&lt;/a&gt;, an excellent resource that typically works out of the box without customization. However, it did not fully meet our needs. This blog post outlines how I addressed the challenges encountered during our setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fortran Lessons</title>
      <link>https://bekirdag.com/post/fortran-lessons/</link>
      <pubDate>Tue, 23 May 2023 13:34:47 +0300</pubDate>
      <guid>https://bekirdag.com/post/fortran-lessons/</guid>
      <description>&lt;h2 id=&#34;what-is-this-article-about&#34;&gt;What is this article about?&lt;/h2&gt;&#xA;&lt;p&gt;I recently find out my fortran lessons published on students.edu.tr from 2002. It took me back in time and realized how much I loved programming. Wanted to re-publish it after 21 years. You can see the original from the wayback machine &lt;a href=&#34;https://web.archive.org/web/20020806134915/http://www.students.itu.edu.tr/~dagb/fortran.htm&#34;&gt;https://web.archive.org/web/20020806134915/http://www.students.itu.edu.tr/~dagb/fortran.htm&lt;/a&gt;. Here it is:&lt;/p&gt;&#xA;&lt;p&gt;##fortran90&lt;/p&gt;&#xA;&lt;p&gt;Fortran dili 1955 te ilk kez kullanılmaya başlanmıştır. Daha sonra birçok versiyonu kullanılan bu dil son olarak F95 olarak karşımıza çıkmıştır. Biz bu sitede F90 dan bahsedeceğiz. Bu derslere başlamadan önce eğer bir yazılım dili hakkında daha önce hiç eğitim almadıysanız &lt;a href=&#34;anaprog.html&#34;&gt;ana programcılık&lt;/a&gt; bölümünü ziyaret etmenizi tavsiye ediyoruz.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 7</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-7/</link>
      <pubDate>Sat, 05 Mar 2022 10:47:13 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-7/</guid>
      <description>&lt;h2 id=&#34;entities-and-permissions&#34;&gt;Entities and permissions&lt;/h2&gt;&#xA;&lt;p&gt;The whole point of this framework is to make it easy to create entities and write custom modules easily. So we can create an entity with a few lines of code, we should consider the framework successful. Let’s create an entity for Blog Posts as an example.&lt;/p&gt;&#xA;&lt;p&gt;Create a folder under the &lt;code&gt;modules&lt;/code&gt; directory:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;cd modules&lt;/code&gt;&#xA;&lt;code&gt;mkdir blog&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Now create &lt;code&gt;blog.php&lt;/code&gt; and &lt;code&gt;entity.fields.json&lt;/code&gt; files under the blog directory.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 6</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-6/</link>
      <pubDate>Sat, 05 Mar 2022 10:41:21 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-6/</guid>
      <description>&lt;h2 id=&#34;authentication-and-authorization&#34;&gt;Authentication and Authorization&lt;/h2&gt;&#xA;&lt;p&gt;We use The PHP League’s Oauth 2.0 (&lt;a href=&#34;https://oauth2.thephpleague.com/&#34;&gt;https://oauth2.thephpleague.com/&lt;/a&gt;) server for the authentication. First of all we need to add our own module named oauth under the module directory and install the package via composer&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;composer require league/oauth2-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you look at our router, you will see that an authentication request is separately considered, unlike the routing.json file scan for each module to find the acting module. Therefore the endpoints that we will create in oauth module’s routing.json file will pass to the oauth module even though the user is not authenticated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 5</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-5/</link>
      <pubDate>Sat, 05 Mar 2022 10:40:00 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-5/</guid>
      <description>&lt;h2 id=&#34;entities&#34;&gt;Entities&lt;/h2&gt;&#xA;&lt;p&gt;Entities are crucial parts of backend APIs. A developer should be able to easily create an entity with a configuration file. An example can be as follows:&lt;/p&gt;&#xA;&lt;p&gt;entity.fields.json&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;fields&amp;#34;&lt;/span&gt;: [&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;string&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt; : {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;length&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;notNull&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;surname&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;string&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt; : {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;length&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;notNull&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;string&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt; : {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;length&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;255&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;notNull&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;email&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;string&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;options&amp;#34;&lt;/span&gt;: {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;unique&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;created_at&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;integer&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;updated_at&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;integer&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;active&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After adding this to a custom module, the system should recognize this as an entity and automatically behave as one. The advantage of it is to create CRUD endpoints out of the box. The above example is for the user entity. Even though we don’t add anything in the routing.json config file, the system creates the POST, PUT, GET and DELETE endpoints with /user and /user/{id}, and also handles the permissions automatically.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 4</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-4/</link>
      <pubDate>Sat, 05 Mar 2022 10:39:11 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-4/</guid>
      <description>&lt;h2 id=&#34;database-connection&#34;&gt;Database connection&lt;/h2&gt;&#xA;&lt;p&gt;There should be only a single db connection each time there is a request. This is why we load the global environmental variables at the beginning of the script, use the db credentials to connect to the database only a single time. If you visit global.php you will see&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$global_connection &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;\Doctrine\DBAL\DriverManager&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getConnection&lt;/span&gt;($connectionParams);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This connection variable later used in the database.php under modules,&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__construct&lt;/span&gt;(){&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;global&lt;/span&gt; $global_connection;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;connection&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $global_connection;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Database object later is called on every time the system object is called. On system.php:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 3</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-3/</link>
      <pubDate>Sat, 05 Mar 2022 10:34:35 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-3/</guid>
      <description>&lt;h2 id=&#34;routing&#34;&gt;Routing&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./img/routing.png&#34; alt=&#34;Routing Authentication Authorization&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;We have decided to use this framework for 2 purposes, first for terminal usage, second is to generate endpoints for REST.&lt;/p&gt;&#xA;&lt;h2 id=&#34;terminal-usage&#34;&gt;Terminal usage&lt;/h2&gt;&#xA;&lt;p&gt;Sometimes all I need is to run a piece of code to do a simple job for my daily usage. For example I want to access a remote blog daily, read it, check for certain phrases and store the result (whatever result I want) into the database. I will run this on the server, and won&amp;rsquo;t even bother to create a web service for it. If my router understands where the request is coming from, then I can bypass all the authentication/authorization work and focus on the job itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 2</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-2/</link>
      <pubDate>Sat, 05 Mar 2022 10:32:49 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-2/</guid>
      <description>&lt;h2 id=&#34;main-structure-and-the-technology&#34;&gt;Main structure and the technology&lt;/h2&gt;&#xA;&lt;p&gt;As I discussed in the previous post, one of the most important parts is to keep the syntax as simple as possible for a newbie to be able to jump on right away. We also should avoid using any sort of fancy tools which would basically complicate the development process. We also should use most popular tools which have proved themselves and supported by a strong community.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create Your Own Backend API With PHP Part 1</title>
      <link>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-1/</link>
      <pubDate>Sat, 05 Mar 2022 10:32:06 +0300</pubDate>
      <guid>https://bekirdag.com/post/create-your-own-backend-api-with-php-part-1/</guid>
      <description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;&#xA;&lt;p&gt;In software development, most of the time what you need is a small piece of code to run. If you are working with a framework, it becomes very heavy to do simple tasks in shorter times. That’s why I decided to write my own framework for my daily tasks.&lt;/p&gt;&#xA;&lt;h2 id=&#34;to-write-or-to-not-to-write&#34;&gt;To write or to not to write&lt;/h2&gt;&#xA;&lt;p&gt;There are hundreds of frameworks out there, of course it is very unnecessary to write your own framework! Well, this almost true, except when it comes to start working on your custom product. If you want to write a crawler, a trading simulator, a repetitive task handler, it’s best to work on a very lightweight framework so that you don’t have to waste time on getting rid of the heavy parts of the bigger framework. Lets consider what do we have in the market for PHP.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Raspberry Pi Zero security camera</title>
      <link>https://bekirdag.com/post/raspberry_pi_zero_security_camera/</link>
      <pubDate>Tue, 25 Aug 2020 15:38:03 -0700</pubDate>
      <guid>https://bekirdag.com/post/raspberry_pi_zero_security_camera/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;./img/raspberry_pi_zero_security_camera_5.jpg&#34; alt=&#34;raspberry pi security camera with bluetooth check&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;download-files&#34;&gt;Download files&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/bekirdag/rasbpicam&#34;&gt;Get the files from Github&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-are-the-main-features&#34;&gt;What are the main features?&lt;/h2&gt;&#xA;&lt;p&gt;I have built a security camera using a Raspberry Pi Zero, built the case with camera mount, easy to mount to a wall. Designed using OpenSCAD, so it&amp;rsquo;s fully parametric.&lt;/p&gt;&#xA;&lt;p&gt;The main feature of this security camera is that it captures the movements and emails them to you, &lt;strong&gt;but first it checks if you are at home by trying to connect to your phone via bluetooth&lt;/strong&gt;. If there are multiple people living at home, the camera is checking for all the bluetooth connections and emails the movement if there are noone at home.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The future of business, Robotics Agencies</title>
      <link>https://bekirdag.com/post/the_future_of_business_robotics_agencies/</link>
      <pubDate>Fri, 14 Aug 2020 14:47:55 -0700</pubDate>
      <guid>https://bekirdag.com/post/the_future_of_business_robotics_agencies/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;./img/robotics_agencies_quadruped.png&#34; alt=&#34;Opensource modular robotics&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The robotics revolution is about to happen as we are all expecting. But how will it take place, and what will change in our lives?&lt;/p&gt;&#xA;&lt;h1 id=&#34;the-robot&#34;&gt;The robot&lt;/h1&gt;&#xA;&lt;h2 id=&#34;open-source-is-the-only-way&#34;&gt;Open-source is the only way&lt;/h2&gt;&#xA;&lt;p&gt;Like everything else in life, the development will be gradual so that it won&amp;rsquo;t happen overnight. It is essential for the giant companies to get involved in the robotics development. Still, I don&amp;rsquo;t think that it will be them who will take the initiative, it will be crowdfunded open-source communities, because there won&amp;rsquo;t be big wins for early starting commercial organizations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Evolution Simulation</title>
      <link>https://bekirdag.com/post/evolution_simulation/</link>
      <pubDate>Thu, 13 Aug 2020 00:31:20 -0700</pubDate>
      <guid>https://bekirdag.com/post/evolution_simulation/</guid>
      <description>&lt;p&gt;Here is the link &lt;a href=&#34;http://www.beyazcuce.com/hunt&#34;&gt;http://www.beyazcuce.com/hunt&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./img/evolution_simulation.png&#34; alt=&#34;Evolution simulation&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;I have always wondered if evolution can be simulated or not and decided to try by myself. Even though I truly believe that the evolution does exist and work in the everyday life, seeing soemthing with your own eyes makes you feel it to your bones, just like seeing a planet by a telescope for the first time. You know that it is there, but when you see it with your own eyes, you experience a special moment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>World visa regulations</title>
      <link>https://bekirdag.com/post/visaregulations.com/</link>
      <pubDate>Wed, 12 Aug 2020 17:50:29 -0700</pubDate>
      <guid>https://bekirdag.com/post/visaregulations.com/</guid>
      <description>&lt;p&gt;I have created a table for every country&amp;rsquo;s visa regulation for every other country. It is a pretty simple tool to use, see for yourself at&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://visaregulations.com/&#34;&gt;Visa regulations&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./img/visa_regulations.png&#34; alt=&#34;Visa regulations&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quest Smith</title>
      <link>https://bekirdag.com/post/quest-smith/</link>
      <pubDate>Wed, 12 Aug 2020 17:41:12 -0700</pubDate>
      <guid>https://bekirdag.com/post/quest-smith/</guid>
      <description>&lt;p&gt;Quest Smith is a Raspberry Pi Zero driven thermal printing text based game. In each level, it gives you options to choose so every game is different than the other one depending on your choices.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./img/quest_smith_1.jpg&#34; alt=&#34;Quest smith&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;parts-list&#34;&gt;Parts list:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 Raspberry Pi Zero&lt;/li&gt;&#xA;&lt;li&gt;1 Thermal printer, I used GOOJPRT (&lt;a href=&#34;https://bit.ly/2H0mE9l&#34;&gt;https://bit.ly/2H0mE9l&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;1 5V Voltage Step-up Boost Module (&lt;a href=&#34;https://bit.ly/2SOJ13i&#34;&gt;https://bit.ly/2SOJ13i&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;1 TP4056 (&lt;a href=&#34;https://bit.ly/2EQ2gWp&#34;&gt;https://bit.ly/2EQ2gWp&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;1 18650 battery (&lt;a href=&#34;https://bit.ly/2SM6QZk&#34;&gt;https://bit.ly/2SM6QZk&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;2 Momentary Tactile Switches (&lt;a href=&#34;https://bit.ly/2TlT4BN&#34;&gt;https://bit.ly/2TlT4BN&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;1 3D printed case top&lt;/li&gt;&#xA;&lt;li&gt;1 3D printed case bottom&lt;/li&gt;&#xA;&lt;li&gt;1 Micro usb to usb female cable (&lt;a href=&#34;https://bit.ly/2EzYsqP&#34;&gt;https://bit.ly/2EzYsqP&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;1 Usb cable (this should come with the thermal printer)&lt;/li&gt;&#xA;&lt;li&gt;4 Screws 3.5 X 20 mm&lt;/li&gt;&#xA;&lt;li&gt;1 On off swicth (&lt;a href=&#34;https://bit.ly/2C4Zs5Z&#34;&gt;https://bit.ly/2C4Zs5Z&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Cables&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./img/quest_smith_2.jpg&#34; alt=&#34;Quest smith&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>My First PCB</title>
      <link>https://bekirdag.com/post/my-first-pcb/</link>
      <pubDate>Tue, 11 Aug 2020 22:27:43 -0700</pubDate>
      <guid>https://bekirdag.com/post/my-first-pcb/</guid>
      <description>&lt;p&gt;After I moved to Victoria, I met someone who asked me to help him to build a quality assurance station to weigh the end product and kick out if the weight of the product is not in between the desired range. I wasn&amp;rsquo;t sure if I would be able to build it but I still accepted the task.&lt;/p&gt;&#xA;&lt;p&gt;As usual I started with an arduino board and researched about the weigh sensors. At first, I wanted to use an arduino pro mini, but for easier programming purposes, I decided to use an arduino nano. Here is how it should work:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The process has been signaled with signal &#39;6&#39;</title>
      <link>https://bekirdag.com/post/macosx-composer-the-process-has-been-signaled-with-signal-6/</link>
      <pubDate>Thu, 04 Oct 2018 17:04:04 +0300</pubDate>
      <guid>https://bekirdag.com/post/macosx-composer-the-process-has-been-signaled-with-signal-6/</guid>
      <description>&lt;h2 id=&#34;what-is-this-article-about&#34;&gt;What is this article about?&lt;/h2&gt;&#xA;&lt;p&gt;I had an annoying problem with composer on macosx while trying to install some packages, the error being thrown was not informative at all&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;[Symfony\Component\Process\Exception\RuntimeException]&#xA;The process has been signaled with signal &#39;6&#39; &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;solution&#34;&gt;Solution&lt;/h2&gt;&#xA;&lt;p&gt;First, run the composer command verbose with&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;composer -vvv&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Then you will see where it fails. In my case, it was failing right after:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Executing command (/Users/bekir/.composer): svn info --xml&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;So I tried &lt;code&gt;svn info --xml&lt;/code&gt; alone to see what is really happening. The error this time was:&lt;/p&gt;</description>
    </item>
    <item>
      <title>What Happens When You Do Not Update Drupal</title>
      <link>https://bekirdag.com/post/what-happens-when-you-do-not-update-drupal/</link>
      <pubDate>Tue, 19 Jun 2018 14:13:33 +0300</pubDate>
      <guid>https://bekirdag.com/post/what-happens-when-you-do-not-update-drupal/</guid>
      <description>&lt;h2 id=&#34;what-is-this-article-about&#34;&gt;What is this article about?&lt;/h2&gt;&#xA;&lt;p&gt;I will talk about what happens when you do not update your Drupal website core and contributed modules.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-does-this-document-cover&#34;&gt;What does this document cover?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#why-it-is-important-to-update-your-drupal-website&#34;&gt;Why it is important to update your Drupal website?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#how-do-they-get-into-your-server&#34;&gt;How do they get into your server?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#how-to-fix-your-drupal-site&#34;&gt;How to fix your hacked drupal site?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#how-can-i-secure-my-server&#34;&gt;How can I secure my server?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;why-it-is-important-to-update-your-drupal-website&#34;&gt;Why it is important to update your Drupal website?&lt;/h2&gt;&#xA;&lt;p&gt;Drupal is an open source project. Everyone can see it&amp;rsquo;s vulnerabilities. And I think the worst thing about it is that when a security update arrives, you have to update your site asap because the hackers will know what the vulnerability is covering even if they did not know about it. So, it&amp;rsquo;s a shout-out to the hackers and telling them, &amp;ldquo;look, if the site is not updated, this is how you hack it&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A New Tasklist Method</title>
      <link>https://bekirdag.com/post/a-new-tasklist-method/</link>
      <pubDate>Tue, 20 Feb 2018 00:10:28 +0300</pubDate>
      <guid>https://bekirdag.com/post/a-new-tasklist-method/</guid>
      <description>&lt;h2 id=&#34;what-is-this-article-about&#34;&gt;What is this article about?&lt;/h2&gt;&#xA;&lt;p&gt;I will talk about my personal method on how to make a priority list of things that you want to do.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-to-make-a-priority-list&#34;&gt;Why to make a priority list?&lt;/h2&gt;&#xA;&lt;p&gt;If you have big dreams and don&amp;rsquo;t know where to start or small errands are always blocking you to take a step on the path to your projects, it&amp;rsquo;s better to organise your ideas first and prioritise them to know where to start from.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Backup Your Webserver Files Using Rsync</title>
      <link>https://bekirdag.com/post/how-to-backup-your-webserver-files-using-rsync-net/</link>
      <pubDate>Fri, 09 Feb 2018 18:00:44 +0300</pubDate>
      <guid>https://bekirdag.com/post/how-to-backup-your-webserver-files-using-rsync-net/</guid>
      <description>&lt;h3 id=&#34;how-to-backup-your-webserver-files-and-mysql-database-using-rsyncnet&#34;&gt;How to backup your webserver files and mysql database using rsync.net&lt;/h3&gt;&#xA;&lt;p&gt;I am very happy with my provider, but if you don&amp;rsquo;t have backup server for your account, you need another service to backup your files.&lt;/p&gt;&#xA;&lt;p&gt;After a little research, i found rsync.net. Their price is acceptable ($0.80-1.4 gb/mounth | static - global redundant) , and the service is really fine.&lt;/p&gt;&#xA;&lt;p&gt;I want to backup my dbs every night, but files; every two weeks. My model is like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>A &#39;Hello World!&#39; Genetic Algorithm Example in PHP</title>
      <link>https://bekirdag.com/post/a-hello-world-genetic-algorithm-example-in-php/</link>
      <pubDate>Fri, 09 Feb 2018 17:42:41 +0300</pubDate>
      <guid>https://bekirdag.com/post/a-hello-world-genetic-algorithm-example-in-php/</guid>
      <description>&lt;p&gt;This is a hello world example genetic algorithm example written in php. You can use the same algorithm to build useful applications.&lt;/p&gt;&#xA;&lt;p&gt;The output is something like this:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;hello wojed - 0.81818181818182&#xA;stay still&#xA;mutated unexpectedly!&#xA;hello sorhd - 0.81818181818182&#xA;stay still&#xA;mutated unexpectedly!&#xA;hella woryd - 0.81818181818182&#xA;stay still&#xA;mutated unexpectedly!&#xA;hello worpe - 0.81818181818182&#xA;stay still&#xA;mutated unexpectedly!&#xA;hello porbd - 0.81818181818182&#xA;stay still&#xA;mutated unexpectedly!&#xA;hella worfd - 0.81818181818182&#xA;stay still&#xA;mutated unexpectedly!&#xA;hello world - 1&#xA;mutated unexpectedly!&#xA;hello woead - 0.81818181818182&#xA;crossed nothing!&#xA;mutated unexpectedly!&#xA;mutation&#xA;hellxrworzd - 0.72727272727273&#xA;hello world found after 1900 try&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Here is the class:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kanban Process</title>
      <link>https://bekirdag.com/post/kanban-process/</link>
      <pubDate>Tue, 06 Feb 2018 14:48:17 +0300</pubDate>
      <guid>https://bekirdag.com/post/kanban-process/</guid>
      <description>&lt;h2 id=&#34;what-is-this-article-about&#34;&gt;What is this article about?&lt;/h2&gt;&#xA;&lt;p&gt;This document gives information about the tools we use in the software development life cycle, the methods we use and the steps to explain the methods.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-does-this-document-cover&#34;&gt;What does this document cover?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#terms-and-services&#34;&gt;Terms and services&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#jira&#34;&gt;JIRA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-kanban-process&#34;&gt;The kanban process&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;terms-and-services&#34;&gt;Terms and services:&lt;/h2&gt;&#xA;&lt;h3 id=&#34;jira&#34;&gt;JIRA&lt;/h3&gt;&#xA;&lt;p&gt;The project management software to keep track of the development. You should have access to &lt;a href=&#34;https://your_company.atlassian.net/&#34;&gt;https://your_company.atlassian.net/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Every project has it’s own space and issues, for example for YOUR PROJECT looks like &lt;a href=&#34;https://your_company.atlassian.net/projects/YP/issues&#34;&gt;https://your_company.atlassian.net/projects/YP/issues&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extract Facebook Events to import in Drupal</title>
      <link>https://bekirdag.com/post/extract-facebook-events/</link>
      <pubDate>Sun, 04 Feb 2018 17:07:23 +0300</pubDate>
      <guid>https://bekirdag.com/post/extract-facebook-events/</guid>
      <description>&lt;h2 id=&#34;what-is-this-article-about&#34;&gt;What is this article about?&lt;/h2&gt;&#xA;&lt;p&gt;This document gives an example on how to extract facebook events using a Drupal 7 module&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-does-this-document-cover&#34;&gt;What does this document cover?&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#why-do-I-need-to-extract-facebook-events&#34;&gt;Why do I need to extract facebook events?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#requirements&#34;&gt;Requirements&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#the-module&#34;&gt;The module&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;why-do-i-need-to-extract-facebook-events&#34;&gt;Why do I need to extract facebook events?&lt;/h3&gt;&#xA;&lt;p&gt;I have built a website devote to &lt;a href=&#34;https://www.turkishjazz.org&#34;&gt;Turkish Jazz&lt;/a&gt;. I am listing Jazz events in town, doing that manually is a lot of work. Since nearly all the venues are sharing the events on FB, I have decided to grab the data from their facebook pages. Using a single API (facebook graph API) also reduces the amount of work for different venues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Drupal 8.4 Core Update</title>
      <link>https://bekirdag.com/post/drupal-8.4-core-update/</link>
      <pubDate>Thu, 01 Feb 2018 12:30:41 +0300</pubDate>
      <guid>https://bekirdag.com/post/drupal-8.4-core-update/</guid>
      <description>&lt;h3 id=&#34;update-drupal-core-to-84&#34;&gt;Update drupal core to 8.4&lt;/h3&gt;&#xA;&lt;p&gt;It can be messy to upadte the core, which was the case for me for a few projects because of some dependencies. The main problem was the doctrine being not compatible with &amp;lt; PHP 7.1&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Get a DB backup&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Copy composer.json file under the core from the latest version &lt;a href=&#34;https://cgit.drupalcode.org/drupal/tree/core/composer.json&#34;&gt;https://cgit.drupalcode.org/drupal/tree/core/composer.json&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Edit the doctrine versions under the composer.lock file as follows:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;“doctrine/annotations”:&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;“1.2.7&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;       “doctrine/cache”: “v1.6.1&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;“doctrine/collections”:&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;“v1.3.0&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;       “doctrine/common”: “v2.7.2&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;“doctrine/instantiator”:&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;“1.0.5&amp;#34;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#x9;   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Remove the vendor folder from the root, this is the only way it worked for me&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Remove composer.lock file&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; composer install&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; cd web &amp;amp;&amp;amp; drush updb -y&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; drush cr&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you face problems with the foundation sites, you should follow the steps below&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gohugo</title>
      <link>https://bekirdag.com/post/gohugo/</link>
      <pubDate>Wed, 31 Jan 2018 19:39:51 +0300</pubDate>
      <guid>https://bekirdag.com/post/gohugo/</guid>
      <description>&lt;p&gt;I have a lot of projects in my mind, some of them are in progress, some are finalised but needs attention and some hasn&amp;rsquo;t even started yet. That&amp;rsquo;s why I have decided to build a personal website, to keep track of my projects.&lt;/p&gt;&#xA;&lt;p&gt;Some of you know me as a Drupal guy. Well, that is partially true, I have specialised in Drupal and mostly I make money out of Drupal projects, but I am into all web technologies as long as they are innovative and serve to the purpose.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Evrim simülasyonu</title>
      <link>https://bekirdag.com/post/evrim_simulasyonu/</link>
      <pubDate>Mon, 20 Apr 2015 22:37:39 -0700</pubDate>
      <guid>https://bekirdag.com/post/evrim_simulasyonu/</guid>
      <description>&lt;p&gt;matematik olarak çalıştığını &lt;a href=&#34;http://beyazcuce.com/hunt&#34;&gt;şuradan&lt;/a&gt; görebileceğiniz teori. bu benim yazdığım basit bir av-avcı simülasyonu. nasıl çalıştığından bahsedersem evrim teorisi ile alakası da ortaya çıkacak.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;simülasyonda av (yuvarlak canlılar), avcı (kare canlılar) ve bitki (küçük yeşil noktalar) olmak üzere üç farklı tür var. av hayvanları bitkilerle besleniyor, avcılar da av hayvanları ile. bitkiler pasif yaratıklar, herhangi bir öz nitelikleri yok, sadece enerji veriyorlar.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;her canlının belirli öz nitelikleri var (attributes), örneğin renk, hız, görüş mesafesi, yağlanma oranı, güç, agresyon, savunma vs.. bazı öz nitelikler ise çeşitli durumlara karşı ne zaman tepki vereceklerini belirliyor örneğin (av için) avcı ne kadar yakındaysa kaçmalı, ne zaman çiftleşmeli, etrafta yiyecek kalmadığında ne zaman gezi (patrol) moduna geçmeli vs. (canlıların üzerlerine tıklayarak özelliklerini, yaşını, enerji seviyesini vs. görebilirsiniz.)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
