<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home</title>
    <description>Mohammad Bavarian</description>
    <link>https://bavarian.dev/</link>
    <atom:link href="https://bavarian.dev/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>A Puzzle about Filesystems</title>
        <description>
          
          There are many possible explanations for why designing good APIs is hard. Here are three that come to my mind: Developers are bad at sympathy and don’t understand the users. Users are lazy, don’t read the documentations, and misuse the APIs. It’s genuinely hard to balance between abstracting out the...
        </description>
        <pubDate>Sun, 02 Feb 2020 00:00:00 -0800</pubDate>
        <link>https://bavarian.dev/blog/file_puzzle/</link>
        <guid isPermaLink="true">https://bavarian.dev/blog/file_puzzle/</guid>
      </item>
    
      <item>
        <title>Write Contention and Optimistic Concurrency II</title>
        <description>
          
          In the last post, we saw how to reduce global contention in a concurrent key-value store and provide some limited transactional support through versioning. In this post, we show how to use versioning to get rid of local locks. The key here is the compare-and-swap instruction. This is the atomic...
        </description>
        <pubDate>Wed, 25 Dec 2019 00:00:00 -0800</pubDate>
        <link>https://bavarian.dev/blog/optimistic-concurrency-2/</link>
        <guid isPermaLink="true">https://bavarian.dev/blog/optimistic-concurrency-2/</guid>
      </item>
    
      <item>
        <title>Write Contention and Optimistic Concurrency I</title>
        <description>
          
          The goal of concurrent programming is to organize code in a way that multiple threads of execution can do independent work without losing consistency. When a program is organized in this way, the scheduler can allocate the CPU cycles more efficiently by switching to a different thread when the current...
        </description>
        <pubDate>Mon, 23 Dec 2019 00:00:00 -0800</pubDate>
        <link>https://bavarian.dev/blog/optimistic-concurrency/</link>
        <guid isPermaLink="true">https://bavarian.dev/blog/optimistic-concurrency/</guid>
      </item>
    
      <item>
        <title>Open Source as Business</title>
        <description>
          
          Since the start of my work in tech, I’ve been fascinated with both the technological and the business aspects of it. A big open problem in the latter for me has been about the open source businesses. I love the concept. The sense of community and working together with a...
        </description>
        <pubDate>Sun, 08 Dec 2019 00:00:00 -0800</pubDate>
        <link>https://bavarian.dev/blog/open-source/</link>
        <guid isPermaLink="true">https://bavarian.dev/blog/open-source/</guid>
      </item>
    
      <item>
        <title>Welcome</title>
        <description>
          
          This is my technical blog where I gather my thoughts, ideas, and observations about software engineering and technology. I will focus on the topics that I’m currently working on, either in my day job or in side-projects. Hopefully, you’ll enjoy reading along.

        </description>
        <pubDate>Sun, 10 Nov 2019 00:00:00 -0800</pubDate>
        <link>https://bavarian.dev/blog/welcome/</link>
        <guid isPermaLink="true">https://bavarian.dev/blog/welcome/</guid>
      </item>
    
  </channel>
</rss>
