<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ozan Civaner</title>
    <description>The latest articles on DEV Community by Ozan Civaner (@ozancivaner).</description>
    <link>https://dev.to/ozancivaner</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4002623%2F2dfe5f0b-05a7-48e4-888b-1de4d2a570b3.png</url>
      <title>DEV Community: Ozan Civaner</title>
      <link>https://dev.to/ozancivaner</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ozancivaner"/>
    <language>en</language>
    <item>
      <title>hashdir: Summarizing Directories in a Cross-Platform Way</title>
      <dc:creator>Ozan Civaner</dc:creator>
      <pubDate>Thu, 25 Jun 2026 15:50:58 +0000</pubDate>
      <link>https://dev.to/ozancivaner/finish-up-a-thon-hashdir-36m3</link>
      <guid>https://dev.to/ozancivaner/finish-up-a-thon-hashdir-36m3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Some time ago, I needed to calculate hashes of directory trees across multiple platforms and architectures. Many existing solutions were based on GNU find, but I quickly realized that this approach has a number of shortcomings.&lt;/p&gt;

&lt;p&gt;As a result, &lt;a href="https://github.com/ozancivaner/hashdir" rel="noopener noreferrer"&gt;hashdir&lt;/a&gt; was born: a cross-platform tool that takes into account many of the quirks and edge cases involved in calculating directory hashes, including character encoding, path separators, path overlaps, symlinks, and more. For use cases involving directory structures that contain very large binary files, I also added support for the imohash algorithm, which can hash large files quickly while maintaining an acceptable error rate.&lt;/p&gt;

&lt;p&gt;Once it had solved my original problem, I decided to share it with the world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;A short demo, along with installation and usage instructions can be found in the &lt;a href="https://github.com/ozancivaner/hashdir" rel="noopener noreferrer"&gt;repository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;To my pleasant surprise, people began engaging with hashdir in various ways. One user reached out to tell me they were using it in their work and requested additional features, while another packaged it for their own use. Their interest motivated me to expand the feature set, improve test coverage and continuous integration, and further strengthen the codebase's robustness and overall quality.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
  </channel>
</rss>
