<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>kkyr</title>
    <subtitle>Software Engineer</subtitle>
    <link href="https://kkyr.io/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://kkyr.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2023-11-24T00:00:00+00:00</updated>
    <id>https://kkyr.io/atom.xml</id>
    <entry xml:lang="en">
        <title>Announcing &lt;span class=&quot;text-gradient-to-r&quot;&gt;shellcheck-gpt&lt;&#x2F;span&gt;</title>
        <published>2023-11-24T00:00:00+00:00</published>
        <updated>2023-11-24T00:00:00+00:00</updated>
        <author>
          <name>Kyriacos Kyriacou</name>
        </author>
        <link rel="alternate" href="https://kkyr.io/blog/announcing-shellcheck-gpt/" type="text/html"/>
        <id>https://kkyr.io/blog/announcing-shellcheck-gpt/</id>
        
        <summary type="html">&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.shellcheck.net&quot;&gt;ShellCheck&lt;&#x2F;a&gt; is an open-source tool that performs static analysis on shell scripts, identifying potential bugs and suggesting improvements. These suggestions are based on community-driven rules. While ShellCheck highlights areas for enhancement, implementing these changes can be challenging, especially for those not deeply familiar with shell scripting.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;d like to introduce &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;kyriacos-kyriacou&#x2F;shellcheck-gpt&quot;&gt;shellcheck-gpt&lt;&#x2F;a&gt;, a tool that I built that combines ShellCheck&#x27;s recommendations with the capabilities of a Large Language Model (LLM). With shellcheck-gpt, the process of applying ShellCheck&#x27;s suggestions to your script is automated, simplifying the task of refining and improving your shell scripts.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>&lt;span class=&quot;text-gradient-to-l&quot;&gt;Serializability&lt;&#x2F;span&gt; vs &lt;span class=&quot;text-gradient-to-r&quot;&gt;Linearizability&lt;&#x2F;span&gt;</title>
        <published>2023-11-06T00:00:00+00:00</published>
        <updated>2023-11-06T00:00:00+00:00</updated>
        <author>
          <name>Kyriacos Kyriacou</name>
        </author>
        <link rel="alternate" href="https://kkyr.io/blog/serializability-vs-linearizability/" type="text/html"/>
        <id>https://kkyr.io/blog/serializability-vs-linearizability/</id>
        
        <summary type="html">&lt;p&gt;If you&#x27;re studying consistency models in distributed systems, you&#x27;ll eventually come across the terms &lt;em&gt;serializability&lt;&#x2F;em&gt; and &lt;em&gt;linearizability&lt;&#x2F;em&gt;. While they sound similar, they describe different characteristics of distributed systems.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>&lt;span class=&quot;text-gradient-to-r&quot;&gt;Linearization&lt;&#x2F;span&gt; in Scala</title>
        <published>2023-04-22T00:00:00+00:00</published>
        <updated>2023-04-22T00:00:00+00:00</updated>
        <author>
          <name>Kyriacos Kyriacou</name>
        </author>
        <link rel="alternate" href="https://kkyr.io/blog/linearization-in-scala/" type="text/html"/>
        <id>https://kkyr.io/blog/linearization-in-scala/</id>
        
        <summary type="html">&lt;p&gt;Inheritance is a fundamental concept in object-oriented programming that allows classes to inherit methods and properties from other classes. While inheritance provides a great deal of flexibility and code reuse, it also has its limitations. One such limitation is the diamond inheritance problem, which occurs when a class inherits from two or more classes that share a common ancestor, resulting in ambiguity during compilation.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>&lt;span class=&quot;text-gradient-to-r&quot;&gt;Getters&lt;&#x2F;span&gt; and &lt;span class=&quot;text-gradient-to-l&quot;&gt;setters&lt;&#x2F;span&gt; in Scala</title>
        <published>2023-04-19T00:00:00+00:00</published>
        <updated>2023-04-19T00:00:00+00:00</updated>
        <author>
          <name>Kyriacos Kyriacou</name>
        </author>
        <link rel="alternate" href="https://kkyr.io/blog/getters-and-setters-in-scala/" type="text/html"/>
        <id>https://kkyr.io/blog/getters-and-setters-in-scala/</id>
        
        <summary type="html">&lt;p&gt;When writing a class in Java we religiously avoid using public fields. The industry-accepted pattern is to declare a field as private with getter and setter methods, which allows us, the class owners, greater control over its fields. This pair of getter and setter methods is known as a &lt;em&gt;property&lt;&#x2F;em&gt;. Properties are preferred for exposing fields outside of the class because they allow the logic and visibility of the get and set semantics to be different and evolve independently as required.&lt;&#x2F;p&gt;
</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>&lt;span class=&quot;text-gradient-to-r&quot;&gt;Semantic search&lt;&#x2F;span&gt; with OpenAI and Chroma</title>
        <published>2023-04-14T00:00:00+00:00</published>
        <updated>2023-04-14T00:00:00+00:00</updated>
        <author>
          <name>Kyriacos Kyriacou</name>
        </author>
        <link rel="alternate" href="https://kkyr.io/blog/semantic-search-with-openai-and-chroma/" type="text/html"/>
        <id>https://kkyr.io/blog/semantic-search-with-openai-and-chroma/</id>
        
        <summary type="html">&lt;p&gt;Semantic search is a type of search technique that goes beyond the simple matching of keywords to provide more accurate and meaningful search results with the help of natural language processing and machine learning. It attempts to understand the intent behind the user&#x27;s query and the context in which it is made. By analyzing the relationships between words, phrases, and concepts, it can identify the most relevant and useful information for the user, even if it does not contain the exact search terms used. &lt;&#x2F;p&gt;
</summary>
        
    </entry>
</feed>
