<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tech on Harshanu</title>
    <link>https://harshanu.space/tech/</link>
    <description>Recent content in Tech on Harshanu</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 08 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://harshanu.space/tech/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CCC vs GCC</title>
      <link>https://harshanu.space/tech/ccc-vs-gcc/</link>
      <pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://harshanu.space/tech/ccc-vs-gcc/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Anthropic recently published a blog post about &lt;a href=&#34;https://www.anthropic.com/engineering/building-c-compiler&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;building a C compiler entirely with Claude&lt;/a&gt;&#xA;. They called it CCC (Claude&amp;rsquo;s C Compiler) and claimed it could compile the Linux kernel. 100% of the code was written by Claude Opus 4.6, a human only guided the process by writing test cases. That sounded interesting enough to test the claim and benchmark CCC against the industry standard GCC.&lt;/p&gt;&#xA;&lt;p&gt;The source code of CCC is available at &lt;a href=&#34;https://github.com/anthropics/claudes-c-compiler&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;claudes-c-compiler&lt;/a&gt;&#xA;. It is written entirely in Rust, targeting x86-64, i686, AArch64 and RISC-V 64. The frontend, SSA-based IR, optimizer, code generator, peephole optimizers, assembler, linker and DWARF debug info generation are all implemented from scratch with zero compiler-specific dependencies. That is a lot of work for an AI to do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How go verifies checksums of downloaded modules?</title>
      <link>https://harshanu.space/tech/go-mod-verify/</link>
      <pubDate>Thu, 30 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://harshanu.space/tech/go-mod-verify/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Checksums play a crucial role in ensuring the integrity of data by providing a unique fingerprint for a given set of information. Whether you&amp;rsquo;re a developer, system administrator, or just a curious individual, understanding how to calculate checksums manually can be a valuable skill. In this guide, we&amp;rsquo;ll explore the concept of checksums and walk through the steps of manually calculating them &amp;amp; compare with go.sum file.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-a-checksum&#34;&gt;What is a Checksum?&lt;/h2&gt;&#xA;&lt;p&gt;A checksum is a value derived from the content of a file or data, typically generated using a specific algorithm. Its primary purpose is to verify the integrity of the data by comparing the checksum generated before and after data transfer or storage. If the checksums match, the data is assumed to be intact; otherwise, it may have been corrupted.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hide sensitive data in Ansible verbose logs</title>
      <link>https://harshanu.space/tech/ansible-redact/</link>
      <pubDate>Fri, 17 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://harshanu.space/tech/ansible-redact/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;In the realm of infrastructure automation, Ansible has emerged as a powerful tool, enabling users to manage and configure complex IT environments with ease. However, one of the persistent challenges in automation is the secure handling of sensitive information, such as passwords and API keys. When verbose logging is enabled in Ansible playbooks, these secrets could potentially be exposed in the logs, leading to significant security risks.&lt;/p&gt;&#xA;&lt;p&gt;To address this concern, callback plugins offer a viable solution for masking sensitive information in Ansible playbook logs. Callback plugins are custom modules that intercept and modify Ansible task output, providing a mechanism to sanitize logs before they are displayed or stored.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Photoprism on Hetzner Cloud</title>
      <link>https://harshanu.space/tech/photoprism-hetzner/</link>
      <pubDate>Mon, 21 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://harshanu.space/tech/photoprism-hetzner/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;In a world where memories are increasingly captured in pixels, managing and sharing our ever-growing photo collections has become both a challenge and a delight. Whether you&amp;rsquo;re a photography enthusiast, a family historian, or simply someone who loves capturing moments, organizing and accessing your photos should be an effortless experience.&lt;/p&gt;&#xA;&lt;p&gt;Welcome to our guide, where we unveil the secrets of building a robust and secure PhotoPrism setup that puts you in control of your visual memories. This comprehensive setup combines the power of cloud hosting, containerization, reverse proxy, database management, encryption, and more, all working seamlessly to create an efficient and user-friendly platform for your cherished photographs.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
