<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Notes on Calvin Dsouza</title>
    <link>https://calvinsd.in/notes/</link>
    <description>Recent content in Notes on Calvin Dsouza</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 26 Aug 2023 15:16:26 +0530</lastBuildDate>
    <atom:link href="https://calvinsd.in/notes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Logs in Distributed Systems</title>
      <link>https://calvinsd.in/notes/logs-in-distributed-systems/</link>
      <pubDate>Sat, 26 Aug 2023 15:16:26 +0530</pubDate>
      <guid>https://calvinsd.in/notes/logs-in-distributed-systems/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;A few years ago, logs had a simple meaning to me: data written to standard output on the terminal or a file to monitor an application and assist in debugging in case of a crash. This definition of logs was confined to mostly human-readable application logs. Although essential, this view of logs was limited.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;So what are logs in distributed systems?&lt;/strong&gt;&lt;br&gt;&#xA;In the context of distributed and data systems, logs are an append-only sequence of records written to a file, ordered by time, often in a non-human-readable format, and sometimes compressed for better performance. These simple yet powerful append-only files allow an easy way to record an ordered sequence of immutable records and store them reliably. Now, let&amp;rsquo;s explore how these logs are utilized in distributed systems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Serialization in Protocol Buffers</title>
      <link>https://calvinsd.in/notes/serialization-in-protocol-buffers/</link>
      <pubDate>Sun, 20 Aug 2023 14:47:17 +0530</pubDate>
      <guid>https://calvinsd.in/notes/serialization-in-protocol-buffers/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://calvinsd.in/images/protobuf/protobuf_intro.avif&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In the world of distributed systems and microservices, we often want to communicate with different services hosted on different servers in various geographical locations. To do this, we need to serialize the payload (in-memory structure to bytes) at the sender&amp;rsquo;s end and send it over the network. Then it&amp;rsquo;s deserialized (bytes to in-memory structure) at the receiver&amp;rsquo;s end. We want to make this process as fast and efficient as possible. So how can we achieve this, and what are our options?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Transaction Isolation in DynamoDB: From Concepts to Conflicts</title>
      <link>https://calvinsd.in/notes/understanding-isolation-in-dynamodb/</link>
      <pubDate>Fri, 11 Aug 2023 20:00:33 +0530</pubDate>
      <guid>https://calvinsd.in/notes/understanding-isolation-in-dynamodb/</guid>
      <description>&lt;p&gt;Isolation in DynamoDB transactions or any data system for that matter is often an overlooked property but it is very important to understand, as concurrent transactions are almost unavoidable when working on distributed systems.&lt;/p&gt;&#xA;&lt;p&gt;But what is isolation in relation to a database system? Isolation is a property of a database system that specifies how and when any change made by an operation becomes visible to another operation that is happening concurrently.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
