<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Engineering on Saltfish's Blog</title><link>https://blog.saltfish.org/categories/engineering/</link><description>Recent content in Engineering on Saltfish's Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 20 Feb 2026 16:19:52 -0500</lastBuildDate><atom:link href="https://blog.saltfish.org/categories/engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Raft Stage1</title><link>https://blog.saltfish.org/posts/raft-stage1/</link><pubDate>Sat, 14 Feb 2026 19:21:01 -0500</pubDate><guid>https://blog.saltfish.org/posts/raft-stage1/</guid><description>&lt;h1 id="raft" class="relative group">Raft &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100">&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#raft" aria-label="Anchor">#&lt;/a>&lt;/span>&lt;/h1>&lt;p>This time we are following the &lt;a href="https://raft.github.io/raft.pdf" target="_blank" rel="noreferrer">Raft paper&lt;/a> and implementing the first stage of Raft, which is leader election. We will implement the leader election algorithm in a simple way, without any optimizations.
We will explain all detailed explanation about raft paper in another posts.
Our basic code structure is provided by 6.824.
So we will not provide the code here, but we will explain the main idea of the leader election algorithm.&lt;/p></description></item><item><title>Usage of Entry Level GPU</title><link>https://blog.saltfish.org/posts/usage-of-entry-level-gpu/</link><pubDate>Thu, 12 Feb 2026 18:16:43 -0500</pubDate><guid>https://blog.saltfish.org/posts/usage-of-entry-level-gpu/</guid><description>&lt;p>&lt;strong>Our chat system collapsed under 20 concurrent requests&lt;/strong>&lt;/p>
&lt;p>Currently, I&amp;rsquo;m working on a RAG(Retrieval Augmented Generation) project, while most of the process is done by calling api, the only computation intensive part is the reranking process, which is a method to rank the retrieved documents based on their relevance to the query. In this step we called &lt;code>BAAI/bge-reranker-v2-m3&lt;/code> model locally.&lt;/p></description></item></channel></rss>