<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Can Ürek]]></title><description><![CDATA[Can Ürek]]></description><link>https://canurek.com</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 17:50:27 GMT</lastBuildDate><atom:link href="https://canurek.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[The Evolution of Resources: From Books to AI]]></title><description><![CDATA[When I first encountered computers, it was the early 1990s. My first PC was a Commodore 64 connected to a TV using an antenna input. Games were loaded from cassette tapes, and the excitement of watching a game load, which could sometimes take minutes...]]></description><link>https://canurek.com/the-evolution-of-resources-from-books-to-ai</link><guid isPermaLink="true">https://canurek.com/the-evolution-of-resources-from-books-to-ai</guid><category><![CDATA[AI]]></category><dc:creator><![CDATA[Can Ürek]]></dc:creator><pubDate>Mon, 25 Nov 2024 21:03:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1732559766459/f5d0941b-321e-4e27-a1f1-2b92f5453012.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I first encountered computers, it was the early <strong>1990s</strong>. My first PC was a <strong>Commodore 64</strong> connected to a TV using an antenna input. Games were loaded from cassette tapes, and the excitement of watching a game load, which could sometimes take minutes, was unforgettable. It was a perfect era filled with timeless classic games.</p>
<p>At that time, my only source for learning programming was the C64 Basic manual. I wrote simple programs with it, modified them, and recorded my work on cassette tapes. Additionally, I worked with <strong>Simon’s Basic</strong> and explored <strong>machine language</strong> through a cartridge plugged into the C64.</p>
<p>Later, I discovered the Amiga, a dream machine for its time. The ability to load games via floppy disks, the absence of cassette alignment issues (a common problem with tapes), and the enhanced graphics were mesmerizing. I never owned one, which only heightened my curiosity.</p>
<p>As time progressed, I also worked with more advanced hardware: the 8086, 386DX, 486, and Pentium. These machines allowed me to dive into programming languages like Pascal, Borland C++, and Visual Basic. Later, I explored web development with ASP 1.1 and eventually transitioned to learning C#, which became my primary programming language. Books continued to be my primary source of knowledge, serving as my gateway to understanding the intricacies of code.</p>
<hr />
<p><strong>The Internet Revolution</strong></p>
<p>The arrival of the internet was a game-changer. Information was no longer confined to books. Search engines like Google became our companions, making knowledge accessible to everyone. From forums to online guides, the internet enabled an unprecedented exchange of ideas and solutions.</p>
<p>However, this abundance of resources sometimes led to surface-level understanding. For me, questioning and understanding were always the priority. Every piece of information I encountered was scrutinized, adapted, and applied. Passive consumption was never an option for me.</p>
<hr />
<p><strong>Artificial Intelligence: A Tool, Not a Threat</strong></p>
<p>While artificial intelligence might seem like a recent innovation, its development has been ongoing for decades. From early expert systems to neural networks, AI continues to evolve as a tool to assist us, just as books and the internet once did.</p>
<p>Today, AI transforms how we find and use information. Tools like ChatGPT and Bard are improving fields such as healthcare and creative arts, helping people rather than replacing them.</p>
<p>Despite its growing presence, AI remains a tool designed to assist, not to take over. Like books and the internet, it provides inspiration and solutions, but the final responsibility for decisions and creativity remains ours.</p>
<hr />
<p><strong>Changing Tools, Constant Values</strong></p>
<p>New tools and resources will constantly emerge. What truly matters is not the tool itself, but how we use it. Whether it was books in the 1990s, the internet in the 2000s, or artificial intelligence today, the principle remains the same: question, adapt, and create.</p>
<p>The fear that AI will replace human jobs is misguided. Instead, AI is transforming the way we work. It doesn’t eliminate roles but redefines them, requiring us to learn and grow alongside these advancements.</p>
<hr />
<p><strong>Conclusion: Tools + Producers = Products</strong></p>
<p>I’ve always lived by a simple equation: Tools + Producers = Products. Tools evolve, but they don’t alter this equation. Whether I was using books, the internet, or advanced AI tools, I never relied on them without question. They inspired me and helped me think differently, but the ownership of the work—its craftsmanship—was always mine.</p>
<p>The same principle should apply to you too. Question what you learn, take ownership of your work, and let your creativity guide you.</p>
<p><strong>“What you do with what you know makes all the difference.”</strong></p>
<p><em>This article is dedicated to my uncle,</em> <strong><em>Mustafa Özçınar</em></strong>, <em>whose influence was instrumental in my journey into the world of technology. From the first Commodore 64 games to the mesmerizing Amiga computers, he played a key role in shaping my path into this profession. I will always be grateful for his guidance and inspiration.</em></p>
]]></content:encoded></item><item><title><![CDATA[Coding challenges]]></title><description><![CDATA[Let's talk about coding challenges in this article.
There are many websites where we can test our coding skills, and many different questions are waiting for us to solve them.
Some companies, even the biggest ones, use these sites to evaluate candida...]]></description><link>https://canurek.com/coding-challenges</link><guid isPermaLink="true">https://canurek.com/coding-challenges</guid><category><![CDATA[coding]]></category><category><![CDATA[challenge]]></category><category><![CDATA[algorithms]]></category><category><![CDATA[data structures]]></category><dc:creator><![CDATA[Can Ürek]]></dc:creator><pubDate>Mon, 12 Sep 2022 13:13:26 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/4Ennrbj1svk/upload/v1662984188003/xDZt4Tx1h.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let's talk about coding challenges in this article.</p>
<p>There are many websites where we can test our coding skills, and many different questions are waiting for us to solve them.</p>
<p>Some companies, even the biggest ones, use these sites to evaluate candidates. And to be successful in these assessments, you need to know some fundamental things about coding.</p>
<p>I am not saying that I am very successful in all these matters. I'll just try to share some information and resources, and at the end of the article, I will share my solution to a question.</p>
<p><strong>Data structures and Algorithms</strong> will be our starting points. These are not dependent on any programming language, and all languages have the same structure or an equivalent one.</p>
<p>Some people, especially juniors, think that these are not necessary. But there are some use cases for all of them.</p>
<p>Most developers nowadays work with frameworks and CRUD scenarios. But some of them know that this is not enough and that this is not seniority. Working like that is just like filling empty spaces, and everyone can do that. And you need to know the fundamentals if you want to do more.</p>
<p>Anyway, let's start with the <strong>Data Structures.</strong></p>
<p>You can see commonly used data structures at the following link and get more info by clicking on their names. There are some good explanations.</p>
<p><a target="_blank" href="https://www.bigocheatsheet.com/">https://www.bigocheatsheet.com/</a></p>
<p>My primary programming language is C#. That's why I also wanted to share this beautiful article too.</p>
<p><a target="_blank" href="https://dev.to/adavidoaiei/fundamental-data-structures-and-algorithms-in-c-4ocf">https://dev.to/adavidoaiei/fundamental-data-structures-and-algorithms-in-c-4ocf</a></p>
<p>And the below resource is a very good compilation.</p>
<p><a target="_blank" href="https://github.com/mtdvio/every-programmer-should-know">https://github.com/mtdvio/every-programmer-should-know</a></p>
<p>I'm assuming we have some ideas on how and where we can store the data we want to work on, and now we can discuss how we can manipulate it to get the desired result.</p>
<p>So our new topic is <strong>Algorithms</strong>.</p>
<p>There is no limit when talking about algorithms. We'll talk about commonly used algorithms, but as you can see from the description below, there is no limit.</p>
<p>"In mathematics and computer science, an algorithm is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or perform a computation. Algorithms are used as specifications for performing calculations and data processing."</p>
<p>Sorting is one of the top topics in algorithms. And we should choose the right algorithm according to our needs. The following resource can give you some ideas.</p>
<p><a target="_blank" href="https://www.toptal.com/developers/sorting-algorithms">https://www.toptal.com/developers/sorting-algorithms</a></p>
<p><strong>Keep in mind that it takes a lot of practice to better understand algorithms and data structures and to choose and use the right ones</strong></p>
<p>At the following link, you can get more info about algorithms.</p>
<p><a target="_blank" href="https://www.calltutors.com/blog/types-of-algorithms/">https://www.calltutors.com/blog/types-of-algorithms/</a></p>
<p>I guess there are some links in all of the coding challenges sites to work on the different types of algorithms. For example, on the hacker rank website, you can access it from the following link.</p>
<p><a target="_blank" href="https://www.hackerrank.com/domains/algorithms">https://www.hackerrank.com/domains/algorithms</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1662985514889/xUjXigWbC9.png" alt="Screen Shot 2022-09-12 at 15.14.36.png" /></p>
<p>As you can imagine, there is much more detail on all of these things. But the information that I tried to share may be a good start for some people.</p>
<p>And finally, I will share my own solution to a problem. Of course, I'm not sure it was a perfect solution. And I think the hardest part of solving these questions is understanding them. But maybe someone can show me a better approach, and I can review my solution.</p>
<p>The link to the problem is below.</p>
<p><a target="_blank" href="https://www.hackerrank.com/challenges/countingsort4/problem">https://www.hackerrank.com/challenges/countingsort4/problem</a></p>
<p>And the codes for my solution are below.</p>
<pre><code class="lang-plaintext">var middleOfArr = arr.Count / 2;

var filterArr = arr.Take(middleOfArr).ToHashSet(); //Magic line

var sortedArr = arr.OrderBy(x =&gt; int.Parse(x[0])).ToList();

var sb = new StringBuilder();

foreach(var item in sortedArr)
{
   var str = item[1];

    var hasFilter = filterArr.Contains(item);

    if(!hasFilter)
    {
        sb.Append(str + " ");
        continue;
    }

    sb.Append("- ");
}

Console.Write(sb.ToString(), Console.Out);
</code></pre>
<p>I hope this article will be useful for some people.</p>
<p>See you next time.</p>
]]></content:encoded></item></channel></rss>