<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>C on Pi Stack</title>
    <link>https://www.pistack.xyz/tags/c/</link>
    <description>Recent content in C on Pi Stack</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 20 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.pistack.xyz/tags/c/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Programmatic Git Libraries Compared: libgit2 vs go-git vs isomorphic-git vs JGit vs GitPython</title>
      <link>https://www.pistack.xyz/posts/2026-06-20-programmatic-git-libraries-libgit2-go-git-isomorphic-git-jgit-gitpython/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-20-programmatic-git-libraries-libgit2-go-git-isomorphic-git-jgit-gitpython/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Git is the universal version control system, but interacting with it programmatically from application code has historically meant shelling out to the &lt;code&gt;git&lt;/code&gt; CLI — a pattern that breaks cross-platform compatibility and introduces process-spawning overhead. Modern Git libraries provide native APIs for repository operations: cloning, committing, branching, diffing, and merging, all within the application process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Self-Hosted SSH Client Libraries: libssh2 vs JSch vs Paramiko vs ssh2 (Node.js)</title>
      <link>https://www.pistack.xyz/posts/2026-06-20-ssh-client-libraries-libssh2-jsch-paramiko-ssh2/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-20-ssh-client-libraries-libssh2-jsch-paramiko-ssh2/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;SSH (Secure Shell) is the backbone of secure remote access, used by millions of developers and system administrators daily. While most users interact with SSH through command-line tools like OpenSSH, developers building automation scripts, deployment pipelines, and custom management tools need programmatic SSH access. This is where SSH client libraries come in — they allow applications to establish SSH connections, execute remote commands, transfer files via SFTP, and tunnel network traffic, all without shelling out to external binaries.&lt;/p&gt;</description>
    </item>
    <item>
      <title>YAML Parsing Libraries: PyYAML vs serde_yaml vs js-yaml vs SnakeYAML vs libyaml</title>
      <link>https://www.pistack.xyz/posts/2026-06-20-yaml-parsing-libraries-pyyaml-serdayaml-jsyaml-snakeyaml-libyaml/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-20-yaml-parsing-libraries-pyyaml-serdayaml-jsyaml-snakeyaml-libyaml/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;YAML (YAML Ain&amp;rsquo;t Markup Language) is the configuration lingua franca of modern software development. From Kubernetes manifests and Docker Compose files to CI/CD pipelines and application configuration, YAML&amp;rsquo;s human-readable syntax has made it the default choice for infrastructure-as-code and DevOps tooling. However, YAML parsing is surprisingly complex — the spec includes anchors, aliases, tags, multi-line strings, and type inference that can lead to subtle bugs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>High-Performance Hash Function Libraries: xxHash vs BLAKE3 vs MurmurHash3 vs CityHash vs FarmHash</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-hash-function-libraries-xxhash-blake3-murmurhash-cityhash-farmhash/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-hash-function-libraries-xxhash-blake3-murmurhash-cityhash-farmhash/</guid>
      <description>&lt;h2 id=&#34;why-hash-functions-matter-for-performance-critical-applications&#34;&gt;Why Hash Functions Matter for Performance-Critical Applications&lt;/h2&gt;&#xA;&lt;p&gt;Hash functions are the invisible workhorses of modern software. Every time you query a hash table, check a checksum, or deduplicate a file, a hash function runs somewhere in the stack. Choosing the right hash function can mean the difference between a database that handles millions of QPS and one that chokes at 50K.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modern Sorting Algorithm Libraries: pdqsort vs quadsort vs ips4o vs glidesort Compared</title>
      <link>https://www.pistack.xyz/posts/2026-06-19-sorting-algorithm-libraries-pdqsort-quadsort-ips4o-glidesort/</link>
      <pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-06-19-sorting-algorithm-libraries-pdqsort-quadsort-ips4o-glidesort/</guid>
      <description>&lt;h2 id=&#34;beyond-stdsort-why-modern-sorting-libraries-matter&#34;&gt;Beyond std::sort: Why Modern Sorting Libraries Matter&lt;/h2&gt;&#xA;&lt;p&gt;The standard library sorting functions in C, C++, and Rust have served reliably for decades. But algorithm research didn&amp;rsquo;t stop in the 1990s. Modern sorting libraries exploit branch prediction, SIMD instructions, cache locality, and multi-core parallelism in ways that &lt;code&gt;std::sort&lt;/code&gt; and &lt;code&gt;qsort&lt;/code&gt; never could.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
